Ir para conteúdo

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
https://xtibia.com/forum/topic/198649-como-colocar-npc-que-vende-diamons-em-seu-server/
Compartilhar em outros sites

Olá XTibiano!

 

Infelizmente, seu tutorial foi reprovado.

Procure por ajuda na seção de como formular um bom tutorial.

 

Grato pela atenção.

Movido.

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