amitabha 0 Postado Fevereiro 9, 2012 Share Postado Fevereiro 9, 2012 Eu gostaria que concertassem meu npc ou simplesmente tem como liberar todos os addons para todo mundo? Meu npc de addon. Ele fala tudo certinho vende o addon, so que nao aparece para o personagem. *Varkhal <?xml version="1.0" encoding="UTF-8"?> <npc name="Varkhal" script="addons.lua" walkinterval="2000" floorchange="0" skull="green"> <health now="100" max="100"/> <look type="134" head="78" body="88" legs="0" feet="88" addons="3"/> </npc> *Addons.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 if(msgcontains(msg, 'first') or msgcontains(msg, 'first addon')) then if isPremium(cid) then if getPlayerItemCount(cid, 2160) >= 1 then selfSay('Did you buy first addons for 10k?', cid) talkState[talkUser] = 1 else selfSay('Come back when you have 10k.', cid) end else selfSay('Sorry, you need a premium account to get addons.', cid) end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerItemCount(cid, 2160) >= 1 or getPlayerItemCount(cid, 2152) >= 100 or getPlayerItemCount(cid, 2148) >= 10000 then if doPlayerTakeItem(cid, 2160, 1) or doPlayerTakeItem(cid, 2152, 100) or doPlayerTakeItem(cid, 2148, 10000) == 0 then selfSay('Thank you. Here you are oaddon.', cid) doPlayerAddOutfit(cid, femaleOutfits, 1) doPlayerAddOutfit(cid, maleOutfits, 1) end else selfSay(addonItem, cid) end talkState[talkUser] = 0 elseif (msgcontains(msg, 'second') or msgcontains(msg, 'second addon')) then if isPremium(cid) then if getPlayerItemCount(cid,2160) >= 2 or getPlayerItemCount(cid,2152) >= 200 or getPlayerItemCount(cid,2148) >= 20000 then selfSay('Did you bring me the 20k?', cid) talkState[talkUser] = 4 else selfSay('Come back when you have the 20k.', cid) end else selfSay('Sorry, you need a premium account to get addons.', cid) end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then if getPlayerItemCount(cid,2160) >= 2 or getPlayerItemCount(cid,2152) >= 200 or getPlayerItemCount(cid,2148) >= 20000 then if doPlayerTakeItem(cid,2160,1) or doPlayerTakeItem(cid,2152,100) or doPlayerTakeItem(cid,2148,10000) == 0 then selfSay('Thank you. Here you are oaddon.', cid) doPlayerAddOutfit(cid, femaleOutfits, 2) doPlayerAddOutfit(cid, maleOutfits, 2) end else selfSay(addonItem, cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then talkState[talkUser] = 0 selfSay('Ok then.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Lembrando que se alguem souber simplesmente como liberar addons para todos, esta otimo =D Link para o comentário https://xtibia.com/forum/topic/180450-pedido-de-npc-gostaria-de-npc-que-vende-addon-por-5k-e-10k-meu-ots-%C3%A9-o-crystalserver-21vers944/ Compartilhar em outros sites More sharing options...
Matheuzinhoul 58 Postado Fevereiro 9, 2012 Share Postado Fevereiro 9, 2012 Pode deixar addon para todos né? Então faça assim: Em pastadoot/data/creaturescripts crie um arquivo.lua com o nome que desejar. Coloque isso dentro. function onLogin(cid) if getPlayerStorageValue(cid, 30003) == -1 then doPlayerAddAddons(cid, 1) doPlayerAddAddons(cid, 2) setPlayerStorageValue(cid, 30003, 1) end return TRUE end Agora na mesma pasta abra o arquivo creaturescripts.xml e coloque essa tag: <event type="login" name="addon" script="nomedoarquivo.lua"/> Não esquece de mudar o "nomedoarquivo" na tag para o que você escolheu. Link para o comentário https://xtibia.com/forum/topic/180450-pedido-de-npc-gostaria-de-npc-que-vende-addon-por-5k-e-10k-meu-ots-%C3%A9-o-crystalserver-21vers944/#findComment-1198080 Compartilhar em outros sites More sharing options...
amitabha 0 Postado Fevereiro 9, 2012 Autor Share Postado Fevereiro 9, 2012 Nao funcionou apareceu Loading creaturescripts.. [error - LuaInterface::loadFile] cannot open data/creaturescripts/scripts/todos.lua: No such file or directory [Warning - Event::loadscript] Cannot load script <data/creaturescripts/scripts/todos.lua> cannot open data/creaturescript/scripts/todos.lua: No such file or directory done. Opa eu troquei o <event type="login" name="addon" script="nomedoarquivo.lua"/> por <event type="login" name="addon" value="nomedoarquivo.lua"/> ai funcionou ao ligar o serve, mas o script nao funciou... Link para o comentário https://xtibia.com/forum/topic/180450-pedido-de-npc-gostaria-de-npc-que-vende-addon-por-5k-e-10k-meu-ots-%C3%A9-o-crystalserver-21vers944/#findComment-1198114 Compartilhar em outros sites More sharing options...
bepokemon 101 Postado Fevereiro 9, 2012 Share Postado Fevereiro 9, 2012 É porque não tem nenhum arquivo chamado todos.lua dentro de creaturescripts/scripts. Link para o comentário https://xtibia.com/forum/topic/180450-pedido-de-npc-gostaria-de-npc-que-vende-addon-por-5k-e-10k-meu-ots-%C3%A9-o-crystalserver-21vers944/#findComment-1198125 Compartilhar em outros sites More sharing options...
amitabha 0 Postado Fevereiro 9, 2012 Autor Share Postado Fevereiro 9, 2012 Agora funcionou vlw =D Link para o comentário https://xtibia.com/forum/topic/180450-pedido-de-npc-gostaria-de-npc-que-vende-addon-por-5k-e-10k-meu-ots-%C3%A9-o-crystalserver-21vers944/#findComment-1198130 Compartilhar em outros sites More sharing options...
Posts Recomendados