Postado Julho 13, 2020 5 anos Gostaria de alterar a forma de pagamento desse npc, ao invés de pagar com money, queria que o script aceitasse uma moeda com id especifico tfs 0.5 exclusive edition ( OBS: Se alguém puder também fazer o favor de mover o tópico para tibia classico agradeço, acabei postando errado) local nme = getCreatureName(getNpcCid()) 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) NpcSystem.parseParameters(npcHandler,cid) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function onPlayerEndTrade(cid) npcHandler:onPlayerEndTrade(cid) end function onPlayerCloseChannel(cid) npcHandler:onPlayerCloseChannel(cid) end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local msg = string.lower(msg) if msgcontains(msg,"quest") then if getPlayerLevel(cid) >= 800 then selfSay(gm(cid,nme,1),cid) talkState[talkUser] = 20 else if isKnight(cid) then selfSay(gm(cid,nme,2),cid) talkState[talkUser] = 30 else selfSay(gm(cid,nme,3),cid) talkState[talkUser] = 40 end end elseif agreeNPC(msg) and talkState[talkUser] == 20 then if doPlayerRemoveMoney(cid,50000000) then doTeleportThing(cid,{x = 37556, y = 38925, z = 7}) selfSay(gm(cid,nme,5),cid) else selfSay(gm(cid,nme,6).." 50kk",cid) end elseif agreeNPC(msg) and talkState[talkUser] == 30 then if doPlayerRemoveMoney(cid,200000000) then doTeleportThing(cid,{x = 37556, y = 38925, z = 7}) selfSay(gm(cid,nme,5),cid) else selfSay(gm(cid,nme,6).." 200kk",cid) end elseif agreeNPC(msg) and talkState[talkUser] == 40 then if doPlayerRemoveMoney(cid,100000000) then doTeleportThing(cid,{x = 37556, y = 38925, z = 7}) selfSay(gm(cid,nme,5),cid) else selfSay(gm(cid,nme,6).." 100kk",cid) end elseif disagreeNPC(msg) and isInArray({20,30,40},talkState[talkUser]) then selfSay("Ok...",cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Editado Julho 13, 2020 5 anos por victor4312 (veja o histórico de edições)
Postado Julho 14, 2020 5 anos Cara, eu nao vou "fazer" e te entregar pronto, pq pra mim, npc é a parte mais chata de TODAS, mas vou te dar um norte, ai c tenta Basicamente, no lugar do : if doPlayerRemoveMoney(cid,100000000) then vc vai colocar um: if player:removeItem(ID, COUNT) then MEUS POSTS: [Source] Sistema Anti-PVP ~~ PvP on/off por comando [CreatureScript] Sugestão de balanceamento ~~ Uma pequena sugestão de balanceamento das vocations ? [NPC] Daily Task ~~ Daily Task com 4 opções diarias Contador de Monstros ~~Sistema pra contar quantos monstros tem no sv, e uma melhoria pro sistema de Daily Tasks Calma, por enquanto é só, e em breve mais coisas ;} SE AJUDEI, DÁ O REP+, ESQUECE NÃO, VLW BB
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.