Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: noddy_ poslato Decembar 01, 2021, 16:00:22 POSLE PODNE

Naslov: [ YSI ] - Hooks (Radjenje "modula")
Poruka od: noddy_ poslato Decembar 01, 2021, 16:00:22 POSLE PODNE
E ovako, ovo ce pocetnicima posluziti.(Ako sam fulio topic ne zamjerite.Premjestit ce se :D)
Sad neko se pita sta su "moduli".To su custom includi koji se kreiraju.Naravno obicni pwn fajl koji se ne compile(vec save-a)
Primjer :


[pawn]
#include "./modules/factions.pwn"
[/pawn]
Pa evo neke hajmo reci osnove(ne znam da li je ovakva tema bila na Balkan Sampu.Ako jeste, moj bad nisam gledao)

Kako mi ne bi kreirali uvijek neke stockove kao npr

[pawn]stock Kreiraj3DnP( )
{
    CreatePickup(1314, 1, 127.124, 97.289, 128.897, 0); //Koordinate su nasumicne pa sami ID pickupa
}[/pawn]

mozemo u nas "modul" pod imenom tipa "labels_pickups.pwn" uraditi ovo
[pawn]hook OnGameModeInit( )
{
    CreatePickup(1314, 1, 127.124, 97.289, 128.897, 0);
    return 1;
}
[/pawn]
Zatim u nasu main skriptu ovo

[pawn]//Najbitnije da ga includamo
//Ja sam ga sacuvao u folderu gamemodes naravno u folder /modules/labels_pickups.pwn

#include <a_samp>
#include <YSI\y_hooks>
#include "./modules/labels_pickups.pwn"

public OnGameModeInit( ) {
    SetGameModeText("Zuriosm);
    return 1;
}[/pawn]

Potreban include YSI\y_hooks i a_samp
U modulima se pise "hook" dok u main skripti public.
Naslov: Odg: [ YSI ] - Hooks (Radjenje "modula")
Poruka od: realplaya poslato Decembar 01, 2021, 16:42:35 POSLE PODNE
u modulu koristis public a u glavom gamemodu hook?
nisam bas najbolje skapirao poentu ovoga, u vezi cega je tacno ovaj tutorijal?
Naslov: Odg: [ YSI ] - Hooks (Radjenje "modula")
Poruka od: noddy_ poslato Decembar 01, 2021, 16:46:48 POSLE PODNE
Citat: Madd poslato Decembar 01, 2021, 16:42:35 POSLE PODNE
u modulu koristis public a u glavom gamemodu hook?
nisam bas najbolje skapirao poentu ovoga, u vezi cega je tacno ovaj tutorijal?
Ja sam se zajebao dok sam pisao, i ako mi je u skripti u modulu hook.A u mainu public sjebah se ne citajuci
Ovo je ono za pocentike, nekome ce posluziti.Svakako brate hvala ti sto me ispravi.
Javit cu moderatoru
Naslov: Odg: [ YSI ] - Hooks (Radjenje "modula")
Poruka od: index poslato Decembar 01, 2021, 17:51:25 POSLE PODNE
a redosled nisi objasnio ???
Naslov: Odg: [ YSI ] - Hooks (Radjenje "modula")
Poruka od: noddy_ poslato Decembar 01, 2021, 17:58:52 POSLE PODNE
Citat: BTL | jevta poslato Decembar 01, 2021, 17:51:25 POSLE PODNE
a redosled nisi objasnio ???
Ja se Jevta izvrnjavam.

1.Otici u vas gamemode te includati [pawn]#include <YSI\y_hooks>[/pawn]

2.Napraviti folder u folderu gamemodes pod imenom "modules"(ime je sasvim nebitno)

3.Napraviti novi .pwn dokument, te uraditi :
[pawn]
hook OnPlayerSpawn(playerid) //Ja sam izabrao ovu funkciju a na vama je koju zelite
{
    SendClientMessage(playerid, 0x737BE1, "Poruka 1");
    return 1;
}
[/pawn]
4. Sacuvati file, u folderu gamemodes/modules/ime.pwn

5.Otvoriti vasu main(glavnu) skriptu te includati ovaj custom include(modul)

[pawn]#include "./modules/ime.pwn"//modules nam je ime foldera, a "ime.pwn" je ime naseg tzv modula kojeg smo save-ali[/pawn]

Naravno potrebno je imati public Funkciju koju vi hook-ate u modulu :D

6. Compile, pokreni.

7. Potreban include YSI\y_hooks, ako zelite da se funkcija nastavlja, return 1 mora biti, a da se break-a return mora biti 0

Bolje?
Naslov: Odg: [ YSI ] - Hooks (Radjenje "modula")
Poruka od: index poslato Decembar 01, 2021, 18:23:49 POSLE PODNE
Citat: ɴᴏᴅɪ poslato Decembar 01, 2021, 17:58:52 POSLE PODNE
Ja se Jevta izvrnjavam.

1.Otici u vas gamemode te includati [pawn]#include <YSI\y_hooks>[/pawn]

2.Napraviti folder u folderu gamemodes pod imenom "modules"(ime je sasvim nebitno)

3.Napraviti novi .pwn dokument, te uraditi :
[pawn]
hook OnPlayerSpawn(playerid) //Ja sam izabrao ovu funkciju a na vama je koju zelite
{
    SendClientMessage(playerid, 0x737BE1, "Poruka 1");
    return 1;
}
[/pawn]
4. Sacuvati file, u folderu gamemodes/modules/ime.pwn

5.Otvoriti vasu main(glavnu) skriptu te includati ovaj custom include(modul)

[pawn]#include "./modules/ime.pwn"//modules nam je ime foldera, a "ime.pwn" je ime naseg tzv modula kojeg smo save-ali[/pawn]

Naravno potrebno je imati public Funkciju koju vi hook-ate u modulu :D

6. Compile, pokreni.

7. Potreban include YSI\y_hooks, ako zelite da se funkcija nastavlja, return 1 mora biti, a da se break-a return mora biti 0

Bolje?

ne, ne mozes samo tako redjati module moraju da se redjaju po prioritetu, ne mozes da naredjas prvo labele i gluposti pa tek onda ostalo, redjanje mora da ide po prioritetu
Naslov: Odg: [ YSI ] - Hooks (Radjenje "modula")
Poruka od: noddy_ poslato Decembar 01, 2021, 18:59:43 POSLE PODNE
Citat: BTL | jevta poslato Decembar 01, 2021, 18:23:49 POSLE PODNE
ne, ne mozes samo tako redjati module moraju da se redjaju po prioritetu, ne mozes da naredjas prvo labele i gluposti pa tek onda ostalo, redjanje mora da ide po prioritetu
Da sam mislio tako napisati, napisao bih, naglasio sam gore za pocetnike, neka se vjezbaju.Ovo je bio primjer
Naslov: Odg: [ YSI ] - Hooks (Radjenje "modula")
Poruka od: realplaya poslato Decembar 01, 2021, 21:09:13 POSLE PODNE
Citat: ɴᴏᴅɪ poslato Decembar 01, 2021, 17:58:52 POSLE PODNE
Ja se Jevta izvrnjavam.

1.Otici u vas gamemode te includati [pawn]#include <YSI\y_hooks>[/pawn]

2.Napraviti folder u folderu gamemodes pod imenom "modules"(ime je sasvim nebitno)

3.Napraviti novi .pwn dokument, te uraditi :
[pawn]
hook OnPlayerSpawn(playerid) //Ja sam izabrao ovu funkciju a na vama je koju zelite
{
    SendClientMessage(playerid, 0x737BE1, "Poruka 1");
    return 1;
}
[/pawn]
4. Sacuvati file, u folderu gamemodes/modules/ime.pwn

5.Otvoriti vasu main(glavnu) skriptu te includati ovaj custom include(modul)

[pawn]#include "./modules/ime.pwn"//modules nam je ime foldera, a "ime.pwn" je ime naseg tzv modula kojeg smo save-ali[/pawn]

Naravno potrebno je imati public Funkciju koju vi hook-ate u modulu :D

6. Compile, pokreni.

7. Potreban include YSI\y_hooks, ako zelite da se funkcija nastavlja, return 1 mora biti, a da se break-a return mora biti 0

Bolje?
samo greska, OnPlayerSpawn nije funkcija, to je callback.
Naslov: Odg: [ YSI ] - Hooks (Radjenje "modula")
Poruka od: V01D poslato Decembar 04, 2021, 19:03:02 POSLE PODNE
Jako lose objasnjeno, treba to detaljnije, i malo objasni sta je to tacno modul, hook i ostali pojmovi koje si koristio
Naslov: Odg: [ YSI ] - Hooks (Radjenje "modula")
Poruka od: schatzi poslato Decembar 04, 2021, 19:06:54 POSLE PODNE
Citat: V01D poslato Decembar 04, 2021, 19:03:02 POSLE PODNE
Jako lose objasnjeno, treba to detaljnije, i malo objasni sta je to tacno modul, hook i ostali pojmovi koje si koristio

Slazem se moglo je malo bolje