Jump to content

[TUT][0.3]Cum sa poti cumpara tigari de la 24/7


Roach

Recommended Posts

Bun sa incepem!

Incepem punand pCigarettes la enum pInfo, daca nu il aveti puneti asa:

enum pInfo
{
pCigarettes,
};
new PlayerInfo[MAX_PLAYERS][pInfo];
Dar sunt sigur ca il aveti! Dupa ne ducem la public OnPlayerConnect Si punem la PlayerInfo
    PlayerInfo[playerid][pCigarettes] = 0;
Acum ne ducem la public OnPlayerDisconnect si punem
    if(IsSmoking[playerid] > 0)
    {
          if(IsSmoking[playerid] == 1)
          {
          new sendername[MAX_PLAYER_NAME];
          new string[256];
          GetPlayerName(playerid, sendername, sizeof(sendername));
          if(PlayerInfo[playerid][pSex] == 1) { format(string, sizeof(string), "* %s finishes his cigarette.", sendername); }
          else { format(string, sizeof(string), "* %s finishes her cigarette.", sendername); }
          ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
          new Float:PlayerHealth;
          GetPlayerHealth(playerid, PlayerHealth);
          SetPlayerHealth(playerid, PlayerHealth+7);
          ClearAnimations(playerid);
          }
    }
Pentru ca aceasta functie sa mearga!Punem la new...; new IsSmoking[MAX_PLAYERS]; Acum dam CTRL+F si cautam Fishes[playerid][pFishID] = 0; si adaugam IsSmoking[playerid] = 0; Cam asa:
Fishes[playerid][pFishID] = 0; IsSmoking[playerid] = 0;
Mergem la new si adaugam new cig = PlayerInfo[targetid][pCigarettes]; Daca vreti sa va apara si la /stats tigarile pe care le aveti faceti asa: CTRL+F si cautati Level:[%d](ca sa va fie mai usor de gasit)si dupa ultima adaugam Cigarettes:[%d] Sa fie cam asa:
format(coordsstring, sizeof(coordsstring), "Level:[%d] Sex:[%s] Age:[%d] Origin:[%s] SpawnHealth:[%.1f] Cash:[$%d] Bank:[$%d] Ph:[%d] Cigarettes:[%d]", level,atext,age,otext,shealth+50, cash, account, pnumber, cig);
Acum mergem la public OnPlayerRegister si inainte de fclose(hFile);(inainte cu o linie facem una noua) scriem:
            format(var, 32, "Cigarettes=%d\n",PlayerInfo[playerid][pCigarettes]);fwrite(hFile, var);
Acum mergem la public OnPlayerUpdate si facem la fel ca la OnPlayerRegister! Acum mergem la public OnPlayerLogin si punem asta:
if( strcmp( key , "Cigarettes" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCigarettes] = strval( val ); }
dar sa fie inainte de fclose adik inca intre parantezele{ } Bun acum sa facem comenzile! mergem sa zicem inainte la /healall si bagam asta:
    if(!strcmp(cmdtext, "/dropcigar", true)) // By Roach
    {
        if(IsPlayerConnected(playerid))
        {
            if(gPlayerLogged[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "   You need to login first !");
                return 1;
            }
            if(IsSmoking[playerid] > 0)
            {
                IsSmoking[playerid] = 0;
                GetPlayerName(playerid, sendername, sizeof(sendername));
                if(PlayerInfo[playerid][pSex] == 1) { format(string, sizeof(string), "* %s takes a cigarette from his mouth and drops it on the ground.", sendername); }
                else { format(string, sizeof(string), "* %s takes a cigarette from her mouth and drops it on the ground.", sendername); }
                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                ClearAnimations(playerid);
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   You are not even smoking ! ");
                return 1;
            }
        }
        return 1;
    }
    if(!strcmp(cmdtext, "/smokecigar", true)) // By Roach
    {
        if(IsPlayerConnected(playerid))
        {
            if(gPlayerLogged[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "   You need to login first !");
                return 1;
            }
            if(IsSmoking[playerid] == 0)
            {
                if(PlayerInfo[playerid][pCigarettes] == 0)
                {
                    SendClientMessage(playerid, COLOR_GREY, "   You don't have a cigarette to smoke ! ");
                    return 1;
                }
                new randsmoke = random(2)+1;
                if(randsmoke == 1)
                {
                    PlayerInfo[playerid][pCigarettes] -= 1;
                    IsSmoking[playerid] = 1;
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    if(PlayerInfo[playerid][pSex] == 1) { format(string, sizeof(string), "* %s takes out his lighter and cigarette and lights it up.", sendername); }
                    else { format(string, sizeof(string), "* %s takes out her lighter and cigarette and lights it up.", sendername); }
                    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SMOKE_CIGGY); // this will give player a cigar
                    SendClientMessage(playerid, COLOR_WHITE, "TIP: Poti da /dropcigar ca sa arunci tigara si apesi tasta F sau ENTER.");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   You are already smoking ! ");
                return 1;
            }
        }
        return 1;
    }
Acum facem in asa fel incat sa cumparam tigarile! mergem la /buysi dupa ultima chestie du cumparat ex:12.Frozzen Pizza. punem 13.Cigarettes. Acum sa facem asa:
            else if (item == numarul itemului(adica 13 sa zicem) && GetPlayerCash(playerid) > 30)
            {
                if(PlayerInfo[playerid][pCigarettes] >= 30)
                {
                    SendClientMessage(playerid, COLOR_GREY, "   You have to many Cigarettes, smoke it !");
                    return 1;
                }
                if(PlayerInfo[playerid][pTraderPerk] > 0)
                {
                    new skill = 30 / 10;
                    new price = (skill)*(PlayerInfo[playerid][pTraderPerk]);
                    new payout = 10 - price;
                    GivePlayerCash(playerid, - payout);
                    format(string, sizeof(string), "~r~-$%d", payout);
                    GameTextForPlayer(playerid, string, 5000, 1);
                }
                else
                {
                    GivePlayerCash(playerid, - 30);
                    format(string, sizeof(string), "~r~-$%d", 10);
                    GameTextForPlayer(playerid, string, 5000, 1);
                }
                PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                format(string, sizeof(string), "Cigarettes purchased.");
                SendClientMessage(playerid, COLOR_GRAD4, string);
                PlayerInfo[playerid][pCigarettes] += 10;
                return 1;
            }
A da si asta:
  else
         {
                SendClientMessage(playerid, COLOR_WHITE, "   You don't have the cash for that !");
            }

Trebuie sa fie ultima!

Scuzatimi explicatia dar nu am mai facut un tutorial pana acuma!

Sper sa va ajute;)

142sj0l.png

Underground-GFX

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.