Szerző Téma: Parancs végrehajtás késleltetése timerrel Probléma  (Megtekintve 1170 alkalommal)

Parancs végrehajtás késleltetése timerrel Probléma
« Dátum: 2014. május 01. - 11:49:11 »
0 Show voters
Sziasztok az a gondom, hogy túl gyorsan kickel a szerver kick, ban esetén és nem tudja kiírni a szöveget, tettem be timer-t de nem változtatott semmit szeretnélek megkérni titeket, hogy segítsetek hogy hogy tudnám késleltetni pl.: 3 mp-et a kick-et. 

new myTimer;
new myCounter;
forward kesleltetes(playerid);
CMD:kick(playerid,params[])
{
if(AccInfo[playerid][LoggedIn] == 1)
{
    if(AccInfo[playerid][Level] >= 3)
{
   new tmp2[128];
   //------------------------------------------------------------------
    if(sscanf(params, \"uS()[128]\", givepid, tmp2)) return
   SendClientMessage(playerid, LIGHTBLUE2, \"Használat: /kick [iD] [indok]\") &&
   SendClientMessage(playerid, orange, \"Funkció: Kirúghatod vele a játékost a szerverrõl.\");
   //------------------------------------------------------------------
       new player1, string[128], playername[MAX_PLAYER_NAME], adminname [MAX_PLAYER_NAME];
   player1 = givepid;
   //------------------------------------------------------------------
    if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
    {
      GetPlayerName(player1, playername, sizeof(playername));
      GetPlayerName(playerid, adminname, sizeof(adminname));
             SendCommandToAdmins(playerid,\"Kick\");
                //--------------------------------------------------------------
                ASts[playerid][Kicks] += 1;
                //--------------------------------------------------------------
      if(!strlen(tmp2))
      {
         format(string,sizeof(string),\"*** {11FF00}%s{AFAFAF} ki lett rúgva a szerverrõl Adminisztrátor {11FF00}%s{AFAFAF} által. (Indok: Nincs meghatározva) ***\",playername,adminname);
         SendClientMessageToAll(grey,string);
         SaveIn(\"KickLog\",string);
         print(string);
         return Kick(player1);
      }
      else
      {
         format(string,sizeof(string),\"*** {11FF00}%s{AFAFAF} ki lett rúgva a szerverrõl Adminisztrátor {11FF00}%s{AFAFAF} által (Indok: %s) ***\",playername,adminname,tmp2);
         SendClientMessageToAll(grey,string);
         SaveIn(\"KickLog\",string); print(string);
         SetTimerEx(\"keslelteto\",5000,0,\"i\",playerid);
         return Kick(player1);
      }
   }
   else return ErrorMessages(playerid, 3);
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,\"Hiba: Legalább 3-as szintû adminnak kellne lenned ennek a parancsnak a használatához!\");
}
public kesletetes(playerid)
{
if( myCounter == 1 ) return KillTimer( myTimer );
        //Ellenkezõ esetben folytatjuk a mûveletünket
        print( \"x\" );
        ++myCounter;
        return 1;
}

 
[mod]Kedves Témanyitó! A pawn nyelven íródott forráskódokat a fórumon

 tagek közé kell tenni. Legközelebb kérlek használd õket! Ez alkalommal javítottam helyetted.[/mod]
« Utoljára szerkesztve: 2014. május 01. - 17:29:32 írta Dfoglalo »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Parancs végrehajtás késleltetése timerrel Probléma
« Válasz #1 Dátum: 2014. május 01. - 11:59:37 »
0 Show voters
stock KickFixed(playerid) return SetTimerEx(\"kicked\", 800, false, \"i\", playerid);
stock kicked(playerid) return Kick(playerid);

 
Használata:
A te esetedben ezt:
 
     return Kick(player1);

 
kikell cserélned erre:
 
     return KickFixed(player1);

Parancs végrehajtás késleltetése timerrel Probléma
« Válasz #2 Dátum: 2014. május 01. - 19:25:14 »
0 Show voters
sajnos nem kickeli a játékost szóval nem jó így :|

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Parancs végrehajtás késleltetése timerrel Probléma
« Válasz #3 Dátum: 2014. május 24. - 14:55:22 »
0 Show voters
Másolj be most az egészet, hogy hogyan oldottad meg!

Parancs végrehajtás késleltetése timerrel Probléma
« Válasz #4 Dátum: 2014. május 01. - 11:49:11 »
0 Show voters
Sziasztok az a gondom, hogy túl gyorsan kickel a szerver kick, ban esetén és nem tudja kiírni a szöveget, tettem be timer-t de nem változtatott semmit szeretnélek megkérni titeket, hogy segítsetek hogy hogy tudnám késleltetni pl.: 3 mp-et a kick-et. 

new myTimer;
new myCounter;
forward kesleltetes(playerid);
CMD:kick(playerid,params[])
{
if(AccInfo[playerid][LoggedIn] == 1)
{
    if(AccInfo[playerid][Level] >= 3)
{
   new tmp2[128];
   //------------------------------------------------------------------
    if(sscanf(params, \"uS()[128]\", givepid, tmp2)) return
   SendClientMessage(playerid, LIGHTBLUE2, \"Használat: /kick [iD] [indok]\") &&
   SendClientMessage(playerid, orange, \"Funkció: Kirúghatod vele a játékost a szerverrõl.\");
   //------------------------------------------------------------------
       new player1, string[128], playername[MAX_PLAYER_NAME], adminname [MAX_PLAYER_NAME];
   player1 = givepid;
   //------------------------------------------------------------------
    if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
    {
      GetPlayerName(player1, playername, sizeof(playername));
      GetPlayerName(playerid, adminname, sizeof(adminname));
             SendCommandToAdmins(playerid,\"Kick\");
                //--------------------------------------------------------------
                ASts[playerid][Kicks] += 1;
                //--------------------------------------------------------------
      if(!strlen(tmp2))
      {
         format(string,sizeof(string),\"*** {11FF00}%s{AFAFAF} ki lett rúgva a szerverrõl Adminisztrátor {11FF00}%s{AFAFAF} által. (Indok: Nincs meghatározva) ***\",playername,adminname);
         SendClientMessageToAll(grey,string);
         SaveIn(\"KickLog\",string);
         print(string);
         return Kick(player1);
      }
      else
      {
         format(string,sizeof(string),\"*** {11FF00}%s{AFAFAF} ki lett rúgva a szerverrõl Adminisztrátor {11FF00}%s{AFAFAF} által (Indok: %s) ***\",playername,adminname,tmp2);
         SendClientMessageToAll(grey,string);
         SaveIn(\"KickLog\",string); print(string);
         SetTimerEx(\"keslelteto\",5000,0,\"i\",playerid);
         return Kick(player1);
      }
   }
   else return ErrorMessages(playerid, 3);
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,\"Hiba: Legalább 3-as szintû adminnak kellne lenned ennek a parancsnak a használatához!\");
}
public kesletetes(playerid)
{
if( myCounter == 1 ) return KillTimer( myTimer );
        //Ellenkezõ esetben folytatjuk a mûveletünket
        print( \"x\" );
        ++myCounter;
        return 1;
}

 
[mod]Kedves Témanyitó! A pawn nyelven íródott forráskódokat a fórumon

 tagek közé kell tenni. Legközelebb kérlek használd õket! Ez alkalommal javítottam helyetted.[/mod]
« Utoljára szerkesztve: 2014. május 01. - 17:29:32 írta Dfoglalo »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Parancs végrehajtás késleltetése timerrel Probléma
« Válasz #5 Dátum: 2014. május 01. - 11:59:37 »
0 Show voters
stock KickFixed(playerid) return SetTimerEx(\"kicked\", 800, false, \"i\", playerid);
stock kicked(playerid) return Kick(playerid);

 
Használata:
A te esetedben ezt:
 
     return Kick(player1);

 
kikell cserélned erre:
 
     return KickFixed(player1);

Parancs végrehajtás késleltetése timerrel Probléma
« Válasz #6 Dátum: 2014. május 01. - 19:25:14 »
0 Show voters
sajnos nem kickeli a játékost szóval nem jó így :|

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Parancs végrehajtás késleltetése timerrel Probléma
« Válasz #7 Dátum: 2014. május 24. - 14:55:22 »
0 Show voters
Másolj be most az egészet, hogy hogyan oldottad meg!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal