Ir para conteúdo
Entre para seguir isso  
Eventide

você usa Jiddo NPC system?

Recommended Posts

Eventide    7
Eventide

se usa, porque?

 

sempre tive vontade de discutir isso, e já que essa seção tá fail, resolvi colocar isso em debate.

 

eu tenho alguns argumentos a favor e principalmente contra!

 

 

a favor:

 

é mais fácil de fazer NPCs simples.

 

é um sistema até que bem feito, se você for analisar como código e não

como sistema.

 

foge do conceito de eventos, que é usado pelos outros scripts.

 

diminui o número de linhas de forma brutal.

 

ao mesmo tempo que causa bugs, na maioria das vezes evita bugs, pois é mais simples.

 

 

contra:

 

justamente por fugir do conceito de eventos, não é tão maleavel quanto o sistema padrão, e poir isso te obriga a fugir dele quando se quer fazer algo mais complexo.

 

faz as pessoas desconhecerem o sistema padrão, sendo assim acaba tachando os NPCs que antes eram considerados a parte mais chata de scripting para agora serem considerados uma das partes mais faceis.

 

insentiva o ctrl+c+v, igual nas spells.

 

alguns casos de bugs com NPCs se dão ao uso de Jiddo.

 

faz o Blackout pensar que Lua é igual lego, assim como mapping é igual lego, e a vida é um lego, e agora eu tenho que achar a peça vermelha que encaixa na azul, porque minha cidade de lego não pode ser inteira vermelha, eu quero colocar um azulejo azul!! HAUEUEIUHEIUEHIUEHU

 

pros e contras em balanço? ~o;

Compartilhar este post


Link para o post
Compartilhar em outros sites
Gpwjhlkdcf    21
Gpwjhlkdcf

Uso Jiddo mais porque, quando eu mexia com NPC antigamente, não sabia mexer direito, então quando Jiddo surgiu, só aprendi com ele, e agora que estou um pouco melhor sinto preguiça de aprender pelo método original, mas sei que tenho que entender ambos.

 

faz o Blackout pensar que Lua é igual lego, assim como mapping é igual lego, e a vida é um lego, e agora eu tenho que achar a peça vermelha que encaixa na azul, porque minha cidade de lego não pode ser inteira vermelha, eu quero colocar um azulejo azul!! HAUEUEIUHEIUEHIUEHU

Me fez lembrar disso, comecei a rir que nem louco. ¬¬

Editado por Skyen Hasus

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock

Sistema do jiido.

Evesys cara sobre o seu contra eu sou todo afavor dele, nao acho que é melhor você diminuir "butalmente" o numero de linhas e fazer um NPC que é rigido nao tem nem um tipo de flexibilidade e feito para ser apenas um shooper.

Ainda prefiro o modo antigo pois alem de poder ser feito questes no npc você pode fazer uma infindade de coisas ja que se comprara a fexibilidade do jiido e do normal o jiido é um pedaço de ferro fundido e o normal é um pedaço de silicone.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eventide    7
Eventide

então, aqueles NPCs de addon igual global por exemplo, um daqueles feito no sistema padrão chega a ter mais de 2000 linhas, pesando cerca de 50kb.

sendo que usando Jiddo fica com umas 200 linhas pesando 4~5kb, nesse caso eu acho valido o número de linhas! ;/~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Kaotar    5
Kaotar

Serio? Isso não chega a nem ser contestavel...

E obvio que o Jido System é melhor que o sistema original pois você pode fazer qualquer coisa com ele que pode fazer ao original tambem so que com uma base pra isso ja pronta.

Mas ainda melhor mais ainda com alguns bugs eh o SimOne System que eh mto melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock

sim dependendo do caso, se vc for fazer um NPC que é apenas shopper aconselho o jiido porem se for um npc de quest nao use. se for um NPC shopper que so vende equips pra uam vocação e coisad do tipo um npc todo diferente nem sempre e bom usar jiido

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eventide    7
Eventide

@_Maxis_

que da, da, mas teria que misturar o sistema padrão junto com o Jiddo.

ah, nunca vi o sistema do SimOne, da pra me mandar o link?

 

ah, e se não me engano vai haver uma mudança brutal nos scripts no update 0.7, como o Jiddo é feito com scripts, ele se tornará obsoleto, e pelo que sei esse sistema(revscriptsys) veio justamente para deixar os scripts muito mais maleaveis. ;o~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock

Eu nunca ouvi fala disso ai evesys :S

a unica mudança brutal seria quando em dezembro lançar lua 5.2.

Pelo q me falaram vai muda muita coisa

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eventide    7
Eventide

catei um exemplo de NPC feito em revscriptsys, creditos pro remere:

local Michael = NPC:new("Michael")

Michael.outfit = {
   type = 130,
   head = 20,
   body = 15,
   legs = 10,
   feet = 5
}

Michael.greeting = {"Hello $name.", "Greetings $name."}
Michael.farewell = "Goodbye $sir $name."

--Michael.listen_radius = 4
--Michael.walk_radius = 3

Michael.dialog = {
   ["job|occupation"] = "My job is to be awesome.";
   ["count my gold"] = function(self) return "You have " .. self.focus:countMoney() .. " gold." end;
   ["dialog"] = function(self)
       self:say("Do you want to continue this conversation?")
       local reply = self:listen()
       if containsAgreement(reply) then
           local n = 1
           local function loop(self)
               self:say("This is the " .. n .. " repeat of this phrase, want more?")
               n = n + 1
               local reply = self:listen()
               if containsAgreement(reply) then
                   return loop(self)
               else
                   self:say("Ok. Then let's talk about something else!")
               end
           end
           loop(self)
       else
           self:say("You didn't continue, resume normal conversation flow.")
       end
   end;
}

Michael.trade = {
   {"mace", id=2398, buy=90, sell=30};
   {"empty vial|vial", type=0, id=2006, sell=5};
   {name="mana fluid", type=7, id=2006, buy=100};
   {name="cellar key", actionID=1234, id=2087, buy=800};
}

function Michael:onHear(message, class)
   self:say("Awesome, you said '" .. message .. "'.")
end

 

lembrando que no revscriptsys não vai existir mais uma gota de XML, e quase tudo que antes era feito no executavel poderá ser feito por scripts, e pelo que vi na otfans, vai ter como até mexer no sistema de threads por scripts!

 

ou seja, todo o peso do seu ot vai ser devido ao sistema de scripting, os OTs vão se tornar apenas interpretadores! :o

 

[clique aqui para saber mais]

 

[/ancioso]

Editado por Eventide

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock

[ansiodo]

LOL

um dia eu tive esse sonho.

um dia eu pensei, quem dera o exe fosse apenass para rodar os scripts, quem dera desse pra mexer em TUDO do ot des da parte de socket até modificar a RSA em lua.

[/ansioso]

 

eu tava vendo la vai muda o padrão totalmente vai ser super diferente

 

as libas adcionadas:

Coroutine Functions (OMG)

 

cara função onAccountLogin.

 

empolgado²

Editado por Mock

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eventide    7
Eventide

co-rotinas já é padrão de Lua(multi-threading rulez)

só que não tem mutex nem semaphors.. não sei se no revscriptsys vai ter, pq se eles realmente transportarem isso pra script, vai precisar.. ;o~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Magus    2
Magus

Acho que a complexidade de um NPC não interefere em nada no uso do Jiddo ou não, pois ele ainda conta com a função 'creatureSayCallback' para montar uma estrutura de npc padrão.

 

Mas realmente, ele limita algumas coisas por carecer de um simples tutorial de uso, caso a pessoa não queria apenas fazer simples npcs que vendam runas ou itens.

 

@Revs

Transformar as funções em classes e objetos simplifica bastante, mas eles tem que realmente estar visando isso - simplificar - do contrário pouca gente vai querer estudar scripting e virarão lendas como programadores.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Undead Slayer    0
Undead Slayer

Realmente como o Magus diz, a função 'creatureSayCallback' faz com que você quebre esse limite imposto pelo sistema jiddo. Usando essa função seria como misturar o metodo original (o qualeu prefiro, porem é bem mais chato de se mecher), com o metodo jiddo (um metodo rapido e eficiente porem limitado). Porem, mesmo com essa função, o limite ainda é bem visivel, por exemplo, um sistema que fiz de Seller Skill, não é possivel (por enquanto) ser transferido para um NPC Jiddo. Quanto ao sistema revscriptsys, esse sistema pode mudar MUITO os scripts feitos para um servidor, não so nos NPCs. O sistema atual para o revscriptsys, sera um avanço muito grande, tal como a passagem do XML para SQL...

Compartilhar este post


Link para o post
Compartilhar em outros sites
Conde2    0
Conde2
Ainda prefiro o modo antigo pois alem de poder ser feito questes no npc você pode fazer uma infindade de coisas ja que se comprara a fexibilidade do jiido e do normal o jiido é um pedaço de ferro fundido e o normal é um pedaço de silicone.

 

Sou 100% mais o metodo original e tenho diversas rasões para isto!!

Com o Jiddo System é tudo muito padrão =O, quanto ao metodo original você tem muito mais liberdade.

Da para criar quase tudo no metodo original quanto ao Jiddo você fica apenas nos npc vendedores de itens.

Como o mock disse:

o jiido é um pedaço de ferro fundido e o normal é um pedaço de silicone.

 

@Revs

Transformar as funções em classes e objetos simplifica bastante, mas eles tem que realmente estar visando isso - simplificar - do contrário pouca gente vai querer estudar scripting e virarão lendas como programadores.

 

Concordo com o Magus a respeito disto =/

Muitas pessoas aqui do forum só funcionam a base do CTRL + C e CTRL + V

Aprender que é bom nada... E quando lançar o revscript ai quero ver.

Vão ser lendas os scripters =/

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eventide    7
Eventide

Ter mais uma seção fantasma no fórum não será nada legal Magus.. ~D:

 

Por isso é preciso mais do que nunca(oloco meu) ensinar aos scripters conceitos abranjentes, scripters terão de se tornar programadores Lua.(quantos scripters já fizeram algo em Lua que não seja em otserv)

Compartilhar este post


Link para o post
Compartilhar em outros sites
RenegadeThePox    0
RenegadeThePox

Concordo com o Magus a respeito disto =/

Muitas pessoas aqui do forum só funcionam a base do CTRL + C e CTRL + V

Aprender que é bom nada... E quando lançar o revscript ai quero ver.

Vão ser lendas os scripters =/

 

Revivendo o Tópico, eu não concordo totalmente, pois vou me citar como exemplo, eu comecei um servidor de otserver a poucas semanas, e comecei a procurar alguns scripts para meu servidor, e um dia eu me deparei com este assunto de Revscripts, e pelo o que entendi será uma reformulação e tentativa de padronização de todos os scripts do OTSERV, isto ao contrario do que o MAGUS falou, quando eu vi isto, me estigou muito a estudar lua/script e para mim os usuários deveriam ter pelo menos um pouco de vontade de aprender, e não apenas um CTRL C + CTRL V.

 

Sou um leigo em LUA e linguagem orientada objetos, conheço bem pouco a linguagem procedural C e estou tentando ao maximo sugar as informações sobre os scripts utilizados hoje, e agora as informações sobre este novo modo de utilização da linguagem LUA - Revscripts nos OTSERVERS.

 

A pouco mais de uma semana, quando comecei meu servidor não tinha noção nenhuma na utilização desta linguagem, mas hoje(ainda com muitas duvidas e questionando muito nos foruns) já consigo fazer algumas correções nos scripts, ainda falta muito entender o conceito da linguagem, mas ja comecei notar o funcionameneto da orientação a objeto, buscando as informações como por exemplo dos scripts em outros arquivos, etc... e estou gostando muito, apesar de conhecer bem pouco!

Compartilhar este post


Link para o post
Compartilhar em outros sites
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.

×