Problem(error/warning): Kako da napravim tajmer da kad se pojavi dialog za login da ako se ne ulogujes tipa u roku od 30 sekundi da se iskljuci dialog i da te kika sa servera?
Dio skripte: [ pawn ]Ako treba dacu[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]//[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): //
Zaključano
Oko Login
865
pregleda
13
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
pre 7 godina
Vljd je tacno s tela pisem
// ovo nedje na vrh
new nekickaj;
//ovo nedje na kraj mos
Forward loginkick(playerid);
public loginkick(playerid);
{
if(nekickaj == 0)
{
Kick(playerid);
}
return 1;
}
//ovo kod toga dje ti se pojavljuje dijalog za login
nekickaj = 0;
SetTimerEx("loginkick", 30000, false, "i", playerid); //1000 = 1 sekund
//ovo kod tog sto se pojavi kad ukuca sifru
nekickaj = 1;
pre 7 godina
Балша. wrote on December 5, 2018, 5:34 pm:
Vljd je tacno s tela pisem
// ovo nedje na vrh
new nekickaj;
//ovo nedje na kraj mos
Forward loginkick(playerid);
public loginkick(playerid);
{
if(nekickaj == 0)
{
Kick(playerid);
}
return 1;
}
//ovo kod toga dje ti se pojavljuje dijalog za login
nekickaj = 0;
SetTimerEx("loginkick", 30000, false, "i", playerid); //1000 = 1 sekund
//ovo kod tog sto se pojavi kad ukuca sifru
nekickaj = 1;
Nece, nista se ne desava
pre 7 godina
Ocigledno zato sto nisi lepo postavio 😛, koji mod radis, Underpoint ? Ako radis underpoint lepo stavi tamo de igracu izlazi dialog ovo
i onda pri dnu skripte
SetTimerEx("LoginVreme", 30000, false, "i", playerid);
i onda pri dnu skripte
forward LoginVreme(playerid);
public LoginVreme(playerid)
{
if(UlogovanProvera == 0) { Kick(playerid); }
else { return 1; }
return 1;
}
pre 7 godina
ShomY071 wrote on December 5, 2018, 6:46 pm:
Ocigledno zato sto nisi lepo postavio 😛, koji mod radis, Underpoint ? Ako radis underpoint lepo stavi tamo de igracu izlazi dialog ovo
i onda pri dnu skripte
SetTimerEx("LoginVreme", 30000, false, "i", playerid);
i onda pri dnu skripte
forward LoginVreme(playerid);
public LoginVreme(playerid)
{
if(UlogovanProvera == 0) { Kick(playerid); }
else { return 1; }
return 1;
}
Nije UnderPoint, od 0 jedan, nije moj
pre 7 godina
Балша. wrote on December 5, 2018, 5:34 pm:
Vljd je tacno s tela pisem
// ovo nedje na vrh
new nekickaj;
//ovo nedje na kraj mos
Forward loginkick(playerid);
public loginkick(playerid);
{
if(nekickaj == 0)
{
Kick(playerid);
}
return 1;
}
//ovo kod toga dje ti se pojavljuje dijalog za login
nekickaj = 0;
SetTimerEx("loginkick", 30000, false, "i", playerid); //1000 = 1 sekund
//ovo kod tog sto se pojavi kad ukuca sifru
nekickaj = 1;
Imas dosta greškica, najviše pravopisnih...
public loginkick(playerid);u
public loginkick(playerid)di
else { return 1; }može i:
else return 1;
pre 7 godina
Makenzi wrote on December 5, 2018, 7:58 pm:
Imas dosta greškica, najviše pravopisnih...
u
dijalog
može i:
public loginkick(playerid);u
public loginkick(playerid)di
else { return 1; }može i:
else return 1;Uradio sam to i sve lepo radi, uradio sam i poruku ali poruka nece da se pojavi, samo izbaci server closed the connection, a poruka je nema nigde.
pre 7 godina
Makenzi wrote on December 5, 2018, 8:08 pm:
Daj celu funkciju gde mu pokazuješ dialog pa ću fixati.
forward Ucitano(playerid);
public Ucitano(playerid)
{
ClearChat(playerid, 25);
SendClientMessage(playerid, -1, "SERVER LOADED...");
if(fexist(UserPath(playerid)))
{
SetPlayerVirtualWorld(playerid, 0); SetPlayerInterior(playerid, 0);
InterpolateCameraPos(playerid, -996.689, 869.492, 41.923, -1265.562, 666.918, 42.151, 7000);
InterpolateCameraLookAt(playerid, -1112.462, 867.032, 36.464, -1252.443, 765.840, 35.994, 7000);
ClearChat(playerid, 25);
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
SPD(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,""BELA"LOGIN..",""BELA"Hello and welcome back to Insanity DeathMatch!\nYour account has been found in our database.\n\nHINT: Type your password in 60 seconds or you will get kicked.","Login","Exit");
Uneo_Pass = 1;
nekickaj = 0; OVO
SetTimerEx("loginkick", 5000, false, "i", playerid); //OVO
}
else
{
SetPlayerVirtualWorld(playerid, 0); SetPlayerInterior(playerid, 0);
InterpolateCameraPos(playerid,-996.689, 869.492, 41.923, -1265.562, 666.918, 42.151, 7000);
InterpolateCameraLookAt(playerid, -1112.462, 867.032, 36.464, -1252.443, 765.840, 35.994, 7000);
ClearChat(playerid, 25);
SPD(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"REGISTRATION..","Hello and welcome to Insanity DeathMatch SA-MP server!\nIn the blank spot bellow you should type your password.\n\nHINT: It shouldn't be more than 24 characters or less than 6.","Register","Exit");
}
}
forward loginkick(playerid); //OVO SVE NA DOLE JE TO
public loginkick(playerid)
{
if(nekickaj == 0)
{
SCM(playerid, -1, "Imali ste 60 sekundi da se ulogujete na vas account! KIKOVANI STE!");
Kick(playerid);
}
return 1;
}
pre 7 godina
Izvol'te:
new g_LoginTimer;
public OnPlayerDisconnect(playerid, reason)
{
KillTimer(g_LoginTimer);
return 1;
}
forward Ucitano(playerid);
public Ucitano(playerid)
{
ClearChat(playerid, 25);
SendClientMessage(playerid, -1, "SERVER LOADED...");
if(fexist(UserPath(playerid)))
{
SetPlayerVirtualWorld(playerid, 0); SetPlayerInterior(playerid, 0);
InterpolateCameraPos(playerid, -996.689, 869.492, 41.923, -1265.562, 666.918, 42.151, 7000);
InterpolateCameraLookAt(playerid, -1112.462, 867.032, 36.464, -1252.443, 765.840, 35.994, 7000);
ClearChat(playerid, 25);
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
SPD(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,""BELA"LOGIN..",""BELA"Hello and welcome back to Insanity DeathMatch!\nYour account has been found in our database.\n\nHINT: Type your password in 60 seconds or you will get kicked.","Login","Exit");
Uneo_Pass = 1;
nekickaj = 0; OVO
g_LoginTimer = SetTimerEx("g_Kick", 30000, false, "d", playerid);
}
else
{
SetPlayerVirtualWorld(playerid, 0); SetPlayerInterior(playerid, 0);
InterpolateCameraPos(playerid,-996.689, 869.492, 41.923, -1265.562, 666.918, 42.151, 7000);
InterpolateCameraLookAt(playerid, -1112.462, 867.032, 36.464, -1252.443, 765.840, 35.994, 7000);
ClearChat(playerid, 25);
SPD(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"REGISTRATION..","Hello and welcome to Insanity DeathMatch SA-MP server!\nIn the blank spot bellow you should type your password.\n\nHINT: It shouldn`t be more than 24 characters or less than 6.","Register","Exit");
}
}
forward g_Kick(playerid);
public g_Kick(playerid)
{
SendClientMessage(playerid, -1, "You are kicked from the server because you didn't logged in on time!");
SetTimerEx("Kick", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^.
return 1;
}
//sada ovo dodas ako se uspesno loginao:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_LOGIN)
{
if(!response) return Kick(playerid);
if(response)
{
//Ako je logged in:
KillTimer(g_LoginTimer);
}
}
return 1;
}
pre 7 godina
Makenzi wrote on December 5, 2018, 8:31 pm:
Izvol'te:
new g_LoginTimer;
public OnPlayerDisconnect(playerid, reason)
{
KillTimer(g_LoginTimer);
return 1;
}
forward Ucitano(playerid);
public Ucitano(playerid)
{
ClearChat(playerid, 25);
SendClientMessage(playerid, -1, "SERVER LOADED...");
if(fexist(UserPath(playerid)))
{
SetPlayerVirtualWorld(playerid, 0); SetPlayerInterior(playerid, 0);
InterpolateCameraPos(playerid, -996.689, 869.492, 41.923, -1265.562, 666.918, 42.151, 7000);
InterpolateCameraLookAt(playerid, -1112.462, 867.032, 36.464, -1252.443, 765.840, 35.994, 7000);
ClearChat(playerid, 25);
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
SPD(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,""BELA"LOGIN..",""BELA"Hello and welcome back to Insanity DeathMatch!\nYour account has been found in our database.\n\nHINT: Type your password in 60 seconds or you will get kicked.","Login","Exit");
Uneo_Pass = 1;
nekickaj = 0; OVO
g_LoginTimer = SetTimerEx("g_Kick", 30000, false, "d", playerid);
}
else
{
SetPlayerVirtualWorld(playerid, 0); SetPlayerInterior(playerid, 0);
InterpolateCameraPos(playerid,-996.689, 869.492, 41.923, -1265.562, 666.918, 42.151, 7000);
InterpolateCameraLookAt(playerid, -1112.462, 867.032, 36.464, -1252.443, 765.840, 35.994, 7000);
ClearChat(playerid, 25);
SPD(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"REGISTRATION..","Hello and welcome to Insanity DeathMatch SA-MP server!\nIn the blank spot bellow you should type your password.\n\nHINT: It shouldn`t be more than 24 characters or less than 6.","Register","Exit");
}
}
forward g_Kick(playerid);
public g_Kick(playerid)
{
SendClientMessage(playerid, -1, "You are kicked from the server because you didn't logged in on time!");
SetTimerEx("Kick", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^.
return 1;
}
//sada ovo dodas ako se uspesno loginao:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_LOGIN)
{
if(!response) return Kick(playerid);
if(response)
{
//Ako je logged in:
KillTimer(g_LoginTimer);
}
}
return 1;
}Nece da kika igraca, a izbaci poruka nakon 30 sekunde, a kad dodam Kick(playerid); , onda nece poruku da prikaze a nece da kika igraca
pre 7 godina
brate ovo
SetTimerEx("Kick", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^.
u
SetTimerEx("KickPL", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^.
I dodaj ovo kod g_Kick
forward KickPL(playerid);
public KickPL(playerid)
{
Kick(playerid);
return 1;
}
SetTimerEx("Kick", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^.
u
SetTimerEx("KickPL", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^.
I dodaj ovo kod g_Kick
forward KickPL(playerid);
public KickPL(playerid)
{
Kick(playerid);
return 1;
}
pre 7 godina
ShomY071 wrote on December 6, 2018, 5:48 pm:
brate ovo
SetTimerEx("Kick", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^.
u
SetTimerEx("KickPL", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^.
I dodaj ovo kod g_Kick
forward KickPL(playerid);
public KickPL(playerid)
{
Kick(playerid);
return 1;
}
SetTimerEx("Kick", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^.
u
SetTimerEx("KickPL", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^.
I dodaj ovo kod g_Kick
forward KickPL(playerid);
public KickPL(playerid)
{
Kick(playerid);
return 1;
}
Dobro, radi kika lepo nakon 30 sekundi ali nece poruka u chatu da izbaci da ga je kikalo zato sto su istekle 30 sekundi
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava