Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: kim3205 poslato Oktobar 26, 2015, 02:03:10 PRE PODNE

Naslov: [Pomoc] Oko garaze novac
Poruka od: kim3205 poslato Oktobar 26, 2015, 02:03:10 PRE PODNE
Skripta koju koristim:BE by Jakisic
Detaljan opis problema:Kad kupim garazu ok kad prodam ostane garaza u -2314 i igrac dobije te pare umesto da oduzme igracu pare kad kupi garazu pogledaj te i slike i evo i komande  kupi/prodaj...I nece da mi se sacuvaju garaze kad ih kreiram napravio sam i ini i txt folder i ubacio u skript files posle restarta sve prazno iz foldere garaza.txt ili garaza.ini
PS:ovaj sistem koristim http://pastebin.com/RRAVNwC5 i ovo nisam dodao ako se ne varam da je problem CODE 1
U kom delu skripte trebam da dodam?

Dio skripte:
KUPI
[pawn]CMD:kupigarazu(playerid, params[])
{
    for(new i=0; i < garageCount+1; i++)
        {
                if(IsPlayerInRangeOfPoint(playerid, 3.0, gInfo[PosX], gInfo[PosY], gInfo[PosZ]))
                {
                        if(gInfo[Owned] == 1) return SendClientMessage(playerid, COLOR_ERROR,"Error: Ova garaza je vec kupljena.");
                        if(GetPlayerMoney(playerid) < gInfo[Price]) return SendClientMessage(playerid,COLOR_ERROR,"Error: Nemate dovoljno novca da kupite ovu garazu.");
                        GivePlayerMoney(playerid,-gInfo[Price]);
                        gInfo[Price]-= random(5000); //Take some money off of the original price
                        format(gInfo[Owner],24,"%s",GetPlayerNameEx(playerid));
                        gInfo[Owned] = 1;
                        Save_Garage(i);
                        UpdateGarageInfo(i);
                        SendClientMessage(playerid,COLOR_SUCCESS,"Uspesno ste kupili ovu garazu.");
                        return 1;
                }
        }
        SendClientMessage(playerid,COLOR_ERROR,"Error: Nisi blizu garaze!.");
        return 1;
}[/pawn]
PRODAJ
[pawn]CMD:prodajgarazu(playerid,params[])
{
        for(new i=0; i < garageCount+1; i++)
        {
                if(IsPlayerInRangeOfPoint(playerid, 3.0, gInfo[PosX], gInfo[PosY], gInfo[PosZ]))
        {
                        if(strcmp(gInfo[Owner],GetPlayerNameEx(playerid))) return SendClientMessage(playerid,COLOR_ERROR,"Error: Nisi vlasnik ove garaze.");
                        GivePlayerMoney(playerid,gInfo[Price]-random(500));
                        gInfo[Owned] = 0;
                        format(gInfo[Owner],24,"the State");
                        gInfo[Locked] = 1;
                        UpdateGarageInfo(i);
                        Save_Garage(i);
                        SendClientMessage(playerid, COLOR_SUCCESS,"Uspesno ste prodali svoju garazu.");
                        return 1;
                  }
        }
        SendClientMessage(playerid, COLOR_ERROR,"Nisi blizu garaze!.");
        return 1;
}[/pawn]
NAPRAVIGARAZU
[pawn]CMD:napravigarazu(playerid,params[])
{
        if(!IsPlayerAdmin(playerid)) return 0;
        if(garageCount == MAX_GARAGES) return SendClientMessage(playerid, COLOR_USAGE, "Presli ste limit pravljenja garaze podigni limit u skriptu.");
        new price, type;
        if(sscanf(params,"dd",price, type)) return SendClientMessage(playerid, COLOR_USAGE, "CMD: /napravigarazu <cena> <tip>  || Kucaj /garazatip da vidis tipove garaze.");
        new Float:X, Float:Y, Float:Z;
        GetPlayerPos(playerid, X,Y,Z);
        format(gInfo[garageCount][Owner],24,"the State");
        gInfo[garageCount][Owned] = 0;
        gInfo[garageCount][Price] = price;
        gInfo[garageCount][Interior] = type;
        gInfo[garageCount][UID] = garageCount;
        gInfo[garageCount][PosX] = X;
        gInfo[garageCount][PosY] = Y;
        gInfo[garageCount][PosZ] = Z;
        gInfo[garageCount][Locked] = 1;
        new path[128];
        format(path,sizeof(path),"garages/%d.ini",garageCount); //Format the path with the filenumber
        dini_Create(path);
        Save_Garage(garageCount);
        UpdateGarageInfo(garageCount);
        garageCount++;
        SendClientMessage(playerid,COLOR_SUCCESS,"Garaza je kreirana!");
        return 1;
}[/pawn]
CODE 1
[pawn]public OnFilterScriptExit()
{
        Save_Garages();
        Remove_PickupsAndLabels();
        return 1;
}[/pawn]
Neke slike/video za lakse dobivanje pomoci(neobavezno): http://imgur.com/a/PsMvg
Naslov: Odg: [Pomoc] Oko garaze novac
Poruka od: LuKsA poslato Oktobar 27, 2015, 02:28:16 PRE PODNE
Nisam proucavao nesto posebno kod, ali probaj maknit ovaj random kod kupovine a i prodaje, ili smanji broj jednostavno :).

Nisam siguran da li zelis da se mjenja cijena, da se random stavlja ili???
Naslov: Odg: [Pomoc] Oko garaze novac
Poruka od: [PL]KristijanS poslato Oktobar 27, 2015, 02:35:47 PRE PODNE
Umjesto "return 1;" stavi "break;" moras nekako petlju zatvorit, jer ovako provjerava sve garaze. Lako je sada ako si kreirao samo jednu garazu i kada provjerava kordinate. Negdje ces se zajebat gdje ce ti provjerit sve zivo i sve zivo zeznut.

Osim toga ako vec zelis RANDOM, napravi ovako nesto.

Umjesto ovoga: GivePlayerMoney(playerid,gInfo[Price]-random(500));

Ili ovo dodaj umjesto MINUSA ide PLUS ako zelis da se oduzme jos tih random 500 novaca, NPR garazu mozes prodat za 2000$ a sa PLUSOM random 500 NPR prodas je za 2340. Minus iskreno nigdje nisam ni vidio.

Ili probaj ovo: GivePlayerMoney(playerid,gInfo[Price]/2); Znaci da ce igrac dobit duplo manje para od kupovne cijene. NPR garaza je kostala 5000$ on ce je prodat za $2500.

A ako bas zelis svoj sistem ovako nes napravi:

[pawn]new Rand = random(500);
GivePlayerMoney(playerid,gInfo[Price]-Rand);[/pawn]

Naslov: Odg: [Pomoc] Oko garaze novac
Poruka od: LuKsA poslato Oktobar 27, 2015, 02:45:35 PRE PODNE
Citat: [PL]KristijanS poslato Oktobar 27, 2015, 02:35:47 PRE PODNE
Umjesto "return 1;" stavi "break;" moras nekako petlju zatvorit, jer ovako provjerava sve garaze. Lako je sada ako si kreirao samo jednu garazu i kada provjerava kordinate. Negdje ces se zajebat gdje ce ti provjerit sve zivo i sve zivo zeznut.

Osim toga ako vec zelis RANDOM, napravi ovako nesto.

Umjesto ovoga: GivePlayerMoney(playerid,gInfo[Price]-random(500));

Ili ovo dodaj umjesto MINUSA ide PLUS ako zelis da se oduzme jos tih random 500 novaca, NPR garazu mozes prodat za 2000$ a sa PLUSOM random 500 NPR prodas je za 2340. Minus iskreno nigdje nisam ni vidio.

Ili probaj ovo: GivePlayerMoney(playerid,gInfo[Price]/2); Znaci da ce igrac dobit duplo manje para od kupovne cijene. NPR garaza je kostala 5000$ on ce je prodat za $2500.

A ako bas zelis svoj sistem ovako nes napravi:

[pawn]new Rand = random(500);
GivePlayerMoney(playerid,gInfo[Price]-Rand);[/pawn]



+ http://wiki.sa-mp.com/wiki/Control_Structures#return malo prostudiraj :)
Naslov: Odg: [Pomoc] Oko garaze novac
Poruka od: [PL]KristijanS poslato Oktobar 27, 2015, 02:48:22 PRE PODNE
Ako on ima na serveru kreirano 1000 garaza. Posto ovdje NPR kod prodaje provjerava kordinate uradit ce skripta samo za tu garazu gdje se igrac nalazi.

ALI

Od 1000 garaza ako je igrac na garazi broj 240 (PRIMJER) i ako doda "break;" Petlja ce zavrsit na garazi broj 240 nece dalje provjeravat???

A sa return provjerit ce svih 1000 garaza!

ALI OK petlja ovdje nije nista sjebala, nek ovaj giveplayermoney popravi kako sam mu napisao
Naslov: Odg: [Pomoc] Oko garaze novac
Poruka od: LuKsA poslato Oktobar 27, 2015, 02:50:42 PRE PODNE
Citat: [PL]KristijanS poslato Oktobar 27, 2015, 02:48:22 PRE PODNE
Ako on ima na serveru kreirano 1000 garaza. Posto ovdje NPR kod prodaje provjerava kordinate uradit ce skripta samo za tu garazu gdje se igrac nalazi.

ALI

Od 1000 garaza ako je igrac na garazi broj 240 (PRIMJER) i ako doda "break;" Petlja ce zavrsit na garazi broj 240 nece dalje provjeravat???

A sa return provjerit ce svih 1000 garaza!

ALI OK petlja ovdje nije nista sjebala, nek ovaj giveplayermoney popravi kako sam mu napisao


Ma znam, ti si u pravu, nije bio ovaj moj zadnji post namjenjem tebi vec autoru teme :)
Naslov: Odg: [Pomoc] Oko garaze novac
Poruka od: [PL]KristijanS poslato Oktobar 27, 2015, 02:54:44 PRE PODNE
Citat: LuKsA poslato Oktobar 27, 2015, 02:50:42 PRE PODNE
Citat: [PL]KristijanS poslato Oktobar 27, 2015, 02:48:22 PRE PODNE
Ako on ima na serveru kreirano 1000 garaza. Posto ovdje NPR kod prodaje provjerava kordinate uradit ce skripta samo za tu garazu gdje se igrac nalazi.

ALI

Od 1000 garaza ako je igrac na garazi broj 240 (PRIMJER) i ako doda "break;" Petlja ce zavrsit na garazi broj 240 nece dalje provjeravat???

A sa return provjerit ce svih 1000 garaza!

ALI OK petlja ovdje nije nista sjebala, nek ovaj giveplayermoney popravi kako sam mu napisao


Ma znam, ti si u pravu, nije bio ovaj moj zadnji post namjenjem tebi vec autoru teme :)

Onda se ispricavam!
Naslov: Odg: [Pomoc] Oko garaze novac
Poruka od: LuKsA poslato Oktobar 27, 2015, 03:04:05 PRE PODNE
Haha ma nista, nemas se za sta ispricavati :)
Naslov: Odg: [Pomoc] Oko garaze novac
Poruka od: kim3205 poslato Oktobar 27, 2015, 21:01:21 POSLE PODNE
Resio sam ovo na neki svoj nacin,sad je problem kako da napravim kad na server kreiram garazu ne sacuva mi se posle restarta ?
Naslov: Odg: [Pomoc] Oko garaze novac
Poruka od: m1lfman poslato Oktobar 27, 2015, 21:13:42 POSLE PODNE
Citat: â˜... ᴘɪɴᴋɪ â˜... poslato Oktobar 27, 2015, 21:01:21 POSLE PODNE
Resio sam ovo na neki svoj nacin,sad je problem kako da napravim kad na server kreiram garazu ne sacuva mi se posle restarta ?
Pa stavi pod OnGameModeExit da ti sacuva garaze.
Naslov: Odg: [Pomoc] Oko garaze novac
Poruka od: kim3205 poslato Oktobar 27, 2015, 22:08:16 POSLE PODNE
moze lock