GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Tanuljunk PAWN nyelvet => A témát indította: Live - 2013. Február 26. - 17:49:39

Cím: [0.3x] Kick() funkció javítása
Írta: Live - 2013. Február 26. - 17:49:39
Üdv fórumozó(k)!
Gondoltam leírom ide, hogy kell megcsinálni a Kick funkciót, hogy mûködjön, ugyanis a 0.3x-ben a sima
 
SendClientMessage(playerid, -1, \"TESZT\"); 
Kick(playerid);

 
már nem mûködik....
Nos, nézzük a javítást:
 
forward NewKick(playerid);
public NewKick(playerid) { Kick(playerid); }
NKick(playerid) { SetTimerEx(\"NewKick\", 1000, 0, \"d\", playerid); }

 
Használat:
 
//Ide ugyan úgy jönnek a funkciók
//Példa: ShowPlayerDialog(playerid, KICK, DIALOG_STYLE_MSGBOX, \"* Kickelve lettél!\", \"Te kickelve lettél a szerverrõl...\", \"OK\", \"\");
NKick(playerid);
Cím: [0.3x] Kick() funkció javítása
Írta: Rupert - 2013. Február 26. - 18:01:55
Miért ne mûködne a Kick?
Cím: [0.3x] Kick() funkció javítása
Írta: Dommper - 2013. Február 26. - 18:20:45
Idézetet írta: Rupert date=1361898115\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"34217\" data-ipsquote-contentclass=\"forums_Topic
Miért ne mûködne a Kick?
 
Mert nem írja ki az indokot, vagy legalábbis a szöveget.
Csak egyszerûen: \"Server closed the connection\"
Cím: [0.3x] Kick() funkció javítása
Írta: Csabesz - 2013. Február 26. - 19:05:51
Idézetet írta: Dommper date=1361899245\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"34217\" data-ipsquote-contentclass=\"forums_Topic


Miért ne mûködne a Kick?
 
Mert nem írja ki az indokot, vagy legalábbis a szöveget.
Csak egyszerûen: \"Server closed the connection\"
 
[/quote]
Hát ez nem csak 0.3x-nél vagy így, már elég rég.
Ennek oka 1xü. A Kick valamiért hamarabb lefut mint a SendClientMessage.
Hiába a mûveleti sorrend, ha a Kick nagy polaritású mint a SCM.
Cím: [0.3x] Kick() funkció javítása
Írta: Rupert - 2013. Február 26. - 19:34:24
Idézetet írta: Csabesz date=1361901951\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"34217\" data-ipsquote-contentclass=\"forums_Topic


 

Miért ne mûködne a Kick?
 
Mert nem írja ki az indokot, vagy legalábbis a szöveget.
Csak egyszerûen: \"Server closed the connection\"
 
[/quote]
Hát ez nem csak 0.3x-nél vagy így, már elég rég.
Ennek oka 1xü. A Kick valamiért hamarabb lefut mint a SendClientMessage.
Hiába a mûveleti sorrend, ha a Kick nagy polaritású mint a SCM.
 
[/quote]
Na de ha a Kick() elõtt valami más függvény van, ami nem SCM?
Cím: [0.3x] Kick() funkció javítása
Írta: Csabesz - 2013. Február 26. - 19:55:12
Idézetet írta: Rupert date=1361903664\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"34217\" data-ipsquote-contentclass=\"forums_Topic
Na de ha a Kick() elõtt valami más függvény van, ami nem SCM?
 
Jó kérdés, ez a sa-mptól függ, hogy melyik függvényt h kezeli.  :)
De ennél így van, ezt tapasztalhatjuk...
Cím: [0.3x] Kick() funkció javítása
Írta: Live - 2013. Február 26. - 20:32:38
Hát nekem a régebbi verziókban tökéletesen lefut minden :)
Ezért is maradok 0.3e-nél.
Cím: [0.3x] Kick() funkció javítása
Írta: lackos888 - 2013. Február 26. - 21:09:33
Idézetet írta: Live date=1361897379\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"34217\" data-ipsquote-contentclass=\"forums_Topic
Üdv fórumozó(k)!
Gondoltam leírom ide, hogy kell megcsinálni a Kick funkciót, hogy mûködjön, ugyanis a 0.3x-ben a sima
 
SendClientMessage(playerid, -1, \"TESZT\"); 
Kick(playerid);

 
már nem mûködik....
Nos, nézzük a javítást:
 
forward NewKick(playerid);
public NewKick(playerid) { Kick(playerid); }
NKick(playerid) { SetTimerEx(\"NewKick\", 1000, 0, \"d\", playerid); }

 
Használat:
 
//Ide ugyan úgy jönnek a funkciók
//Példa: ShowPlayerDialog(playerid, KICK, DIALOG_STYLE_MSGBOX, \"* Kickelve lettél!\", \"Te kickelve lettél a szerverrõl...\", \"OK\", \"\");
NKick(playerid);

 

Ez helyett én még egyszerûbbet csináltam:
 

forward Kick2(playerid);
public Kick2(playerid){
Kick(playerid);
return 1;
}
stock _Kick(playerid){
SetTimerEx(\"Kick2\", 100, 0, \"d\", playerid);
return 1;
}
#define Kick _Kick

 
Ez ha használod a Kick funkciót, automatikusan nem egybõl hívódik meg, így akár az SCM is lefut.
Cím: [0.3x] Kick() funkció javítása
Írta: Hun_Norberto - 2013. Március 02. - 19:16:49
Idézetet írta: lackos888 date=1361909373\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"34217\" data-ipsquote-contentclass=\"forums_Topic
Ez helyett én még egyszerûbbet csináltam:
 

forward Kick2(playerid);
public Kick2(playerid){
Kick(playerid);
return 1;
}
stock _Kick(playerid){
SetTimerEx(\"Kick2\", 100, 0, \"d\", playerid);
return 1;
}
#define Kick _Kick

 
Ez ha használod a Kick funkciót, automatikusan nem egybõl hívódik meg, így akár az SCM is lefut.
 
Csak ezzel az a baj, hogy a Kick már definiálva van:
 

forward Kick2(playerid);
public Kick2(playerid){
Kick(playerid); //Nem tudom, mûködik-e igy, ha nem, akkor ez fölé irsz egy funkciót, ami kidobja, majd azt irod ide
return 1;
}
stock temp_Kick(playerid){
SetTimerEx(\"Kick2\", 100, 0, \"d\", playerid);
return 1;
}
#if defined _ALS_Kick
#undef Kick
#else
#define _ALS_Kick
#endif
#define Kick temp_Kick
Cím: [0.3x] Kick() funkció javítása
Írta: lackos888 - 2013. Március 02. - 21:59:58
Idézetet írta: Hun_Norberto date=1362248209\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"34217\" data-ipsquote-contentclass=\"forums_Topic


Ez helyett én még egyszerûbbet csináltam:
 

forward Kick2(playerid);
public Kick2(playerid){
Kick(playerid);
return 1;
}
stock _Kick(playerid){
SetTimerEx(\"Kick2\", 100, 0, \"d\", playerid);
return 1;
}
#define Kick _Kick

 
Ez ha használod a Kick funkciót, automatikusan nem egybõl hívódik meg, így akár az SCM is lefut.
 
Csak ezzel az a baj, hogy a Kick már definiálva van:
 

forward Kick2(playerid);
public Kick2(playerid){
Kick(playerid); //Nem tudom, mûködik-e igy, ha nem, akkor ez fölé irsz egy funkciót, ami kidobja, majd azt irod ide
return 1;
}
stock temp_Kick(playerid){
SetTimerEx(\"Kick2\", 100, 0, \"d\", playerid);
return 1;
}
#if defined _ALS_Kick
#undef Kick
#else
#define _ALS_Kick
#endif
#define Kick temp_Kick

 

[/quote]
KHM, próbáld ki, 100%-ban mûködik amit én írtam, akkor nem írtam volna le, ha nem mûködik, csak a gamemode/filterscript majdnem legelejére kell tenni az én kódomat.
Cím: [0.3x] Kick() funkció javítása
Írta: Sramm - 2013. Március 03. - 15:22:05
Idézetet írta: Hun_Norberto date=1362248209\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"34217\" data-ipsquote-contentclass=\"forums_Topic


Ez helyett én még egyszerûbbet csináltam:
 

forward Kick2(playerid);
public Kick2(playerid){
Kick(playerid);
return 1;
}
stock _Kick(playerid){
SetTimerEx(\"Kick2\", 100, 0, \"d\", playerid);
return 1;
}
#define Kick _Kick

 
Ez ha használod a Kick funkciót, automatikusan nem egybõl hívódik meg, így akár az SCM is lefut.
 
Csak ezzel az a baj, hogy a Kick már definiálva van:
 

forward Kick2(playerid);
public Kick2(playerid){
Kick(playerid); //Nem tudom, mûködik-e igy, ha nem, akkor ez fölé irsz egy funkciót, ami kidobja, majd azt irod ide
return 1;
}
stock temp_Kick(playerid){
SetTimerEx(\"Kick2\", 100, 0, \"d\", playerid);
return 1;
}
#if defined _ALS_Kick
#undef Kick
#else
#define _ALS_Kick
#endif
#define Kick temp_Kick

 

[/quote]
Az lehet, csakhogy ezzel felülírja az elõzõ definíciót lackos, felesleges elõtte \"kiiktatni\" az elõzõ definíciót..
Cím: [0.3x] Kick() funkció javítása
Írta: Rupert - 2013. Március 03. - 15:56:34
[mod] Fejezzétek be az idézgetést. [/mod]
Cím: [0.3x] Kick() funkció javítása
Írta: krisk - 2013. Március 04. - 06:17:16
Ha valaki még nem fogta volna fel: a probléma az, hogy a Kick(); függvény elõtt álló SCM-ek nem futnak le, nem az, hogy szar a kick parancs.
Cím: [0.3x] Kick() funkció javítása
Írta: Sramm - 2013. Március 07. - 20:10:37
krisk, senki nem mondta, hogy a Kick() utasítás rossz...
Cím: [0.3x] Kick() funkció javítása
Írta: Hun_Norberto - 2013. Március 10. - 20:01:21
Idézetet írta: krisk date=1362374236\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"34217\" data-ipsquote-contentclass=\"forums_Topic
Ha valaki még nem fogta volna fel: a probléma az, hogy a Kick(); függvény elõtt álló SCM-ek nem futnak le, nem az, hogy sz*r a kick parancs.
 
Ezt azzal akarnánk megoldani, hogy késõbb fusson le a Kick parancs...