Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This is a comment
- // uncomment the line below if you want to write a filterscript
- //#define FILTERSCRIPT
- #include <a_samp>
- #include <a_samp>
- #include <core>
- #include <float>
- #include <time>
- #include <file>
- #include <zcmd>
- #include <sscanf2>
- #include <Dini>
- #include <streamer>
- #include <utils>
- #include <GetVehicleColor>
- #include <morphinc>
- #include <foreach>
- //////////////////////////////////////
- forward OnPlayerRegister(playerid, password[]);
- forward OnPlayerLogins(playerid,password[]);
- #if defined FILTERSCRIPT
- #define FIRME_FILE "Firme/%d.ini"
- #define MAX_Firme 400
- #define DIALOG_FIRMA2 58
- #define ZArabotka_FIRMA 59
- #define SCM SendClientMessage
- #define SPD ShowPlayerDialog
- #define SPC SetPlayerCheckpoint
- #define SCMA SendClientMessageToAll
- #define BELA 0xFFFFFFAA
- ///////////////////////////////////////////
- enum firInfo
- {
- fProveraVlasnika,
- fVlasnik[45],
- fVrsta,
- fVrstaIme[45],
- fIme[128],
- Float:fUlazX,
- Float:fUlazY,
- Float:fUlazZ,
- fLevel,
- fCena,
- fKasa,
- fInt,
- fZatvoreno,
- fVw,
- fProizvodi,
- fMaxProizvodi,
- fAdresa[64],
- fZarabotka,
- }
- new FirmaInfo[MAX_Firme][firInfo];
- new FirmaPickup[sizeof(FirmaInfo)];
- new FirmaMapIcon[sizeof(FirmaInfo)];
- new Text3D:FirmaLabel[sizeof(FirmaInfo)];
- enum pInfo
- {
- pPosedovanjeFirme2
- };
- new PlayerInfo[MAX_PLAYERS][pInfo];
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Blank Filterscript by your name here");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- #else
- main()
- {
- print("\n----------------------------------");
- print(" Blank Gamemode by your name here");
- print("----------------------------------\n");
- }
- #endif
- public OnGameModeInit()
- {
- // Don't use these lines if it's a filterscript
- SetGameModeText("Blank Script");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- PlayerInfo[playerid][pPosedovanjeFirme2] = 0;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- CMD:napravifirmu(playerid, params[])
- {
- new id,level,cena,ime[128],zarabotka,Float:X,Float:Y,Float:Z,string[400],ffirme1[80];
- GetPlayerPos(playerid,X,Y,Z);
- if(sscanf(params, "s[128]iiii", ime,id , level, cena, zarabotka)) return SCM(playerid,COLOR_RED,"/napravifirmu [ime] [id] [level] [cena] [zarabotka]");
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] >= 1338)
- {
- if(id >= MAX_Firme) return SCM(playerid,BELA, "{FF0000}[Greska!]{BFC0C2} Maksimalni limit vikendica je dostignut obavesti skriptera o ovome!");
- format(ffirme1, sizeof(ffirme1), FIRME_FILE, id);
- if(fexist(ffirme1)) return SCM(playerid,BELA, "{FF0000}[Greska!]{BFC0C2} Vikendica sa tim IDom postoji!");
- FirmaInfo[id][fIme] = ime;
- FirmaInfo[id][fCena] = cena;
- FirmaInfo[id][fLevel] = level;
- FirmaInfo[id][fUlazX] = X;
- FirmaInfo[id][fUlazY] = Y;
- FirmaInfo[id][fUlazZ] = Z;
- FirmaInfo[id][fZarabotka] = zarabotka;
- FirmaInfo[id][fProveraVlasnika] = 0;
- FirmaInfo[id][fZatvoreno] = 1;
- strmid(FirmaInfo[id][fAdresa],UlicaFirme(id),0,strlen(UlicaFirme(id)),255);
- strmid(FirmaInfo[id][fVlasnik],"Niko",0,strlen("Niko"),255);
- format(string,sizeof(string),"{3375F0}Firmata se Prodava!\n{FAE805}Ime: {FF0909}%s\n{FAE805}Zarabotka: {FF0909}$%d\n{FAE805}Cena: {FF0909}$%d\n{FAE805}Level: {FF0909}%d\n{FAE805}Adresa: {FF0909}%s {FAE805}Br: {FF0909}%d",FirmaInfo[id][fIme],FirmaInfo[id][fZarabotka],FirmaInfo[id][fCena],FirmaInfo[id][fLevel],FirmaInfo[id][fAdresa],id);
- //VikendicaLabel[id] = Create3DTextLabel(string ,0x33CCFFAA,X,Y,Z,25,0,1);
- FirmaLabel[id] = CreateDynamic3DTextLabel(string, 0x33CCFFAA, X,Y,Z, 25.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 6.0);
- FirmaPickup[id] = CreatePickup(1274, 1, FirmaInfo[id][fUlazX], FirmaInfo[id][fUlazY], FirmaInfo[id][fUlazZ]);
- FirmaMapIcon[id] = CreateDynamicMapIcon(FirmaInfo[id][fUlazX], FirmaInfo[id][fUlazY], FirmaInfo[id][fUlazZ], 52, -1, -1, -1, -1, 100);
- SCMF(playerid,BELA,"{FFFFFF}[GLD]:{00C0FF} Vikendica ID {FFFFFF}%d{00C0FF} je uspesno kreirana!",id); SacuvajFirme(id);
- } else return SCM(playerid,BELA,"{FF0000}[Greska!]{BFC0C2} Samo Admini!");
- }
- return 1;
- }
- CMD:kupifirma(playerid, params[])
- {
- #pragma unused params
- for(new i; i < sizeof(FirmaInfo); i++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, FirmaInfo[i][fUlazX], FirmaInfo[i][fUlazY], FirmaInfo[i][fUlazZ]))
- {
- if(!strcmp(FirmaInfo[i][fVlasnik], "Niko", true) && FirmaInfo[i][fProveraVlasnika] == 0)
- {
- if(PlayerInfo[playerid][pPosedovanjeFirme2] != 0) return SCM(playerid,BELA, "{FF0000}[Greska!]{BFC0C2} Veke imate Firma!");
- if(GetPlayerScore(playerid) < FirmaInfo[i][fLevel]) return SCM(playerid,BELA,"{FF0000}[Greska!]{BFC0C2} Nemate dovoljan level za kupovinu firme!");
- if(GetPlayerMoney(playerid) < FirmaInfo[i][fCena]) return SCM(playerid,BELA, "{FF0000}[Greska!]{BFC0C2} Nemate dovoljno novca za kupovinu firme!");
- strmid(FirmaInfo[i][fVlasnik], ImeIgraca(playerid), 0, strlen(ImeIgraca(playerid)), 255);
- FirmaInfo[i][fProveraVlasnika] = 1; PlayerInfo[playerid][pPosedovanjeFirme2] = i;
- FirmaInfo[i][fZatvoreno] = 0; GivePlayerMoney(playerid, -FirmaInfo[i][fCena]); FirmaLP(i); SacuvajFirme(i); OnPlayerUpdate(playerid);
- SCM(playerid,BELA, "{FFFFFF}[GLD]:{00C0FF} Cestito Kupivte!");
- SCM(playerid,BELA, "{FFFFFF}[GLD]:{00C0FF} Za komande na firma koristi /firma!");
- return 1;
- }
- else return SCM(playerid, BELA, "{FF0000}[Greska!]{BFC0C2} Taa firma ne e na prodaja!");
- }
- }
- return 1;
- }
- CMD:firma(playerid, params[])
- {
- #pragma unused params
- new string[256],i = PlayerInfo[playerid][pPosedovanjeFirme2];
- if(i == 0) return SCM(playerid,BELA,"{FF0000}[Greska!]{BFC0C2} Nemate firmu!");
- if(strcmp(FirmaInfo[PlayerInfo[playerid][pPosedovanjeFirme2]][fVlasnik], ImeIgraca(playerid), true)) return SCM(playerid,BELA, "{FF0000}[Greska!]{BFC0C2} Ne ste vlasnik na firma!");
- if(IsPlayerInRangeOfPoint(playerid, 3.0, FirmaInfo[i][fUlazX], FirmaInfo[i][fUlazY], FirmaInfo[i][fUlazZ]))
- {
- format(string,sizeof(string),"Prodadi\nVidi kolku imas pari vo kasa\nPodigni pari od kasa");
- SPD(playerid, DIALOG_FIRMA2, DIALOG_STYLE_LIST, "Firma Opcije", string, "Izberi", "Izlezi");
- return 1;
- }else return SCM(playerid,BELA,"{FF0000}[Greska!]{BFC0C2} Ne ste pred vasata firma!");
- return 1;
- }
- if (strcmp("/mycommand", cmdtext, true, 10) == 0)
- {
- // Do something here
- return 1;
- }
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- format(var, 32, "Firma=%d\n",PlayerInfo[playerid][pPosedovanjeFirme2]);fwrite(hFile, var);
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_FIRMA2)
- {
- if(!response) return 1;
- if(PlayerInfo[playerid][pPosedovanjeFirme2] == 0) return SCM(playerid,BELA, "{FF0000}[Greska!]{BFC0C2} Nemate Biznis!");
- new i = PlayerInfo[playerid][pPosedovanjeFirme2];
- switch(listitem)
- {
- case 0:
- {
- if(!IsPlayerInRangeOfPoint(playerid, 15.0, FirmaInfo[i][fUlazX], FirmaInfo[i][fUlazY], FirmaInfo[i][fUlazZ])) return SCM(playerid,BELA,"{FF0000}[Greska!]{BFC0C2} Ne ste kaj vasta Firma!");
- GivePlayerMoney(playerid,FirmaInfo[i][fCena]/2);
- FirmaInfo[i][fProveraVlasnika] = 0; FirmaInfo[i][fKasa] = 0;
- strmid(FirmaInfo[i][bVlasnik], "Niko", 0, strlen("Niko"), 255); PlayerInfo[playerid][pPosedovanjeFirme2] = 0;
- SacuvajFirme(i); FirmaLP(i); OnPlayerUpdate(playerid);
- format(string,sizeof(string),"{FFFFFF}[GLD]:{00C0FF}Ja prodadovte Firmata za{FFFFFF}$%d {00C0FF}!",FirmaInfo[i][fCena]);
- SCM(playerid,BELA,string);
- }
- case 1:
- {
- format(string,sizeof(string),"Kasa: %d ",FirmaInfo[i][fKasa]);
- SCM(playerid,BELA,string);
- }
- case 2:
- {
- SPD(playerid,ZArabotka_FIRMA,DIALOG_STYLE_INPUT, "Podigni Pari", "Vnesite Suma na pari \nkoja sakate da ja podignete od vasata firma", "Podigni", "Izlezi");
- }
- }
- }
- if(dialogid == ZArabotka_FIRMA)
- {
- if(PlayerInfo[playerid][pPosedovanjeFirme2] == 0) return SCM(playerid,BELA, "{FF0000}[Greska!]{BFC0C2} Nemate Firma!");
- new i = PlayerInfo[playerid][pPosedovanjeFirme2];
- if(response)
- {
- new iznos;
- if(sscanf(inputtext, "i", iznos)) return SPD(playerid,ZArabotka_FIRMA,DIALOG_STYLE_INPUT, "Podigni Pari", "Vnesite Suma na pari \nkoja sakate da ja podignete od vasata firma", "Podigni", "Izlezi");
- if(iznos > FirmaInfo[i][fKasa]) return SCM(playerid,BELA,"{FF0000}[Greska!]{BFC0C2} Nemate Tolku pari vo Firmata!");
- FirmaInfo[i][fKasa] -= iznos; GivePlayerMoney(playerid,iznos); SacuvajFirme(i);
- format(string,sizeof(string),"{FFFFFF}[GLD]:{00C0FF} Izvadivte $%d od vasata firma",iznos);
- SCM(playerid,BELA,string);
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- public OnPlayerRegister(playerid, password[])
- {
- format(var, 32, "Firma=%d\n",PlayerInfo[playerid][pPosedovanjeFirme2]);fwrite(hFile, var);
- return 1;
- }
- public OnPlayerLogins(playerid,password[])
- {
- if( strcmp( key , "Firma" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPosedovanjeFirme2] = strval( val ); }
- return 1;
- }
- stock FirmaLP(idfirme)
- {
- new string[400];
- if(FirmaInfo[idfirme][fProveraVlasnika] == 0)
- {
- DestroyPickup(FirmaPickup[idfirme]);
- format(string,sizeof(string),"{3375F0}Firmata se Prodava!\n{FAE805}Ime: {FF0909}%s\n{FAE805}Zarabotka: {FF0909}$%d\n{FAE805}Cena: {FF0909}$%d\n{FAE805}Level: {FF0909}%d\n{FAE805}Adresa: {FF0909}%s {FAE805}Br: {FF0909}%d",FirmaInfo[idfirme][fIme],FirmaInfo[idfirme][fZarabotka],FirmaInfo[idfirme][fCena],FirmaInfo[idfirme][fLevel],FirmaInfo[idfirme][fAdresa],idfirme);
- UpdateDynamic3DTextLabelText(FirmaLabel[idfirme], 0x33CCFFAA, string);
- FirmaPickup[idfirme] = CreatePickup(1274, 1, FirmaInfo[idfirme][fUlazX], FirmaInfo[idfirme][fUlazY], FirmaInfo[idfirme][fUlazZ]);
- FirmaMapIcon[idfirme] = CreateDynamicMapIcon( FirmaInfo[idfirme][fUlazX], FirmaInfo[idfirme][fUlazY], FirmaInfo[idfirme][fUlazZ], 52, -1, -1, -1, -1, 100);
- }
- else if(FirmaInfo[idfirme][fProveraVlasnika] == 1)
- {
- DestroyPickup(FirmaPickup[idfirme]);
- format(string,sizeof(string),"{00C0FF}[ {F3FF02}%s{00C0FF} ]\n{FAE805}Gazda: {FF0909}%s\n{FAE805}Zarabotka: {FF0909}$%d\n{FAE805}Adresa: {FF0909}%s {FAE805}Br: {FF0909}%d",FirmaInfo[idfirme][fIme],FirmaInfo[idfirme][fVlasnik],FirmaInfo[idfirme][fZarabotka],FirmaInfo[idfirme][fAdresa],idfirme);
- UpdateDynamic3DTextLabelText(FirmaLabel[idfirme], 0x33CCFFAA, string);
- FirmaPickup[idfirme] = CreatePickup(1274, 1, FirmaInfo[idfirme][fUlazX], FirmaInfo[idfirme][fUlazY], FirmaInfo[idfirme][fUlazZ]);
- FirmaMapIcon[idfirme] = CreateDynamicMapIcon( FirmaInfo[idfirme][fUlazX], FirmaInfo[idfirme][fUlazY], FirmaInfo[idfirme][fUlazZ], 52, -1, -1, -1, -1, 100);
- }
- return 1;
- }
- stock SacuvajFirme(idfirme)
- {
- new fFile[128];
- format(fFile, sizeof(fFile), FIRME_FILE, idfirme);
- new INI:File = INI_Open(fFile);
- INI_WriteInt(File,"ProveraVlasnika",FirmaInfo[idfirme][fProveraVlasnika]);
- INI_WriteString(File,"Vlasnik",FirmaInfo[idfirme][fVlasnik]);
- INI_WriteInt(File,"Vrsta",FirmaInfo[idfirme][fVrsta]);
- INI_WriteString(File,"VrstaIme",FirmaInfo[idfirme][fVrstaIme]);
- INI_WriteString(File,"Ime",FirmaInfo[idfirme][fIme]);
- INI_WriteFloat(File,"UlazX",FirmaInfo[idfirme][fUlazX]);
- INI_WriteFloat(File,"UlazY",FirmaInfo[idfirme][fUlazY]);
- INI_WriteFloat(File,"UlazZ",FirmaInfo[idfirme][fUlazZ]);
- INI_WriteInt(File,"Level",FirmaInfo[idfirme][fLevel]);
- INI_WriteInt(File,"Cena",FirmaInfo[idfirme][fCena]);
- INI_WriteInt(File,"Kasa",FirmaInfo[idfirme][fKasa]);
- INI_WriteInt(File,"Interior",FirmaInfo[idfirme][fInt]);
- INI_WriteInt(File,"Zatvoreno",FirmaInfo[idfirme][fZatvoreno]);
- INI_WriteInt(File,"VW",FirmaInfo[idfirme][fVw]);
- INI_WriteInt(File,"Proizvodi",FirmaInfo[idfirme][fProizvodi]);
- INI_WriteInt(File,"MaxProizvodi",FirmaInfo[idfirme][fMaxProizvodi]);
- INI_WriteString(File,"Adresa",FirmaInfo[idfirme][fAdresa]);
- INI_WriteInt(File,"Zarabotka",FirmaInfo[idfirme][fZarabotka]);
- INI_Close(File);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment