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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: [PRO]AcErBiS_V8 - 2014. május 01. - 11:49:11

Cím: Parancs végrehajtás késleltetése timerrel Probléma
Írta: [PRO]AcErBiS_V8 - 2014. május 01. - 11:49:11
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]
Cím: Parancs végrehajtás késleltetése timerrel Probléma
Írta: Flash - 2014. május 01. - 11:59:37
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);
Cím: Parancs végrehajtás késleltetése timerrel Probléma
Írta: [PRO]AcErBiS_V8 - 2014. május 01. - 19:25:14
sajnos nem kickeli a játékost szóval nem jó így :|
Cím: Parancs végrehajtás késleltetése timerrel Probléma
Írta: Flash - 2014. május 24. - 14:55:22
Másolj be most az egészet, hogy hogyan oldottad meg!
Cím: Parancs végrehajtás késleltetése timerrel Probléma
Írta: [PRO]AcErBiS_V8 - 2014. május 01. - 11:49:11
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]
Cím: Parancs végrehajtás késleltetése timerrel Probléma
Írta: Flash - 2014. május 01. - 11:59:37
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);
Cím: Parancs végrehajtás késleltetése timerrel Probléma
Írta: [PRO]AcErBiS_V8 - 2014. május 01. - 19:25:14
sajnos nem kickeli a játékost szóval nem jó így :|
Cím: Parancs végrehajtás késleltetése timerrel Probléma
Írta: Flash - 2014. május 24. - 14:55:22
Másolj be most az egészet, hogy hogyan oldottad meg!