Ir para conteúdo
Entre para seguir isso  
dalvorsn

O crone

Recommended Posts

dalvorsn    46
dalvorsn
Servidor testado: TFS 0.3.6 pl

Protocolo: 8.54

Autor: Dalvo (eu), [FreemaN: Pela ideia de dorgado de fazer isso *-*]

 

O Crone

 

Eu fiz essa action de brincadeira, mais achei legal até.

Mesmo que não tenha muita utilidade ou utilidade nenhuma, pode servir de base pra algum code futuro quem sabe. :)

Acredito que funcione em qualquer versão por usar funções clássicas de otserv e a biblioteca io.

A ideia é basicamente criar um npc com seu nome e roupa exatamente igual a sua, algo parecido com um crone.

Eu sinceramente não vejo utilidade, porém achei engraçado e decidi postar, façam bom uso, aperfeiçoem e usem como preferir. :)

Não precisa colocar créditos, pode usá-lo livremente, apenas no caso de postagem em outros locais, peço a colocação dos créditos.

Acho que já deu pra intender como ele funciona, então vamos ao script ^^

 

Instalação

Vá em data/actions/scripts/ crie um arquivo x de extensão .lua e coloque isso dentro:

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

local OutFit = getCreatureOutfit(cid)
local outfit = ('<look type=\"'..OutFit.lookType..'\" head=\"'..OutFit.lookHead..'\" body=\"'..OutFit.lookBody..'\" legs=\"'..OutFit.lookLegs..'\" feet=\"'..OutFit.lookFeet..'\"/>')
newFile = io.open("data/npc/"..getPlayerName(cid)..".xml","w+")
newFile:write('<?xml version="1.0" encoding="UTF-8"?><npc name="'..getPlayerName(cid)..'" walkinterval="350000" floorchange="0" speed="0"><health now="1050" max="1050"/>'..outfit..'<parameters></parameters></npc>')
newFile:close()

doCreateNpc(getPlayerName(cid),getCreaturePos(cid))
return true
end

 

Agora em data/action/actions.xml coloque esta tag:

<action itemid="[color="red"]xxxx[/color]" event="script" value="X.lua"/>

 

Aonde está xxxx coloque o id do item que irá usar para executar o script.

 

Obs.: Devo ter feito um pog do carai, mais foi só pra brinca mesmo *-*

Fim. :issoae:

Editado por dalvorsn

Compartilhar este post


Link para o post
Oneshot    24
Oneshot

Gostei bastante do script, você utilizou as funções da biblioteca io muito bem e acaba de mostrar algo que servirá de base para vários outros scripts: a criação de NPCs e monstros com o nome do jogador.

 

Creio agora que outros poderão utilizar-se dessa sua base para otimização da magia Kage Bunshin no Jutsu de servidores Narutibia.

 

 

Criatividade: 60

Organização : 65

Tamanho : 55

Utilidade : 70

 

Nota Final : 62 ou B

Remuneração Total: 35V$

Sua remuneração será depositada em um prazo máximo de 72 horas.

Compartilhar este post


Link para o post
Falacchi    0
Falacchi

Good Post dalvorsn (:

 

Curti pra caramba

Compartilhar este post


Link para o post
Kydrai    0
Kydrai

Bom script, da pra fazer umas coisas legais com ele, como o Garou disse.

Compartilhar este post


Link para o post
iuniX    4
iuniX

POASKDPOASKDPOSAKDPOASK

Puta ideia de Loko ein dalvo? Só tu e o free mesmo pra ter umas ideias dessas...

Mas parebens, fico bom o script :D

Biblioteca io é nice xD

Compartilhar este post


Link para o post
vyctor17    35
vyctor17

nao so para servidores de narutibia com pocas modificaçoes vc pode fazer o sistema de nick do p.o sem ediçao nas sources e ainda como ele cria uma rquivo xml tmb serviria pra um sistema de boost

Compartilhar este post


Link para o post
dalvorsn    46
dalvorsn

@Topic

 

Valeu galera =D

 

nao so para servidores de narutibia com pocas modificaçoes vc pode fazer o sistema de nick do p.o sem ediçao nas sources e ainda como ele cria uma rquivo xml tmb serviria pra um sistema de boost

 

O sistema de boost e muito fácil cara, e só mecher com atributes e pegá-los nos arquivos de ataque e goback =D, se quiser pode ainda modificar apenas o nome da pokeball e pega manipulando string .-.

Compartilhar este post


Link para o post
Asould Acalaylaa    5
Asould Acalaylaa

Eu conhecia esse IO em C#, mas nem sabia que existia ele em LUA.

Iraaaado o script, não tem utilidade, mas poderá ter! O unico complicado, é que ele vai ficar criando arquivos de NPC. Mas achei classe A. Parabéns! ^^

Compartilhar este post


Link para o post
iuniX    4
iuniX
Eu conhecia esse IO em C#, mas nem sabia que existia ele em LUA.

Iraaaado o script, não tem utilidade, mas poderá ter! O unico complicado, é que ele vai ficar criando arquivos de NPC. Mas achei classe A. Parabéns! ^^

 

O Script em si é um tipo de brincadeira só para mostrar como funciona +/- o io, já que hoje em dia é bem dificil ver scripts usando io ou os ou afins....

Compartilhar este post


Link para o post
dalvorsn    46
dalvorsn
Eu conhecia esse IO em C#, mas nem sabia que existia ele em LUA.

Iraaaado o script, não tem utilidade, mas poderá ter! O unico complicado, é que ele vai ficar criando arquivos de NPC. Mas achei classe A. Parabéns! ^^

 

Como assim complicado? se for o fato de criar vários arquivo de npc com nome dos player, é simples, quando não estiver mais usando o arquivo, basta usar a função os.remove(filename), por exemplo, tu vai usar pra criar um npc por um determinado tempo apenas, assim que terminar de usá-lo, você usa isso:

os.remove("data/npc/"..getCreatureName(cid)..".xml)

Acho que era sobre isso que tu tava falando, se num for desculpe =D

Compartilhar este post


Link para o post
Conde2    0
Conde2
Como assim complicado? se for o fato de criar vários arquivo de npc com nome dos player, é simples, quando não estiver mais usando o arquivo, basta usar a função os.remove(filename), por exemplo, tu vai usar pra criar um npc por um determinado tempo apenas, assim que terminar de usá-lo, você usa isso:

os.remove("data/npc/"..getCreatureName(cid)..".xml)

Acho que era sobre isso que tu tava falando, se num for desculpe =D

 

 

Se eu não me engano os.remove não vai remover o arquivos se não fechar o laço antes.

Mas como você fechou então ta tudo certo.

newFile:close()

 

É que eu já tive problemas de fechar o arquivo e não remover ele depois =p.

 

@Dalvorsn

Uma dica use getCreatureOutfit(cid) em uma variável para não precisar carregar toda hora.

E use local na var outfit pode dar algum conflito caso utileze outra variável igual.

 

local OutFit = getCreatureOutfit(cid)

local outfit = ('<look type=\"'..OutFit.lookType..'\" head=\"'..OutFit.lookHead..'\" body=\"'..OutFit.lookBody..'\" legs=\"'..OutFit.lookLegs..'\" feet=\"'..OutFit.lookFeet..'\"/>')

Editado por Conde2

Compartilhar este post


Link para o post
dalvorsn    46
dalvorsn

#Conde2

Realmente, ele já carrega a tabela inteira, não tem necessidade de usá-la varias vezes, editei la, valeu pela dica (Y)

Editado por dalvorsn

Compartilhar este post


Link para o post
Ribas1574    1
Ribas1574

muito bom

 

#off

não seria, cLone ?

Compartilhar este post


Link para o post
iuniX    4
iuniX

o nome é uma brincadeira, assim como o script

Compartilhar este post


Link para o post
Ribas1574    1
Ribas1574
o nome é uma brincadeira, assim como o script

 

hum... acho que sou sério demais pra brincadeira, -mentira.. rs

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×