Ir para conteúdo

[Pedido De Npc] Gostaria De Npc Que Vende Addon Por 5K E 10K. Meu Ots É O Crystalserver 2.1,vers9.44


amitabha

Posts Recomendados

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
Compartilhar em outros sites

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
Compartilhar em outros sites

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
Compartilhar em outros sites

×
×
  • Criar Novo...