Postado Abril 10, 2014 11 anos Olá pessoal do Tibia King tudo bem? Bom estou aqui para fazer um pedido bem básico, Alguém poderia me ajudar? Queria um NPC, que fala-se com o player tipo assim: 23:54 HaxYu: hi 23:54 Rey: Eai! Você já conhece nosso servidor? Curta-nos no Facebook! Leia a placa! e ganhe uma 'BP'. E quando o player disser 'BP', ele entrega o seguinte item para o Player (ID: 12991)
Postado Abril 10, 2014 11 anos Me diga uma coisa, o player precisará clicar na placa para somente após isto dizer "BP" e ser recompensado?
Postado Abril 10, 2014 11 anos Boa noite. @@ EDITADO - POST INUTILIZADO. O tópico será atualizado no outro post com o SCRIPT. rey.xml: <?xml version="1.0"?> <npc name="Rey" script="recompensa.lua" walkinterval="50000" floorchange="0"> <health now="100" max="100"/> <look type="153" head="58" body="58" legs="58" feet="50" addons="2"/> <parameters> <parameter key="message_greet" value="E ai |PLAYERNAME|! Você já conhece nosso servidor? Curta-nos no Facebook! Leia a placa e ganhe uma {BP}." /> </parameters> </npc> recompensa.lua: 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 local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local recompensa = 12991 -- ID do item recompensa local strg = divulgue -- Não precisa mexer aqui if msgcontains(msg, 'BP') then if getPlayerStorageValue(cid, strg) == 1 then selfSay("Aí está sua recompensa!", cid) doPlayerAddItem(cid, recompensa, 1) setPlayerStorageValue(cid, strg, 2) talkState[talkUser] = 0 return true else selfSay("Calma apressado, primeiro você precisa curtir nossa página e clicar na placa de divulgação do server que se encontra aqui abaixo.", cid) selfSay("Quando fizer isso, volte e lhe darei sua recompensa.", cid) talkState[talkUser] = 0 return true end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) E lembre-se, é muito importante adicionar a actionID "50010" na placa pelo MapEditor com o seguinte script: Em actions.xml adicione: <action actionid="50010" script="divulgue.lua"/> Agora em divulgue.lua adicione o script abaixo: local strg = divulgue local texto = Curta nossa página no Facebook function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, strg) == 0 then setPlayerStorageValue(cid, strg, 1) doPlayerSendTextMessage(cid, 23, " ".. texto ..".") else doPlayerSendCancel(cid, "Voce ja clicou, agora va pegar sua recompensa no NPC Rey.") end elseif getPlayerStorageValue(cid, strg) == 2 then doPlayerSendCancel(cid, "Voce ja pegou sua recompensa por ajudar na divulgacao.") return true end Não testei, então teste e me diga o que deu. Caso dê erro, poste e tentaremos corrigi-los. Abraços e boa sorte. Editado Abril 10, 2014 11 anos por Adriano SwaTT (veja o histórico de edições)
Postado Abril 10, 2014 11 anos Autor Boa noite Adriano Swatt, infelizmente deram os seguintes erros: [10/04/2014 01:39:18] [Error - LuaScriptInterface::loadFile] data/actions/scripts/divulgue.lua:2: '=' expected near 'p' [10/04/2014 01:39:18] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/divulgue.lua) [10/04/2014 01:39:18] data/actions/scripts/divulgue.lua:2: '=' expected near 'p' Esse listado á cima é o erro! ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- [10/04/2014 01:39:34] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/Rey.xml). [10/04/2014 01:39:34] Line: 6, Info: Input is not proper UTF-8, indicate encoding ! [10/04/2014 01:39:34] Bytes: 0xEA 0x20 0x6A 0xE1 [10/04/2014 01:39:35] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/Rey.xml). [10/04/2014 01:39:35] Line: 6, Info: Input is not proper UTF-8, indicate encoding ! [10/04/2014 01:39:35] Bytes: 0xEA 0x20 0x6A 0xE1 [10/04/2014 01:39:35] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/Rey.xml). [10/04/2014 01:39:35] Line: 6, Info: Input is not proper UTF-8, indicate encoding ! [10/04/2014 01:39:35] Bytes: 0xEA 0x20 0x6A 0xE1 Obrigado mesmo! Caso, esse jeito não dê certo, já estaria bem feliz com o esquema de dizer "BP" e ele entregar o item. Editado Abril 10, 2014 11 anos por Shinob (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.