Jump to content
  • 0

Ajutor - Job (backpack)


Question

Posted (edited)

Salut cum as putea sa fac si eu daca ai backpack sa poti da de 2 ori fish si sa dai de 2 ori work doar la jobul farmer?

Gamemode BURNED

Mersi!

Edited by Venox

3 answers to this question

Recommended Posts

  • 0
Posted

In general pui o restrictie la /work respectiv la /fish.

If(PlayerInfo[playerid][pBackpack] != 0)

{

if(PlayerInfo[playerid][JobsFacuteAzi] > 2) return SCM(playerid, COLOR_ERROR, "Nu poti face mai mult de 2 misiuni daca ai ghiozdanul pus!");

 //comanda ta aici

}

else

{

//comanda ta aici

}

PlayerInfo[playerid][JobsFacuteAzi]  variabila asta verifica cate jobs ai facut cu backpack on. O pui fie sa se reseteze la onplayerconnect, fie o salvezi si in baza de date si o resetezi la o ora anume/player login. Nu cred ca exista o asemenea variabila pe burned, deci va trebui sa faci una noua.

PlayerInfo[playerid][JobsFacuteAzi] ++; //asta pui la farmer/fish la finalul jobului.

  • Thanks 1
  • 0
Posted

CMD:fish(playerid, params[]) {
    if(PlayerInfo[playerid][pJob] != 11) return SCM(playerid, COLOR_GREY, "Nu esti pescar!");
    if(!PlayerToPoint(125.0, playerid,  2294.1890, 533.5755, 1.8655)) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu esti intr-o locatie buna!");
    if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu poti aceasta comanda dintr-un vehicul!");
    if(HaveFish[playerid] != 0) return SCM(playerid, -1, "Ai prins deja un peste! Du-te si vinde-l la unul dintre magazinele 24/7.");
    if(StartFish[playerid] == 1) return 1;
    if(Undita[playerid] == 0) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu ai o undita!");
    if(Momeala[playerid] == 0) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu ai momeala!");
    GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~n~~w~YOU'RE FISHING NOW...",15000,3);
    SetTimerEx("Fish", 15000, 0, "d", playerid);
    TogglePlayerControllable(playerid, 0);
    ApplyAnimation(playerid, "SAMP", "FishingIdle", 3.0,1,1,0,0,0);
    SetPlayerAttachedObject(playerid, 0, 18632,6,0.079376,0.037070,0.007706,181.482910,0.000000,0.000000,1.000000,1.000000,1.000000);
    StartFish[playerid] = 1;
    Freezed[playerid] = 1;
    Momeala[playerid] --;
    return 1;
}

function Fish(playerid) {
    new x, string[180];
    if(!IsPlayerConnected(playerid)) return 1;
    if(PlayerInfo[playerid][pJob] == 11) {
        StartFish[playerid] = 0;
        TogglePlayerControllable(playerid, 1);
        Freezed[playerid] = 0;        
        RemovePlayerAttachedObject(playerid, 0);
        if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu poti pescui dintr-un vehicul!");            
        
        x = 7 + random(13);
        new rar = random(500);
        new need = 15*GetPlayerSkill(playerid);
        if(rar >= 495) HaveFish[playerid] = 0;
        else HaveFish[playerid] += x;
        
        if(rar >= 495) {    
            format(string, sizeof(string), "* %s a prins un rechin.", GetName(playerid), FormatNumber(x));
            NearMessage(playerid, COLOR_PURPLE, string);    
            SetPlayerHealth(playerid, 0);
            x = 0;
        }
        else {
            if(HaveFish[playerid] < need) {
                format(string, sizeof(string), "Pentru a putea vinde pestii, iti mai trebuie %d kg.", need-HaveFish[playerid]);
                SCM(playerid, -1, string);
            }
            format(string, sizeof(string), "* %s a prins un peste de %d kg.", GetName(playerid), x);
            NearMessage(playerid, COLOR_PURPLE, string);                
        }    
        if(PlayerInfo[playerid][pMember] == 0) {
            for(new m; m < 2; m++) {
                if(PlayerInfo[playerid][pDailyMission][m] == 15 || PlayerInfo[playerid][pDailyMission][m] == 16) CheckMission(playerid, m);
            }                    
        }
        for(new m; m < 2; m++) {
            if(PlayerInfo[playerid][pDailyMission][m] == 2) CheckMission(playerid, m);
        }        
    }
    return 1;
}

 

ASTA ESTE COMANDA

  • 0
Posted
CMD:fish(playerid, params[]) {
    if(PlayerInfo[playerid][pJob] != 11) return SCM(playerid, COLOR_GREY, "Nu esti pescar!");
    if(!PlayerToPoint(125.0, playerid,  2294.1890, 533.5755, 1.8655)) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu esti intr-o locatie buna!");
    if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu poti aceasta comanda dintr-un vehicul!");
    if(HaveFish[playerid] != 0) return SCM(playerid, -1, "Ai prins deja un peste! Du-te si vinde-l la unul dintre magazinele 24/7.");
    if(StartFish[playerid] == 1) return 1;
    if(Undita[playerid] == 0) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu ai o undita!");
    if(Momeala[playerid] == 0) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu ai momeala!");
    if(PlayerInfo[playerid][pBackpack] == 1)
    {
        if(PlayerInfo[playerid][pBackpackJobs] > 2) return SCM(playerid, COLOR_LGREEN, "Nu poti face mai mult de 2 misiuni cu ghiozdanul activ!")
        GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~n~~w~YOU'RE FISHING NOW...",15000,3);
        SetTimerEx("Fish", 15000, 0, "d", playerid);
        TogglePlayerControllable(playerid, 0);
        ApplyAnimation(playerid, "SAMP", "FishingIdle", 3.0,1,1,0,0,0);
        SetPlayerAttachedObject(playerid, 0, 18632,6,0.079376,0.037070,0.007706,181.482910,0.000000,0.000000,1.000000,1.000000,1.000000);
        StartFish[playerid] = 1;
        Freezed[playerid] = 1;
        Momeala[playerid] --;
    }
    else
    {
        GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~n~~w~YOU'RE FISHING NOW...",15000,3);
        SetTimerEx("Fish", 15000, 0, "d", playerid);
        TogglePlayerControllable(playerid, 0);
        ApplyAnimation(playerid, "SAMP", "FishingIdle", 3.0,1,1,0,0,0);
        SetPlayerAttachedObject(playerid, 0, 18632,6,0.079376,0.037070,0.007706,181.482910,0.000000,0.000000,1.000000,1.000000,1.000000);
        StartFish[playerid] = 1;
        Freezed[playerid] = 1;
        Momeala[playerid] --;
    }
    return 1;
}

function Fish(playerid) {
    new x, string[180];
    if(!IsPlayerConnected(playerid)) return 1;
    if(PlayerInfo[playerid][pJob] == 11) {
        StartFish[playerid] = 0;
        TogglePlayerControllable(playerid, 1);
        Freezed[playerid] = 0;        
        RemovePlayerAttachedObject(playerid, 0);
        if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu poti pescui dintr-un vehicul!");            
        
        x = 7 + random(13);
        new rar = random(500);
        new need = 15*GetPlayerSkill(playerid);
        if(rar >= 495) HaveFish[playerid] = 0;
        else HaveFish[playerid] += x;
        
        if(rar >= 495) {    
            format(string, sizeof(string), "* %s a prins un rechin.", GetName(playerid), FormatNumber(x));
            NearMessage(playerid, COLOR_PURPLE, string);    
            SetPlayerHealth(playerid, 0);
            x = 0;
        }
        else {
            if(HaveFish[playerid] < need) {
                format(string, sizeof(string), "Pentru a putea vinde pestii, iti mai trebuie %d kg.", need-HaveFish[playerid]);
                SCM(playerid, -1, string);
            }
            format(string, sizeof(string), "* %s a prins un peste de %d kg.", GetName(playerid), x);
            NearMessage(playerid, COLOR_PURPLE, string);                
        }    
        if(PlayerInfo[playerid][pMember] == 0) {
            for(new m; m < 2; m++) {
                if(PlayerInfo[playerid][pDailyMission][m] == 15 || PlayerInfo[playerid][pDailyMission][m] == 16) CheckMission(playerid, m);
            }                    
        }
        for(new m; m < 2; m++) {
            if(PlayerInfo[playerid][pDailyMission][m] == 2) CheckMission(playerid, m);
        }
        if(PlayerInfo[playerid][pBackpack] == 1)
            PlayerInfo[playerid][pBackpackJobs] ++;
    }
    return 1;
}

 

Trebuie sa definesti variabila pbackpackjobs. Du-te la enum playerinfo si adauga pBackpackJobs.

1. Variabila va trebui resetata dupa cum am spus. Ori pui intr-un timer ca la ora x sa se reseteze la toti playeri variabila(din mysql). Aceasta varianta iti permite ca jucatorul acela sa poata face 2 misiuni cu ghiozdan activ/zi.

2. Variabila va trebui resetata la onplayerconnect. Aceasta varianta iti permite ca jucatorul acela sa poata face 2 misiuni cu ghiozdan activ dupa fiecare conectare pe server.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.