Ir para conteúdo

Como Colocar Npc Que Vende Diamons Em Seu Server


matayo1888

Posts Recomendados

Olá galera Xtibiana ! venho aqui hoje ensinar vocês a colocar um Npc chamado Dalk, cujo troca Benção, Dias Premium, Mudar de City e Mudar de Sexo por Diamonds.

 

 

Como assim, troca Diamonds ?

R: Diamonds é um item que não se encontra em parte nehuma do mapa (ao menos de que vc coloque em seu mapa), esses Diamonds serão vendidos no site do seu server, para que o player vá até o Npc "DALK" e troque os seus diamonds comprados no site por privilégios em seu server.

 

 

Bom, agora vamos ao script. Na pasta do seu OT, vá em data/npc, copie qualquer arquivo .xml e depois de copiar, cole na pasta data/npc.

 

Renomei o arquivo que você colou para "Premium" (Sem Aspas), depois, abra o arquivo, aperte ctrl + a e aperte o botao Del, Delete ou Backgroud, depende do seu teclado.

Feito isso, cole o seguinte codigo na pasta Premium

 

<?xml version="1.0" encoding="ISO-8859-1"?>

<npc name="Dalk" script="data/npc/scripts/premium.lua" walkinterval="3000" floorchange="0" access="5" >

<health now="150" max="150"/>

<look type="522" head="0" body="114" legs="114" feet="0"/>

<parameters>

<parameter key="message_greet" value="Ola, se voce me der diamonds, eu posso te dar PREMIUM, diga 'premium account' (10D), posso mudar sua cidade inicial, diga 'hometown'(5D), posso mudar seu sexo, diga 'change sex'(5D) e ainda posso te abençoar meu filho, ou seja, com a minha bençao, ao morrer voce perderar menos skill, fishig,level,mana, etc, diga 'bless'(3D)."/>

<parameter key="message_farewell" value="Até mais, volte sempre meu rapaz"/>

</parameters>

</npc>

 

Depois disso, vá na pasta data/npc/scripts e copie qualquer arquivo, depois de copiar, cole.

Feito isso, Renomei o arquivo que vc copiou e colou, por "premium" (Sem Aspas).

Abra o arquivo e coloque o seguinte código

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

 

-- Conversa Jogador/NPC

if(msgcontains(msg, 'offer') or msgcontains(msg, 'Offer')) then

selfSay('I sell Premium accounts.', cid)

elseif(msgcontains(msg, 'premium account') or msgcontains(msg, 'Premium Account')) then

selfSay('Com o premium account, voce pode teleportar em pokemons de teleport, pode comprar casas, pode voar,nadar e montar, pode entrar na Saffari Zone e etc ... e preciso 10 diamonds para comprar 30 dias vip !, diga yes', cid)

talkState[talkUser] = 1

elseif(msgcontains(msg, 'bless') or msgcontains(msg, 'Bless')) then

selfSay('Deseja comprar bencao meu rapaz, custa apenas 3 diamonds, diga yes', cid)

talkState[talkUser] = 2

elseif(msgcontains(msg, 'Change Sex') or msgcontains(msg, 'change sex')) then

selfSay('Deseja mudar de sexo, vai custar 5 diamonds, diga yes', cid)

talkState[talkUser] = 3

elseif(msgcontains(msg, 'Hometown') or msgcontains(msg, 'hometown')) then

selfSay('Ta afim de mudar de cidade, vamos precisar de 5 diamonds para isso :D, diga o nome da city', cid)

talkState[talkUser] = 4

 

-- Confirmação da Compra

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then

if(doPlayerRemoveItem(cid, 2145, 10) == true) then

selfSay('Thanks!', cid)

doPlayerAddPremiumDays(cid, 31)

talkState[talkUser] = 0

else

selfSay('You do not have enough diamonds.', cid)

talkState[talkUser] = 0

end

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then

if getPlayerBlessing(cid, 1) and getPlayerBlessing(cid, 2) and getPlayerBlessing(cid, 3) and getPlayerBlessing(cid, 4) and getPlayerBlessing(cid, 5) then

selfSay('You have already got one or more blessings!', cid)

else

if(doPlayerRemoveItem(cid, 2145, 3) == true) then

selfSay('Thanks!', cid)

doPlayerAddBlessing(cid, 1)

doPlayerAddBlessing(cid, 2)

doPlayerAddBlessing(cid, 3)

doPlayerAddBlessing(cid, 4)

doPlayerAddBlessing(cid, 5)

talkState[talkUser] = 0

else

selfSay('You do not have enough diamonds.', cid)

talkState[talkUser] = 0

end

end

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then

if(doPlayerRemoveItem(cid, 2145, 5) == true) then

selfSay('Thanks!', cid)

if(getPlayerSex(cid) == PLAYERSEX_FEMALE) then

doPlayerSetSex(cid, PLAYERSEX_MALE)

else

doPlayerSetSex(cid, PLAYERSEX_FEMALE)

end

talkState[talkUser] = 0

else

selfSay('You do not have enough diamonds.', cid)

talkState[talkUser] = 0

end

elseif(msgcontains(msg, 'saffron') and talkState[talkUser] == 4) then

if(doPlayerRemoveItem(cid, 2145, 5) == true) then

selfSay('Thanks!', cid)

doPlayerSetTown(cid, 1)

talkState[talkUser] = 0

else

selfSay('You do not have enough diamonds.', cid)

talkState[talkUser] = 0

end

elseif(msgcontains(msg, 'cerulean') and talkState[talkUser] == 4) then

if(doPlayerRemoveItem(cid, 2145, 5) == true) then

selfSay('Thanks!', cid)

doPlayerSetTown(cid, 2)

talkState[talkUser] = 0

else

selfSay('You do not have enough diamonds.', cid)

talkState[talkUser] = 0

end

elseif(msgcontains(msg, 'lavender') and talkState[talkUser] == 4) then

if(doPlayerRemoveItem(cid, 2145, 5) == true) then

selfSay('Thanks!', cid)

doPlayerSetTown(cid, 3)

talkState[talkUser] = 0

else

selfSay('You do not have enough diamonds.', cid)

talkState[talkUser] = 0

end

elseif(msgcontains(msg, 'fuchsia') and talkState[talkUser] == 4) then

if(doPlayerRemoveItem(cid, 2145, 4) == true) then

selfSay('Thanks!', cid)

doPlayerSetTown(cid, 4)

talkState[talkUser] = 0

else

selfSay('You do not have enough diamonds.', cid)

talkState[talkUser] = 0

end

elseif(msgcontains(msg, 'celadon') and talkState[talkUser] == 4) then

if(doPlayerRemoveItem(cid, 2145, 5) == true) then

selfSay('Thanks!', cid)

doPlayerSetTown(cid, 5)

talkState[talkUser] = 0

else

selfSay('You do not have enough diamonds.', cid)

talkState[talkUser] = 0

end

elseif(msgcontains(msg, 'viridian') and talkState[talkUser] == 4) then

if(doPlayerRemoveItem(cid, 2145, 5) == true) then

selfSay('Thanks!', cid)

doPlayerSetTown(cid, 6)

talkState[talkUser] = 0

else

selfSay('You do not have enough diamonds.', cid)

talkState[talkUser] = 0

end

elseif(msgcontains(msg, 'pewter') and talkState[talkUser] == 4) then

if(doPlayerRemoveItem(cid, 2145, 5) == true) then

selfSay('Thanks!', cid)

doPlayerSetTown(cid, 8)

talkState[talkUser] = 0

else

selfSay('You do not have enough diamonds.', cid)

talkState[talkUser] = 0

end

elseif(msgcontains(msg, 'vermilion') and talkState[talkUser] == 4) then

if(doPlayerRemoveItem(cid, 2145, 5) == true) then

selfSay('Thanks!', cid)

doPlayerSetTown(cid, 9)

talkState[talkUser] = 0

else

selfSay('You do not have enough diamonds.', cid)

talkState[talkUser] = 0

end

elseif(msgcontains(msg, 'cinnabar') and talkState[talkUser] == 4) then

if(doPlayerRemoveItem(cid, 2145, 5) == true) then

selfSay('Thanks!', cid)

doPlayerSetTown(cid, 10)

talkState[talkUser] = 0

else

selfSay('You do not have enough diamonds.', cid)

talkState[talkUser] = 0

end

end

return TRUE

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

Pronto, seu Npc que vende Diamonds e trará muitos lucros para seu OT estará pronto.

OBS: O Npc já vem traduzido, mas se você quer mudar a fala dele, sinta-se avontade.

OBS 2: Se houver algum erro com o Npc, pode mandar uma mensagem que eu vou tentar ajudar.

 

É isso pessoal do Xtibia, aguardem novos Tópicos meus.

Editado por matayo1888
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...