Szerző Téma: Felmondási idõ  (Megtekintve 845 alkalommal)

Felmondási idõ
« Dátum: 2014. Május 08. - 19:32:01 »
0
Sziasztok!
Ehhez a sripthez szeretnék egy timert kérni, hogy ha a játékos felvesz egy munkát akkor csak fél óra múlva tudjon felmondani.És ha lehet szerver újraindításkor ne kezdje újra a számlálást, bár ez annyira nem számít.
Felveszi a munkát:
 
   if(strcmp(cmd, \"/munkafelvesz\", true) == 0)
{
   if(GettingJob[playerid] > 0)
         {
           SendClientMessage(playerid, COLOR_WHITE, \"Fõnököd mondja: Rendben van a szerzõdést sikeressen megkötöttük! Jó munkát kívánok!\");
             PlayerInfo[playerid][pJob] = GettingJob[playerid];
        GettingJob[playerid] = 0;
        if(PlayerInfo[playerid][pJob] == 9)
        {
              SendClientMessage(playerid, COLOR_WHITE, \"INFÓ: Minnél többet goldozol annál több Exp-t kapsz a szintlépéshez!\");
        }
        if(PlayerInfo[playerid][pJob] == 17)
        {
              SendClientMessage(playerid, COLOR_WHITE, \"SEGÍTSÉG: Ha segítségre van szükséged /parancsok!\");
        }
        return 1;
       }
    else
    {
        SendClientMessage(playerid, COLOR_GREY, \"Már van munkád!\");
         return 1;
    }
}

 
Felmond:
 
   if(strcmp(cmd, \"/felmond\", true) == 0)
{
    if(IsPlayerConnected(playerid))
      {
    if(PlayerInfo[playerid][pJob] > 0)
   {
       if(PlayerInfo[playerid][pJob] == 17 && CP[playerid] != 0)
      {
          CP[playerid] = 0;
         DisablePlayerCheckpoint(playerid);
      }
             format(string, sizeof(string), \"Munkaügyis átadja a felmondási lapot..\", sendername);
      ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
             format(string, sizeof(string), \"Munkaügyis mondja: Rendben van %s a munkaviszonyát megszüntettük! További kellemes napot!\", sendername);
      ProxDetector(30.0, playerid, string, COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
      PlayerInfo[playerid][pJob] = 0;
   }
   else
   {
       SendClientMessage(playerid, COLOR_GREY, \"Nincs munkád amibõl felmondhatnál!\");
   }
}
return 1;
}

 
Elõre is nagyon köszi!

Nem elérhető doboka98

  • 1002
    • Profil megtekintése
Felmondási idõ
« Válasz #1 Dátum: 2014. Május 09. - 08:09:22 »
0
Mód elejére:
 
new bool: felmondasido[MAX_PLAYERS];

 
Felvesz parancsod:
 
if(strcmp(cmd, \"/munkafelvesz\", true) == 0)
        {
                if(GettingJob[playerid] > 0)
                {
      felmondasido[playerid] = true;
      SetTimerEx(\"felmondastimer\", 30*60*1000, false, \"i\", playerid);
                SendClientMessage(playerid, COLOR_WHITE, \"Fonököd mondja: Rendben van a szerzodést sikeressen megkötöttük! Jó munkát kívánok!\");
                PlayerInfo[playerid][pJob] = GettingJob[playerid];
                GettingJob[playerid] = 0;
                if(PlayerInfo[playerid][pJob] == 9)
                {
                        SendClientMessage(playerid, COLOR_WHITE, \"INFÓ: Minnél többet goldozol annál több Exp-t kapsz a szintlépéshez!\");
                }
                if(PlayerInfo[playerid][pJob] == 17)
                {
                        SendClientMessage(playerid, COLOR_WHITE, \"SEGÍTSÉG: Ha segítségre van szükséged /parancsok!\");
                }
                return 1;
        }
            else
            {
        SendClientMessage(playerid, COLOR_GREY, \"Már van munkád!\");
        return 1;
            }
        }

 
Felmond parancs:
 
if(strcmp(cmd, \"/felmond\", true) == 0)
        {
   if(felmondasido[playerid] == true) return SendClientMessage(playerid, -1, \"Csak fél órával a munkafelvétel után mondhatsz fel!\");
            if(IsPlayerConnected(playerid))
                {
                    if(PlayerInfo[playerid][pJob] > 0)
                        {
                            if(PlayerInfo[playerid][pJob] == 17 && CP[playerid] != 0)
                                {
                                    CP[playerid] = 0;
                                        DisablePlayerCheckpoint(playerid);
                                }
                        format(string, sizeof(string), \"Munkaügyis átadja a felmondási lapot..\", sendername);
                                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        format(string, sizeof(string), \"Munkaügyis mondja: Rendben van %s a munkaviszonyát megszüntettük! További kellemes napot!\", sendername);
                                ProxDetector(30.0, playerid, string, COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
                                PlayerInfo[playerid][pJob] = 0;
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, \"Nincs munkád amibol felmondhatnál!\");
                        }
                }
                return 1;
        }

 
Valahol a mód végére:
 
forward felmondastimer(playerid);
public felmondastimer (playerid)
{
felmondido[playerid] = false;
}

 
Nem teszteltem de jónak kell lennie. Csak ezzel az a baj, hogyha kilép és visszalép, akkor nem mûködik.

Felmondási idõ
« Válasz #2 Dátum: 2014. Május 09. - 12:43:45 »
0
Mûködik!
Nagyon köszönöm! :)

Felmondási idõ
« Válasz #3 Dátum: 2014. Május 08. - 19:32:01 »
0
Sziasztok!
Ehhez a sripthez szeretnék egy timert kérni, hogy ha a játékos felvesz egy munkát akkor csak fél óra múlva tudjon felmondani.És ha lehet szerver újraindításkor ne kezdje újra a számlálást, bár ez annyira nem számít.
Felveszi a munkát:
 
   if(strcmp(cmd, \"/munkafelvesz\", true) == 0)
{
   if(GettingJob[playerid] > 0)
         {
           SendClientMessage(playerid, COLOR_WHITE, \"Fõnököd mondja: Rendben van a szerzõdést sikeressen megkötöttük! Jó munkát kívánok!\");
             PlayerInfo[playerid][pJob] = GettingJob[playerid];
        GettingJob[playerid] = 0;
        if(PlayerInfo[playerid][pJob] == 9)
        {
              SendClientMessage(playerid, COLOR_WHITE, \"INFÓ: Minnél többet goldozol annál több Exp-t kapsz a szintlépéshez!\");
        }
        if(PlayerInfo[playerid][pJob] == 17)
        {
              SendClientMessage(playerid, COLOR_WHITE, \"SEGÍTSÉG: Ha segítségre van szükséged /parancsok!\");
        }
        return 1;
       }
    else
    {
        SendClientMessage(playerid, COLOR_GREY, \"Már van munkád!\");
         return 1;
    }
}

 
Felmond:
 
   if(strcmp(cmd, \"/felmond\", true) == 0)
{
    if(IsPlayerConnected(playerid))
      {
    if(PlayerInfo[playerid][pJob] > 0)
   {
       if(PlayerInfo[playerid][pJob] == 17 && CP[playerid] != 0)
      {
          CP[playerid] = 0;
         DisablePlayerCheckpoint(playerid);
      }
             format(string, sizeof(string), \"Munkaügyis átadja a felmondási lapot..\", sendername);
      ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
             format(string, sizeof(string), \"Munkaügyis mondja: Rendben van %s a munkaviszonyát megszüntettük! További kellemes napot!\", sendername);
      ProxDetector(30.0, playerid, string, COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
      PlayerInfo[playerid][pJob] = 0;
   }
   else
   {
       SendClientMessage(playerid, COLOR_GREY, \"Nincs munkád amibõl felmondhatnál!\");
   }
}
return 1;
}

 
Elõre is nagyon köszi!

Nem elérhető doboka98

  • 1002
    • Profil megtekintése
Felmondási idõ
« Válasz #4 Dátum: 2014. Május 09. - 08:09:22 »
0
Mód elejére:
 
new bool: felmondasido[MAX_PLAYERS];

 
Felvesz parancsod:
 
if(strcmp(cmd, \"/munkafelvesz\", true) == 0)
        {
                if(GettingJob[playerid] > 0)
                {
      felmondasido[playerid] = true;
      SetTimerEx(\"felmondastimer\", 30*60*1000, false, \"i\", playerid);
                SendClientMessage(playerid, COLOR_WHITE, \"Fonököd mondja: Rendben van a szerzodést sikeressen megkötöttük! Jó munkát kívánok!\");
                PlayerInfo[playerid][pJob] = GettingJob[playerid];
                GettingJob[playerid] = 0;
                if(PlayerInfo[playerid][pJob] == 9)
                {
                        SendClientMessage(playerid, COLOR_WHITE, \"INFÓ: Minnél többet goldozol annál több Exp-t kapsz a szintlépéshez!\");
                }
                if(PlayerInfo[playerid][pJob] == 17)
                {
                        SendClientMessage(playerid, COLOR_WHITE, \"SEGÍTSÉG: Ha segítségre van szükséged /parancsok!\");
                }
                return 1;
        }
            else
            {
        SendClientMessage(playerid, COLOR_GREY, \"Már van munkád!\");
        return 1;
            }
        }

 
Felmond parancs:
 
if(strcmp(cmd, \"/felmond\", true) == 0)
        {
   if(felmondasido[playerid] == true) return SendClientMessage(playerid, -1, \"Csak fél órával a munkafelvétel után mondhatsz fel!\");
            if(IsPlayerConnected(playerid))
                {
                    if(PlayerInfo[playerid][pJob] > 0)
                        {
                            if(PlayerInfo[playerid][pJob] == 17 && CP[playerid] != 0)
                                {
                                    CP[playerid] = 0;
                                        DisablePlayerCheckpoint(playerid);
                                }
                        format(string, sizeof(string), \"Munkaügyis átadja a felmondási lapot..\", sendername);
                                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        format(string, sizeof(string), \"Munkaügyis mondja: Rendben van %s a munkaviszonyát megszüntettük! További kellemes napot!\", sendername);
                                ProxDetector(30.0, playerid, string, COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
                                PlayerInfo[playerid][pJob] = 0;
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, \"Nincs munkád amibol felmondhatnál!\");
                        }
                }
                return 1;
        }

 
Valahol a mód végére:
 
forward felmondastimer(playerid);
public felmondastimer (playerid)
{
felmondido[playerid] = false;
}

 
Nem teszteltem de jónak kell lennie. Csak ezzel az a baj, hogyha kilép és visszalép, akkor nem mûködik.

Felmondási idõ
« Válasz #5 Dátum: 2014. Május 09. - 12:43:45 »
0
Mûködik!
Nagyon köszönöm! :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal