Postado Maio 24, 2014 10 anos Eeeeelaiá... aqui estou eu mais uma vez com problemas :/ O bug atual é o seguinte, eu não encontrei nada relacionado a isto aqui no forum... No meu servidor tem o npc The Drahix King, a função dele é vender promotion. Porém, ele vende promotion para player que não são premium. O servidor é 8.6, usa o tfs 0.3.6... Eu gostaria de saber como fazer para ele vender promotion somente para players premium. O problema que isto está causando, é que o player compra a promotion e não fica promotion, e então, acha que está bugado, sendo que quando isso ocorre, ele tem que comprar a premium, deslogar, eu tenho que ir no banco de dados, remover a promotion, e ele comprar a promotion novamente. Segue então o script do npc de premium: <?xml version="1.0" encoding="UTF-8"?> <npc name="The Drahix King" script="promotion.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="332" head="20" body="39" legs="45" feet="7" addons="0"/> </npc> local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you want me to promote you?'}) node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) npcHandler:addModule(FocusModule:new()) Quem ajudar eu dou rep+
Postado Maio 24, 2014 10 anos Autor Solução Pessoal, deixa queto, já consegui arrumar. moderação, pode fechar o tópico. segue a solução: o script atualmente está como: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you want me to promote you?'}) node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) npcHandler:addModule(FocusModule:new()) Basta adicionar: promote = true após o o comando que é definido o preço, que seria este: cost = 20000 então, ficaria a seguinte linha completa: node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, premium = true, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'}) Editado Maio 24, 2014 10 anos por Drafenous (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.