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: new [Adamx>];64 - 2017. Május 01. - 11:02:19

Cím: Munkafizetés
Írta: new [Adamx>];64 - 2017. Május 01. - 11:02:19
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;
}
Cím: Munkafizetés
Írta: TengeriMalac - 2017. Május 03. - 08:18:25
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;
}

 
 
Cím: Munkafizetés
Írta: kos - 2017. Július 08. - 11:18:17
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;
Cím: Munkafizetés
Írta: kos - 2017. Július 08. - 11:36:31

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