Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- FS izradio Aleksandar?
- datuma 12.08.2011.
- */
- #include "a_samp"
- #include "djson"
- #include "zcmd"
- #include "sscanf2"
- #define Dialog_Firme 1000
- #define Max_Firmi 200
- new fajlfirme[32];
- new Label[128];
- enum Firma
- {
- VlasnikFirme[20],
- ImeFirme[24],
- FirmaNaProdaju,
- CenaFirme,
- LevelFirme,
- PickupFirme,
- Float:IzlazXFirme,
- Float:IzlazYFirme,
- Float:IzlazZFirme,
- Float:IntXFirme,
- Float:IntYFirme,
- Float:IntZFirme,
- IntIDFirme,
- VWFirme,
- Text3D:LabelFirme,
- PareVlasnika
- };
- new InfoFirme[Max_Firmi][Firma];
- main(){}
- public OnFilterScriptInit()
- {
- djson_GameModeInit();
- for(new f = 0; f <= Max_Firmi; f++)
- {
- UcitajFirme(f);
- }
- printf("FS izradio Aleksandar?");
- return true;
- }
- public OnFilterScriptExit()
- {
- djson_GameModeExit();
- return true;
- }
- public OnPlayerConnect(playerid)
- {
- SetPVarInt(playerid,"Varijabla",-1);
- return true;
- }
- stock UcitajFirme(f)
- {
- format(fajlfirme, sizeof(fajlfirme), "/Firme/%d.json", f);
- if(fexist(fajlfirme))
- {
- format(InfoFirme[f][VlasnikFirme], 20, "%s", dj(fajlfirme, "Vlasnik", 20));
- format(InfoFirme[f][ImeFirme], 20, "%s", dj(fajlfirme, "ImeFirme", 20));
- InfoFirme[f][FirmaNaProdaju]= djInt(fajlfirme, "Na_Prodaju");
- InfoFirme[f][CenaFirme] = djInt(fajlfirme, "Cena");
- InfoFirme[f][LevelFirme] = djInt(fajlfirme, "Level");
- InfoFirme[f][IzlazXFirme] = djFloat(fajlfirme, "X");
- InfoFirme[f][IzlazYFirme] = djFloat(fajlfirme, "Y");
- InfoFirme[f][IzlazZFirme] = djFloat(fajlfirme, "Z");
- InfoFirme[f][IntXFirme] = djFloat(fajlfirme, "IntXFirme");
- InfoFirme[f][IntYFirme] = djFloat(fajlfirme, "IntYFirme");
- InfoFirme[f][IntZFirme] = djFloat(fajlfirme, "IntZFirme");
- InfoFirme[f][IntIDFirme] = djInt(fajlfirme, "IntIDFirme");
- InfoFirme[f][VWFirme] = djInt(fajlfirme, "VW");
- InfoFirme[f][PareVlasnika] = djInt(fajlfirme, "Novac_Vlasnika");
- if(InfoFirme[f][FirmaNaProdaju] == 1)
- {
- InfoFirme[f][PickupFirme] = CreatePickup(1273, 23, InfoFirme[f][IzlazXFirme], InfoFirme[f][IzlazYFirme], InfoFirme[f][IzlazZFirme]);
- format(Label, sizeof(Label), "Ime firme:%s \nVlasnik:%s \nCena: $%i\n Level: %i",InfoFirme[f][ImeFirme],InfoFirme[f][VlasnikFirme],InfoFirme[f][CenaFirme],InfoFirme[f][LevelFirme]);
- InfoFirme[f][LabelFirme] = Create3DTextLabel(Label,-1,InfoFirme[f][IzlazXFirme], InfoFirme[f][IzlazYFirme], InfoFirme[f][IzlazZFirme]+1,30.0,0,1);
- }
- else
- {
- InfoFirme[f][PickupFirme] = CreatePickup(1272,23, InfoFirme[f][IzlazXFirme], InfoFirme[f][IzlazYFirme], InfoFirme[f][IzlazZFirme]);
- format(Label, sizeof(Label), "Ime firme:%s \nVlasnik:%s\n Level: %i",InfoFirme[f][ImeFirme],InfoFirme[f][VlasnikFirme],InfoFirme[f][LevelFirme]);
- InfoFirme[f][LabelFirme] = Create3DTextLabel(Label,-1,InfoFirme[f][IzlazXFirme], InfoFirme[f][IzlazYFirme], InfoFirme[f][IzlazZFirme]+1,30.0,0,1);
- }
- }
- return ;
- }
- stock UpdateFirme(f)
- {
- format(fajlfirme, sizeof(fajlfirme), "/Firme/%d.json", f);
- if(fexist(fajlfirme))
- {
- djSet(fajlfirme, "Vlasnik", InfoFirme[f][VlasnikFirme]);
- djSet(fajlfirme, "ImeFirme", InfoFirme[f][ImeFirme]);
- djSetInt(fajlfirme, "Na_Prodaju", InfoFirme[f][FirmaNaProdaju]);
- djSetInt(fajlfirme, "Cena", InfoFirme[f][CenaFirme]);
- djSetInt(fajlfirme, "Level", InfoFirme[f][LevelFirme]);
- djSetFloat(fajlfirme, "X", InfoFirme[f][IzlazXFirme]);
- djSetFloat(fajlfirme, "Y", InfoFirme[f][IzlazYFirme]);
- djSetFloat(fajlfirme, "Z", InfoFirme[f][IzlazZFirme]);
- djSetFloat(fajlfirme, "IntXFirme", InfoFirme[f][IntXFirme]);
- djSetFloat(fajlfirme, "IntYFirme", InfoFirme[f][IntYFirme]);
- djSetFloat(fajlfirme, "IntZFirme", InfoFirme[f][IntZFirme]);
- djSetFloat(fajlfirme, "IntIDFirme", InfoFirme[f][IntIDFirme]);
- djSetInt(fajlfirme, "VW", InfoFirme[f][VWFirme]);
- djSetInt(fajlfirme, "Novac_Vlasnika", InfoFirme[f][PareVlasnika]);
- }
- return true;
- }
- stock Uplata(id_firme, novac)
- {
- InfoFirme[id_firme][PareVlasnika] = InfoFirme[id_firme][PareVlasnika]+novac;
- UpdateFirme(id_firme);
- return true;
- }
- stock PostaviIgraca(playerid, Float:X, Float:Y, Float:Z, Int, VW, var)
- {
- SetPlayerPos(playerid, X, Y, Z);
- SetPlayerInterior(playerid, Int);
- SetPlayerVirtualWorld(playerid, VW);
- SetPVarInt(playerid,"Varijabla",var);
- return true;
- }
- stock Ime(playerid)
- {
- new ImeIgraca[20];
- GetPlayerName(playerid, ImeIgraca, 20);
- return ImeIgraca;
- }
- CMD:kupifirmu(playerid, params[])
- {
- new w[128];
- for(new f = 0; f <= Max_Firmi; f++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, InfoFirme[f][IzlazXFirme], InfoFirme[f][IzlazYFirme], InfoFirme[f][IzlazZFirme]))
- {
- if(GetPlayerMoney(playerid) < InfoFirme[f][CenaFirme]) return SendClientMessage(playerid, -1, "Nemate dovoljno novaca.");
- if(GetPlayerScore(playerid) < InfoFirme[f][LevelFirme]) return SendClientMessage(playerid, -1, "Nemate dovoljan level.");
- DestroyPickup(InfoFirme[f][PickupFirme]);
- InfoFirme[f][PickupFirme] = CreatePickup(1272,23, InfoFirme[f][IzlazXFirme], InfoFirme[f][IzlazYFirme], InfoFirme[f][IzlazZFirme]);
- format(InfoFirme[f][VlasnikFirme], 20, "%s", Ime(playerid));
- InfoFirme[f][FirmaNaProdaju] = 0; GivePlayerMoney(playerid, -InfoFirme[f][CenaFirme]);
- format(w,sizeof(w),"Kupili ste firmu za %i$!",InfoFirme[f][CenaFirme]);
- SendClientMessage(playerid,-1,w);
- UpdateFirme(f);
- format(Label, sizeof(Label), "Ime firme:%s \nVlasnik:%s\n Level: %i",InfoFirme[f][ImeFirme],InfoFirme[f][VlasnikFirme],InfoFirme[f][LevelFirme]);
- Update3DTextLabelText(InfoFirme[f][LabelFirme],-1,Label);
- return true;
- }
- }
- return true;
- }
- CMD:kreirajfirmu(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Samo admini!");
- new cena, lvl, vrsta, id;
- if(sscanf(params, "iiii", vrsta, lvl , cena , id)) return SendClientMessage(playerid, -1, "/kreirajfirmu (vrsta) (lvl) (cena) (id firme)");
- if(id >= Max_Firmi) return SendClientMessage(playerid, -1, "Max firmi postoji.");
- new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z);
- format(fajlfirme, sizeof(fajlfirme), "/Firme/%d.json", id);
- if(fexist(fajlfirme)) return SendClientMessage(playerid, -1, "Taj ID firme postoji!");
- switch(vrsta)
- {
- case 0:
- {
- djCreateFile(fajlfirme);
- djSet(fajlfirme, "Vlasnik", "DRZAVA");
- djSet(fajlfirme, "ImeFirme", "Drzavna firma");
- djSetInt(fajlfirme, "Na_Prodaju", 1);
- djSetInt(fajlfirme, "Cena", cena);
- djSetInt(fajlfirme, "Level", lvl);
- djSetFloat(fajlfirme,"X", X);
- djSetFloat(fajlfirme,"Y", Y);
- djSetFloat(fajlfirme,"Z", Z);
- djSetInt(fajlfirme, "VW", id+1);
- djSetFloat(fajlfirme, "IntXFirme",375.962463);
- djSetFloat(fajlfirme, "IntYFirme",-65.816848);
- djSetFloat(fajlfirme, "IntZFirme",1001.507812);
- djSetInt(fajlfirme, "IntIDFirme",10);
- djSetInt(fajlfirme, "Novac_Vlasnika",0);
- djCommit(fajlfirme);
- UcitajFirme(id);
- SendClientMessage(playerid, -1, " Firma napravljena!");
- return true;
- }
- }
- return true;
- }
- CMD:firma(playerid,params[])
- {
- ShowPlayerDialog(playerid,Dialog_Firme,DIALOG_STYLE_LIST,"Upravljanje Firmom","Stanje racuna\nProdaj firmu\nPodigni pare\nIme firme","Ok","Odustani");
- return true;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if (newkeys == KEY_FIRE)
- {
- for(new f = 0; f <= Max_Firmi; f++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, InfoFirme[f][IzlazXFirme], InfoFirme[f][IzlazYFirme], InfoFirme[f][IzlazZFirme]))
- {
- PostaviIgraca(playerid, InfoFirme[f][IntXFirme], InfoFirme[f][IntYFirme], InfoFirme[f][IntZFirme], InfoFirme[f][IntIDFirme], InfoFirme[f][VWFirme], f);
- return true;
- }
- if(IsPlayerInRangeOfPoint(playerid, 2.0, InfoFirme[f][IntXFirme], InfoFirme[f][IntYFirme], InfoFirme[f][IntZFirme]))
- {
- if(GetPVarInt(playerid,"Varijabla") == f)
- {
- PostaviIgraca(playerid, InfoFirme[f][IzlazXFirme], InfoFirme[f][IzlazYFirme], InfoFirme[f][IzlazZFirme], 0, 0, -1);
- return true;
- }
- }
- }
- }
- return true;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new w[128];
- if(dialogid == Dialog_Firme)
- {
- for(new f = 0; f <= Max_Firmi; f++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, InfoFirme[f][IzlazXFirme], InfoFirme[f][IzlazYFirme], InfoFirme[f][IzlazZFirme]))
- {
- if(!response) return SendClientMessage(playerid, -1, "Odustali ste!");
- if(strcmp(InfoFirme[f][VlasnikFirme],Ime(playerid), false ) == 0)
- {
- switch(listitem)
- {
- case 0:
- {
- format(w,sizeof(w),"Novaca u firmi %i$ ",InfoFirme[f][PareVlasnika]);
- SendClientMessage(playerid,-1,w);
- }
- case 1:
- {
- DestroyPickup(InfoFirme[f][PickupFirme]);
- InfoFirme[f][PickupFirme] = CreatePickup(1273, 23, InfoFirme[f][IzlazXFirme], InfoFirme[f][IzlazYFirme], InfoFirme[f][IzlazZFirme]);
- format(InfoFirme[f][VlasnikFirme], 24, "DRZAVA");
- InfoFirme[f][FirmaNaProdaju] = 1;
- GivePlayerMoney(playerid, InfoFirme[f][CenaFirme]/2);
- format(w,sizeof(w),"Prodali ste firmu za %i$!",InfoFirme[f][CenaFirme]/2);
- SendClientMessage(playerid,-1,w);
- UpdateFirme(f);
- format(Label, sizeof(Label), "Ime firme:%s \nVlasnik:%s \nCena: $%i\n Level: %i",InfoFirme[f][ImeFirme],InfoFirme[f][VlasnikFirme],InfoFirme[f][CenaFirme],InfoFirme[f][LevelFirme]);
- Update3DTextLabelText(InfoFirme[f][LabelFirme],-1,Label);
- }
- case 2:
- {
- ShowPlayerDialog(playerid,Dialog_Firme+1,DIALOG_STYLE_INPUT,"Dizanje novaca","Koliko novaca zelite podignuti iz firme?!","Podigni","Odustani");
- }
- case 3:
- {
- ShowPlayerDialog(playerid,Dialog_Firme+2,DIALOG_STYLE_INPUT,"Ime firme","Unesite novo ime firme?!","Ok","Odustani");
- }
- }
- }
- }
- }
- return true;
- }
- if(dialogid == Dialog_Firme+1)
- {
- if(!response) return SendClientMessage(playerid, -1, "Odustali ste!");
- for(new f = 0; f <= Max_Firmi; f++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, InfoFirme[f][IzlazXFirme], InfoFirme[f][IzlazYFirme], InfoFirme[f][IzlazZFirme]))
- {
- if(strval(inputtext) > InfoFirme[f][PareVlasnika])
- {
- format(w,sizeof(w),"Nemate toliko novaca u firmi,trenutno novaca %i$!",InfoFirme[f][PareVlasnika]);
- SendClientMessage(playerid,-1,w);
- ShowPlayerDialog(playerid,Dialog_Firme+1,DIALOG_STYLE_INPUT,"Dizanje novaca","Koliko novaca zelite podignuti iz firme?!","Podigni","Odustani");
- return true;
- }
- else
- {
- Uplata(f,-strval(inputtext));
- format(w,sizeof(w),"Izvadili ste %i$ sa racuna firme,na racunu ostalo jos %i$!",strval(inputtext),InfoFirme[f][PareVlasnika]);
- SendClientMessage(playerid,-1,w);
- GivePlayerMoney(playerid,strval(inputtext));
- }
- }
- }
- }
- if(dialogid == Dialog_Firme+2)
- {
- if(!response) return SendClientMessage(playerid, -1, "Odustali ste!");
- for(new f = 0; f <= Max_Firmi; f++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, InfoFirme[f][IzlazXFirme], InfoFirme[f][IzlazYFirme], InfoFirme[f][IzlazZFirme]))
- {
- format(InfoFirme[f][ImeFirme], 24, "%s", inputtext);
- UpdateFirme(f);
- format(w,sizeof(w),"Novo ime firme je %s!",InfoFirme[f][ImeFirme]);
- SendClientMessage(playerid,-1,w);
- format(Label, sizeof(Label), "Ime firme:%s \nVlasnik:%s\n Level: %i",InfoFirme[f][ImeFirme],InfoFirme[f][VlasnikFirme],InfoFirme[f][LevelFirme]);
- Update3DTextLabelText(InfoFirme[f][LabelFirme],-1,Label);
- }
- }
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment