Ir para conteúdo

Featured Replies

Postado

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 por victor4312 (veja o histórico de edições)

Postado

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 <3
Basicamente, no lugar do :

 if doPlayerRemoveMoney(cid,100000000) then

vc vai colocar um:

if player:removeItem(ID, COUNT) then

 

MEUS POSTS:

 

SE AJUDEI, DÁ O REP+, ESQUECE NÃO, VLW BB <3

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 520k

Informação Importante

Confirmação de Termo