Jump to content
  • 0

Problema seif si /order


cobalt_thekiller

Question

Salut incerc si eu sa adaug in baza de date seif pt factiuni si cand la sFactionID pun id-ul 5(Los Aztecas) si in joc apare Seiful Factiunii Los Santons Police Departament dar merge sa dau /fdepsoit si cand pun materiale si bani si dau /order imi zice ai primit 0 si arme si ai dat 0 materiale si $0.

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Salut @cobalt_thekiller,

In primul rand, ai putea detecta factiunea in functie de id-ul din baza de date. Spre exemplu, daca seiful are id 1, inseamna ca e seiful factiunii LSPD, daca are id 5, e seiful mafiei Aztecas. Asta e doar un sfat si probabil o medota de rezolvare a problemelor tale.

Cat despre restul, ai oferit prea putine informatii sa primesti un raspuns. Pe viitor, adauga scripturile folosite spre exemplu, sau ofere niste detalii din care sa inteleaga membrii. Exemplu de informatii necesare pentru problema ta: comanda /order, functia care incarca datele din baza pentru seifuri, comanda /fdeposit, locul in care se creaza textele si / sau obiectele seifului, etc.

Edited by shane

Daca te-am ajutat =>

spacer.png

Link to comment
Share on other sites

  • 0
6 minutes ago, shane said:

Salut @cobalt_thekiller,

In primul rand, ai putea detecta factiunea in functie de id-ul din baza de date. Spre exemplu, daca seiful are id 1, inseamna ca e seiful factiunii LSPD, daca are id 5, e seiful mafiei Aztecas. Asta e doar un sfat si probabil o medota de rezolvare a problemelor tale.

Cat despre restul, ai oferit prea putine informatii sa primesti un raspuns. Pe viitor, adauga scripturile folosite spre exemplu, sau ofere niste detalii din care sa inteleaga membrii. Exemplu de informatii necesare pentru problema ta: comanda /order, functia care incarca datele din baza pentru seifuri, comanda /fdeposit, locul in care se creaza textele si / sau obiectele seifului, etc.

Salut ok acum pun aici si sper ca o sa ma poti ajuta :)

 

YCMD:fdeposit(playerid, params[], help) {
    for(new s = 0; s < sizeof(SafeInfo); s++) {
        if(!PlayerToPoint(5, playerid, SafeInfo[s][sPosX], SafeInfo[s][sPosY], SafeInfo[s][sPosZ]))
            continue;

        if(PlayerInfo[playerid][pMember] != SafeInfo[s][sFactionID])
            continue;

        if(TradeID[playerid] != -1) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu poti folosi aceasta comanda atata timp cat esti implicat intr-o afacere!");
        SeifID[playerid] = PlayerInfo[playerid][pMember]-1;
        ShowPlayerDialog(playerid, DIALOG_FDEPOSIT, DIALOG_STYLE_LIST, "Faction deposit", "Money\nMaterials\nDrugs", "Ok", "Exit");
    }
    return true;
}

        case DIALOG_FDEPOSIT: {
            if(!response) return true;
            switch(listitem) {
                case 0: {
                    ShowPlayerDialog(playerid, DIALOG_FDEPOSIT+1, DIALOG_STYLE_INPUT, "Deposit", "Scrie suma de bani pe care vrei sa o depozitezi putin mai jos!", "Select", "Inapoi");
                }
                case 1: {
                    ShowPlayerDialog(playerid, DIALOG_FDEPOSIT+1, DIALOG_STYLE_INPUT, "Deposit", "Scrie suma de materiale pe care vrei sa o depozitezi putin mai jos!", "Select", "Inapoi");
                }
                case 2: {
                    ShowPlayerDialog(playerid, DIALOG_FDEPOSIT+1, DIALOG_STYLE_INPUT, "Deposit", "Scrie suma de droguri pe care vrei sa o depozitezi putin mai jos!", "Select", "Inapoi");
                }
            }
            SelectedItem[playerid] = listitem;
        }
        case DIALOG_FDEPOSIT+1: {
            if(!response) {
                ShowPlayerDialog(playerid, DIALOG_FDEPOSIT, DIALOG_STYLE_LIST, "Faction deposit", "Money\nMaterials\nDrugs", "Ok", "Exit");
                return true;
            }
            switch(SelectedItem[playerid]) {
                case 0: {
                    if(PlayerMoney(playerid, strval(inputtext)) || strval(inputtext) <= 0) return SCM(playerid, COLOR_WHITE, "* Suma invalida!");
                    SafeInfo[SeifID[playerid]][sMoney] += strval(inputtext);
                    GivePlayerCash(playerid, 0, strval(inputtext));
                    format(string, sizeof(string), "* %s a depozitat $%s in seiful factiunii.", GetName(playerid), FormatNumber(strval(inputtext)));
                    SendFactionMessage(PlayerInfo[playerid][pMember], COLOR_LIGHTBLUE, string);    
                }
                case 1: {
                    if(PlayerInfo[playerid][pMats] < strval(inputtext) || strval(inputtext) <= 0) return SCM(playerid, COLOR_WHITE, "* Suma invalida!");
                    SafeInfo[SeifID[playerid]][sMaterials] += strval(inputtext);
                    PlayerInfo[playerid][pMats] -= strval(inputtext);
                    format(string, sizeof(string), "* %s a depozitat %s materiale in seiful factiunii.", GetName(playerid), FormatNumber(strval(inputtext)));
                    SendFactionMessage(PlayerInfo[playerid][pMember], COLOR_LIGHTBLUE, string);    
                    UpdateVar(playerid, "Materials", PlayerInfo[playerid][pMats]);
                }
                case 2: {
                    if(PlayerInfo[playerid][pDrugs] < strval(inputtext) || strval(inputtext) <= 0) return SCM(playerid, COLOR_WHITE, "* Suma invalida!");
                    SafeInfo[SeifID[playerid]][sDrugs] += strval(inputtext);
                    PlayerInfo[playerid][pDrugs] -= strval(inputtext);
                    UpdateVar(playerid, "Drugs", PlayerInfo[playerid][pDrugs]);
                    format(string, sizeof(string), "* %s a depozitat %s droguri in seiful factiunii.", GetName(playerid), FormatNumber(strval(inputtext)));
                    SendFactionMessage(PlayerInfo[playerid][pMember], COLOR_LIGHTBLUE, string);        
                }            
            }
            SaveSeif(SeifID[playerid]);    
        }

 

YCMD:order(playerid, params[], help) {
    if(PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11) {
        new result[30];
        if(!PlayerToPoint(100, playerid, -2158.6482,642.3111,1052.3750)) return SCM(playerid, COLOR_GREY, "Nu esti in HQ!");
        if(sscanf(params, "s[30]", result)) {
            SCM(playerid, COLOR_GREY, "USAGE: {FFFFFF}/order <id>");
            SCM(playerid, COLOR_WHITE, "1. Knife (10 $) | 2. SD-Pistol (100 $) | 3. Sniper (200 $)");
            return true;
        }
        if(PlayerInfo[playerid][pGunLic] == 0) return SCM(playerid,-1,"Nu ai licenta de arme!");
        if(strcmp(result,"1",true) == 0) {
            if(PlayerMoney(playerid, 10)) return true;
            ServerWeapon(playerid, 4, 200);
            SCM(playerid, COLOR_MONEY, "Ti-ai cumparat un cutit la pretul de 10$.");
            GivePlayerCash(playerid, 0, 10);
            return true;
        }
        else if(strcmp(result,"2",true) == 0) {
            if(PlayerMoney(playerid, 100)) return true;
            ServerWeapon(playerid, 23, 200);
            SCM(playerid, COLOR_MONEY, "Ti-ai cumparat un SD-Pistol la pretul de 100$.");
            GivePlayerCash(playerid, 0, 100);
            return true;
        }
        else if(strcmp(result,"3",true) == 0) {
            if(PlayerMoney(playerid, 200)) return true;
            ServerWeapon(playerid, 34, 200);
            SCM(playerid, COLOR_MONEY, "Ti-ai cumparat un Sniper la pretul de 200$.");
            GivePlayerCash(playerid, 0, 200);
            return true;
        }
        else return SCM(playerid, COLOR_GREY, "Invalid id!");
    }    
    if(!IsMafie(playerid)) return SCM(playerid, COLOR_GREY, "Nu esti membrul unei mafii.");
    if(PlayerInfo[playerid][pGunLic] == 0) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu ai licenta de arme.");
    if(GetPlayerInterior(playerid) == 0) return SCM(playerid, COLOR_WHITE,"Nu esti in HQ.");
    if(!IsAtOrderPlace(playerid)) return true;
    new x = PlayerInfo[playerid][pMember]-1, var[3];

    if(SafeInfo[x][sMaterials] < ValueMafie[0][1] && SafeInfo[x][sMoney] < ValueMafie[0][0])
        return SCM(playerid, COLOR_GREY, "Nu ai materiale sau bani de ajuns.");

    for(new i = 0; i < 5; i++) {
        if(SafeInfo[x][sMaterials] < ValueMafie[i][1] && SafeInfo[x][sMoney] < ValueMafie[i][0] || !PlayerInfo[playerid][pGuns][i])
            continue;

        SafeInfo[x][sMaterials] -= ValueMafie[i][1];
        SafeInfo[x][sMoney] -= ValueMafie[i][0];
        ServerWeapon(playerid, GunMafieID[0][i], 60);
        var[0] ++;
        var[1] += ValueMafie[i][1];
        var[2] += ValueMafie[i][0];
    }
    SaveSeif(x);
    format(gString, 100, "(/order) {FFFFFF}Ai primit %d arme si ai dat %s materiale si $%s.", var[0], FormatNumber(var[1]), FormatNumber(var[2]));
    SCM(playerid, COLOR_LGREEN, gString);        
    return true;
}

function IsMafie(playerid) return PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pLeader] == 10 ? (true) : (false);

Si faza cu seif din baza de date am dat delete de multe ori a avut id 1,2,3 si acm 4 dar tot apare lspd si am delete si acum nu mai este nici un safe in baza de date

Link to comment
Share on other sites

  • 0
6 minutes ago, hanako said:

du-te in baza de date la query si scrie TRUNCATE numeletabelului;

ce sa scriu? TRUNCATE seif(asa se numete in baza de date) sau ce?

cand dau click pe safe imi apare asa 

sID sFactionID sPosX sPosY sPosZ sMoney sDrugs sMaterials sVirtualID

Edited by cobalt_thekiller
gresire
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.