Postado Abril 16, 2020 5 anos Boa noite galera do TK utilizo tfs 8.60 Eu gostaria de um sistema de recompensa, se o jogador que morreu estiver com X storage o jogador que matou receberia esse item : 5943 Y storage o jogador que matou receberia esse item : 5808 caso o jogador que foi morto não tivesse nenhuma das duas storage o jogador que matou ele receberá esse item : 5805 Rep ++ Editado Abril 16, 2020 5 anos por OinomedRellik (veja o histórico de edições)
Postado Abril 16, 2020 5 anos @OinomedRellik Script: local config = { storageX = 1001, itemX = 5943, countX = 1, StorageY = 1002, itemY = 5808, countY = 1, item0 = 5805, count0 = 1 } function onKill(cid, target, lastHit) if isPlayer(target) then if getPlayerStorageValue(target, storageX) == 1 then doPlayerAddItem(cid, itemX, countX) elseif getPlayerStorageValue(target, storageY) == 1 then doPlayerAddItem(cid, itemY, countY) else doPlayerAddItem(cid, item0, count0) end end return true end XML: <event type="kill" name="Recompensa" event="script" value="recompensa.lua"/> Não se esqueça de registrar o comando abaixo no login.lua: registerCreatureEvent(cid, "Recompensa")
Postado Abril 16, 2020 5 anos Autor 5 minutos atrás, Storm disse: @OinomedRellik Script: local config = { storageX = 1001, itemX = 5943, countX = 1, StorageY = 1002, itemY = 5808, countY = 1, item0 = 5805, count0 = 1 } function onKill(cid, target, lastHit) if isPlayer(target) then if getPlayerStorageValue(target, storageX) == 1 then doPlayerAddItem(cid, itemX, countX) elseif getPlayerStorageValue(target, storageY) == 1 then doPlayerAddItem(cid, itemY, countY) else doPlayerAddItem(cid, item0, count0) end end return true end XML: <event type="kill" name="Recompensa" event="script" value="recompensa.lua"/> Não se esqueça de registrar o comando abaixo no login.lua: registerCreatureEvent(cid, "Recompensa") da um error [Error - CreatureScript Interface] data/creaturescripts/scripts/news/heartecerebro.lua:onKill Description: (luaDoPlayerAddItem) Item not found
Postado Abril 16, 2020 5 anos local nomeItem, itemNull, qtd = "NOME DO ITEM", 5805, 1 local config = { [storageX] = {"NOME DO ITEM", {item_id, QTD}}, [storageY] = {"NOME DO ITEM", {item_id, QTD}} } function onKill(cid, target, lastHit) if (not isPlayer(cid)) or (not isPlayer(target)) then return true end for storage, itemId in pairs(config) do if getPlayerStorageValue(cid, storage) ~= -1 then doPlayerAddItem(cid, itemId[2]) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Você matou ".. getPlayerName(target) .." e recebeu ".. itemId[1] ..".") else doPlayerAddItem(cid, itemNull, qtd) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Você matou ".. getPlayerName(target) .." e recebeu ".. nomeItem ..".") end break end return true end <event type="kill" name="killReward" event="script" value="killPlayer.lua"/> registerCreatureEvent(cid, "killReward") ItemNull = Caso o jogador não tenha nenhuma das storages qtd = a quantidade do itemNull StorageX e Y = Storage que você quer adicionar item_id e QTD é os itens e a quantidade Editado Abril 17, 2020 5 anos por KOLISAO (veja o histórico de edições)
Postado Abril 16, 2020 5 anos Autor 13 minutos atrás, KOLISAO disse: local itemNull, qtd = 5805, 1 local config = { [storageX] = {item_id, QTD}, [storageY] = {item_id, QTD} } function onKill(cid, target, lastHit) if (not isPlayer(cid)) or (not isPlayer(target)) then return true end for storage, itemId in pairs(config) do if getPlayerStorageValue(cid, storage) ~= -1 then doPlayerAddItem(cid, itemId[1], itemId[2]) else doPlayerAddItem(cid, itemNull, qtd) end end return true end <event type="kill" name="killReward" event="script" value="killPlayer.lua"/> registerCreatureEvent(cid, "killReward") o item sem storage tá entregando corretamente o problema é que lá na quantidade está [1] e está vindo [2] items e será que tem como por para receber uma mensagem no default com cor orange nas 3 recompensa? Exemplo : você acaba de matar um player com X storage, Y storage ou sem storage o meu tá dessa maneira e o item sem storage tá vindo 2 invez de 1 Spoiler local itemNull, qtd = 5805, 1 local config = { [1001] = {5943, 1}, [1002] = {5808, 1} } function onKill(cid, target, lastHit) if (not isPlayer(cid)) or (not isPlayer(target)) then return true end for storage, itemId in pairs(config) do if getPlayerStorageValue(cid, storage) ~= -1 then doPlayerAddItem(cid, itemId[1], itemId[2]) else doPlayerAddItem(cid, itemNull, qtd) end end return true end Editado Abril 17, 2020 5 anos por OinomedRellik (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.