Postado Abril 11, 2015 10 anos Queria uma ajuda: Eu tenho um sistema de battlefield, e na hora da recompensa, queria que ele ganhasse um certo storage acumulativo, isso é possivel? Pois quero fazer um npc que venda coisas por essa storage.. Podem me ajudar? Tanto com o npc tanto com a recompensa?
Postado Abril 11, 2015 10 anos Recompensa basta tu adicionar essa linha ao código na parte da recompensa, no exemplo estou usando a storage 52310. if getPlayerStorageValue(cid, 52310) < 1 then setPlayerStorageValue(cid, 52310, 1) else setPlayerStorageValue(cid, 52310, getPlayerStorageValue(cid, 52310) + 1) end No npc que vende os itens vou usar um exemplo em que o npc vende uma golden legs por 3 storages: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, 'golden') and msgcontains(msg, 'legs') then if getPlayerStorageValue(cid, 52310) >= 3 then doPlayerAddItem(cid, ID_DA_GOLDEN_LEGS, 1) setPlayerStorageValue(cid, 52310, getPlayerStorageValue(cid, 52310) - 3) npcHandler:say("Here is.", cid) else npcHandler:say("You not have storage.", cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Pra esse sistema ficaria bacana o player conseguir ver a quantidade de "storage" que tem com um comando na talkaction: <talkaction words="!check" event="script" value="check.lua"/> check.lua function onSay(cid, words, param, channel) if isPlayer(cid) then if getPlayerStorageValue(cid, 52310) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem 0 pontos de seilaoq.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possuí " .. (getPlayerStorageValue(cid, 52310)) .. "pontos de seilaoq.") end return true end return true end Editado Abril 11, 2015 10 anos por runeraserver (veja o histórico de edições) Precisa de ajuda? Poste a versão de seu TFS. ************************************************************************************************************* Servidores? Eu indico: Use o cupom TIBIAKING e receba 50% de desconto na primeira mensalidade! Pague menos de R$ 19,00 no primeiro mês!
Postado Abril 11, 2015 10 anos Tinha um errinho, testa com os códigos que editei agora 14:25. Precisa de ajuda? Poste a versão de seu TFS. ************************************************************************************************************* Servidores? Eu indico: Use o cupom TIBIAKING e receba 50% de desconto na primeira mensalidade! Pague menos de R$ 19,00 no primeiro mês!
Postado Abril 11, 2015 10 anos Autor Acho que tem outro, porque quando ele testa o comando pela 1x , ele ta com -1 pontos
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.