Ir para conteúdo

Featured Replies

Postado
Boa tarde, eu estou com um pequeno problema com esse NPC \/
 
 

 
local trade = {
      {items = {5944, 2160}, newitem = 5957} -- Items = items para remover/newitem = item para adicionar ao player.
      }
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
msg = msg:lower();
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
 
     for x, v in ipairs(trade) do
         for b = 1, #v.items do
             if msgcontains(msg, 'change') then
                 if getPlayerItemCount(cid, v.items) >= 1 then
                    talkState[talkUser] = 2
                    return selfSay('Deseja trocar um X e Y por um Z?', cid)
                 else
                    talkState[talkUser] = 0
                    return selfSay('Você não tem os items necessários.', cid)
                 end
     elseif msgcontains(msg, 'yes') then
         if talkState[talkUser] == 2 then
             if doPlayerRemoveItem(cid, v.items[1], 1) and doPlayerRemoveItem(cid, v.items[2], 1) then
                doPlayerAddItem(cid, v.newitem, 1)
                return selfSay('Aqui está.', cid)
            else
                return selfSay('Está tentando me enganar? Você não tem os itens necessários.', cid)
             end
         end
     elseif msgcontains(msg, 'no') then
                 if talkState[talkUser] == 2 then
                    selfSay('Ok...', cid)
                 end
             end
         end
     end
end    
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new()) 
 

 
 
quando alguém diz "change" o NPC diz "Deseja trocar um X e Y por um Z?". Como troca a palavra "change" para yes sem bugar? Eu simplesmente troquei mas aí ele não continua o script e fala "Aqui está.". Eu gostaria de dizer hi/yes/yes, tem como?
 
PS: Eu postei o script dentro de um spoiler pq eu não sei postar como um script assim: M9Wlp4W.png
 
 Se alguém puder me ensinar como faz isso também agradeceria... 
 
Rep+ pra quem ajudar!

Editado por doidu (veja o histórico de edições)

Postado

Edit. Te ajudo no skype kkk

 

@Topic, para nao ficar como flood.

 

Colocar "you want to exchange items ?" o que você tem contra inglês cara? kk

Editado por Deadpool (veja o histórico de edições)

Se te ajudei, deixe seu curti, clique em melhor resposta, para que eu possa ajudar sempre.

 

skype.png

Trabalhos (C++):

Cor das mensagens nos channels

Ajusta/Mudar cor das mensagens de Loot

Liberação dos novos Remakes da PokeXGames.

NPC "Guild Master" que cria, deleta, invita, kicka players da guild.

 

 B4OBUkH.png At Soon, LIKE ON FACEBOOK. Clik on Imgs

Postado

Não testei.

local trade = {
	{items = {5944, 2160}, newitem = 5957} -- Items = items para remover/newitem = item para adicionar ao player.
}
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
	msg = msg:lower();
	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
	if(msgcontains(msg, 'yes')) then
		selfSay('Deseja trocar um X e Y por um Z?', cid)
		talkState[talkUser] = 1
	elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
		if(doPlayerItemCount(cid, trade.items[1]) >= 1 and doPlayerItemCount(cid, trade.items[2]) >= 1) then
			doPlayerRemoveItem(cid, trade.items[1], 1)
			doPlayerRemoveItem(cid, trade.items[2], 1)
			doPlayerAddItem(cid, trade.newitem, 1)
			selfSay('Aqui está.', cid)
		else
			selfSay('Está tentando me enganar? Você não tem os itens necessários.', cid)
		end
	elseif(msgcontains(msg, 'no')) then
		selfSay('Ok...', cid)
	end
	return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new()) 
Postado

Também testei, mas vai bugar ^^, já dei uma forma pra ele usar esse script pelo skype.. rs

Se te ajudei, deixe seu curti, clique em melhor resposta, para que eu possa ajudar sempre.

 

skype.png

Trabalhos (C++):

Cor das mensagens nos channels

Ajusta/Mudar cor das mensagens de Loot

Liberação dos novos Remakes da PokeXGames.

NPC "Guild Master" que cria, deleta, invita, kicka players da guild.

 

 B4OBUkH.png At Soon, LIKE ON FACEBOOK. Clik on Imgs

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo