Szerző Téma: Munkafizetés  (Megtekintve 917 alkalommal)

Munkafizetés
« Dátum: 2017. Május 01. - 11:02:19 »
0
Sziasztok. Elmúlt időben irtam egy kis munkafizetés scriptet, és nem vagyok benne biztos, hogy jó-e. Szerintetek jól oldottam meg?
 
new munkapénz = 50 + random(160);
 
enum pInfo
 
{
 
    PlayerInfo
 
    pBankAccount
 
}
 
 
 
    if(IsPlayerInRangeOfPoint(playerid, 10, -382.5363,-1426.1783,26.2084)) // Ha utolsó CP-hez ér
     {
        new string[256];
         new vehicleid = GetPlayerVehicleID(playerid);
         DisablePlayerCheckpoint(playerid);
        SendClientMessage(playerid, COLOR_GREY, \"[TESZT MUNKA]Szép volt! Itt a jutalmad. Használd egézséggel.\");
        SendClientMessage(playerid, COLOR_PURPLE,\"[TESZT MUNKA]Kaptál egy kenyérre való pénzt.\");
        PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
        SetVehicleToRespawn(vehicleid);
        PlayerInfo[playerid][pBankAccount] += munkapenz;
 
         format(string, sizeof(string), \"~w~Fizetés! ~n~Összege:~g~$%d\", randcheck);
 
        GameTextForPlayer(playerid, string, 3000, 1);
    }
    return 1;
}
« Utoljára szerkesztve: 2017. Május 01. - 11:03:03 írta new [Adamx>];64 »

Munkafizetés
« Válasz #1 Dátum: 2017. Május 03. - 08:18:25 »
0
ha az elején adsz neki értéket, globálisan, akkor mindig fix összeget fog adni.. 
a másik, hogy mivel nem írtad hol van az IsPlayerInRangeOfPoint, ezért nem tudjuk hogy rakod..
 
a harmadik, hogy nem használtál CODE taget, így átláthatatlan a kódod, illetve zavaró is.. 
 
nem ellenőrizted, hogy autóban van-e az ember, így a kódod lehet hibás. 
 

enum pInfo
{
    PlayerInfo
    pBankAccount
}
 
    if(IsPlayerInRangeOfPoint(playerid, 10, -382.5363,-1426.1783,26.2084)) // Ha utolsó CP-hez ér
{
    if(!IsPlayerInAnyVehicle(playerid)) return 1;
        new string[256],
            munkapenz = 50 + random(160);
   DisablePlayerCheckpoint(playerid);
        SendClientMessage(playerid, COLOR_GREY, \"[TESZT MUNKA]Szép volt! Itt a jutalmad. Használd egézséggel.\");
        SendClientMessage(playerid, COLOR_PURPLE,\"[TESZT MUNKA]Kaptál egy kenyérre való pénzt.\");
        PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
        SetVehicleToRespawn(GetPlayerVehicleID(playerid));
        PlayerInfo[playerid][pBankAccount] += munkapenz;
   format(string, sizeof(string), \"~w~Fizetés! ~n~Összege:~g~$%d\", randcheck);
        GameTextForPlayer(playerid, string, 3000, 1);
    }
    return 1;
}

 
 

Nem elérhető kos

  • 292
    • Profil megtekintése
Munkafizetés
« Válasz #2 Dátum: 2017. Július 08. - 11:18:17 »
0
Idézetet írta: TengeriMalac date=1493792305


   
      ha az elején adsz neki értéket, globálisan, akkor mindig fix összeget fog adni.. 
      a másik, hogy mivel nem írtad hol van az IsPlayerInRangeOfPoint, ezért nem tudjuk hogy rakod..
   
   
      a harmadik, hogy nem használtál CODE taget, így átláthatatlan a kódod, illetve zavaró is.. 
   
   
      nem ellenőrizted, hogy autóban van-e az ember, így a kódod lehet hibás. 
   
   

enum pInfo
{
    PlayerInfo
    pBankAccount
}
 
    if(IsPlayerInRangeOfPoint(playerid, 10, -382.5363,-1426.1783,26.2084)) // Ha utolsó CP-hez ér
{
    if(!IsPlayerInAnyVehicle(playerid)) return 1;
        new string[256],
            munkapenz = 50 + random(160);
   DisablePlayerCheckpoint(playerid);
        SendClientMessage(playerid, COLOR_GREY, \"[TESZT MUNKA]Szép volt! Itt a jutalmad. Használd egézséggel.\");
        SendClientMessage(playerid, COLOR_PURPLE,\"[TESZT MUNKA]Kaptál egy kenyérre való pénzt.\");
        PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
        SetVehicleToRespawn(GetPlayerVehicleID(playerid));
        PlayerInfo[playerid][pBankAccount] += munkapenz;
   format(string, sizeof(string), \"~w~Fizetés! ~n~Összege:~g~$%d\", randcheck);
        GameTextForPlayer(playerid, string, 3000, 1);
    }
    return 1;
}

   
       
   


ez mind szép és jó, de ha le fogja menteni, már pedig azért enum tagot használ, akkor helytelen a kivitelezés..
 
enum pInfo{pBankAccount};
 
new PlayerInfo[MAX_PLAYERS][pInfo];
 
PlayerInfo[playerid][pBankAccount] += munkapenz;

Nem elérhető kos

  • 292
    • Profil megtekintése
Munkafizetés
« Válasz #3 Dátum: 2017. Július 08. - 11:36:31 »
0

//szerény véleményem ezt hamar cseréld le :D
munkapenz = 50+random(160);
//erre
new munkapenz = jutalom(100,160);
stock jutalom(min, max){return random(max - min) + min;}
//szerintem jobb ha a 160-ból nem +1 értéket kap, hanem minimum 100-at

 
 

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal