samp-advanced-kicks | Delayed and non-delayed kicks | Advanced kicks

Započeo Mergevos, Jul 27, 2020, 02:44:27 PRE PODNE

prethodna tema - sledeća tema

0 članova i 6 gostiju pregledaju ovu temu.

Tip: Include
Slike ili Video: https://imgur.com/a/wrTNn4D
Opis i dodatne informacije: Dole
Download link: https://github.com/Mergevos/samp-advanced-kicks
Scan link: git hab
Credits: Ja

samp-delayed-kick




 Instalacija

Lagano instalirajte u vas projekt komandom:


sampctl package install Mergevos/samp-advanced-kick


Inkludajte i pocnite koristiti biblioteku:


#include <m_kicks>


Ako ste debil ili pocetnik pa ste nezreli za sampctl, imate releases page, pa skinite i ubacite u pawno/folder  ???

Koriscenje

Da biste koristili ovaj include, samo ga inkludajte u vas mod. Ovo vam omogucava da ne fixate svoje Kick funkcije zbog SendClientMessage(itd...), vec je ovde sve uradjeno sa par funkcija

Kick(playerid)

Veoma poznata funkcija.

KickEx(playerid, string: reason[], bool:usecallback=false)  
 
Sestra funkcija Kick funkcije, mozete kikovati sa razlogom koji ce biti poslan kao poruka, a callback ce vam omoguciti jos malo responsea itd... bice pozvan ako je usecallback na true

AdvancedKick(playerid, targetid, string: reason[], time);  

Ova funkcija automatski PROVERAVA DA LI JE IGRAC KONEKTOVAN UKLJUCUJUCI I METU ZA KIK I KIKERA, uzvracajuci callback OnPlayerKicked i imate vreme posle kojeg ce igrac biti kikovan

public OnlayerKicked(playerid, kickerid, string: reason[], time, responselevel)

Omogucava developeru da napravi njegov response, reply, itd...


enum {
    KICK_SUCCESS = 1, // Kik uspesan
    KICK_KICKEROFFLINE, // Kiker offline, nije meta
    KICK_TARGETOFFLINE // Meta offline, nije kiker
}

Ovo su response leveli za kalbek iznadj

Testing

Da biste testirali, naravno ako koristite sampctl 21. vek je Boze, koristite:


sampctl package run


Ostalo

Ne znam zasto sam objavio
- open.mp regional coordinator -


Citat: inquisitiveemmett poslato Jul 27, 2020, 02:50:10 PRE PODNE
Dobar si kakvih ima subotom na pijaci u Zavlaci

Cemu ti negativni komentari? Umjesto da prosipas nekakve forice mogao si covjeku da objasnis sta ne valja - mozda...

Za pocetak mogao bi da poradis na nazivanju funkcija, to sto su u include-u ne znaci da moraju biti teske za odrzavanje jer ces pola sata citati koja je koja funkcija.
Ne vidim poentu ovoga


new tmpstrrsn[144];
format(tmpstrrsn, sizeof(tmpstrrsn), "%s", reason);

A takodje ni brisanja tog stringa na kraju.
strdel(tmpstrrsn, 0, strlen(tmpstrrsn));

Takodje brisati string (ako bas hoces - ko sam ja da ti kazem sta da radis realno) mozes tako sto ces u prvom indexu staviti null karakter

string[0] = EOS;
string[0] = 0;
string[0] = '\0';

Takodje, (mozda ne gledam pazljivo zato sto listam na brzinu) ima li paramtera "time" ikakvu funkciju?

I vidim da nisi shvatio poentu const varijabli u pawnu. One sluze kao indikator compileru da ta varijabla ne bi trebala da se mijenja. Da li ti to stvarno treba na npr. playerid, kickerid, responselevel itd?

Citat: // xunder poslato Jul 27, 2020, 04:32:29 PRE PODNE
Cemu ti negativni komentari? Umjesto da prosipas nekakve forice mogao si covjeku da objasnis sta ne valja - mozda...

Za pocetak mogao bi da poradis na nazivanju funkcija, to sto su u include-u ne znaci da moraju biti teske za odrzavanje jer ces pola sata citati koja je koja funkcija.
Ne vidim poentu ovoga


new tmpstrrsn[144];
format(tmpstrrsn, sizeof(tmpstrrsn), "%s", reason);

A takodje ni brisanja tog stringa na kraju.
strdel(tmpstrrsn, 0, strlen(tmpstrrsn));

Takodje brisati string (ako bas hoces - ko sam ja da ti kazem sta da radis realno) mozes tako sto ces u prvom indexu staviti null karakter

string[0] = EOS;
string[0] = 0;
string[0] = '\0';

Takodje, (mozda ne gledam pazljivo zato sto listam na brzinu) ima li paramtera "time" ikakvu funkciju?

I vidim da nisi shvatio poentu const varijabli u pawnu. One sluze kao indikator compileru da ta varijabla ne bi trebala da se mijenja. Da li ti to stvarno treba na npr. playerid, kickerid, responselevel itd?
Vidi se da nisi bio u Zavlaci hahah, to nije hejt komentar brate to je pohvala, pijaca u Zavlaci je dobra :D

PS. A sta cemo sto JustMichael koristi const playerid itd?
Poslednja Izmena: Jul 27, 2020, 08:06:21 PRE PODNE od inquisitiveemmett

Citat: // xunder poslato Jul 27, 2020, 04:32:29 PRE PODNE

Za pocetak mogao bi da poradis na nazivanju funkcija, to sto su u include-u ne znaci da moraju biti teske za odrzavanje jer ces pola sata citati koja je koja funkcija.
Ne vidim poentu ovoga

E baš zbog tih funkcija sam skakljivo gledao kako ce izgledati, jer, ne bih hteo da mi neko pozove funkciju koju sam hoookao umesto kicka, već hocu da taj neko ko bude, ako bude koristio,nkoristi bas Kick, ne tu f-ju. Ne znam koliko je to pametno, al razmisljao sam da tom devu napravim sto tezu tu funkciju da bi mu bilo lakse da piše Kick nego to ime, iako ne vidim sada, zašto bi neko pisao tu funkciju kad ima hook Kicka na izvolite


Citat: // xunder poslato Jul 27, 2020, 04:32:29 PRE PODNE



new tmpstrrsn[144];
format(tmpstrrsn, sizeof(tmpstrrsn), "%s", reason);

A takodje ni brisanja tog stringa na kraju.
strdel(tmpstrrsn, 0, strlen(tmpstrrsn));

Takodje brisati string (ako bas hoces - ko sam ja da ti kazem sta da radis realno) mozes tako sto ces u prvom indexu staviti null karakter

string[0] = EOS;
string[0] = 0;
string[0] = '\0';


Ovo sam znao, al rekoh strdel, ono, moze i tako, mozda cu i ubaciti tako

Citat: // xunder poslato Jul 27, 2020, 04:32:29 PRE PODNE

Takodje, (mozda ne gledam pazljivo zato sto listam na brzinu) ima li paramtera "time" ikakvu funkciju?

Ima boze, naravno, to ti je za delayed kick naravno, da ga kika za sat vremena (sat i po kakvi su samp timeri)

Citat: // xunder poslato Jul 27, 2020, 04:32:29 PRE PODNE


I vidim da nisi shvatio poentu const varijabli u pawnu. One sluze kao indikator compileru da ta varijabla ne bi trebala da se mijenja. Da li ti to stvarno treba na npr. playerid, kickerid, responselevel itd?

Je l' imaš promenu varijabli, format tog parama ispod unutar te funkcije? Je l' se unutar funkcije ili negde menja taj playerid, responselevel itd? Bas zato sto se ne menja, kakav je?


Citat: inquisitiveemmett poslato Jul 27, 2020, 08:01:27 PRE PODNE
Vidi se da nisi bio u Zavlaci hahah, to nije hejt komentar brate to je pohvala, pijaca u Zavlaci je dobra :D

PS. A sta cemo sto JustMichael koristi const playerid itd?


Dobro brate, mozda ne zna, jebi ga
- open.mp regional coordinator -

Potpuno nepotrebno , sve se to da napraviti i bez ovoga :) ovako se samo opterecuje sama skripta i sam rad servera ;)

Citat: Ƭ H Σ Ʋ 1 ∏ ∏ Ψ _ poslato Jul 27, 2020, 11:11:07 PRE PODNE
Potpuno nepotrebno , sve se to da napraviti i bez ovoga :) ovako se samo opterecuje sama skripta i sam rad servera ;)

Kako mislis opteretiti skriptu sa 3 funkcije i jednim kalbekom kojeg i ne moraš pozivati?
- open.mp regional coordinator -

Citat: Mergevos poslato Jul 27, 2020, 11:35:51 PRE PODNE
Kako mislis opteretiti skriptu sa 3 funkcije i jednim kalbekom kojeg i ne moraš pozivati?
Pa pravljenje duplih funkcija , slozices se malo je nepotrebno , evo primer za kikovanje sa razlogom pa to vec imas u 90% modova a moze se i napraviti ako bas hoces da mu iskoci u obliku textdrawa da je kickovan ili banovan , drugo da automatski proveri osobu takodje nepotrebno jer na vecini modova kao owner imas proveru kada se igrac konekta ili registruje :)

Citat: Ƭ H Σ Ʋ 1 ∏ ∏ Ψ _ poslato Jul 27, 2020, 12:09:14 POSLE PODNE
Pa pravljenje duplih funkcija , slozices se malo je nepotrebno , evo primer za kikovanje sa razlogom pa to vec imas u 90% modova a moze se i napraviti ako bas hoces da mu iskoci u obliku textdrawa da je kickovan ili banovan , drugo da automatski proveri osobu takodje nepotrebno jer na vecini modova kao owner imas proveru kada se igrac konekta ili registruje :)
Dupla funkcija, za sta? Ovo i ne treba za postojeće mododve, jer očigledno niko i ne radi svoje ovde, vec imaju kod za sve
- open.mp regional coordinator -

Citat: Mergevos poslato Jul 27, 2020, 12:11:29 POSLE PODNE
Dupla funkcija, za sta? Ovo i ne treba za postojeće mododve, jer očigledno niko i ne radi svoje ovde, vec imaju kod za sve
Na prvo pitanje sam ti vec dao odgovor , a za drugo se slazem , mada cak i da pravim svoje najverovatnije bih koristio stariji metod tj klasican metod :)

Citat: Ƭ H Σ Ʋ 1 ∏ ∏ Ψ _ poslato Jul 27, 2020, 12:13:59 POSLE PODNE
Na prvo pitanje sam ti vec dao odgovor , a za drugo se slazem , mada cak i da pravim svoje najverovatnije bih koristio stariji metod tj klasican metod :)
To nije dupla funkcija, to je hook za kick :)
Pa to i jeste problem kod nas, je l znas za koliko stvari imas kreacije, kodove, data, i posle svih tih kodova ljudi prave svoje funkcije. Evo mogu da se kladim da nikada nisi otvorio y_vehicledata iz YSI-a, sve imas tu, sve, a ljudi opet troše vreme. Ako si pametan, modovi se jako brzo rade, pogotovo sa sampctl, kojeg pretpostavljam, ne znas da koristis ni da instaliras, ali ovo je samo pretpostavka.
- open.mp regional coordinator -

Citat: Mergevos poslato Jul 27, 2020, 12:27:42 POSLE PODNE
To nije dupla funkcija, to je hook za kick :)
Pa to i jeste problem kod nas, je l znas za koliko stvari imas kreacije, kodove, data, i posle svih tih kodova ljudi prave svoje funkcije. Evo mogu da se kladim da nikada nisi otvorio y_vehicledata iz YSI-a, sve imas tu, sve, a ljudi opet troše vreme. Ako si pametan, modovi se jako brzo rade, pogotovo sa sampctl, kojeg pretpostavljam, ne znas da koristis ni da instaliras, ali ovo je samo pretpostavka.
Uopsteno , ne bavim se toliko skriptanjem u zadnjih godinu dana koliko sam to radio ranijih godina zbog privatnog zivota i posla kojeg imam , da , nisam pogledao te datoteke koje si napisao ali i zasto bih kada nije bitan nacin vec rezultat , pa po tome radim i radio sam a i nekako sam se navikao na taj stariji model pisanja koda.

Citat: inquisitiveemmett poslato Jul 27, 2020, 02:50:10 PRE PODNE
Dobar si kakvih ima subotom na pijaci u Zavlaci
Gde nadje Zavlaku?
• Website: www.vasic.dev
Web Development & Cyber Security


Citat: inquisitiveemmett poslato Jul 27, 2020, 08:01:27 PRE PODNE
Vidi se da nisi bio u Zavlaci hahah, to nije hejt komentar brate to je pohvala, pijaca u Zavlaci je dobra :D
Sa mog aspekta malo je zvucalo sakrasticno.

Citat: inquisitiveemmett poslato Jul 27, 2020, 08:01:27 PRE PODNE
PS. A sta cemo sto JustMichael koristi const playerid itd?

Pa dobro ako cemo se striktno hvatati stranih skriptera i pratiti svaki njihov korak zasto ne bi npr. vidjeli kako to radi Y-Less koji je vjv iskusniji od JustMichaela (uz duzno postovanje prema obojici).

static stock Group_FullPlayerUpdate(playerid, el, const Bit:p[], const Bit:c[], const Bit:r[])

Ako mislis da su negdje u funkciji `playerid` i `el` modifikovani - moram te razocarati i reci da nisu.

Citat: Mergevos poslato Jul 27, 2020, 09:49:06 PRE PODNE
E baš zbog tih funkcija sam skakljivo gledao kako ce izgledati, jer, ne bih hteo da mi neko pozove funkciju koju sam hoookao umesto kicka, već hocu da taj neko ko bude, ako bude koristio,nkoristi bas Kick, ne tu f-ju. Ne znam koliko je to pametno, al razmisljao sam da tom devu napravim sto tezu tu funkciju da bi mu bilo lakse da piše Kick nego to ime, iako ne vidim sada, zašto bi neko pisao tu funkciju kad ima hook Kicka na izvolite
Hm, ne pratis osnovna "nacela" programiranja i kasnije ti/nam je teze odrzavati isti kod, to je bila poenta moje zamjerke.

Citat: Mergevos poslato Jul 27, 2020, 09:49:06 PRE PODNE
Ovo sam znao, al rekoh strdel, ono, moze i tako, mozda cu i ubaciti tako
Govorim ti sta ti je lakse i brze iako stvarno nema potrebe za onim sto si uradio.

Citat: Mergevos poslato Jul 27, 2020, 09:49:06 PRE PODNE
Je l' imaš promenu varijabli, format tog parama ispod unutar te funkcije? Je l' se unutar funkcije ili negde menja taj playerid, responselevel itd? Bas zato sto se ne menja, kakav je?
Predlazem ti da koristis https://github.com/pawn-lang/compiler
Tu je cak i na wiki lijepo objasnjeno zasto se koristi const.
Daleko od toga da je greska to sto si ti napisao const playerid samo kazem, mozda ce ti biti lakse da ne pises dodatnih 6 karaktera pri deklarisanju svake varijable.