Popular Post Scydo 397 Odesláno: 22. Září, 2016 Popular Post Share Odesláno: 22. Září, 2016 (upraveno) YSI 5 //upravené na 2021 chtěl bych zmínit, že návod jsem co pokud možno nejvíce zobecnil, abych nenudil čtenáře zbytečnými zdlouhavými informacemi Jde o knihovnu od Y_Lesse, která poskytuje uživateli možnost pracovat s desítky užitečnými, propracovanými či efektivnějšími includy, jenž rozšíří samotný a_samp. Avšak, nemůže s ní pracovat jen tak každý, kdo si jí stáhne. Doporučené znalosti a informace, které by jste měli znát, než začnete pracovat s knihovnou: velice pokročilá znalost teorie pawn, či všeobecně programování(podmínky, cykly, hlavně bloky a zpracování kódu), logické uvažování chuť neustále experimentovat a zkoušet všechny nabízené možnosti knihovny znalost angličtiny(pro překlad popisů u každého includu v případě, že by jste nevěděli, o čem je), obeznámenost, jak se pracuje s includy, které si stáhnete(jak se nahrávají, zjistit ihned jaké fce lze využívat...) V případě, že alespoň většinu doporučených požadavků splňujete, stejně je tu několik informací, kde je podle mě zbytečné využívat knihovnu, a kde naopak není: Menší FS, např. Tipy, Warpy - V tomto případě je to zbytečné, jelikož na některé menší a jednodušší scripty lze využít i minimálně jen jeden include z celé knihovny. Ale v případě, že budou fakt nějak zajímavě rozšířené, například různé typy či to nebude spojené dohromady, tak je to v pořádku. Větší FS, např. AdminScript, VipScript - V tomto případě je to v pořádku, jelikož jde už o složitější, větší a propracovanější projekty, kde lze určitě využít více, než 4 includy z knihovny. Include - Záleží, jaký include. V případě, že jde o nějaké složitější, s desítky fcemi jako například moje CoreJobs, kde využití YSI mi velice zjednoduší práci, tak je to v pořádku, ale v případě include, kde přidáte jednu či dvě fce, například přidávání warpů, tak je to naprosto zbytečné Knihovna - To jsem tu zatím ani neviděl, že by někdo měl takhle složitější vlastní knihovnu, ale i kdyby, tak je to zbytečné. Jelikož, k čemu tvořit vlastní knihovnu, když na ní pracujete s jinou rozšířenou knihovnou, která obsahuje pomalu prakticky všechno? Zde je seznam skoro všech includů, která knihovna obsahuje. První údaj je jejich složka, kde se nachází a pak jejich samotné jméno. Skoro všech, jelikož některé mi připadali zbytečné, komplikované, a nebo je velice malá pravděpodobnost, že je někdo využije při tvorbě gm. Také mám v plánu udělat návod na každý include individuálně(ne nejspíše na úplně všechny, a ano, už tu jsou ukázky práce s YSI, ale ty některé moc nedají): YSI_AC\ y_ac - Nedokončený anticheat, který obsahuje různé callbacky jenž kontrolují všechny akce hráče. YSI_Coding\ y_hooks - Hookování callbacků pro jejich možné opakování ve zdrojovém kódu. Hookované se také dříve volají. y_inline - Volání callbacku v jiném již volajícím callbacku. y_stringhash - Hashování stringů/textů. y_timers - Efektivnější timery, než obyčejné. Také řešením spousty problémů, které většinou jdou vyřešit jen Zeex's patchem. y_va - Velice efektivní a jednoduchá možnost si přidávat vlastní formátované funknce, či používat již obsažené v knihovně. y_remote - Vylepšená práce se CallLocalFunction a CallRemoteFunction. YSI_Core\ y_cell - Možnost manipulovat s bity v jedné buňce. y_debug - Obsahuje funkce s úrovní od 1 do 10, které odesílají veškeré potřebné údaje uživateli do konzole. y_master - Možnost pracovat se segmenty kódu v běžícím scriptě. y_testing - Obsahuje funkce, se kterými lze testovat svůj zdrojový kód. y_utils - Obsahuje hromadu užitečných funkcí pro uživatele i celou knihovnu. y_unique - Include hlavně pro y_hooks, umožní u každé funkce mít "id". YSI_Data\ y_bit - Možnost manipulovat s bit poli(většími než 32b) a umožní jejich redukci(komprimaci). y_playerarray - Stejné jako y_bit, akorát pro hráče. y_foreach - Propracovaný cyklus, kde si lze deklarovat i vlastní parametry, které bude cyklit(jako proměnné, ale rychleji a efektivněji). y_iterate - Stejně jako foreach. y_iterate3b - Starší verze foreachu. YSI_Extra\ y_files - Možnost pracovat se složkami(ze YSF). YSI_Game\ y_vehicledata - Obsahuje kategorie typů vozidel, jejich modely, jména a podobně(dle některých uživatelů nefunkční). YSI_Internal\ y_pp - Možnost přidat určitý segment kódu vícekrát do zdrojového kódu. YSI_Players\ y_groups - Možnost přidávat vlastní skupiny a pracovat s oprávněním s příkazy, hodí se ke y_commands, y_languages - Součást y_text, možnost přidávat více jazyků do módu. y_text - Práce s textem, obsahy apod. y_users - Takový menší a propracovanější register a login systém. YSI_Server\ y_colours - Možnost pracovat s barvami(preprocesory). y_colors - To samé jako y_colours. y_flooding - Možnost nastavit maximální možné připojení z určité ip. y_scriptinit - Možnost přidávat speciální callback, který poběží jak v GM tak FS. y_td - Lepší práce s textdrawy(všechno v jediné funkci). YSI_Storage\ y_ini - Ukládání a načítání údaju z dané cesty. y_bini - Ukládání a načítání polí z dané cesty. YSI_Visual\ y_areas - Přidávání a manipulace z danou oblastí a jejím typem(kruh, čtverec, obdélník aj.). y_classes - Zjedodušenější práce s class ve sa-mp, plus dodatek ke y_groups. y_commands - Velice rychlý command systém s různými dodatkovými funkcemi například alternativa. y_dialog - Možnost pracovat s dialogy bez neustálého kontrolování jejich dialogid. y_properties - Práce s nemovitostmi(dle některých uživatelů nefunkční). y_races - Práce se závody(dle některých uživatelů nefunkční). Moje doporučení z knihovny Samozřejmě, je každého věc, kdo co využije z knihovny, ale pokud máte zájem o můj doporučený seznam, co stačí například na tvorbu gm a není tak náročné na naučení, jak se na první pohled zdá, tak zde je, jinak to celé můžete přeskočit: y_commands, y_ini, y_hooks, y_colours, y_dialog, y_inline, y_bit, y_playerarray, y_scriptinit, y_iterate, y_timers, y_va, y_utils Odkazy na návod includu z knihovny na pawno.cz: [y_hooks] [y_inline] [y_stringhash] [y_timers] [y_va] [y_unique] [y_debug] [y_master] [y_testing] [y_utils] [y_bit] [y_playerarray] [y_foreach] [y_iterate] [y_remote] [y_files] [y_bini] [y_pp] [y_groups] [y_languages] [y_text] [y_users] [y_colours] [y_colors] [y_flooding] [y_scriptinit] [y_td] [y_ini] [y_vehicledata] [y_areas] [y_classes] [y_commands] [y_dialog] Jiné užitečné odkazy týkající se knihovny: [Přechod z dini/dcmd/jiné na YSI4] // +Mnoho ukázek využití knihovny [Velikost AMX po kompilaci] [Registrace přes y_ini] by @martanius // Sice trochu zastaralé, a hodilo se trochu upravit ale stále použitelné. [y_hooks - limit funkcí] by @Ewwe [Masivní použití knihovny] Edited 17. Leden, 2021 by Scydo Upravené + přidané odkazy #4 5 Link to comment Share on other sites More sharing options...
Globální moderátor HighPrint 177 Odesláno: 23. Září, 2016 Globální moderátor Share Odesláno: 23. Září, 2016 (upraveno) Ja jsem asi ten ctenar co chce vic informaci y_inline - Volání callbacku v jiném již volajícím callbacku. Nejak asi nechapu co tim myslis, zkus to lepe rozvinout. Znam inline funkce, ale z toho co popisujes asi nebudou ony. y_debug - Obsahuje funkce s úrovní od 1 do 10, které odesílají veškeré potřebné údaje uživateli do konzole. y_utils - Obsahuje užitečné funkce a callbacky pro uživatele i celou knihovnu. y_testing - Obsahuje funkce, se kterými lze testovat svůj zdrojový kód. To vypadaji jako uzitecne knihovny, ale aniz bych musel prohledavat zdrojak, existujou nejake seznamy funkci a pripadne jejich popis? https://github.com/Misiur/YSI-Includes/wiki/y_utils Edited 23. Září, 2016 by HighPrint Link to comment Share on other sites More sharing options...
Scydo 397 Odesláno: 23. Září, 2016 Author Share Odesláno: 23. Září, 2016 Ja jsem asi ten ctenar co chce vic informaci ~> Tak ta část byla menší historie, rozdíly se starými verzemi, ohledně rychlostí od čeho začít... takové ty informace, bez kterých by se mohli ještě někteří obejít, ale určitě se o důležitých věcech zmíním. Ale je toho prostě moc. Jenom na úvod by šlo napsat klidně desítky stránek Nejak asi nechapu co tim myslis, zkus to lepe rozvinout. Znam inline funkce, ale z toho co popisujes asi nebudou ony. ~> Jak jsem psal, budu(nebo se alespoň vynasnažím) udělat návody na každý z těch includů, ale okej vysvětlím: Máš obyčejný callback(nebudeme teď brát ohled na forward): public pMujCallback() { } Teď kdybych chtěl volat a pracovat hned v dalším callabacku, tak bys udělal něco ve stylu: public pMujCallback() { public pMujDalsiCallback() { } } Což ti samozřejmě hodí chybu, takže další musíš dát mimo a v první nějak navést na ten druhý(aka prostě zavolat): public pMujCallback() { pMujDalsiCallback(); } public pMujDalsiCallback() { return 1; } Od toho tu je ten y_inline, abys z lenosti nemusel dávat nic mimo a pracoval s callbackem rovnou v callbacku. To se pak neskutečně hodí s y_dialog, protože na to má dokonce i fci: public pRegisterPlayer(playerid) { inline dialog_Registrace(pid, dialogid, response, listitem, string:inputtext[]) { return (true); } Dialog_ShowCallback(playerid, using inline dialog_Response, ...); return (true); } 1 Link to comment Share on other sites More sharing options...
Jiu 299 Odesláno: 23. Září, 2016 Share Odesláno: 23. Září, 2016 (upraveno) tomu se rika vnorena funkce BTW: callback je synonimum funkce, ktera je predana parametrem do jine funkce a pak volana. Edited 23. Září, 2016 by Satoshi 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now