Postado Abril 27, 2021 4 anos Salve rapaziada! Estou com um script que ao clicar em um item vc irá Sumonar 3 Digimons selvagens para o player matar. Porém os 3 digimons que são sumonados são sempre os mesmos (1 de cada). Gostaria de modificar o script onde tenha uma lista com vários digimons (uns 20 mais ou menos) e ao usar o item continue sumonando apenas 3, só que aleatórios, 3 digimons dentro dessa lista de 20. Alguém consegue me ajudar a modificar isso? Vou deixar o script aqui. Outra coisa, se for possível gostaria que os Digimons fiquem sumonados por apenas X segundos. Depois desse tempo se não forem derrotados eles somem. Spoiler local config = { name1 = "Koromon", -- Nome do Summon name2 = "Sunmon", -- Nome do Summon name3 = "Yokomon", -- Nome do Summon exaust_sto = 5555, -- Storage que contabiliza o exaust exaust_time = 60 -- Segundos de Exaust } function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) if getTileInfo(getThingPos(cid)).protection then return doPlayerSendCancel(cid, "Este item nao pode ser usado em area PZ") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) and false else if not exhaustion.check(cid, config.exaust_sto) then doPlayerRemoveItem(cid, 17830, 1) exhaustion.set(cid, config.exaust_sto, config.exaust_time) local target1 = doCreateMonster(config.name1, pos) local target2 = doCreateMonster(config.name2, pos) local target3 = doCreateMonster(config.name3, pos) doPlayerSendTextMessage(cid, 27, "Voce invocou o monstro!!") doSendMagicEffect(pos, CONST_ME_TELEPORT) return true else doPlayerSendTextMessage(cid, 27, "Exhaustion!! Wait ".. exhaustion.get(cid, config.exaust_sto) .." seconds.") doSendMagicEffect(pos, POFF) return false end end return true end Spoiler Editado Abril 27, 2021 4 anos por MIzakinha (veja o histórico de edições)
Postado Abril 28, 2021 4 anos Desistiu do pokemon ? agora é digimon ? kk, brincadeiras a parte com base no seu script, testa esse: local NUMBER = math.random(1,5) -- Alterar o numero maximo pelo numero final da tabela. local NUMBER2 = math.random(1,5) -- Alterar o numero maximo pelo numero final da tabela. local NUMBER3 = math.random(1,5) -- Alterar o numero maximo pelo numero final da tabela. local KEY = { [1] = "Demon", [2] = "Dragon", [3] = "Demodras", [4] = "Hydra", [5] = "Rotworm", } local config = { exaust_sto = 5555, -- Storage que contabiliza o exaust exaust_time = 60 -- Segundos de Exaust } function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) local VALUE = KEY[NUMBER] local VALUE2 = KEY[NUMBER2] local VALUE3 = KEY[NUMBER3] local MONSTER_1 = VALUE local MONSTER_2 = VALUE2 local MONSTER_3 = VALUE3 if getTileInfo(getThingPos(cid)).protection then return doPlayerSendCancel(cid, "Este item nao pode ser usado em area PZ") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) and false else if not exhaustion.check(cid, config.exaust_sto) then doRemoveItem(item.uid, 1) exhaustion.set(cid, config.exaust_sto, config.exaust_time) local target1 = doCreateMonster(MONSTER_1, pos) local target2 = doCreateMonster(MONSTER_2, pos) local target3 = doCreateMonster(MONSTER_3, pos) doPlayerSendTextMessage(cid, 27, "Voce invocou o monstro!!") doSendMagicEffect(pos, CONST_ME_TELEPORT) return true else doPlayerSendTextMessage(cid, 27, "Exhaustion!! Wait ".. exhaustion.get(cid, config.exaust_sto) .." seconds.") doSendMagicEffect(pos, POFF) return false end end return true end Quanto ao monstro sumir, isso está além do meu conhecimento.
Postado Abril 28, 2021 4 anos Autor Solução 47 minutos atrás, WhiteBubble disse: Desistiu do pokemon ? agora é digimon ? kk, brincadeiras a parte com base no seu script, testa esse: local NUMBER = math.random(1,5) -- Alterar o numero maximo pelo numero final da tabela. local NUMBER2 = math.random(1,5) -- Alterar o numero maximo pelo numero final da tabela. local NUMBER3 = math.random(1,5) -- Alterar o numero maximo pelo numero final da tabela. local KEY = { [1] = "Demon", [2] = "Dragon", [3] = "Demodras", [4] = "Hydra", [5] = "Rotworm", } local config = { exaust_sto = 5555, -- Storage que contabiliza o exaust exaust_time = 60 -- Segundos de Exaust } function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) local VALUE = KEY[NUMBER] local VALUE2 = KEY[NUMBER2] local VALUE3 = KEY[NUMBER3] local MONSTER_1 = VALUE local MONSTER_2 = VALUE2 local MONSTER_3 = VALUE3 if getTileInfo(getThingPos(cid)).protection then return doPlayerSendCancel(cid, "Este item nao pode ser usado em area PZ") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) and false else if not exhaustion.check(cid, config.exaust_sto) then doRemoveItem(item.uid, 1) exhaustion.set(cid, config.exaust_sto, config.exaust_time) local target1 = doCreateMonster(MONSTER_1, pos) local target2 = doCreateMonster(MONSTER_2, pos) local target3 = doCreateMonster(MONSTER_3, pos) doPlayerSendTextMessage(cid, 27, "Voce invocou o monstro!!") doSendMagicEffect(pos, CONST_ME_TELEPORT) return true else doPlayerSendTextMessage(cid, 27, "Exhaustion!! Wait ".. exhaustion.get(cid, config.exaust_sto) .." seconds.") doSendMagicEffect(pos, POFF) return false end end return true end Quanto ao monstro sumir, isso está além do meu conhecimento. Sempre foi digimon kkkk, eu colocava pokemon pq a galera nao ta acostuma com digimon eu acho, no script é a mesma coisa entao n tinha problema haha Vou testar aqui se deu certo, obrigado! 1 hora atrás, WhiteBubble disse: Desistiu do pokemon ? agora é digimon ? kk, brincadeiras a parte com base no seu script, testa esse: local NUMBER = math.random(1,5) -- Alterar o numero maximo pelo numero final da tabela. local NUMBER2 = math.random(1,5) -- Alterar o numero maximo pelo numero final da tabela. local NUMBER3 = math.random(1,5) -- Alterar o numero maximo pelo numero final da tabela. local KEY = { [1] = "Demon", [2] = "Dragon", [3] = "Demodras", [4] = "Hydra", [5] = "Rotworm", } local config = { exaust_sto = 5555, -- Storage que contabiliza o exaust exaust_time = 60 -- Segundos de Exaust } function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) local VALUE = KEY[NUMBER] local VALUE2 = KEY[NUMBER2] local VALUE3 = KEY[NUMBER3] local MONSTER_1 = VALUE local MONSTER_2 = VALUE2 local MONSTER_3 = VALUE3 if getTileInfo(getThingPos(cid)).protection then return doPlayerSendCancel(cid, "Este item nao pode ser usado em area PZ") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) and false else if not exhaustion.check(cid, config.exaust_sto) then doRemoveItem(item.uid, 1) exhaustion.set(cid, config.exaust_sto, config.exaust_time) local target1 = doCreateMonster(MONSTER_1, pos) local target2 = doCreateMonster(MONSTER_2, pos) local target3 = doCreateMonster(MONSTER_3, pos) doPlayerSendTextMessage(cid, 27, "Voce invocou o monstro!!") doSendMagicEffect(pos, CONST_ME_TELEPORT) return true else doPlayerSendTextMessage(cid, 27, "Exhaustion!! Wait ".. exhaustion.get(cid, config.exaust_sto) .." seconds.") doSendMagicEffect(pos, POFF) return false end end return true end Quanto ao monstro sumir, isso está além do meu conhecimento. Então, acho que não funcionou. Tá sumonando sempre os mesmos. Sumona dois do [1] e um do [2]. Sempre eles. Não tá aleatório Consegui resolver, modifiquei um pouco o script que o @WhiteBubble mandou ai em cima e funcionou. Obrigado @WhiteBubble pela ajuda mais uma vez. Pra quem quiser vou deixar aqui embaixo Spoiler local KEY = { [1] = "Card Yokomon", [2] = "Card Koromon", [3] = "Card Sunmon", } local config = { exaust_sto = 5555, -- Storage que contabiliza o exaust exaust_time = 60 -- Segundos de Exaust } function onUse(cid, item, fromPosition, itemEx, toPosition) local NUMBER = math.random(1,3) -- Alterar o numero maximo pelo numero final da tabela. local NUMBER2 = math.random(1,3) -- Alterar o numero maximo pelo numero final da tabela. local NUMBER3 = math.random(1,3) -- Alterar o numero maximo pelo numero final da tabela. local pos = getCreaturePosition(cid) local VALUE = KEY[NUMBER] local VALUE2 = KEY[NUMBER2] local VALUE3 = KEY[NUMBER3] local MONSTER_1 = VALUE local MONSTER_2 = VALUE2 local MONSTER_3 = VALUE3 if getTileInfo(getThingPos(cid)).protection then return doPlayerSendCancel(cid, "Este item nao pode ser usado em area PZ") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) and false else if not exhaustion.check(cid, config.exaust_sto) then doRemoveItem(item.uid, 1) exhaustion.set(cid, config.exaust_sto, config.exaust_time) doCreateMonster(MONSTER_1, pos) doCreateMonster(MONSTER_2, pos) doCreateMonster(MONSTER_3, pos) doPlayerSendTextMessage(cid, 27, "Voce invocou o monstro!!") doSendMagicEffect(pos, CONST_ME_TELEPORT) return true else doPlayerSendTextMessage(cid, 27, "Exhaustion!! Wait ".. exhaustion.get(cid, config.exaust_sto) .." seconds.") doSendMagicEffect(pos, POFF) return false end end return true end
Postado Abril 28, 2021 4 anos O script que fiz é aleatório só que como no caso você usou apenas 3 monstros a chance de sair o mesmo é maior, como exemplo um dado de 3 numeros, você joga ele 3 vezes, dificilmente vai cair os numeros 1,2,3. Mas que bom que resolveu, qualquer coisa só perguntar
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.