Oko Login

Započeo Claus, Decembar 05, 2018, 18:05:18 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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): //

Vljd je tacno s tela pisem
[PAWN]// ovo nedje na vrh
new nekickaj[MAX_PLAYERS];
//ovo nedje na kraj mos
Forward loginkick(playerid);
public loginkick(playerid);
{
if(nekickaj[playerid] == 0)
{
Kick(playerid);
}
return 1;
}
//ovo kod toga dje ti se pojavljuje dijalog za login
nekickaj[playerid] = 0;
SetTimerEx("loginkick", 30000, false, "i", playerid); //1000 = 1 sekund
//ovo kod tog sto se pojavi kad ukuca sifru
nekickaj[playerid] = 1;
[/pawn]


Citat: Ð'алша. poslato Decembar 05, 2018, 18:34:55 POSLE PODNE
Vljd je tacno s tela pisem
[PAWN]// ovo nedje na vrh
new nekickaj[MAX_PLAYERS];
//ovo nedje na kraj mos
Forward loginkick(playerid);
public loginkick(playerid);
{
if(nekickaj[playerid] == 0)
{
Kick(playerid);
}
return 1;
}
//ovo kod toga dje ti se pojavljuje dijalog za login
nekickaj[playerid] = 0;
SetTimerEx("loginkick", 30000, false, "i", playerid); //1000 = 1 sekund
//ovo kod tog sto se pojavi kad ukuca sifru
nekickaj[playerid] = 1;
[/pawn]
Nece, nista se ne desava

Ocigledno zato sto nisi lepo postavio :P, koji mod radis, Underpoint ? Ako radis underpoint lepo stavi tamo de igracu izlazi dialog ovo
[pawn]
SetTimerEx("LoginVreme", 30000, false, "i", playerid);
[/pawn]
i onda pri dnu skripte
[pawn]
forward LoginVreme(playerid);
public LoginVreme(playerid)
{
       if(UlogovanProvera[playerid] == 0) { Kick(playerid); }
       else { return 1; }
       return 1;
}
[/pawn]

Citat: ShomY071 poslato Decembar 05, 2018, 19:46:05 POSLE PODNE
Ocigledno zato sto nisi lepo postavio :P, koji mod radis, Underpoint ? Ako radis underpoint lepo stavi tamo de igracu izlazi dialog ovo
[pawn]
SetTimerEx("LoginVreme", 30000, false, "i", playerid);
[/pawn]
i onda pri dnu skripte
[pawn]
forward LoginVreme(playerid);
public LoginVreme(playerid)
{
       if(UlogovanProvera[playerid] == 0) { Kick(playerid); }
       else { return 1; }
       return 1;
}
[/pawn]
Nije UnderPoint, od 0 jedan, nije moj

Citat: Ð'алша. poslato Decembar 05, 2018, 18:34:55 POSLE PODNE
Vljd je tacno s tela pisem
[PAWN]// ovo nedje na vrh
new nekickaj[MAX_PLAYERS];
//ovo nedje na kraj mos
Forward loginkick(playerid);
public loginkick(playerid);
{
if(nekickaj[playerid] == 0)
{
Kick(playerid);
}
return 1;
}
//ovo kod toga dje ti se pojavljuje dijalog za login
nekickaj[playerid] = 0;
SetTimerEx("loginkick", 30000, false, "i", playerid); //1000 = 1 sekund
//ovo kod tog sto se pojavi kad ukuca sifru
nekickaj[playerid] = 1;
[/pawn]
Imas dosta greškica, najviše pravopisnih...
[pawn]public loginkick(playerid);[/pawn]
u
[pawn]public loginkick(playerid)[/pawn]

dijalog
[pawn]else { return 1; }[/pawn]
može i:
[pawn]else return 1;[/pawn]
Pomogao sam ti?
- Zahvali se!





Citat: Makenzi poslato Decembar 05, 2018, 20:58:45 POSLE PODNE
Imas dosta greškica, najviše pravopisnih...
[pawn]public loginkick(playerid);[/pawn]
u
[pawn]public loginkick(playerid)[/pawn]

dijalog
[pawn]else { return 1; }[/pawn]
može i:
[pawn]else return 1;[/pawn]
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.

Daj celu funkciju gde mu pokazuješ dialog pa ću fixati.
Pomogao sam ti?
- Zahvali se!





Citat: Makenzi poslato Decembar 05, 2018, 21:08:18 POSLE PODNE
Daj celu funkciju gde mu pokazuješ dialog pa ću fixati.
[pawn]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[playerid] = 1;
      nekickaj[playerid] = 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[playerid] == 0)
{
    SCM(playerid, -1, "Imali ste 60 sekundi da se ulogujete na vas account! KIKOVANI STE!");
   Kick(playerid);
}
   return 1;
}[/pawn]

Izvol'te:
[pawn]new g_LoginTimer[MAX_PLAYERS];

public OnPlayerDisconnect(playerid, reason)
{
   KillTimer(g_LoginTimer[playerid]);
   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[playerid] = 1;
      nekickaj[playerid] = 0; OVO
      g_LoginTimer[playerid] = 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[playerid]);
      }
   }
   return 1;
}[/pawn]
Pomogao sam ti?
- Zahvali se!





Citat: Makenzi poslato Decembar 05, 2018, 21:31:57 POSLE PODNE
Izvol'te:
[pawn]new g_LoginTimer[MAX_PLAYERS];

public OnPlayerDisconnect(playerid, reason)
{
   KillTimer(g_LoginTimer[playerid]);
   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[playerid] = 1;
      nekickaj[playerid] = 0; OVO
      g_LoginTimer[playerid] = 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[playerid]);
      }
   }
   return 1;
}[/pawn]
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

brate ovo
[pawno]
SetTimerEx("Kick", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^. [/pawno]
u
[pawno] SetTimerEx("KickPL", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^. [/pawno]
I dodaj ovo kod g_Kick
[pawno]
forward KickPL(playerid);
public KickPL(playerid)
{
      Kick(playerid);
      return 1;
}
[/pawno]

Citat: ShomY071 poslato Decembar 06, 2018, 18:48:25 POSLE PODNE
brate ovo
[pawno]
SetTimerEx("Kick", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^. [/pawno]
u
[pawno] SetTimerEx("KickPL", 465, false, "d", playerid); //Mora ovako ili mu nece pokazati poruku ^. [/pawno]
I dodaj ovo kod g_Kick
[pawno]
forward KickPL(playerid);
public KickPL(playerid)
{
      Kick(playerid);
      return 1;
}
[/pawno]
Dobro, radi kika lepo nakon 30 sekundi ali nece poruka u chatu da izbaci da ga je kikalo zato sto su istekle 30 sekundi