Postado Março 27, 2015 10 anos Olá, Bom dia. Bom, estou tendo problemas com este script, ele funciona semelhante a machine das rooms de GBA(Pokémon) Dou o click no item que contem a action id, e assim vai aparecer 3 pokémons, caso os 3 forem iguais o player ganhará o premio(Gold coin house/Item criado por mim com uma nova id) porém o sistema não está correspondendo 100% e estou tendo estes bugs. 1- O premio não está indo para bag 2- Após eu sair da frente do botão que dou use, o chão onde eu estava altera, assim bloqueando o caminho. Obs[bug 2] = Creio que seja por causa da alavanca(id 1946), caso eu crie um novo item para por a action id, resolveria o problema? [Adição] Caso seja possível, de alguma maneira há como por este sistema em mais machines? Pois ele só funciona em uma pelo que vejo, acho que adicionando um tag pra mais configurações de posição de onde os Pokes do mini-game irá nascer resolveria, logo eu poderia configurar as posições das outras machines. Preciso muito deste sistema funcionando 100%, estarei eternamente grato a quem puder resolver isto pra mim. "Rep+" Aqui está o script. <action actionid="12312" event="script" value="Machine Coin.lua"/>local config = { storageGlobal = 12312, -- esta storage é global e armazenará um valor para verificar se alguem usou o sistema antes dele finalizar premio = {id = 26645,count = 10}, -- count só para itens agrupaveis. valorAposta = 10, -- preço, em GPS, de cada chance pos = {{x = 733,y = 1106,z = 8,stackpos = 253},{x = 734,y = 1106,z = 8,stackpos = 253},{x = 735,y = 1106,z = 8,stackpos = 253}}, -- configure as 3 posições criaturas ={"Pikachu", "Clefairy", "Staryu"}, -- monstros que irão aparecer verificador = {}, -- não mecher } function onUse(cid, item, fromPosition, itemEx, toPosition) if(getStorage(config.storageGlobal) == 1) then doPlayerSendCancel(cid,"Aguarde esta rodada acabar.") return true end if(getPlayerMoney(cid) < config.valorAposta) then doPlayerSendCancel(cid,"Consiga " .. config.valorAposta .. " gold coins antes.") return true end doPlayerRemoveMoney(cid, config.valorAposta) sumonarVerificar(cid,1) doSetStorage(config.storageGlobal, 1) -- adiciona o verificador para não clicar 100 veses e bugar addEvent(doSetStorage,4000,config.storageGlobal,-1) -- retira o verificador para poder clicar novamente return false end function sumonarVerificar(cid,i) if(not isPlayer(cid)) then -- evita erros for k = 1,3 do if(isMonster(getTopCreature(config.pos[k]).uid)) then doRemoveCreature(getTopCreature(config.pos[k]).uid) end end return false else if(i == 4)then if(config.verificador[1] == config.verificador[2] and config.verificador[2] == config.verificador[3]) then for k = 1,3 do doSendMagicEffect(config.pos[k], 3) end doSendMagicEffect(getCreaturePosition(cid), 3) doSendAnimatedText(getCreaturePosition(cid), "Voce Ganhou !", math.random(1,255)) doPlayerAddItem(cid,config.premio[id],config.premio[count]) else for k = 1,3 do doSendMagicEffect(config.pos[k], 2) end doSendMagicEffect(getCreaturePosition(cid), 2) end for k = 1,3 do if(isMonster(getTopCreature(config.pos[k]).uid)) then doRemoveCreature(getTopCreature(config.pos[k]).uid) end end for k,v in pairs(config.verificador) do config.verificador[k]=nil end -- limpa tabela else rand = math.random(1,#config.criaturas) monstro = doCreateMonster(config.criaturas[rand],config.pos[i]) doSendMagicEffect(config.pos[i],2) table.insert(config.verificador, config.criaturas[rand]) -- adiciona a criatura na tabela para futura verificação doChangeSpeed(monstro, -getCreatureBaseSpeed(monstro)) -- fará com que ele não se mexa addEvent(sumonarVerificar,1000,cid,i + 1) end end end Editado Abril 12, 2015 10 anos por eliaspalermo (veja o histórico de edições)
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.