Ir para conteúdo

[ Tutorial De Scripting Ii ] Fazendo Um Novo Sistema De Addons


DaNDaNrOxX

Posts Recomendados

Olá pessoal!

Estou aqui com o meu segundo tutorial de scripting, e desta vez, como fazer um tipo de addon diferente...

Em vez de npc, coal basin!

Foto explicativa:

 

addon916.png

 

Começando o Tutorial

 

Primeiro abra a pasta do seu server, vá em data > actions > scripts.

Copie qualquer arquivo LUA lá dentro, renomeie para citizen1 e cole isto:

 

----- Addons por coal basin by DaNDaNrOxX -------

function onUse(cid, item, frompos, item2, topos)

 

quest = getPlayerStorageValue(cid,9530)

if quest == -1 then

 

item1pos = {x=XXXX,y=XXXX,z=XXXX,stackpos=255}

itemid = 1485

item1 = getThingfromPos(item1pos)

item2pos = {x=XXXX,y=XXXX,z=XXXX,stackpos=255}

itemid = 1485

item2 = getThingfromPos(item2pos)

 

if item.itemid == 1946 then

if item1.itemid == 5878 and item1.type >= 100 and item2.itemid == 5902 and item2.type >= 50 then

doSendMagicEffect(item1pos,5)

doSendMagicEffect(item2pos,5)

doRemoveItem(item1.uid,100)

doRemoveItem(item2.uid,50)

doPlayerAddAddon(cid,136,1)

doPlayerAddAddon(cid,128,1)

doPlayerSendTextMessage(cid,22,"Parabens, voce conseguiu um addon!")

setPlayerStorageValue(cid,9530,1)

 

else

 

doPlayerSendCancel(cid,"Você não tem os 100 minotaur leather ou os 50 honeycombs necessários para este addon.")

end

end

 

else

 

doPlayerSendCancel(cid,"Você ja fez este addon")

end

 

return 1

end

 

Explicação:

Aonde está em MARROM, é a storage usada, para guardar a informação de quem já fez ou não a quest. Não é necessário alterar.

 

Aonde está em VERMELHO, coloque a posição em X, Y, Z de aonde o coal basin ficará. É necessário alterar.

 

Aonde está em VERDE, é o ID do coal basin usado. Não é necessário alterar.

 

Aonde está em ROSA, é o ID da alavanca usada, no caso a virada para o leste (direita). Não é necessário alterar.

 

Aonde está em LARANJA, é o ID do item a ser removido em cima do coal basin 1, no caso 100 minotaur leathers. Não é necessário alterar, mas caso queira alterar a quantidade, mude apenas esta linha 'item1.type >=100' Aonde está 100, coloque a quantia desejada.

 

Aonde está em AZUL, é o ID do item a ser removido em cima do coal basin 2. no caso 50 honeycombs. Não é necessário alterar, mas caso queira alterar a quantidade, mude apenas esta linha 'item2.type >= 50' Aonde está 50, coloque a quantia desejada.

 

Aonde está em ROXO, é a mensagem que será enviada ao player, caso ele tiver as 100 minotaur leather e as 50 honeycombs e tiver colocado-as nos coal basin de forma correta. Não é necessário alterar.

 

Aonde está em VERDE CLARO, é a mensagem que será enviada ao player, caso ele não tenha os items necessários e/ou não tiver colocado eles corretamente nos coal basins. Não é necessário alterar.

 

O resto do código, não é aconselhavem se editar, ao menos que você saiba o que está fazendo :)

 

Como faço para usar este código para adicionar outros addons?

 

Este é apenas do citizen 1, da 'mochilinha', se você quiser fazer dos outros addons também... Apenas mude a storage usada (no caso 9530), os IDs dos items que serão removidos no coal basin, a posição dos coal basins e ésta linha no código:

doPlayerAddAddon(cid,136,1)

doPlayerAddAddon(cid,128,1)

Vá até outfit.xml e veja o respectivo ID do outfit, para adicionar o addon que você deseja ao outfit. Se você desejar adicionar addon 2 e não 1, mude apenas isto:

doPlayerAddAddon(cid,136,1)

doPlayerAddAddon(cid,128,1)

Aonde está 1, apenas coloque 2 (em ambas linhas) :)

 

Agora vá até Data > Actions > Actions.xml e abra o arquivo (actions.xml).

Logo após esta linha:

<?xml version="1.0"?>

 

<actions>

Cole isto:

<action actionid="9530" script="citizen1.lua" />

Ficando assim:

<?xml version="1.0"?>

 

<actions>

<action actionid="9530" script="citizen1.lua" />

Depois salve e feche.

Vá até o seu map editor, coloque uma alavanca de ID 1946, ao lado 2 coal basin de ID 1485.

Click com o botão direito na alavanca, em Actions ID coloque 9530 e em Unique ID coloque 9530 também.

Salve o seu mapa e teste o código !

 

Lembrando que estes códigos foram testados no Aries Server 0.4.0 versão 8.1, mas é possivel que funcione em 8.22 também, não sei, não testei.

 

PS: Postei este tutorial separado do outro tópico, porquê do contrário, ele iria ficar muito grande e iria atrapalhar a compreensão.

 

Quero agradecer a ajuda que noobinhu (Yunie) me deu neste script, eu não estava conseguindo fazer uma parte, e ele me deu uma grande ajuda.

Créditos portanto para DaNDaNrOxX e para noobinhu.



Abraço

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

Obrigado a todos pelo apoio.

RedZL, modifiquei algumas linhas para a melhor compreensão de como fazer adicionar addon de outros outfits, vejaa se você acha melhor agora, por gentileza.

Em breve estarei fazendo um tutorial simples de If Then Else End.

Abraço!

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

Ótimo, muito bem explicado, exeto no final, mas da para intender tudinho isso ai, vlw

por trazer pra cá com certeza vai ajudar muitas pessoas sair do repetitivo "npc de addon".

Valewz

Link para o comentário
Compartilhar em outros sites

Fiz os testes, deu certo!

mas eu acho que mudei alguma coisa de errado na hora de editar o addon, que quando puxa a alavanca os itens dos addons não somem...oke eu fiz?

Link para o comentário
Compartilhar em outros sites

Muito obrigado pelo apoio pessoal!

@Mimow, na certa você fez alguma coisa errada mesmo... Se você ainda não conseguiu, me mande uma MP com o script que você está usando que eu tenho ajudar você :)

Mais alguma dúvida, não deixem de perguntar!

Abraço

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...