Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <streamer>
- #include <sscanf2>
- #include <zcmd>
- #include < YSI\y_ini >
- #define ORANGE "{FFAF00}"
- #define SIVA "{C0C0C0}"
- #define CRVENA "{F81414}"
- #define SCM SendClientMessage
- #define SCMTA SendClientMessageToAll
- #if !defined IsValidVehicle
- native IsValidVehicle(vehicleid);
- #endif
- #define OBJEKTI_FILE "Objekti/%d.ini"
- #define MAX_OBJEKTI 1000
- enum Objekti
- {
- aPostavljen,
- Float:aX,
- Float:aY,
- Float:aZ,
- Float:aAngle,
- Float:aRX,
- Float:aRY,
- aObjekt,
- Vlasnik,
- aInt,
- aVW,
- Vrsta
- }
- new ObjektiInfo[MAX_OBJEKTI][Objekti], eData[MAX_PLAYERS];
- enum Turf
- {
- Float:Poz1[4],
- Float:Poz2[4],
- Float:Poz3[4],
- Float:Poz4[4]
- }
- new TurfInfo[Turf];
- new PokrenutTurf=0;
- new turftimer;
- new turfvozila;
- new Bodovi[4];
- new TurfVozilo[MAX_PLAYERS];
- new Text:TurfRez[8];
- public OnFilterScriptInit()
- {
- for(new y = 0; y < sizeof(ObjektiInfo); y++)
- {
- new yFile[50];
- format(yFile, sizeof(yFile), OBJEKTI_FILE, y);
- if(fexist(yFile))
- {
- INI_ParseFile(yFile, "UcitajObjekte", .bExtra = true, .extra = y);
- KreirajObjekte(y);
- }
- }
- if(fexist("turf.ini"))
- {
- INI_ParseFile("turf.ini", "UcitajTurf");
- print("Ucitan Turf Wars.");
- }
- TurfRez[1] = TextDrawCreate(232.999923, -4.288893, "LD_BEAT:chit");
- TextDrawLetterSize(TurfRez[1], 0.000000, 0.000000);
- TextDrawTextSize(TurfRez[1], 40.000000, 42.000000);
- TextDrawAlignment(TurfRez[1], 1);
- TextDrawColor(TurfRez[1], -5963521);
- TextDrawSetShadow(TurfRez[1], 0);
- TextDrawSetOutline(TurfRez[1], 0);
- TextDrawBackgroundColor(TurfRez[1], 255);
- TextDrawFont(TurfRez[1], 4);
- TextDrawSetProportional(TurfRez[1], 0);
- TextDrawSetShadow(TurfRez[1], 0);
- TurfRez[2] = TextDrawCreate(267.333282, -3.874078, "LD_BEAT:chit");
- TextDrawLetterSize(TurfRez[2], 0.000000, 0.000000);
- TextDrawTextSize(TurfRez[2], 40.000000, 42.000000);
- TextDrawAlignment(TurfRez[2], 1);
- TextDrawColor(TurfRez[2], -16776961);
- TextDrawSetShadow(TurfRez[2], 0);
- TextDrawSetOutline(TurfRez[2], 0);
- TextDrawBackgroundColor(TurfRez[2], 255);
- TextDrawFont(TurfRez[2], 4);
- TextDrawSetProportional(TurfRez[2], 0);
- TextDrawSetShadow(TurfRez[2], 0);
- TurfRez[3] = TextDrawCreate(334.666656, -3.459264, "LD_BEAT:chit");
- TextDrawLetterSize(TurfRez[3], 0.000000, 0.000000);
- TextDrawTextSize(TurfRez[3], 40.000000, 42.000000);
- TextDrawAlignment(TurfRez[3], 1);
- TextDrawColor(TurfRez[3], 65535);
- TextDrawSetShadow(TurfRez[3], 0);
- TextDrawSetOutline(TurfRez[3], 0);
- TextDrawBackgroundColor(TurfRez[3], 255);
- TextDrawFont(TurfRez[3], 4);
- TextDrawSetProportional(TurfRez[3], 0);
- TextDrawSetShadow(TurfRez[3], 0);
- TurfRez[4] = TextDrawCreate(301.333343, -3.459262, "LD_BEAT:chit");
- TextDrawLetterSize(TurfRez[4], 0.000000, 0.000000);
- TextDrawTextSize(TurfRez[4], 40.000000, 42.000000);
- TextDrawAlignment(TurfRez[4], 1);
- TextDrawColor(TurfRez[4], 8388863);
- TextDrawSetShadow(TurfRez[4], 0);
- TextDrawSetOutline(TurfRez[4], 0);
- TextDrawBackgroundColor(TurfRez[4], 255);
- TextDrawFont(TurfRez[4], 4);
- TextDrawSetProportional(TurfRez[4], 0);
- TextDrawSetShadow(TurfRez[4], 0);
- TurfRez[0] = TextDrawCreate(252.666656, 8.725929, "0");
- TextDrawLetterSize(TurfRez[0], 0.400000, 1.600000);
- TextDrawAlignment(TurfRez[0], 2);
- TextDrawColor(TurfRez[0], -1);
- TextDrawSetShadow(TurfRez[0], 0);
- TextDrawSetOutline(TurfRez[0], 0);
- TextDrawBackgroundColor(TurfRez[0], 255);
- TextDrawFont(TurfRez[0], 1);
- TextDrawSetProportional(TurfRez[0], 1);
- TextDrawSetShadow(TurfRez[0], 0);
- TurfRez[5] = TextDrawCreate(287.000152, 8.725928, "0");
- TextDrawLetterSize(TurfRez[5], 0.400000, 1.600000);
- TextDrawAlignment(TurfRez[5], 2);
- TextDrawColor(TurfRez[5], -1);
- TextDrawSetShadow(TurfRez[5], 0);
- TextDrawSetOutline(TurfRez[5], 0);
- TextDrawBackgroundColor(TurfRez[5], 255);
- TextDrawFont(TurfRez[5], 1);
- TextDrawSetProportional(TurfRez[5], 1);
- TextDrawSetShadow(TurfRez[5], 0);
- TurfRez[6] = TextDrawCreate(321.333526, 9.555559, "0");
- TextDrawLetterSize(TurfRez[6], 0.400000, 1.600000);
- TextDrawAlignment(TurfRez[6], 2);
- TextDrawColor(TurfRez[6], -1);
- TextDrawSetShadow(TurfRez[6], 0);
- TextDrawSetOutline(TurfRez[6], 0);
- TextDrawBackgroundColor(TurfRez[6], 255);
- TextDrawFont(TurfRez[6], 1);
- TextDrawSetProportional(TurfRez[6], 1);
- TextDrawSetShadow(TurfRez[6], 0);
- TurfRez[7] = TextDrawCreate(355.000183, 9.140743, "0");
- TextDrawLetterSize(TurfRez[7], 0.400000, 1.600000);
- TextDrawAlignment(TurfRez[7], 2);
- TextDrawColor(TurfRez[7], -1);
- TextDrawSetShadow(TurfRez[7], 0);
- TextDrawSetOutline(TurfRez[7], 0);
- TextDrawBackgroundColor(TurfRez[7], 255);
- TextDrawFont(TurfRez[7], 1);
- TextDrawSetProportional(TurfRez[7], 1);
- TextDrawSetShadow(TurfRez[7], 0);
- return 1;
- }
- stock getEmptyID(const len, const lokacija[])
- {
- new id = (-1);
- for(new loop = (0), provjera = (-1), Data_[64] = "\0"; loop != len; loop++)
- {
- provjera = (loop);
- format(Data_, (sizeof Data_), lokacija ,provjera);
- if(!fexist(Data_))
- {
- id = (provjera);
- break;
- }
- }
- return (id);
- }
- forward PopraviTurf();
- public PopraviTurf()
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsValidVehicle(TurfVozilo[i]))
- {
- SetVehicleHealth(TurfVozilo[i], 1000);
- }
- }
- }
- forward TurfTime();
- public TurfTime()
- {
- if(PokrenutTurf == 1)
- {
- if(Bodovi[0] > Bodovi[1] && Bodovi[0] > Bodovi[2] && Bodovi[0] > Bodovi[3])
- {
- new str[128];
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti tim je pobjedio sa {ffffff}%d "SIVA"bodova!", Bodovi[0]);
- SCMTA(-1, str);
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Crveni: %d "ORANGE"| "SIVA"Zeleni: %d "ORANGE"| "SIVA"Plavi: %d!",Bodovi[1],Bodovi[2],Bodovi[3]);
- SCMTA(-1, str);
- }
- else if(Bodovi[1] > Bodovi[0] && Bodovi[1] > Bodovi[2] && Bodovi[1] > Bodovi[3])
- {
- new str[128];
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Crveni tim je pobjedio sa %d bodova!", Bodovi[1]);
- SCMTA(-1, str);
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti: %d "ORANGE"| "SIVA"Zeleni: %d "ORANGE"| "SIVA"Plavi: %d!",Bodovi[0],Bodovi[2],Bodovi[3]);
- SCMTA(-1, str);
- }
- else if(Bodovi[2] > Bodovi[0] && Bodovi[2] > Bodovi[1] && Bodovi[2] > Bodovi[3])
- {
- new str[128];
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Zeleni tim je pobjedio sa %d bodova!", Bodovi[2]);
- SCMTA(-1, str);
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti: %d "ORANGE"| "SIVA"Crveni: %d "ORANGE"| "SIVA"Plavi: %d!",Bodovi[0],Bodovi[1],Bodovi[3]);
- SCMTA(-1, str);
- }
- else if(Bodovi[3] > Bodovi[0] && Bodovi[3] > Bodovi[1] && Bodovi[3] > Bodovi[2])
- {
- new str[128];
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Plavi tim je pobjedio sa %d bodova!", Bodovi[3]);
- SCMTA(-1, str);
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti: %d "ORANGE"| "SIVA"Crveni: %d "ORANGE"| "SIVA"Zeleni: %d!",Bodovi[0],Bodovi[1],Bodovi[2]);
- SCMTA(-1, str);
- }
- else if(Bodovi[0] == Bodovi[1])
- {
- new str[128];
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti i Crveni su zavrsili izjednaceno sa %d bodova!", Bodovi[0]);
- SCMTA(-1, str);
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Plavi: %d "ORANGE"| "SIVA"Zeleni: %d!",Bodovi[3],Bodovi[2]);
- SCMTA(-1, str);
- }
- else if(Bodovi[0] == Bodovi[2])
- {
- new str[128];
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti i Zeleni su zavrsili izjednaceno sa %d bodova!", Bodovi[0]);
- SCMTA(-1, str);
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Plavi: %d "ORANGE"| "SIVA"Crveni: %d!",Bodovi[3],Bodovi[1]);
- SCMTA(-1, str);
- }
- else if(Bodovi[0] == Bodovi[3])
- {
- new str[128];
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti i Plavi su zavrsili izjednaceno sa %d bodova!", Bodovi[0]);
- SCMTA(-1, str);
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Zeleni: %d "ORANGE"| "SIVA"Crveni: %d!",Bodovi[2],Bodovi[1]);
- SCMTA(-1, str);
- }
- else if(Bodovi[1] == Bodovi[2])
- {
- new str[128];
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Crveni i Zeleni su zavrsili izjednaceno sa %d bodova!", Bodovi[1]);
- SCMTA(-1, str);
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Plavi: %d "ORANGE"| "SIVA"Narancasti: %d!",Bodovi[3],Bodovi[0]);
- SCMTA(-1, str);
- }
- else if(Bodovi[1] == Bodovi[3])
- {
- new str[128];
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Crveni i Plavi su zavrsili izjednaceno sa %d bodova!", Bodovi[1]);
- SCMTA(-1, str);
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Zeleni: %d "ORANGE"| "SIVA"Narancasti: %d!",Bodovi[2],Bodovi[0]);
- SCMTA(-1, str);
- }
- else if(Bodovi[2] == Bodovi[3])
- {
- new str[128];
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Zeleni i Plavi su zavrsili izjednaceno sa %d bodova!", Bodovi[2]);
- SCMTA(-1, str);
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Crveni: %d "ORANGE"| "SIVA"Narancasti: %d!",Bodovi[1],Bodovi[0]);
- SCMTA(-1, str);
- }
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPVarInt(i, "TurfTim") > 0)
- {
- SetPlayerHealth(i, 0);
- SetPVarInt(i, "TurfTim", 0);
- DestroyVehicle(TurfVozilo[i]);
- for(new a=0; a<8; a++)
- {
- TextDrawHideForPlayer(i, TurfRez[a]);
- }
- }
- }
- }
- for(new idobj = 0; idobj<MAX_OBJEKTI; idobj++)
- {
- if(ObjektiInfo[idobj][aPostavljen] == 1 && ObjektiInfo[idobj][Vrsta] <= 1)
- {
- SetDynamicObjectMaterial(ObjektiInfo[idobj][aObjekt], 0, 10101, "2notherbuildsfe", "ferry_build14", 0xFFFFFFFF);
- ObjektiInfo[idobj][Vlasnik] = 0;
- }
- }
- PokrenutTurf = 0;
- }
- KillTimer(turftimer);
- KillTimer(turfvozila);
- return 1;
- }
- stock SacuvajTurf()
- {
- new INI:File = INI_Open("turf.ini");
- INI_WriteFloat(File,"X1",TurfInfo[Poz1][0]);
- INI_WriteFloat(File,"Y1",TurfInfo[Poz1][1]);
- INI_WriteFloat(File,"Z1",TurfInfo[Poz1][2]);
- INI_WriteFloat(File,"Angle1",TurfInfo[Poz1][3]);
- INI_WriteFloat(File,"X2",TurfInfo[Poz2][0]);
- INI_WriteFloat(File,"Y2",TurfInfo[Poz2][1]);
- INI_WriteFloat(File,"Z2",TurfInfo[Poz2][2]);
- INI_WriteFloat(File,"Angle2",TurfInfo[Poz2][3]);
- INI_WriteFloat(File,"X3",TurfInfo[Poz3][0]);
- INI_WriteFloat(File,"Y3",TurfInfo[Poz3][1]);
- INI_WriteFloat(File,"Z3",TurfInfo[Poz3][2]);
- INI_WriteFloat(File,"Angle3",TurfInfo[Poz3][3]);
- INI_WriteFloat(File,"X4",TurfInfo[Poz4][0]);
- INI_WriteFloat(File,"Y4",TurfInfo[Poz4][1]);
- INI_WriteFloat(File,"Z4",TurfInfo[Poz4][2]);
- INI_WriteFloat(File,"Angle4",TurfInfo[Poz4][3]);
- INI_Close(File);
- return 1;
- }
- forward UcitajTurf(name[],value[]);
- public UcitajTurf(name[],value[])
- {
- INI_Float("X1",TurfInfo[Poz1][0]);
- INI_Float("Y1",TurfInfo[Poz1][1]);
- INI_Float("Z1",TurfInfo[Poz1][2]);
- INI_Float("Angle1",TurfInfo[Poz1][3]);
- INI_Float("X2",TurfInfo[Poz2][0]);
- INI_Float("Y2",TurfInfo[Poz2][1]);
- INI_Float("Z2",TurfInfo[Poz2][2]);
- INI_Float("Angle2",TurfInfo[Poz2][3]);
- INI_Float("X3",TurfInfo[Poz3][0]);
- INI_Float("Y3",TurfInfo[Poz3][1]);
- INI_Float("Z3",TurfInfo[Poz3][2]);
- INI_Float("Angle3",TurfInfo[Poz3][3]);
- INI_Float("X4",TurfInfo[Poz4][0]);
- INI_Float("Y4",TurfInfo[Poz4][1]);
- INI_Float("Z4",TurfInfo[Poz4][2]);
- INI_Float("Angle4",TurfInfo[Poz4][3]);
- return 1;
- }
- stock SacuvajObjekte(idobj)
- {
- new yFile[80];
- format(yFile, sizeof(yFile), OBJEKTI_FILE, idobj);
- new INI:File = INI_Open(yFile);
- INI_WriteInt(File,"Postavljen",ObjektiInfo[idobj][aPostavljen]);
- INI_WriteFloat(File,"X",ObjektiInfo[idobj][aX]);
- INI_WriteFloat(File,"Y",ObjektiInfo[idobj][aY]);
- INI_WriteFloat(File,"Z",ObjektiInfo[idobj][aZ]);
- INI_WriteFloat(File,"RX",ObjektiInfo[idobj][aRX]);
- INI_WriteFloat(File,"RY",ObjektiInfo[idobj][aRY]);
- INI_WriteFloat(File,"Angle",ObjektiInfo[idobj][aAngle]);
- INI_WriteInt(File,"Int",ObjektiInfo[idobj][aInt]);
- INI_WriteInt(File,"VW",ObjektiInfo[idobj][aVW]);
- INI_WriteInt(File,"Vrsta",ObjektiInfo[idobj][Vrsta]);
- INI_Close(File);
- return 1;
- }
- forward UcitajObjekte(idobj,name[],value[]);
- public UcitajObjekte(idobj,name[],value[])
- {
- INI_Int("Postavljen",ObjektiInfo[idobj][aPostavljen]);
- INI_Float("X",ObjektiInfo[idobj][aX]);
- INI_Float("Y",ObjektiInfo[idobj][aY]);
- INI_Float("Z",ObjektiInfo[idobj][aZ]);
- INI_Float("RX",ObjektiInfo[idobj][aRX]);
- INI_Float("RY",ObjektiInfo[idobj][aRY]);
- INI_Float("Angle",ObjektiInfo[idobj][aAngle]);
- INI_Int("Int",ObjektiInfo[idobj][aInt]);
- INI_Int("VW",ObjektiInfo[idobj][aVW]);
- INI_Int("Vrsta",ObjektiInfo[idobj][Vrsta]);
- return 1;
- }
- stock KreirajObjekte(idobj)
- {
- if(ObjektiInfo[idobj][aPostavljen] == 1)
- {
- if(ObjektiInfo[idobj][Vrsta] <= 1)
- {
- ObjektiInfo[idobj][aObjekt] = CreateDynamicObject(19377, ObjektiInfo[idobj][aX], ObjektiInfo[idobj][aY], ObjektiInfo[idobj][aZ], ObjektiInfo[idobj][aRX], ObjektiInfo[idobj][aRY], ObjektiInfo[idobj][aAngle], ObjektiInfo[idobj][aVW], ObjektiInfo[idobj][aInt],_,_);
- SetDynamicObjectMaterial(ObjektiInfo[idobj][aObjekt], 0, 10101, "2notherbuildsfe", "ferry_build14", 0xFFFFFFFF);
- ObjektiInfo[idobj][Vlasnik] = 0;
- }
- else
- {
- ObjektiInfo[idobj][aObjekt] = CreateDynamicObject(18783, ObjektiInfo[idobj][aX], ObjektiInfo[idobj][aY], ObjektiInfo[idobj][aZ], ObjektiInfo[idobj][aRX], ObjektiInfo[idobj][aRY], ObjektiInfo[idobj][aAngle], ObjektiInfo[idobj][aVW], ObjektiInfo[idobj][aInt],_,_);
- }
- }
- return 1;
- }
- forward OdmrzniTurf();
- public OdmrzniTurf()
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPVarInt(i, "TurfTim") > 0)
- {
- TogglePlayerControllable(i, 1);
- SCM(i, -1, ""ORANGE"INFO | "SIVA"Natjecanje je pocelo, sretno svima!");
- }
- }
- }
- SetTimer("CollisionTurf", 10000, false);
- return 1;
- }
- forward CollisionTurf();
- public CollisionTurf()
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPVarInt(i, "TurfTim") > 0)
- {
- DisableRemoteVehicleCollisions(i, 0);
- SCM(i, -1, ""ORANGE"INFO | "SIVA"Sada se mozete sudarati!");
- }
- }
- }
- return 1;
- }
- CMD:turfhelp(playerid,params[])
- {
- new info[700];
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
- strcat(info, ""CRVENA"Turf pomoc\n\n", sizeof(info));
- strcat(info, "Kreiranje/Editanje objekata\n", sizeof(info));
- strcat(info, ""SIVA"/kreirajobjekt-Spawna se objekt koji onda premjestate i naredujete kako hocete\n", sizeof(info));
- strcat(info, " /izbrisiobjekt-Brisete objekt pod odredenim ID-om\n", sizeof(info));
- strcat(info, " /eobjekt-Premjestate objekt\n", sizeof(info));
- strcat(info, " /duplicirajobjekt-Duplicirate objekt sa odredenim ID-om\n", sizeof(info));
- strcat(info, " /turfspawn-Postavljate lokaciju spawna ljudi iz timova\n", sizeof(info));
- strcat(info, " /portobjekt-Portate se do lokacije objekta\n", sizeof(info));
- strcat(info, ""CRVENA"Pokretanje/Zaustavljanje Turf Wars\n", sizeof(info));
- strcat(info, ""SIVA"/turfpozovi-Pozivate igrace u 1 tim od 4 dostupna\n", sizeof(info));
- strcat(info, "/turfpokreni-Pokrecete Turf Wars na odredeno vrijeme\n", sizeof(info));
- strcat(info, "/turfzaustavi-Prekidate Turf Wars\n", sizeof(info));
- ShowPlayerDialog(playerid, 31999, DIALOG_STYLE_MSGBOX, "Turf Wars Help", info, "Uredu", "");
- return 1;
- }
- CMD:turfzaustavi(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
- if(PokrenutTurf == 0) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Nije pokrenut Turf Wars!");
- TurfTime();
- return 1;
- }
- CMD:turfpokreni(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
- new vrijeme;
- if(PokrenutTurf == 1) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Vec traje jedan Turf War!");
- if(sscanf(params, "i", vrijeme)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /turfpokreni [Minute trajanja]");
- new str[128];
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Pokrenili ste Turf Wars u trajanju od {ffffff}%d "SIVA"minuta!", vrijeme);
- SCM(playerid, -1, str);
- vrijeme=vrijeme*60000;
- turftimer = SetTimer("TurfTime", vrijeme, false);
- turfvozila = SetTimer("PopraviTurf", 5000, true);
- PokrenutTurf = 1;
- Bodovi[0] = 0;
- Bodovi[1] = 0;
- Bodovi[2] = 0;
- Bodovi[3] = 0;
- format(str,sizeof(str), "0");
- TextDrawSetString(TurfRez[0], str);
- TextDrawSetString(TurfRez[5], str);
- TextDrawSetString(TurfRez[6], str);
- TextDrawSetString(TurfRez[7], str);
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPVarInt(i, "TurfTim") == 1)
- {
- TogglePlayerControllable(i, 0);
- DisableRemoteVehicleCollisions(i, 1);
- TurfVozilo[i] = CreateVehicle(411, TurfInfo[Poz1][0], TurfInfo[Poz1][1], TurfInfo[Poz1][2], TurfInfo[Poz1][3], 6, 6, 60);
- PutPlayerInVehicle(i, TurfVozilo[i], 0);
- SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Natjecanje pocinje za {ffffff}5 "SIVA"sekundi!");
- SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Prozirni cete biti prvih {ffffff}10 "SIVA"sekundi nakon pocetka natjecanja!");
- for(new a=0; a<8; a++)
- {
- TextDrawShowForPlayer(i, TurfRez[a]);
- }
- }
- else if(GetPVarInt(i, "TurfTim") == 2)
- {
- TogglePlayerControllable(i, 0);
- DisableRemoteVehicleCollisions(i, 1);
- TurfVozilo[i] = CreateVehicle(411, TurfInfo[Poz2][0], TurfInfo[Poz2][1], TurfInfo[Poz2][2], TurfInfo[Poz2][3], 3, 3, 60);
- PutPlayerInVehicle(i, TurfVozilo[i], 0);
- SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Natjecanje pocinje za {ffffff}5 "SIVA"sekundi!");
- SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Prozirni cete biti prvih {ffffff}10 "SIVA"sekundi nakon pocetka natjecanja!");
- for(new a=0; a<8; a++)
- {
- TextDrawShowForPlayer(i, TurfRez[a]);
- }
- }
- else if(GetPVarInt(i, "TurfTim") == 3)
- {
- TogglePlayerControllable(i, 0);
- DisableRemoteVehicleCollisions(i, 1);
- TurfVozilo[i] = CreateVehicle(411, TurfInfo[Poz3][0], TurfInfo[Poz3][1], TurfInfo[Poz3][2], TurfInfo[Poz3][3], 128, 128, 60);
- PutPlayerInVehicle(i, TurfVozilo[i], 0);
- SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Natjecanje pocinje za {ffffff}5 "SIVA"sekundi!");
- SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Prozirni cete biti prvih {ffffff}10 "SIVA"sekundi nakon pocetka natjecanja!");
- for(new a=0; a<8; a++)
- {
- TextDrawShowForPlayer(i, TurfRez[a]);
- }
- }
- else if(GetPVarInt(i, "TurfTim") == 4)
- {
- TogglePlayerControllable(i, 0);
- DisableRemoteVehicleCollisions(i, 1);
- TurfVozilo[i] = CreateVehicle(411, TurfInfo[Poz4][0], TurfInfo[Poz4][1], TurfInfo[Poz4][2], TurfInfo[Poz4][3], 106, 106, 60);
- PutPlayerInVehicle(i, TurfVozilo[i], 0);
- SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Natjecanje pocinje za {ffffff}5 "SIVA"sekundi!");
- SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Prozirni cete biti prvih {ffffff}10 "SIVA"sekundi nakon pocetka natjecanja!");
- for(new a=0; a<8; a++)
- {
- TextDrawShowForPlayer(i, TurfRez[a]);
- }
- }
- }
- }
- SetTimer("OdmrzniTurf", 5000, false);
- return 1;
- }
- CMD:turfpozovi(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
- new id, tim;
- if(sscanf(params, "ui",id, tim)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /turfpozovi [ID igraca][Tim(1-4)]");
- if(!IsPlayerConnected(id)) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Igrac nije online!");
- if(tim < 1 || tim > 4) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Timovi idu od 1 do 4!");
- SetPVarInt(id, "TurfTim", tim);
- new str[128];
- if(tim == 1)
- {
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Pozvani ste na Turf Wars u narancasti tim!");
- }
- else if(tim == 2)
- {
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Pozvani ste na Turf Wars u crveni tim!");
- }
- else if(tim == 3)
- {
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Pozvani ste na Turf Wars u zeleni tim!");
- }
- else if(tim == 4)
- {
- format(str,sizeof(str),""ORANGE"INFO | "SIVA"Pozvani ste na Turf Wars u plavi tim!");
- }
- SCM(id, -1, str);
- return 1;
- }
- CMD:turfspawn(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
- if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Morate biti u vozilu!");
- new tim;
- if(sscanf(params, "i",tim)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /turfspawn [Spawn tim(1-4)]");
- if(tim < 1 || tim > 4) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Timovi idu od 1 do 4!");
- new Float:aaX,Float:aaY,Float:aaZ,Float:Angle;
- GetVehiclePos(GetPlayerVehicleID(playerid),aaX,aaY,aaZ); GetVehicleZAngle(GetPlayerVehicleID(playerid),Angle);
- if(tim == 1)
- {
- TurfInfo[Poz1][0] = aaX;
- TurfInfo[Poz1][1] = aaY;
- TurfInfo[Poz1][2] = aaZ;
- TurfInfo[Poz1][3] = Angle;
- SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Spremili ste poziciju spawna za narancasti tim!");
- }
- else if(tim == 2)
- {
- TurfInfo[Poz2][0] = aaX;
- TurfInfo[Poz2][1] = aaY;
- TurfInfo[Poz2][2] = aaZ;
- TurfInfo[Poz2][3] = Angle;
- SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Spremili ste poziciju spawna za crveni tim!");
- }
- else if(tim == 3)
- {
- TurfInfo[Poz3][0] = aaX;
- TurfInfo[Poz3][1] = aaY;
- TurfInfo[Poz3][2] = aaZ;
- TurfInfo[Poz3][3] = Angle;
- SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Spremili ste poziciju spawna za zeleni tim!");
- }
- else
- {
- TurfInfo[Poz4][0] = aaX;
- TurfInfo[Poz4][1] = aaY;
- TurfInfo[Poz4][2] = aaZ;
- TurfInfo[Poz4][3] = Angle;
- SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Spremili ste poziciju spawna za plavi tim!");
- }
- SacuvajTurf();
- return 1;
- }
- CMD:kreirajobjekt(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
- new Float:aaX,Float:aaY,Float:aaZ,Float:Angle,Float:RX, vrsta;
- if(sscanf(params,"i",vrsta)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /kreirajobjekt [Vrsta(1 - Obicni | 2 - Spawn objekt)]");
- if(vrsta < 1 || vrsta > 2) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Upisali ste krivu vrstu objekta!");
- GetPlayerPos(playerid,aaX,aaY,aaZ); GetPlayerFacingAngle(playerid,Angle);
- new idobj=getEmptyID(MAX_OBJEKTI,"Objekti/%d.ini");
- if(idobj >= MAX_OBJEKTI) return SCM(playerid,-1, ""CRVENA"GRESKA | "SIVA"Maximum objekata je ogranicen!");
- ObjektiInfo[idobj][aPostavljen] = 1; ObjektiInfo[idobj][aAngle] = Angle; ObjektiInfo[idobj][Vrsta] = vrsta;
- ObjektiInfo[idobj][aX] = aaX; ObjektiInfo[idobj][aY] = aaY; ObjektiInfo[idobj][aZ] = aaZ; ObjektiInfo[idobj][aRX] = RX; ObjektiInfo[idobj][aRY] = 90;
- ObjektiInfo[idobj][aInt] = GetPlayerInterior(playerid); ObjektiInfo[idobj][aVW] = GetPlayerVirtualWorld(playerid);
- KreirajObjekte(idobj); SacuvajObjekte(idobj);
- new str[128];
- format(str,sizeof(str), ""ORANGE"INFO | "SIVA"Poziciju objekta(ID: %d) mozete editovati komandom /eobjekt", idobj);
- SCM(playerid, -1, str);
- return 1;
- }
- CMD:duplicirajobjekt(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
- new id;
- if(sscanf(params,"i",id)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /duplicirajobjekt [ID]");
- new idobj=getEmptyID(MAX_OBJEKTI,"Objekti/%d.ini");
- if(idobj >= MAX_OBJEKTI) return SCM(playerid,-1, ""CRVENA"GRESKA | "SIVA"Maximum objekata je ogranicen!");
- ObjektiInfo[idobj][aPostavljen] = 1; ObjektiInfo[idobj][aAngle] = ObjektiInfo[id][aAngle]; ObjektiInfo[idobj][Vrsta] = ObjektiInfo[id][Vrsta];
- ObjektiInfo[idobj][aX] = ObjektiInfo[id][aX]; ObjektiInfo[idobj][aY] = ObjektiInfo[id][aY]; ObjektiInfo[idobj][aZ] = ObjektiInfo[id][aZ]; ObjektiInfo[idobj][aRX] = ObjektiInfo[id][aRX]; ObjektiInfo[idobj][aRY] = ObjektiInfo[id][aRY];
- ObjektiInfo[idobj][aInt] = GetPlayerInterior(playerid); ObjektiInfo[idobj][aVW] = GetPlayerVirtualWorld(playerid);
- KreirajObjekte(idobj); SacuvajObjekte(idobj);
- new str[128];
- format(str,sizeof(str), ""ORANGE"INFO | "SIVA"Poziciju objekta(ID: %d) mozete editovati komandom /eobjekt", idobj);
- SCM(playerid, -1, str);
- return 1;
- }
- CMD:izbrisiobjekt(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1, ""CRVENA"GRESKA | "SIVA"Niste admin!");
- new yFile[50],id;
- if(sscanf(params,"i",id)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /izbrisiobjekt [ID]");
- DestroyDynamicObject(ObjektiInfo[id][aObjekt]);
- ObjektiInfo[id][aPostavljen] = 0; ObjektiInfo[id][aAngle] = 0; ObjektiInfo[id][Vrsta] = 0;
- ObjektiInfo[id][aX] = 0; ObjektiInfo[id][aY] = 0; ObjektiInfo[id][aZ] = 0; ObjektiInfo[id][aRX] = 0; ObjektiInfo[id][aRY] = 0;
- ObjektiInfo[id][aInt] = 0; ObjektiInfo[id][aVW] = 0;
- format(yFile, sizeof(yFile), OBJEKTI_FILE, id);
- if(fexist(yFile)) { fremove(yFile); SCM(playerid,-1, ""ORANGE"INFO | "SIVA"Uspjesno obrisan objekt!"); }
- else { SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Taj id objekta ne postoji!"); }
- return 1;
- }
- CMD:eobjekt(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
- new yfajl[80],idobj;
- if(sscanf(params, "i",idobj)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /eobjekt [ID]");
- format(yfajl, sizeof(yfajl), OBJEKTI_FILE, idobj);
- if(!fexist(yfajl)) return SCM(playerid,-1, ""CRVENA"GRESKA | "SIVA"ID tog objekta ne postoji!");
- if(!IsPlayerInRangeOfPoint(playerid, 10.0, ObjektiInfo[idobj][aX], ObjektiInfo[idobj][aY], ObjektiInfo[idobj][aZ])) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste u blizini tog objekta!");
- eData[playerid] = idobj; EditDynamicObject(playerid,ObjektiInfo[idobj][aObjekt]);
- return 1;
- }
- CMD:portobjekt(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
- new yfajl[80],idobj;
- if(sscanf(params, "i",idobj)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /portobjekt [ID]");
- format(yfajl, sizeof(yfajl), OBJEKTI_FILE, idobj);
- if(!fexist(yfajl)) return SCM(playerid,-1, ""CRVENA"GRESKA | "SIVA"ID tog objekta ne postoji!");
- SetPlayerPos(playerid,ObjektiInfo[idobj][aX], ObjektiInfo[idobj][aY], ObjektiInfo[idobj][aZ]);
- SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(GetPVarInt(playerid, "TurfTim") > 0)
- {
- SetPVarInt(playerid, "TurfTim", 0);
- DestroyVehicle(TurfVozilo[playerid]);
- for(new a=0; a<8; a++)
- {
- TextDrawHideForPlayer(playerid, TurfRez[a]);
- }
- }
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(GetPVarInt(playerid, "TurfTim") > 0)
- {
- if(oldstate == PLAYER_STATE_DRIVER)
- {
- if(newstate == PLAYER_STATE_ONFOOT)
- {
- PutPlayerInVehicle(playerid, TurfVozilo[playerid], 0);
- }
- }
- }
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- if(PokrenutTurf == 1 && GetPVarInt(playerid, "TurfTim") > 0)
- {
- new Float:ObjPos[3];
- for(new idobj=0; idobj<MAX_OBJEKTI; idobj++)
- {
- if(ObjektiInfo[idobj][aPostavljen] == 1 && ObjektiInfo[idobj][Vrsta] <= 1)
- {
- GetDynamicObjectPos(ObjektiInfo[idobj][aObjekt],ObjPos[0],ObjPos[1],ObjPos[2]);
- if(IsPlayerInRangeOfPoint(playerid, 5.0, ObjPos[0], ObjPos[1], ObjPos[2]))
- {
- if(ObjektiInfo[idobj][Vlasnik] == 1 && GetPVarInt(playerid, "TurfTim") != 1)
- {
- Bodovi[0]--;
- new str[6];
- format(str,sizeof(str), "%d", Bodovi[0]);
- TextDrawSetString(TurfRez[0], str);
- }
- if(ObjektiInfo[idobj][Vlasnik] == 2 && GetPVarInt(playerid, "TurfTim") != 2)
- {
- Bodovi[1]--;
- new str[6];
- format(str,sizeof(str), "%d", Bodovi[1]);
- TextDrawSetString(TurfRez[5], str);
- }
- if(ObjektiInfo[idobj][Vlasnik] == 3 && GetPVarInt(playerid, "TurfTim") != 3)
- {
- Bodovi[2]--;
- new str[6];
- format(str,sizeof(str), "%d", Bodovi[2]);
- TextDrawSetString(TurfRez[6], str);
- }
- if(ObjektiInfo[idobj][Vlasnik] == 4 && GetPVarInt(playerid, "TurfTim") != 4)
- {
- Bodovi[3]--;
- new str[6];
- format(str,sizeof(str), "%d", Bodovi[3]);
- TextDrawSetString(TurfRez[7], str);
- }
- if(GetPVarInt(playerid, "TurfTim") == 1 && ObjektiInfo[idobj][Vlasnik] != 1)
- {
- SetDynamicObjectMaterial(ObjektiInfo[idobj][aObjekt], 0, 10101, "2notherbuildsfe", "ferry_build14", 0xFFFFA500);
- Bodovi[0]++;
- new str[6];
- format(str,sizeof(str), "%d", Bodovi[0]);
- TextDrawSetString(TurfRez[0], str);
- ObjektiInfo[idobj][Vlasnik] = 1;
- }
- else if(GetPVarInt(playerid, "TurfTim") == 2 && ObjektiInfo[idobj][Vlasnik] != 2)
- {
- SetDynamicObjectMaterial(ObjektiInfo[idobj][aObjekt], 0, 10101, "2notherbuildsfe", "ferry_build14", 0xFFFF0000);
- Bodovi[1]++;
- new str[6];
- format(str,sizeof(str), "%d", Bodovi[1]);
- TextDrawSetString(TurfRez[5], str);
- ObjektiInfo[idobj][Vlasnik] = 2;
- }
- else if(GetPVarInt(playerid, "TurfTim") == 3 && ObjektiInfo[idobj][Vlasnik] != 3)
- {
- SetDynamicObjectMaterial(ObjektiInfo[idobj][aObjekt], 0, 10101, "2notherbuildsfe", "ferry_build14", 0xFF00FF7F);
- Bodovi[2]++;
- new str[6];
- format(str,sizeof(str), "%d", Bodovi[2]);
- TextDrawSetString(TurfRez[6], str);
- ObjektiInfo[idobj][Vlasnik] = 3;
- }
- else if(GetPVarInt(playerid, "TurfTim") == 4 && ObjektiInfo[idobj][Vlasnik] != 4)
- {
- SetDynamicObjectMaterial(ObjektiInfo[idobj][aObjekt], 0, 10101, "2notherbuildsfe", "ferry_build14", 0xFF00BFFF);
- Bodovi[3]++;
- new str[6];
- format(str,sizeof(str), "%d", Bodovi[3]);
- TextDrawSetString(TurfRez[7], str);
- ObjektiInfo[idobj][Vlasnik] = 4;
- }
- }
- }
- }
- new Float: IgrPos[3];
- GetPlayerPos(playerid, IgrPos[0], IgrPos[1], IgrPos[2]);
- if(IgrPos[2] < (TurfInfo[Poz1][2]-3))
- {
- if(GetPVarInt(playerid, "TurfTim") == 1)
- {
- DestroyVehicle(TurfVozilo[playerid]);
- TurfVozilo[playerid] = CreateVehicle(411, TurfInfo[Poz1][0], TurfInfo[Poz1][1], TurfInfo[Poz1][2], TurfInfo[Poz1][3], 6, 6, 60);
- PutPlayerInVehicle(playerid, TurfVozilo[playerid], 0);
- }
- else if(GetPVarInt(playerid, "TurfTim") == 2)
- {
- DestroyVehicle(TurfVozilo[playerid]);
- TurfVozilo[playerid] = CreateVehicle(411, TurfInfo[Poz2][0], TurfInfo[Poz2][1], TurfInfo[Poz2][2], TurfInfo[Poz2][3], 3, 3, 60);
- PutPlayerInVehicle(playerid, TurfVozilo[playerid], 0);
- }
- else if(GetPVarInt(playerid, "TurfTim") == 3)
- {
- DestroyVehicle(TurfVozilo[playerid]);
- TurfVozilo[playerid] = CreateVehicle(411, TurfInfo[Poz3][0], TurfInfo[Poz3][1], TurfInfo[Poz3][2], TurfInfo[Poz3][3], 128, 128, 60);
- PutPlayerInVehicle(playerid, TurfVozilo[playerid], 0);
- }
- else if(GetPVarInt(playerid, "TurfTim") == 4)
- {
- DestroyVehicle(TurfVozilo[playerid]);
- TurfVozilo[playerid] = CreateVehicle(411, TurfInfo[Poz4][0], TurfInfo[Poz4][1], TurfInfo[Poz4][2], TurfInfo[Poz4][3], 106, 106, 60);
- PutPlayerInVehicle(playerid, TurfVozilo[playerid], 0);
- }
- }
- }
- return 1;
- }
- public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
- {
- if(response == EDIT_RESPONSE_UPDATE)
- {
- new id = eData[playerid];
- SetDynamicObjectPos(objectid, x, y, z);
- SetDynamicObjectRot(objectid, rx, ry, rz);
- ObjektiInfo[id][aX] = x;
- ObjektiInfo[id][aY] = y;
- ObjektiInfo[id][aZ] = z;
- ObjektiInfo[id][aRX] = rx;
- ObjektiInfo[id][aRY] = ry;
- ObjektiInfo[id][aAngle] = rz;
- SacuvajObjekte(id);
- }
- else if(response == EDIT_RESPONSE_CANCEL)
- {
- eData[playerid] = -1;
- }
- else if(response == EDIT_RESPONSE_FINAL)
- {
- new id = eData[playerid];
- if(id != -1)
- {
- ObjektiInfo[id][aX] = x;
- ObjektiInfo[id][aY] = y;
- ObjektiInfo[id][aZ] = z;
- ObjektiInfo[id][aRX] = rx;
- ObjektiInfo[id][aRY] = ry;
- ObjektiInfo[id][aAngle] = rz;
- DestroyDynamicObject(ObjektiInfo[id][aObjekt]);
- KreirajObjekte(id);
- SacuvajObjekte(id);
- new string[100];
- format(string,sizeof(string),""ORANGE"INFO | "SIVA"Objekt ID %d je uspjesno kreiran/editovan!",id);
- SCM(playerid,-1,string);
- id = -1;
- return 1;
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment