Stránka 1 z 1

#8 - Eventy po technické stránce

Napsal: ned 01. led 2017 14:20:00
od Torque
W0JsVCa.jpg
Jaké řádky kódu?Každá věc na Ekuře, na kterou si vzpomenete má svou písemnou podobu. Ať už ikonka červeného elixíru, model Mirine nebo celý minievent „Hledej 3 vlajky“. Tento písemný kód v podobně různých instrukcí říká, jak se má daná věc v určitých případech chovat, nebo jak má vypadat. Například říká Mirine, že má jednou za několik sekund posunout všemi třemi prsty levé ruky, nebo že má ikonka červeného elixíru vypadat tak, jak vypadá.

Tento kód nemůže u systémů být na jednom řádku, protože by se stal nefunkčním. Takže se podle určitých ustanoveních dohodlo, že se bude dělit na řádky (čistota kódu). Pro nejlepší pochopení bude vhodné se podívat na ukázku toho, jak může takový kód vypadat:

Kód: Vybrat vše

//Ukázka kódu
#include <iostream>

int main()
{
	std::cout << "Zajímavosti ze světa Ekury #8";
}

Tento kód má celkem 8 řádků kódu.

Re: #8 - Eventy po technické stránce

Napsal: pon 02. led 2017 17:43:45
od ondra852
Ten popis jsem nejak nepochopil. To se do toho poctu radku pocitaji i modely a textury pouzite v eventech? "Tento kód nemůže u systémů být na jednom řádku, protože by se stal nefunkčním." No jako asi by to nevalilo, kdyby ten priklad treba nekdo napsal za tu poznamku (//), ale vyznam toho "u systemu" mi nejak nejde do hlavy.

Re: #8 - Eventy po technické stránce

Napsal: pon 02. led 2017 17:57:28
od macok0072
Fůha, tak to je uplně jiný kódování než jsem kdysi používal já když jsem zkoušel napsat nějaké questy atd..


Musím říct, že kódování které používáte zde na Ekuře je dle mého názoru 100násobně složitější. Klobouk dolu.

P.S. snad nevadí ukázka kódu, který jsem používal dříve :)

Takhle vypadalo kódování klasických questů (Portování, otevření shopu, otevření skladu, použití itemu atd. A stejným způsobem se psávali i eventové akce) když jsem se začal učit vytvářet questy:
Spoiler:
quest gorgy2 begin
state start begin
when 20091.chat."text " begin
say_title("Seon-Pyeong")
say("text")
say("text ")
say("text ")
say("")

if pc.get_level() <= 159 then
say_title("Seon-Pyeong")
say("text.")
return
end
wait()
say("text")
say("text")
say("")
pc.warp(179500, 1000)end
end
end

Re: #8 - Eventy po technické stránce

Napsal: pon 02. led 2017 17:59:05
od Torque
ondra852 píše:Ten popis jsem nejak nepochopil. To se do toho poctu radku pocitaji i modely a textury pouzite v eventech? "Tento kód nemůže u systémů být na jednom řádku, protože by se stal nefunkčním." No jako asi by to nevalilo, kdyby ten priklad treba nekdo napsal za tu poznamku (//), ale vyznam toho "u systemu" mi nejak nejde do hlavy.
V této zajímavosti se jedná pouze o systémy eventu jako takové, to jsem asi zapomněl podotknout, omlouvám se. :)
macok0072 píše:Fůha, tak to je uplně jiný kódování než jsem kdysi používal já když jsem zkoušel napsat nějaké questy atd..


Musím říct, že kódování které používáte zde na Ekuře je dle mého názoru 100násobně složitější. Klobouk dolu.

P.S. snad nevadí ukázka kódu, který jsem používal dříve :)
Nerad bych tady šířil bludy. Příklad byl pouze z klasického jazyka C++, aby bylo hráčům lépe vysvětleno o čem je řeč.
Zveřejňovat byť jen části kódu Ekury mi nepřijde vhodné. :)

Re: #8 - Eventy po technické stránce

Napsal: pon 02. led 2017 18:03:40
od macok0072
Nerad bych tady šířil bludy. Příklad byl pouze z klasického jazyka C++, aby bylo hráčům lépe vysvětleno o čem je řeč.
Zveřejňovat byť jen části kódu Ekury mi nepřijde vhodné.
Chápu, ale já osobně jsem dříve i na ty eventy musel luštit podmínky typu jako jsem ukázal ve spoileru :D
Z této stránky věci je Váš styl kódování zajímavější a (pro mě) složitější. :D

Re: #8 - Eventy po technické stránce

Napsal: pon 02. led 2017 18:21:11
od ondra852
Tak ty questy jsou nejaka Lua (nejspis trochu upravena, ale syntax vychazi z lua), kde jsou jiz pripravene ruzne funkce, ktere questy vyuzivaji. Pokud je potreba nejakych extra GUI nebo dalsich funkci, tak predpokladam, ze je to v pythonu.

Re: #8 - Eventy po technické stránce

Napsal: pon 02. led 2017 18:34:51
od strangerino
ondra852 píše:Tak ty questy jsou nejaka Lua (nejspis trochu upravena, ale syntax vychazi z lua), kde jsou jiz pripravene ruzne funkce, ktere questy vyuzivaji. Pokud je potreba nejakych extra GUI nebo dalsich funkci, tak predpokladam, ze je to v pythonu.
Ano, questy jako takové, jsou opravdu psané v Lua a ostatní komponenty serveru, jsou napsány v pythonu - tedy, alespoň dle mých informací a postřehů z dávných dob.

Re: #8 - Eventy po technické stránce

Napsal: pon 02. led 2017 19:35:04
od Chyu
Obecně je to takto, samozřejmě, že v dnešní době "otevřených" zdrojových kódu si už to každý může upravit dle libosti.

Operační systém: BSD
Server core: C++
Binka: C++
Klient (UI): Python
Launcher: C#
Questy: LUA
Quest compiler: Python/Bash
Tools: C++