Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- URADIO:
- Irfan Pacino | Irfan Šarić
- 14.6.2011
- */
- #define FILTERSCRIPT
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- #include <dini>
- //===================Define - skraceno==============
- #define SCM SendClientMessage
- #define SPD ShowPlayerDialog
- #define ISPA IsPlayerAdmin
- //=============Boje=========
- //===OSNOVNE===
- #define WHITE 0xFFFFFFFF
- #define RED 0xFF0000FF
- #define BLUE 0x0000FFFF
- #define YELLOW 0xFFFF00FF
- #define GREEN 0x00FF00FF
- #define PINK 0xFF9FF2FF
- #define BLACK 0x000000FF
- #define ORANGE 0xFF8900FF
- #define BROWN 0x9E5125FF
- //------------------------------Dialog ID----------------------
- #define ADMINGPS 1
- #define GPSNOVALOK 2
- #define GPSDELETE 3
- #define GPSIME 4
- #define GPSSIZE 5
- #define GPSKRAJ 6
- #define GPS 7
- #define MAX_GPS_DOZVOLJEN 10
- enum GPSData
- {
- Ime[255],
- Float:X,
- Float:Y,
- Float:Z,
- Float:cpVelicina,
- };
- new gps[MAX_GPS_DOZVOLJEN][GPSData];
- new StvoreniGPS = 0;
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Pacino`s GPS System loaded");
- print("--------------------------------------\n");
- LoadGPS();
- return 1;
- }
- public OnFilterScriptExit()
- {
- print("\n----------------------------------");
- print(" Pacino`s GPS System unloaded");
- print("----------------------------------\n");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- 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 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)
- {
- 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[])
- {
- switch(dialogid)
- {
- case ADMINGPS:
- {
- if(!response) return 1;
- switch(listitem)
- {
- case 0:
- {
- if(StvoreniGPS < MAX_GPS_DOZVOLJEN)
- {
- SPD(playerid, GPSNOVALOK, DIALOG_STYLE_LIST,"Nova GPS pozicija", "Ime\nPozicija\nCP Velicina\nKraj", "Odaberi", "Nazad");
- }
- else return SCM(playerid, RED, "Prvo izbrisi neku lokaciju, jer si dostigao limit!");
- }
- case 1:
- {
- if(StvoreniGPS != 0)
- {
- SPD(playerid, GPSDELETE, DIALOG_STYLE_INPUT, "Brisanje lokacije", "Unesi ID lokacije koju zelis da obrises!", "Ok", "Nazad");
- }
- else return SCM(playerid, RED, "Nema niti jedna GPS lokacija!");
- }
- }
- }
- case GPSNOVALOK:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: SPD(playerid, GPSIME, DIALOG_STYLE_INPUT, "Ime lokacije", "Unesi ime lokacije koju trenutno pravis!", "Ok", "Nazad");
- case 1: SCM(playerid, GREEN, "Koristi /savegps da sacuvas poziciju GPS-a na zeljenoj poziciji!");
- case 2: SPD(playerid, GPSSIZE, DIALOG_STYLE_INPUT, "Velicina CP-a", "Unesi velicinu CP-a u rasponu od 1 do 10\n(Mozes koristiti i racinalne brojeve sa tackom)", "Ok", "Nazad");
- case 3: SPD(playerid, GPSKRAJ, DIALOG_STYLE_MSGBOX, "Kraj?", "Da li si zavrsio dodavanje nove lokacije?", "Da", "Ne");
- }
- }
- }
- case GPSDELETE:
- {
- if(response)
- {
- new id, string[128];
- if(!sscanf(inputtext, "i", id))
- {
- format(string, 128, "GPS/GPS_%d.ini", id);
- if(fexist(string))
- {
- format(string, sizeof(string), "Obrisao si GPS lokaciju sa ID-em %d | Ime: %s", id, gps[id][Ime]);
- SCM(playerid, ORANGE, string);
- }
- else return SCM(playerid, RED, "Ta lokacija ne postoji!");
- }
- }
- else return SPD(playerid, ADMINGPS, DIALOG_STYLE_LIST, "Admin GPS panel", "Nova lokacija\nIzbrisi lokaciju", "Odaberi", "Nazad");
- }
- case GPSIME:
- {
- if(response)
- {
- new ime[64], string[128];
- new ide = StvoreniGPS + 1;
- if(!sscanf(inputtext, "s[64]", ime))
- {
- format(string, sizeof(string), "Postavio si ime lokacije na %s", ime);
- SCM(playerid, BLUE, string);
- strmid(gps[ide][Ime], ime, 0, strlen(ime), 255);
- }
- }
- else return SPD(playerid, GPSNOVALOK, DIALOG_STYLE_LIST,"Nova GPS pozicija", "Ime\nPozicija\nCP Velicina\nKraj", "Odaberi", "Nazad");
- }
- case GPSSIZE:
- {
- if(response)
- {
- new string[128], ide = StvoreniGPS + 1;
- new Float:velicina;
- if(!sscanf(inputtext, "f", velicina))
- {
- gps[ide][cpVelicina] = velicina;
- format(string, sizeof(string), "Postavio si velicinu CP-a na %f", velicina);
- SCM(playerid, BLUE, string);
- }
- }
- else return SPD(playerid, GPSNOVALOK, DIALOG_STYLE_LIST,"Nova GPS pozicija", "Ime\nPozicija\nCP Velicina\nKraj", "Odaberi", "Nazad");
- }
- case GPSKRAJ:
- {
- if(response)
- {
- new string[128];
- new g = StvoreniGPS + 1;
- format(string, sizeof(string), "GPS/GPS_%d.ini", g);
- dini_Create(string);
- dini_Set(string, "Ime", gps[g][Ime]);
- dini_FloatSet(string, "X", gps[g][X]);
- dini_FloatSet(string, "Y", gps[g][Y]);
- dini_FloatSet(string, "Z", gps[g][Z]);
- dini_FloatSet(string, "CPVelicina", gps[g][cpVelicina]);
- }
- else return SPD(playerid, GPSNOVALOK, DIALOG_STYLE_LIST,"Nova GPS pozicija", "Ime\nPozicija\nCP Velicina\nKraj", "Odaberi", "Nazad");
- }
- case GPS:
- {
- if(response)
- {
- new string[128];
- switch(listitem)
- {
- case 0:
- {
- new g = 1;
- format(string, sizeof(string), "Postavio si lokaciju na %s", gps[g][Ime]);
- SCM(playerid, RED, string);
- SetPlayerCheckpoint(playerid, gps[g][X], gps[g][Y], gps[g][Z], gps[g][cpVelicina]);
- }
- case 1:
- {
- new g = 2;
- format(string, sizeof(string), "Postavio si lokaciju na %s", gps[g][Ime]);
- SCM(playerid, RED, string);
- SetPlayerCheckpoint(playerid, gps[g][X], gps[g][Y], gps[g][Z], gps[g][cpVelicina]);
- }
- case 2:
- {
- new g = 3;
- format(string, sizeof(string), "Postavio si lokaciju na %s", gps[g][Ime]);
- SCM(playerid, RED, string);
- SetPlayerCheckpoint(playerid, gps[g][X], gps[g][Y], gps[g][Z], gps[g][cpVelicina]);
- }
- case 3:
- {
- new g = 4;
- format(string, sizeof(string), "Postavio si lokaciju na %s", gps[g][Ime]);
- SCM(playerid, RED, string);
- SetPlayerCheckpoint(playerid, gps[g][X], gps[g][Y], gps[g][Z], gps[g][cpVelicina]);
- }
- case 4:
- {
- new g = 5;
- format(string, sizeof(string), "Postavio si lokaciju na %s", gps[g][Ime]);
- SCM(playerid, RED, string);
- SetPlayerCheckpoint(playerid, gps[g][X], gps[g][Y], gps[g][Z], gps[g][cpVelicina]);
- }
- case 5:
- {
- new g = 6;
- format(string, sizeof(string), "Postavio si lokaciju na %s", gps[g][Ime]);
- SCM(playerid, RED, string);
- SetPlayerCheckpoint(playerid, gps[g][X], gps[g][Y], gps[g][Z], gps[g][cpVelicina]);
- }
- case 6:
- {
- new g = 7;
- format(string, sizeof(string), "Postavio si lokaciju na %s", gps[g][Ime]);
- SCM(playerid, RED, string);
- SetPlayerCheckpoint(playerid, gps[g][X], gps[g][Y], gps[g][Z], gps[g][cpVelicina]);
- }
- case 7:
- {
- new g = 8;
- format(string, sizeof(string), "Postavio si lokaciju na %s", gps[g][Ime]);
- SCM(playerid, RED, string);
- SetPlayerCheckpoint(playerid, gps[g][X], gps[g][Y], gps[g][Z], gps[g][cpVelicina]);
- }
- case 8:
- {
- new g = 9;
- format(string, sizeof(string), "Postavio si lokaciju na %s", gps[g][Ime]);
- SCM(playerid, RED, string);
- SetPlayerCheckpoint(playerid, gps[g][X], gps[g][Y], gps[g][Z], gps[g][cpVelicina]);
- }
- case 9:
- {
- new g = 10;
- format(string, sizeof(string), "Postavio si lokaciju na %s", gps[g][Ime]);
- SCM(playerid, RED, string);
- SetPlayerCheckpoint(playerid, gps[g][X], gps[g][Y], gps[g][Z], gps[g][cpVelicina]);
- }
- }
- }
- }
- default: return SCM(playerid, RED, "[GRESKA] Nepostojeci dialog id!");
- }
- return 1;
- }
- stock SaveGPS( g )
- {
- new dat[128];
- format(dat, sizeof(dat), "GPS/GPS_%d.ini", g);
- if(fexist(dat))
- {
- dini_Set(dat, "Ime", gps[g][Ime]);
- dini_FloatSet(dat, "X", gps[g][X]);
- dini_FloatSet(dat, "Y", gps[g][Y]);
- dini_FloatSet(dat, "Z", gps[g][Z]);
- dini_FloatSet(dat, "CPVelicina", gps[g][cpVelicina]);
- }
- else printf("GPS %d ne postoji!", g);
- return 1;
- }
- stock LoadGPS()
- {
- new string[128];
- for(new i = 0; i < MAX_GPS_DOZVOLJEN; i++)
- {
- format(string, sizeof(string), "GPS/GPS_%d.ini", i);
- if(fexist(string))
- {
- gps[i][Ime] = dini_Get(string, "Ime");
- gps[i][X] = dini_Float(string, "X");
- gps[i][Y] = dini_Float(string, "Y");
- gps[i][Z] = dini_Float(string, "Z");
- gps[i][cpVelicina] = dini_Float(string, "CPVelicina");
- printf("GPS lokacija %s[ID: %i] ucitana!", gps[i][Ime], i);
- StvoreniGPS++;
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- //----------------------------------------------------------------------------[ZCMD]-----------------------------------------------------
- CMD:gpshelp(playerid, params[])
- {
- #pragma unused params
- new string[256];
- format(string, sizeof(string), "");
- strcat(string, "Pacino`s GPS sistem - Komande");
- strcat(string, "/admingps | /agps | /gps | /gpsoff");
- SPD(playerid, GPS, DIALOG_STYLE_MSGBOX, "Pomoc - GPS sistem", string, "Ok", "");
- return 1;
- }
- CMD:admingps(playerid, params[])
- {
- if(ISPA(playerid))
- {
- SPD(playerid, ADMINGPS, DIALOG_STYLE_LIST, "Admin GPS panel", "Nova lokacija\nIzbrisi lokaciju", "Odaberi", "Nazad");
- }
- else return SCM(playerid, RED, "Nisi ovlasten!");
- return 1;
- }
- CMD:gps(playerid, params[])
- {
- new string[256];format(string, sizeof(string), "");new c = 1;
- new stringe[128];
- for(new i = 1; i < MAX_GPS_DOZVOLJEN+1; i++)
- {
- format(stringe, sizeof(stringe), "GPS/GPS_%d.ini", i);
- if(fexist(stringe))
- {
- new a[12];
- valstr(a, i);
- strcat(string, a);
- strcat(string, " | ");
- strcat(string, "{0080C0}");
- strcat(string, gps[i][Ime]);
- strcat(string, "\n");
- c++;
- }
- else if(!fexist(stringe))
- {
- new a[12];
- valstr(a, c);
- strcat(string, a);
- strcat(string, " | ");
- strcat(string, "{FF2626}Nema");
- strcat(string, "\n");
- c++;
- }
- }
- SPD(playerid, GPS, DIALOG_STYLE_LIST, "Odaberi lokaciju!", string, "Ok", "Ponisti");
- return 1;
- }
- CMD:savegps(playerid, params[])
- {
- if(ISPA(playerid))
- {
- new Float:p[3];
- GetPlayerPos(playerid, p[0], p[1], p[2]);
- new g = StvoreniGPS + 1;
- gps[g][X] = p[0];
- gps[g][Y] = p[1];
- gps[g][Z] = p[2];
- SCM(playerid, RED, "Lokacija postavljena!");
- }
- return 1;
- }
- CMD:gpsoff(playerid, params[])
- {
- DisablePlayerCheckpoint(playerid);
- SCM(playerid, ORANGE, "GPS iskljucen!");
- return 1;
- }
- COMMAND:agps(playerid, params[])
- {
- return cmd_admingps(playerid, params);
- }
Advertisement
Add Comment
Please, Sign In to add comment