Pois bem, estou criando um skript simples para criar uma máquina, fazendo ela ser uma substituta de quaisquer tipo de farms. O Skript tem dependência de addons como:
- skQuery
- Skellet
- TuSKe
-skDragon
(OBS.: as partículas eu sei que são por parte do skDragon, e acredito que os sons sejam por parte do Skellet, mas não tenho certeza dos outros)
- Ele também tem uma dependência do ChestCommands, um plugin para criação de GUI. (Continue lendo)
Eu gostaria, principalmente, de saber como faço para trocar SOMENTE o "prismarine block:0" por "prismarine block:1" (E consequentemente, ele por "prismarine block:2", pois a farm terá sistema de upgrade e desintegração). Se alguém soubesse como faço para "dar replace" somente neste bloco, ficaria muito grato. (Continue lendo para entender melhor)
Fora isso, agora que vi o projeto, algo teoricamente simples, com uma dependência de outro plugin, achei muita má ideia. Muito provavelmente irei trocar o chestcommands (cujo plugin me obriga a criar mais comandos dentro do skript para realizar as ações de upgrade, adubar, etc.) por uma GUI própria desse Skript, precise de addon ou não; provavelmente irei criar um sistema de valores (exemplo: set "{_levelfarm} to 2" para o upgrade e "if" para detectar os dados inseridos). Junto disso, queria saber se tem como adicionar uma permissão personalizada no Skript, para quando o player colocar sua farm no chão, o Skript adicionar a perm "usar.farm1.(nome do player)" e exigir a mesma perm para abrir, fazendo somente ele ter a permissão para abrir. E também: vocês têm alguma recomendação para editar o Skript fora isso?
Segue anexos:
# Menu criado no ChestCommands: (Ele que executa os comandos para o upgrade, desintegrar e para adubar a farm, como OP, sendo assim, o player não precisa da permissão para o comando, ele não pode digitar, mas quando clica no menu consegue executar)
# Sistema atual de Upgrades:
Spoiler
command /upgradefarm1: #Upgrade no LVL 1 ao 2
permission: farm.upgrade.1
permission message: &cVoce nao tem permissao para fazer isso.
trigger:
set {_location} to location of targeted block
play sound "NOTE_STICKS" to player with volume 100.0 and pitch 100.0
wait 1 second
play sound "NOTE_STICKS" to player with volume 100.0 and pitch 100.0
wait 1 second
play sound "NOTE_STICKS" to player with volume 100.0 and pitch 100.0
wait 1 second
play sound "WATER" to player with volume 100.0 and pitch 100.0
drawDot count 30, particle "waterdrop", speed 0, XYZ 1, 1.5, 1, center {_location}, visibleRange 32, pulseDelay 3, keepFor 30 ticks
wait 30 ticks
drawDot count 10, particle "happyvillager", speed 10, XYZ 2, 2, 2, center {_location}, visibleRange 32, pulseDelay 3, keepFor 15 ticks
drawDot count 7, particle "cloud", XYZ 0.5, 1, 0.5, center {_location}, visibleRange 32, pulseDelay 1, keepFor 10 ticks
set block at {_location} to prismarine block:1
play sound "LEVEL_UP" to player with volume 100.0 and pitch 100.0
play sound "EXPLODE" to player with volume 100.0 and pitch 300.0
message "&a[Farm] &6Sua farm evoluiu para nivel II!"
# Sistema de desintegração - Também necessita de dar replace no bloco, mas para air.
Spoiler
command /destruirfarm1: #Desintegrar Farm
permission: farm.desintegrar.1
trigger:
set {_location} to location of targeted block
set block at {_location} to air
drop 16 prismarine shard named "&b&lTurfa" with lore "&7Pode ser usada para adubar farms." at {_location}
message "&a[Farm] &6Voce desintegrou sua farm."
play sound "ORB_PICKUP" to player with volume 100.0 and pitch 200.0
Sobre o "set {_location} to location of targeted block": isso serve para setar a location para o bloco que o player está mirando, mas como pode ter lag (pro player ou pro server) ele pode abrir o menu clicando no bloco andando ao mesmo tempo, o que faz ele mirar para qualquer bloco à sua volta. Esse é o principal problema que existe no Skript, principal problema que preciso de ajuda para resolver.
Pergunta
OSTKON
Pois bem, estou criando um skript simples para criar uma máquina, fazendo ela ser uma substituta de quaisquer tipo de farms. O Skript tem dependência de addons como:
- skQuery
- Skellet
- TuSKe
-skDragon
(OBS.: as partículas eu sei que são por parte do skDragon, e acredito que os sons sejam por parte do Skellet, mas não tenho certeza dos outros)
- Ele também tem uma dependência do ChestCommands, um plugin para criação de GUI. (Continue lendo)
Eu gostaria, principalmente, de saber como faço para trocar SOMENTE o "prismarine block:0" por "prismarine block:1" (E consequentemente, ele por "prismarine block:2", pois a farm terá sistema de upgrade e desintegração). Se alguém soubesse como faço para "dar replace" somente neste bloco, ficaria muito grato. (Continue lendo para entender melhor)
Fora isso, agora que vi o projeto, algo teoricamente simples, com uma dependência de outro plugin, achei muita má ideia. Muito provavelmente irei trocar o chestcommands (cujo plugin me obriga a criar mais comandos dentro do skript para realizar as ações de upgrade, adubar, etc.) por uma GUI própria desse Skript, precise de addon ou não; provavelmente irei criar um sistema de valores (exemplo: set "{_levelfarm} to 2" para o upgrade e "if" para detectar os dados inseridos). Junto disso, queria saber se tem como adicionar uma permissão personalizada no Skript, para quando o player colocar sua farm no chão, o Skript adicionar a perm "usar.farm1.(nome do player)" e exigir a mesma perm para abrir, fazendo somente ele ter a permissão para abrir. E também: vocês têm alguma recomendação para editar o Skript fora isso?
Segue anexos:
# Menu criado no ChestCommands: (Ele que executa os comandos para o upgrade, desintegrar e para adubar a farm, como OP, sendo assim, o player não precisa da permissão para o comando, ele não pode digitar, mas quando clica no menu consegue executar)
# Sistema atual de Upgrades:
command /upgradefarm1: #Upgrade no LVL 1 ao 2
permission: farm.upgrade.1
permission message: &cVoce nao tem permissao para fazer isso.
trigger:
set {_location} to location of targeted block
play sound "NOTE_STICKS" to player with volume 100.0 and pitch 100.0
wait 1 second
play sound "NOTE_STICKS" to player with volume 100.0 and pitch 100.0
wait 1 second
play sound "NOTE_STICKS" to player with volume 100.0 and pitch 100.0
wait 1 second
play sound "WATER" to player with volume 100.0 and pitch 100.0
drawDot count 30, particle "waterdrop", speed 0, XYZ 1, 1.5, 1, center {_location}, visibleRange 32, pulseDelay 3, keepFor 30 ticks
wait 30 ticks
drawDot count 10, particle "happyvillager", speed 10, XYZ 2, 2, 2, center {_location}, visibleRange 32, pulseDelay 3, keepFor 15 ticks
drawDot count 7, particle "cloud", XYZ 0.5, 1, 0.5, center {_location}, visibleRange 32, pulseDelay 1, keepFor 10 ticks
set block at {_location} to prismarine block:1
play sound "LEVEL_UP" to player with volume 100.0 and pitch 100.0
play sound "EXPLODE" to player with volume 100.0 and pitch 300.0
message "&a[Farm] &6Sua farm evoluiu para nivel II!"
# Sistema de desintegração - Também necessita de dar replace no bloco, mas para air.
command /destruirfarm1: #Desintegrar Farm
permission: farm.desintegrar.1
trigger:
set {_location} to location of targeted block
set block at {_location} to air
drop 16 prismarine shard named "&b&lTurfa" with lore "&7Pode ser usada para adubar farms." at {_location}
message "&a[Farm] &6Voce desintegrou sua farm."
play sound "ORB_PICKUP" to player with volume 100.0 and pitch 200.0
Sobre o "set {_location} to location of targeted block": isso serve para setar a location para o bloco que o player está mirando, mas como pode ter lag (pro player ou pro server) ele pode abrir o menu clicando no bloco andando ao mesmo tempo, o que faz ele mirar para qualquer bloco à sua volta. Esse é o principal problema que existe no Skript, principal problema que preciso de ajuda para resolver.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados