Přejít na obsah

Scydovy YSI návody | #2 | YSI_Coding\y_hooks [*]

y_hooks YSI YSI4 Scydo SkiBig18

  • Pokud chcete odpovědět, přihlaste se
3 odpovědí

#1
Ernst Remer

Ernst Remer

    Nacistický pawner

  • Uživatel
  • Příspěvků: 1 345

YSI_Coding\y_hooks
*****


Jeden ze snad nejlehčích includů na naučení z knihovny. Abych vás uvedl do obrazu, tak hned tu pro vás mám kód. V případě, že děláte nějaký include, který chcete publikovat ostatním uživatelům, ale potřebovali jste využít některé callbacky, které obsahuje a_samp. Tak uděláte jednu ze snad nejstarších a nejznámějších metod. Přidáte vlastní callback, a v návodě zmíní, ať ho uživatelé pak ve svém gm/fs/jiné volají, a dopadá to nějak následovně:

Please Login or Register to see this Hidden Content

Takový zmatek, že ano? Samozřejmě, pak je složitější, ale lepší možnost ještě využít tzv. _ALS_:

Please Login or Register to see this Hidden Content

Ale to je pro některé uživatele skutečně těžké na naučení, a navíc tohle je _ALS_ jen na jediný callback. Pak je tu ale ještě jedna možnost, a to za pomocí y_hooks. Je to velice jednoduché, stačí napsat inf. slovíčko pro kompiler hook a jméno callbacku, které chcete hookovat, například:

Please Login or Register to see this Hidden Content

Využití snad ani nemusím říkat, ale například při tvorbě include, který chcete publikovat a obsahuje callbacky ze a_sampu. Také je mužete využít do gamemode, aby jste si zkrátili obrovský obsah v jednom callbacku.

Jednoduché a prosté. Avšak je tu pár věcí, co by jste o y_hooks měli vědět:
  • musíte y_hooks nahrávat z celé knihovny jako nejdříve - některé hookované callbacky se ani nevyvolají. Stačí y_hooks nahrávat co pokud možno nejdříve a bude po problému.
  • hookovaný callback se volá dříve než obyčejný
  • lze hookovat pouze jednou jeden callback - v jednom zdrojovém kódu.
  • lze hookovat vícekrát, ale nefunguje to - i když to bude znít, že si protiřečím, tak v případě, že chcete skutečně hookovat vícekrát jeden callback a vyhnout se chybám, jde to pokud ihned za jménem hookovaného callbacku přiřadíte číslo. Sice se vám úspěšně kompiluje kód, ale vyvolá se jen public a první hook.
  • nelze si hookovat vlastní callbacky - alespoň co vím. Dle informací by to mělo být možné od nejnovější(a zároveň poslední) verze YSI.
Scydovy YSI návody, hlavní topic: odkaz
  • 0



#2
HighPrint

HighPrint

    Veteran =NTP= Member

  • Globální moderátor
  • Příspěvků: 1 164
  •   

Ještě by bylo fajn zmínit dva speciální returny z y_hooks a to -2, kde ukončuje celej ten callback (ten prvotní na kterej se hookuje) a vrátí hodnotu 1, -1 ukončí celej callback a vrátí 0


  • 0
Vložený obrázek

#3
Ernst Remer

Ernst Remer

    Nacistický pawner

  • Uživatel
  • Příspěvků: 1 345

Ještě by bylo fajn zmínit dva speciální returny z y_hooks a to -2, kde ukončuje celej ten callback (ten prvotní na kterej se hookuje) a vrátí hodnotu 1, -1 ukončí celej callback a vrátí 0


Ono toho je více zajímavého, co by se hodilo alespoň zmínit se v návodu ohledně y_hooks. Například, že i ten má zajímavé funkce. Nebo, že pod y_hooks spadají ještě pár includů pro pokročilejší uživatele. Avšak jsem fakt chtěl vytknout jen to nejpodstatnější. Nějaké tipy, triky a další dodatky k YSI jsem si chtěl schovat na speciální topic ještě(ps, za ty roky, jsem ty returny nikdy nepoužil :d)
  • 0

#4
HighPrint

HighPrint

    Veteran =NTP= Member

  • Globální moderátor
  • Příspěvků: 1 164
  •   

Ja je pouzivam docela casto a to jsem zacal po dlouhe dobe neco delat :d treba se hodi na detekci klaves kdyz vis ze se ma triggnout jen jedna akce a uz je zbytecne provolavavat zbytek callbacku. Dalsi vec co me napada je interakce s botama, kde nechces aby se triggly user veci (napr. onplayerspawn). No ja jsem teprv zacal s YSI a dost me nadchla, takze prave doufam, ze se dozvim vic :d


  • 0
Vložený obrázek





Také označeno jedním nebo více klíčovými slovy: Návod, y_hooks, YSI, YSI4, Scydo, SkiBig18

0 uživatelů si prohlíží toto fórum

0 uživatelů, 0 návštěvníků 0 anonymních uživatelů

© 2015 IPS, Inc.

Zajímat Vás mohou ještě aktuální zprávy. sleviště, slevy dnes Herbalife je skvělou cestou pro dobré zdraví. Je libo dětský web?