#include #include #include #define OBJECT_BOUNDS 3500 #include #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 #define Version "v0.7.3.5" //COLORS #define CARS_IN_GM 378 #define COLOR_YELLOW 0xFFFF00FF //Player-Text //Taxi-Caller #define COLOR_LIGHTBLUE 0x1E90FFFF #define COLOR_BLUE 0x4169E1FF //PD-Caller #define COLOR_RED 0xFF0000FF //Admin-Text oder verbote ect. #define COLOR_GREEN 0x028702FF //Login //MEDIC-Caller #define COLOR_ORANGE 0xFF8000FF //ADAC-Caller #define COLOR_GREY 0xBEBEBEFF //Connect #define COLOR_LILA 0xFF00FFFF //report #define COLOR_TURQUOISE 0x00FFFFFF //Limo-Caller #define COLOR_WEIS 0xFFFFFFFF #define COLOR_GRAY 0xFFDEADFF #define COLOR_BLACK 0x000000FF #define COLOR_RC 0x339966FF #define COLOR_DARKRED 0xB22222FF //Einsatzchat #define COLOR_EINSTEINRED 0xAA3333FF //Flugcmds #define COLOR_INVISIBLE 0xFFFFFF00 #define COLOR_WELCOME 0x4682B400 //Welcome #define COLOR_TAXI 0xFFFF00FF #define COLOR_PD 0x4080FFFF #define COLOR_MEDIC 0x00FF7FFF #define COLOR_ADAC 0xFFAA00FF #define COLOR_ARMY 0x028702FF #define COLOR_LIMO 0x00FFFFFF #define COLOR_YTRANS 0xD68F11FF //FORWARS forward ifdrunken(); forward Routef(playerid); forward healthset(); forward Lockp(playerid); forward Lockj(playerid); forward counter(); forward gmx(); forward AutoKick(); forward counter2(); forward carsave(); forward Score(); forward Wanted(); forward GetRealTime(); forward Weather(); forward Areacheck(); forward Area51Aufzug(); forward Plate(); forward UpdateSpeed(); forward PhoneStop(playerid); forward InteriorEnter(playerid); forward PDCarEnter(playerid); forward Paketdienst(playerid); forward TUVCheck(); forward Racketenstart(playerid); forward Racketenstart2(playerid); enum SavePlayerPosEnum { Float:LastX, Float:LastY, Float:LastZ } new SavePlayerPos[MAX_PLAYERS][SavePlayerPosEnum]; new Text:Speedo[MAX_PLAYERS]; new Text:Tanktext; //NEW new Drunkencounter[MAX_PLAYERS] = 0; new Drunken[MAX_PLAYERS] = 0; new Bier[MAX_PLAYERS] = 0; new OnMoon[MAX_PLAYERS]; new OnMooncounter[MAX_PLAYERS]; new kanister[MAX_PLAYERS] = 0; new Rakete[MAX_PLAYERS]; new Raketenbit[MAX_PLAYERS]; new Raketencount[MAX_PLAYERS]; new RaketenTimer[MAX_PLAYERS]; new Float:Playercoords[MAX_PLAYERS][6]; new Float:oldplayercoords[MAX_PLAYERS][4]; new lifecam[MAX_PLAYERS]; new deathstate[MAX_PLAYERS] = 0; new deathstatecounter[MAX_PLAYERS]; new LSPD[MAX_PLAYERS]; new schwimmer[MAX_PLAYERS]; new healthsetlimiterplayer[MAX_PLAYERS]; new healthsetlimitercar[MAX_VEHICLES]; new gmxcounteron=0; new gmxcounterID; new gmxcount; new Interior[MAX_PLAYERS][200]; new playermute[MAX_PLAYERS][MAX_PLAYERS]; new oldweather; new gate_Ranch[2]; new Pickup[38]; new gate_RanchBit = 0; new Float:oldcarhealth[MAX_VEHICLES] = 1000.0; new Float:oldplayerhealth[MAX_PLAYERS] = 100.0; new Float:afk_coord[3]; new AutoKickTimer[MAX_PLAYERS] = 0; new RESPAWN = -1; new AREA[MAX_PLAYERS][28]; new mute[MAX_PLAYERS] = 0; //new PLAYERLIST_authed[MAX_PLAYERS]; new savespawnallow[MAX_PLAYERS]=0; new Verleih[MAX_PLAYERS]=0; new un[MAX_PLAYERS]=0; new pn[MAX_PLAYERS]=0; new pnid[MAX_PLAYERS]=0; new ec[MAX_PLAYERS]=0; new gtimebit = 1; new Count[MAX_PLAYERS]; new Count2[MAX_PLAYERS]; new Count2on[MAX_PLAYERS] = 0; new Wantedcount[MAX_PLAYERS]; new Bust[MAX_PLAYERS] = 0; new boxer[MAX_PLAYERS] = 0; new Limo[MAX_PLAYERS] = 0; new PD[MAX_PLAYERS] = 0; new SWAT[MAX_PLAYERS] = 0; new Taxi[MAX_PLAYERS] = 0; new Medic[MAX_PLAYERS] = 0; new ADAC[MAX_PLAYERS] = 0; new ARMY[MAX_PLAYERS] = 0; new NSC[MAX_PLAYERS] = 0; new Office[MAX_PLAYERS] = 0; new Trans[MAX_PLAYERS] = 0; new PZug[MAX_PLAYERS] = 0; new FZug[MAX_PLAYERS] = 0; new Schaf[MAX_PLAYERS] = 0; new Sekur[MAX_PLAYERS] = 0; new Strip[MAX_PLAYERS] = 0; new Paket[MAX_PLAYERS] = 0; new life[MAX_PLAYERS] = 0; new whitelistkick[MAX_PLAYERS] = 0; new Paket_liefer_state[MAX_PLAYERS] = 0; new NSCRaider[MAX_PLAYERS] = 0; new Paintball[MAX_PLAYERS] = 0; new Paintballcount[MAX_PLAYERS]; new Kart[MAX_PLAYERS]; new car[CARS_IN_GM]; new Routeswitch[MAX_PLAYERS] = 0; new Routecounter[MAX_PLAYERS] = 0; //new Kartfobj[MAX_PLAYERS][36]; new Kartcountdown[MAX_PLAYERS]; //new Parlobj[MAX_PLAYERS][54]; //new Bauobj[MAX_PLAYERS][46]; new spawned[MAX_PLAYERS] = 0; new spawned2[MAX_PLAYERS] = 0; new death[MAX_PLAYERS] = 0; new Menu:Route; new Menu:Verleihm; new Menu:Weltraumbahnhof; new Menu:ZumMond; new Menu:PD_skin; new PD_Station[MAX_PLAYERS]; new Sperrebit[MAX_PLAYERS]; new Sperre[MAX_PLAYERS][5]; new gateeinstein; new gateeinsteinbit = 0; new gatest3v3; new gatest3v3bit = 0; new lifegate[2]; new lifegatebit; new gate1au; new gate1ao; new gate1bu; new gate1bo; new gate2au; new gate2ao; new gate2bu; new gate2bo; new gate3u; new gate3o; new gate4[4]; new gate5[2]; new gateADAC[2]; new gate_snoop[2]; new gate_snoop_bit[2]; new gate6; new gate7; new gateplanungs; new bladegate[2]; new bladegatebit1; new bladegatebit2; new evogate; new evogatebit; new Aufzug[4]; new gate1bit = 0; new gate2bit = 0; new gate3bit = 0; new gate4bit = 0; new gate5bit = 0; new gate6bit = 0; new gate7bit = 0; new gateplanungsbit = 0; new gateADACbit = 0; new Aufzug2bit = 0; new Aufzuga; new Aufzugb; new Aufzugbit = 0; new Float:oldplayerhealthb[MAX_PLAYERS]; new snoozegate; new snoozegatebit; new eins; new einsbit; main() { print("Gamemode loaded"); } public OnGameModeInit() { print("Loading Gamemode..."); //Timers SetTimer("healthset",1000,1); SetTimer("AutoKick",60000,1); SetTimer("counter",1000,1); SetTimer("ifdrunken", 200, 1); // SetTimer("counter2",1000,1); SetTimer("Score",1000,1); SetTimer("GetRealTime",30000,1); SetTimer("Weather",600000,1); SetTimer("Areacheck",1000,1); SetTimer("Wanted",1000,1); SetTimer("UpdateSpeed",1000, 1); SetTimer("Pannen",1000,1); //Pickups Pickup[0] = CreatePickup(1275,23,2293.7742,1406.7745,36.6511);//SWAT Pickup[1] = CreatePickup(1275,23,254.8144,77.9758,1003.6406);//LS_PD Pickup[2] = CreatePickup(1275,23,211.5468,170.9313,1003.0234);//LV_PD Pickup[3] = CreatePickup(1275,23,-1619.1204,691.3871,7.1875);//SF_PD Pickup[4] = CreatePickup(1275,23,1558.4178,-2269.3560,13.5488);//LS_TAXI Pickup[5] = CreatePickup(1275,23,1715.0746,1295.7195,10.8203);//LV_TAXI Pickup[6] = CreatePickup(1275,23,-1424.7366,-286.3538,14.1484);//SF_TAXI Pickup[7] = CreatePickup(1275,23,1172.8188,-1328.2120,15.4002);//LS_MEDIC Pickup[8] = CreatePickup(1275,23,1615.7900,1817.4612,10.8203);//LV_MEDIC Pickup[9] = CreatePickup(1275,23,-2646.2046,616.0585,14.4531);//SF_MEDIC Pickup[10] = CreatePickup(1275,23,-77.2727,-1136.4344,1.0781);//ADAC Pickup[11] = CreatePickup(1275,23,203.0480,1873.5786,13.1470);//Army Pickup[12] = CreatePickup(1275,23,1526.6927,-1458.2052,9.5000);//NSC Pickup[13] = CreatePickup(370,2,369.3722,-59.3466,1005.5005);//Office // Pickup[14] = CreatePickup(1242,2,207.7346,1873.8035,13.1470);//Armor Pickup[15] = CreatePickup(1242,2,1527.4205,-1463.0557,9.5000);//Armor Pickup[16] = CreatePickup(1275,23,1740.8073,754.1465,10.8279);//Trans Pickup[17] = CreatePickup(1275,23,1684.5847,-1948.8302,14.1172);//LS-P Pickup[18] = CreatePickup(1275,23,-1931.9601,181.7081,26.2813);//SF-P Pickup[19] = CreatePickup(1275,23,1480.0656,2627.8774,11.3926);//LV-P Pickup[20] = CreatePickup(1275,23,2776.2400,1717.8785,10.8203);//LV-F Pickup[21] = CreatePickup(1275,23,2124.7317,-1944.7123,13.5469);//SF-F Pickup[22] = CreatePickup(1275,23,854.9406,-598.5925,18.4219);//Sekur Pickup[23] = CreatePickup(1275,23,1210.6725,5.0631,1000.9219);//Strip Pickup[24] = CreatePickup(1559,23,626.3099,-2946.0642,9.0930);//WeltraumBahnhof Interior Enter Pickup[25] = CreatePickup(1559,23,1484.4696,-2288.8218,1019.868);//WeltraumBahnhof Interior Exit Pickup[26] = CreatePickup(1559,23,829.8336,-903.3991,68.7734);//Cesar,St3v3 Interior Enter Pickup[27] = CreatePickup(1559,23,-2494.4573,-1461.5792,1006.5127);//Cesar,St3v3 Interior Exit Pickup[28] = CreatePickup(1275,23,1881.5315,2305.3875,10.9799);//Limo Pickup[29] = CreatePickup(1240,23,1599.6516,1816.8755,10.8203);//Heal LV Pickup[30] = CreatePickup(1240,23,1172.7120,-1319.7250,15.3950);//Heal LS Pickup[31] = CreatePickup(1240,23,-2645.4502,638.8970,14.4531);//Heal SF Pickup[32] = CreatePickup(1275,23,1120.2206,-1248.8929,16.0354);//Paket Pickup[33] = CreatePickup(1275,23,2117.7554,2416.4192,49.5234);//Life Pickup[34] = CreatePickup(1559,23,868.2089,2125.6079,10.8203); // Museum Eingang Pickup[35] = CreatePickup(1559,23,1436.6747,1494.6819,1010.8604); //Museum Ausgang Pickup[36] = CreatePickup(1314,23,770.3892,-4.6225,1000.7247); //Boxen Pickup[37] = CreatePickup(1314,23,261.1111,2895.0952,10.5904); //Schwimmskin //AREAS new str[64]; format(str,64,"mapname %s",Version); //settings Object_Object(); SetGameModeText("SAMP RL RPG"); SendRconCommand(str); AddPlayerClass(0,2533.4551,1507.6995,11.6369,267.9417, 0, 0, 0, 0, 0, 0); EnableStuntBonusForAll(0); // SetDeathDropAmount(-100); SetNameTagDrawDistance(5); AllowInteriorWeapons(1); EnableZoneNames(1); GetRealTime(); Weather(); TUVCheck(); SetDisabledWeapons(43); new y,m,d; getdate(y,m,d); printf("%d.%d.%d",d,m,y); //Menü Route = CreateMenu("Routen",1,270,200,100); AddMenuItem(Route,0,"LS-City"); AddMenuItem(Route,0,"LV-City"); AddMenuItem(Route,0,"SF-City"); AddMenuItem(Route,0,"City-Shuttel"); Weltraumbahnhof = CreateMenu("Ziel",1,270,200,100); AddMenuItem(Weltraumbahnhof,0,"Zum Mond"); AddMenuItem(Weltraumbahnhof,0,"--------"); ZumMond = CreateMenu("Zum Mond",2,200,200,100,50); AddMenuItem(ZumMond,0,"Einfach 10 Minuten"); AddMenuItem(ZumMond,1,"850$"); AddMenuItem(ZumMond,0,"Einfach 20 Minuten"); AddMenuItem(ZumMond,1,"1600$"); AddMenuItem(ZumMond,0,"Luxus 15 Minuten"); AddMenuItem(ZumMond,1,"3000$"); AddMenuItem(ZumMond,0,"Luxus 25 Minuten"); AddMenuItem(ZumMond,1,"5000$"); Verleihm = CreateMenu("Verleih",1,270,200,100); AddMenuItem(Verleihm,0,"Sanchez"); AddMenuItem(Verleihm,0,"Quad"); AddMenuItem(Verleihm,0,"Huntley"); PD_skin = CreateMenu("PD-Skin",1,270,200,100); AddMenuItem(PD_skin,0,"Streifen-Skin"); AddMenuItem(PD_skin,0,"Motorrad-Skin"); //Textdraw Tanktext = TextDrawCreate(33.000000,410.000000,"^"); TextDrawAlignment(Tanktext,0); TextDrawBackgroundColor(Tanktext,0xffff00ff); TextDrawFont(Tanktext,3); TextDrawLetterSize(Tanktext,2.000000,2.000000); TextDrawColor(Tanktext,0xffff00ff); TextDrawSetOutline(Tanktext,1); TextDrawSetProportional(Tanktext,1); TextDrawSetShadow(Tanktext,1); for(new i=0; i6) { SetPlayerWantedLevel(killerid,6); } } oldplayerhealth[playerid] = 100; new str[256]; format(str,256,"%s hat eine Straftat begangen!",PlayerName(killerid)); for(new i=0; i= 5) { SendClientMessage (playerid, COLOR_GREEN, "Du bist voll, gehe zu einem Krankenhaus um wieder nüchtern zu werden"); Drunkencounter[playerid] = 360; } } else { SendClientMessage(playerid, COLOR_WELCOME, "Du hast kein Bier"); } return 1; } //GAMES ect.-------------------------------------------------------------------------------------------------------- if(strcmp(cmdtext, "/exit", true) == 0) { if(Paintball[playerid] == 1) { SetPlayerPos(playerid,953.8339,2169.0281,1011.0234); SetPlayerFacingAngle(playerid,180); Paintball[playerid] = 0; SendClientMessage(playerid,COLOR_YELLOW,"Du spielst jetzt nicht mehr Paintball"); ResetPlayerWeapons(playerid); oldplayerhealth[playerid] = 100; SetPlayerHealth(playerid,100); } else { SendClientMessage(playerid,COLOR_RED,"Du spielst gerade nicht Paintball"); } return 1; } if (strcmp( cmdtext,"/countdown", true ) == 0) { if(Kart[playerid]==1) { if(Kartcountdown[playerid]==0) { SendClientMessage(playerid,COLOR_YELLOW,"Countdown gestartet"); Kartcountdown[playerid]=4; } else { SendClientMessage(playerid,COLOR_RED,"Der Countdown läuft bereits!"); } } else { SendClientMessage(playerid,COLOR_RED,"Du fährst nicht Kart!"); } return 1; } //ADMIN------------------------------------------------------------------------------------------------------------- //allowjob if(strcmp(cmd, "/allowpd", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("pd",1); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden in den Polizeidienst gestellt"); return 1; } if(strcmp(cmd, "/allowadac", true)==0 && IsPlayerAdmin(playerid) /*|| dUserINT(PlayerName(playerid)).("ID") == 3*/) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("adac",1); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden in den ADAC-Dienst gestellt"); return 1; } if(strcmp(cmd, "/allowtaxi", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("taxi",1); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden in den Taxi-Dienst gestellt"); return 1; } if(strcmp(cmd, "/allowswat", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("swat",1); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden in den Swat-Dienst gestellt"); return 1; } if(strcmp(cmd, "/allowmedic", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("Medic",1); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden in den Medic-Dienst gestellt"); return 1; } if(strcmp(cmd, "/allowarmy", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("ARMY",1); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden in den Army-Dienst gestellt"); return 1; } if(strcmp(cmd, "/allowtrans", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("trans",1); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden in den Trans-Dienst gestellt"); return 1; } if(strcmp(cmd, "/allowlimo", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("limo",1); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden in den Limo-Dienst gestellt"); return 1; } if(strcmp(cmd, "/allowyt", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("paket",1); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden in den YT-Dienst gestellt"); return 1; } if(strcmp(cmd, "/allowlife", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("life",1); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden in den Geheim-Life-Dienst gestellt"); return 1; } //disallowjob if(strcmp(cmd, "/disallowpd", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("pd",0); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden aus den Polizeidienst gestellt"); return 1; } if(strcmp(cmd, "/disallowadac", true)==0 && IsPlayerAdmin(playerid) /*|| dUserINT(PlayerName(playerid)).("ID") == 3*/) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("adac",0); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden aus den ADAC-Dienst gestellt"); return 1; } if(strcmp(cmd, "/disallowtaxi", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("taxi",0); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden aus den Taxi-Dienst gestellt"); return 1; } if(strcmp(cmd, "/disallowswat", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("swat",0); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden aus den Swat-Dienst gestellt"); return 1; } if(strcmp(cmd, "/disallowmedic", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("Medic",0); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden aus den Medic-Dienst gestellt"); return 1; } if(strcmp(cmd, "/disallowarmy", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("ARMY",0); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden aus den Army-Dienst gestellt"); return 1; } if(strcmp(cmd, "/disallowtrans", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("trans",0); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden aus den Trans-Dienst gestellt"); return 1; } if(strcmp(cmd, "/disallowlimo", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("limo",0); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden aus den Limo-Dienst gestellt"); return 1; } if(strcmp(cmd, "/disallowyt", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("paket",0); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden aus den YT-Dienst gestellt"); return 1; } if(strcmp(cmd, "/disallowlife", true)==0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); new id = strval(tmp); dUserSetINT(PlayerName(id)).("life",0); SendClientMessage(playerid, COLOR_RED, "Du hast jemanden aus den Geheim-Life-Dienst gestellt"); return 1; } if (strcmp(cmd, "/gmx", true)==0 && IsPlayerAdmin(playerid)) { if(gmxcounteron==0) { gmxcounteron=1; new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { gmxcount = 30; } else { gmxcount = strval(tmp); } gmxcounterID = SetTimer("gmx",1000,1); SendClientMessage(playerid,COLOR_RED,"GMX Countdown aktiviert!"); printf("GMX: Set in %d",gmxcount); } else { gmxcounteron=0; KillTimer(gmxcounterID); } return 1; } if (strcmp("/settime", cmdtext, true) == 0 && IsPlayerAdmin(playerid)) { if (gtimebit == 0) { gtimebit = 1; GetRealTime(); SendClientMessage(playerid,COLOR_RED,"Realtime Zeit eingeschaltet."); } else if (gtimebit == 1) { gtimebit = 0; SetWorldTime(12); SendClientMessage(playerid,COLOR_RED,"Realtimezeit ausgeschaltet"); } return 1; } if(strcmp(cmd, "/money", true) == 0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "/money [ID] [Betrag]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "/money [ID] [Betrag]"); return 1; } moneys = strval(tmp); if (IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); playermoney = GetPlayerMoney(giveplayerid); GivePlayerMoney(giveplayerid,moneys); format(string, sizeof(string), "Du hast von jemanden das Geld verändern: $%d", moneys); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "Ein Admin hat dein Geld verändern: $%d", moneys); SendClientMessage(giveplayerid, COLOR_YELLOW, string); printf("[transfer] %s hat $%d verändert bekommen.",giveplayer, moneys); } else { format(string, sizeof(string), "ID: %d ist nicht Online.", giveplayerid); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } if(strcmp(cmd, "/kasse", true) == 0 && IsPlayerAdmin(playerid)) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "/kasse[ID] [Betrag]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "/kasse [ID] [Betrag]"); return 1; } moneys = strval(tmp); if (IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); playermoney = GetPlayerMoney(giveplayerid); GivePlayerMoney(giveplayerid,moneys); dUserSetINT("Staat").("Kasse",dUserINT("Staat").("Kasse")-moneys); format(string, sizeof(string), "Du hast die Staatskasse verwendet: $%d", moneys); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "Du verwendest die Staatskasse: $%d", moneys); SendClientMessage(giveplayerid, COLOR_YELLOW, string); printf("[transfer] %s hat $%d von Staatskasse verwendet.",giveplayer, moneys); } else { format(string, sizeof(string), "ID: %d ist nicht Online.", giveplayerid); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } if (strcmp(cmd, "/say", true) == 0 && IsPlayerAdmin(playerid)) { if(strlen(cmdtext[5])) { GameTextForAll(cmdtext[5],5000,3); } return 1; } if (strcmp(cmd, "/Geist", true) == 0 && IsPlayerAdmin(playerid)) { new str[256]; format(str,256,"Geist: %s",cmdtext[7]); SendClientMessageToAll(COLOR_WEIS,str); return 1; } if (strcmp("/cesarrepair", cmdtext, true) == 0 && dUserINT(PlayerName(playerid)).("ID") == 3) { if(IsPlayerInAnyVehicle(playerid)) { new vehicleid; vehicleid = GetPlayerVehicleID(playerid); SetVehicleHealth(vehicleid,400); oldcarhealth[vehicleid] = 400; SendClientMessageToAll(COLOR_RED,"Der böse Cesar wollte sein Auto heilen"); SendClientMessageToAll(COLOR_RED,"aber hat es nur noch kaputter gemacht..."); } return 1; } if (strcmp("/adminrepair", cmdtext, true) == 0 && IsPlayerAdmin(playerid)) { if(IsPlayerInAnyVehicle(playerid)) { for(new i=0; i 10) { dUserSetINT(str).("Tank",dUserINT(str).("Tank")+10); kanister[playerid] = 0; dUserSetINT(str).("Tank_leer",0); SendClientMessage(playerid, COLOR_YELLOW, "Aufgetankt"); } else { new rest; rest = GetMaxTank(nearcarid) - dUserINT(str).("Tank"); dUserSetINT(str).("Tank",dUserINT(str).("Tank")+rest); kanister[playerid] = 0; dUserSetINT(str).("Tank_leer",0); SendClientMessage(playerid, COLOR_YELLOW, "Aufgetankt"); } } } } else { SendClientMessage(playerid, COLOR_YELLOW, "Nicht nah genug"); } } else { SendClientMessage(playerid, COLOR_YELLOW, "Du hast keinen Kanister"); } } return 1; } if(strcmp(cmdtext, "/repair", true) == 0) { if(ADAC[playerid]==1) { new nearcarid; nearcarid = GetClosestCar(playerid); if(0.0<=GetDistanceToCar(playerid,nearcarid)<=5.0) { new str[256],str3[256],amount,Float:health; GetVehicleHealth(nearcarid,health); amount = floatround(floatsub(1000,health)); for(new i=0; i 0 && playermoney >= moneys) { GivePlayerMoney(playerid, (0 - moneys)); GivePlayerMoney(giveplayerid, moneys); format(string, sizeof(string), "Du hast $%d an %s (ID: %d) geschickt.",moneys, giveplayer, giveplayerid); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "Du hast $%d von %s (ID: %d) bekommen.", moneys, sendername, playerid); SendClientMessage(giveplayerid, COLOR_YELLOW, string); printf("[transfer] %s hat $%d an %s geschickt!",sendername, moneys, giveplayer); } else { SendClientMessage(playerid, COLOR_YELLOW, "Ungültiger Geldbetrag"); } } else { format(string, sizeof(string), "ID: %d ist nicht Online.", giveplayerid); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } if (strcmp(cmdtext, "/zu", true)==0 || strcmp(cmdtext, "/lock", true) == 0) // { if(IsPlayerInAnyVehicle(playerid)) { new carid; carid = GetPlayerVehicleID(playerid); if(carid!=car[86] && carid!=car[87] && carid!=car[88] && carid!=car[89] && carid!=car[90]) { new Statu ; Statu=GetPlayerState(playerid); new vehicleid = GetPlayerVehicleID(playerid); if(Statu!=PLAYER_STATE_DRIVER) { SendClientMessage(playerid,COLOR_RED,"Nur der Fahrer kann abschliessen!"); return 1; } new i; for(i=0;i=2000)) { SendClientMessage(playerid, COLOR_RED, "/tüv [1-31] [1-12] [2000 oder großer]"); return 1; } y = strval(tmp); timestamp = mktime(0,0,0,d,m,y); if(IsPlayerInAnyVehicle(playerid)) { new carid; carid = GetPlayerVehicleID(playerid); for(new i=0; i= 3) { format(str, 256, "%s mehr Alkohol als zugelassen getrunken und ist fahruntüchtig!", nearname); SendClientMessage(playerid, COLOR_BLUE, str); } } else { SendClientMessage(playerid, COLOR_RED,"Du bist nicht nah genug!!"); } return 1; } if (strcmp( cmdtext,"/jail", true )==0 &&(PD[playerid]==1||SWAT[playerid]==1)) { new nearid; nearid = GetClosestPlayer(playerid); if(0.0<=GetDistanceBetweenPlayers(playerid,nearid)<=1.0) { new str[256],str2[256],name[30],nearname[30]; GetPlayerName(playerid,name,30); GetPlayerName(nearid,nearname,30); if(Bust[nearid]==1) { Bust[nearid]=0; dUserSetINT(PlayerName(nearid)).("Knast",1); TogglePlayerControllable(nearid,1); SetPlayerPos(nearid,193.1909,174.9256,1003.0234); SetPlayerFacingAngle(nearid,180); SetPlayerInterior(nearid,3); format(str, 256, "%s wurde von %s in den Knast gesteckt!", nearname,name); format(str2, 256, "Du wurdest von %s in den Knast gesteckt!", name); SetPlayerWantedLevel(playerid,0); for(new i=0; i= 5) { Drunken[playerid] = 0; SendClientMessage(playerid, COLOR_GREEN, "Trinke nächstes mal nicht soviel"); ClearAnimations(playerid); } } Lockj(playerid); return 1; } public OnPlayerSelectedMenuRow(playerid, row) { if(Route==GetPlayerMenu(playerid)) { switch(row) { case 0: { SendClientMessage(playerid,COLOR_RED,"LS-City"); Routeswitch[playerid] = 1; Routecounter[playerid] = 0; } case 1: { SendClientMessage(playerid,COLOR_RED,"LV-City"); Routeswitch[playerid] = 2; Routecounter[playerid] = 0; } case 2: { SendClientMessage(playerid,COLOR_RED,"SF-City"); Routeswitch[playerid] = 3; Routecounter[playerid] = 0; } case 3: { SendClientMessage(playerid,COLOR_RED,"City-Shuttel"); Routeswitch[playerid] = 4; Routecounter[playerid] = 0; } } Routef(playerid); } if(Weltraumbahnhof==GetPlayerMenu(playerid)) { switch(row) { case 0: { ShowMenuForPlayer(ZumMond,playerid); TogglePlayerControllable(playerid,0); return 1; } case 1: { SendClientMessage(playerid,COLOR_YELLOW,"Mumu, Titti, Popo, Afe, Einstein,1337,42"); SendClientMessage(playerid,COLOR_YELLOW,"Schatzi, Lieb dich!! x3"); } } } if(ZumMond==GetPlayerMenu(playerid)) { switch(row) { case 0: { SetPlayerInterior(playerid,0); DisablePlayerCheckpoint(playerid); TogglePlayerControllable(playerid,0); SetPlayerPos(playerid,685.7371,-2925.7192,0.0874); SetPlayerCameraPos(playerid,685.7371,-2925.7192,8.0874); SetPlayerCameraLookAt(playerid,670.400635, -2908.173828, 10.385860); GivePlayerMoney(playerid,-850); new given=0; for(new i=0; i= 1) { Drunkencounter[i]--; if(Drunkencounter[i] == 0) { Drunken[i] = 0; ClearAnimations(i); } } if(OnMoon[i]==1) { if(OnMooncounter[i]<1) { DisablePlayerCheckpoint(i); TogglePlayerControllable(i,0); SetPlayerPos(i,551.3826,-3803.4832,-8.4835); SetPlayerCameraPos(i,551.3826,-3803.4832,2.4835); SetPlayerCameraLookAt(i, 569.308228, -3784.038574, 4.762981); Raketenbit[i]=2; OnMoon[i]=0; SetTimerEx("Racketenstart",10000,0,"i",i); } } if(Kartcountdown[i]>0) { if(IsPlayerConnected(i) && Kart[i]==1) { Kartcountdown[i]--; switch(Kartcountdown[i]) { case 3: GameTextForPlayer(i,"3",1000,3); case 2: GameTextForPlayer(i,"2",1000,3); case 1: GameTextForPlayer(i,"1",1000,3); case 0: GameTextForPlayer(i,"GO! GO! GO!",3000,3); } } } } return 1; } public Score() { for(new i=0; i Autokick!"); AutoKickTimer[i]=0; Kick(i); print("Autokick!"); SendClientMessageToAll(COLOR_RED,str); } } } return 1; } public PDCarEnter(playerid) { if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER && GetPlayerState(playerid)!=PLAYER_STATE_PASSENGER) { GivePlayerWeapon(playerid,29,-2000); } return 1; } public Racketenstart(playerid) { if(Raketenbit[playerid]==0) { MovePlayerObject(playerid,Rakete[playerid],670.400635, -2908.173828, 100.385860,20.0); CreateExplosion(670.400635, -2908.173828, 10.385860,6,10); } else { MovePlayerObject(playerid,Rakete[playerid],569.308228, -3784.038574, 104.762981,20.0); CreateExplosion(569.308228, -3784.038574, 4.762981,6,10); } Raketencount[playerid]=1; RaketenTimer[playerid] = SetTimerEx("Racketenstart2",500,1,"i",playerid); return 1; } public Racketenstart2(playerid) { if(Raketenbit[playerid]==0) { CreateExplosion(670.400635, -2908.173828, 10.385860+(11.066353*Raketencount[playerid]),6,10); Raketencount[playerid]++; if(Raketencount[playerid]>=9) { KillTimer(RaketenTimer[playerid]); StopPlayerObject(playerid,Rakete[playerid]); SetPlayerObjectPos(playerid,Rakete[playerid],569.308228, -3784.038574, 4.762981); StopPlayerObject(playerid,Rakete[playerid]); TogglePlayerControllable(playerid,0); SetPlayerPos(playerid,581.2643,-3819.2280,2.4835); SetPlayerFacingAngle(playerid,269.0347); SetCameraBehindPlayer(playerid); SetPlayerCheckpoint(playerid,604.0601,-3818.2988,2.4835,2.0); Raketenbit[playerid]=1; SetTimerEx("InteriorEnter",1000,0,"i",playerid); } } else { CreateExplosion(569.308228, -3784.038574, 4.762981+(11.066353*Raketencount[playerid]),6,10); Raketencount[playerid]++; if(Raketencount[playerid]>=9) { KillTimer(RaketenTimer[playerid]); StopPlayerObject(playerid,Rakete[playerid]); SetPlayerObjectPos(playerid,Rakete[playerid],670.400635, -2908.173828, 10.385860); StopPlayerObject(playerid,Rakete[playerid]); SetPlayerPos(playerid,626.4671,-2944.2673,8.0930); SetPlayerFacingAngle(playerid,360); SetCameraBehindPlayer(playerid); SetTimerEx("InteriorEnter",1000,0,"i",playerid); } } return 1; } public PhoneStop(playerid) { SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE); return 1; } public InteriorEnter(playerid) { TogglePlayerControllable(playerid,1); return 1; } public TUVCheck() { new da,mo,ye,timestamp,timestamp2; getdate(ye,mo,da); timestamp = mktime(0,0,0,da,mo,ye); for(new i=0; i=timestamp2) { dUserSetINT(str).("tuv_ab",1); } } return 1; } public gmx() { new str[256]; if(gmxcount<=0) { GameModeExit(); } else { format(str,256,"~r~GMX in %d Sekunden",gmxcount); GameTextForAll(str,1000,3); } gmxcount--; return 1; } public GetRealTime() { if (gtimebit == 1) { new h,m,s; gettime(h,m,s); SetWorldTime(h); /* for(new i=0; i=2) { new Float:x,Float:y,Float:z; GetPlayerPos(i,x,y,z); for(new j=0; j=5) { healthsetlimiterplayer[i]++; } else { if(oldplayerhealth[i]=10) { SetPlayerHealth(i,phealth-0.3); deathstatecounter[i]=0; } else { deathstatecounter[i]++; } } } if(phealth<10) { if(deathstate[i]==0 || deathstate[i]==1) { SendClientMessage(i,COLOR_RED,"Du bist schwer verletzt und kannst nicht mehr gehen!"); GameTextForPlayer(i,"~w~Du bist schwer ~r~~h~verletzt ~w~und~n~ kannst ~r~~h~nicht ~w~mehr ~r~~h~gehen~w~!",10000,3); new Name[30], str[64]; GetPlayerName(i, Name, 32); format(str, 64, "%s braucht sofort einen Arzt!!!", Name); SetPlayerColor(i,COLOR_GREEN); SendClientMessageToAll(COLOR_GREEN,str); TogglePlayerControllable(i,0); ApplyAnimation(i,"PED","FLOOR_hit",4.1,0,1,1,1,1); new Float:x,Float:y,Float:z; GetPlayerPos(i,x,y,z); SetPlayerCameraPos(i,x,y,z+15); SetPlayerCameraLookAt(i,x,y,z); deathstate[i]=2; } else { if(deathstatecounter[i]>=5) { SetPlayerHealth(i,phealth-0.4); deathstatecounter[i]=0; } else { deathstatecounter[i]++; } } } dUserSetFLOAT(PlayerName(i)).("health",phealth); dUserSetINT(PlayerName(i)).("money",GetPlayerMoney(i)); oldplayerhealth[i] = phealth; } } } if(IsPlayerInAnyVehicle(i)) { new carid,Float:health; carid = GetPlayerVehicleID(i); if(GetVehicleModel(carid)!=538 && GetVehicleModel(carid)!=539 && GetVehicleModel(carid)!=569 && GetVehicleModel(carid)!=570) { GetVehicleHealth(carid,health); for(new j=0; j=5) { healthsetlimitercar[carid]++; } else { if(oldcarhealth[carid]= 5) { if(IsPlayerInAnyVehicle(i)) { } else { ApplyAnimation(i,"PED","WALK_DRUNK",4.1,1,1,1,1,1); } } } return 1; } enum COORD { Float:coord_x, Float:coord_y, Float:coord_z } enum CAMMOVEMENT { steps, currentstep, Float:amount_x, Float:amount_y, Float:amount_z, Float:look_x, Float:look_y, Float:look_z, CameraMoveTimerID } forward Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2); forward CameraMoveTimer(playerid); forward CameraMoveTimer2(playerid); new PLAYERLIST_authed[MAX_PLAYERS]; new Float:gPlayerCameraPos[MAX_PLAYERS][COORD]; new Float:gPlayerCamMovement[MAX_PLAYERS][CAMMOVEMENT]; stock MoveCamera(playerid, Float:dest_x, Float:dest_y, Float:dest_z, Float:lookat_x, Float:lookat_y, Float:lookat_z, Float:speed) { new Float:distance; distance = GetDistanceBetweenPoints(gPlayerCameraPos[playerid][coord_x], gPlayerCameraPos[playerid][coord_y], gPlayerCameraPos[playerid][coord_z], dest_x, dest_y, dest_z); gPlayerCamMovement[playerid][steps] = floatround(distance / speed); gPlayerCamMovement[playerid][currentstep] = 0; gPlayerCamMovement[playerid][amount_x] = (dest_x - gPlayerCameraPos[playerid][coord_x]) / gPlayerCamMovement[playerid][steps]; gPlayerCamMovement[playerid][amount_y] = (dest_y - gPlayerCameraPos[playerid][coord_y]) / gPlayerCamMovement[playerid][steps]; gPlayerCamMovement[playerid][amount_z] = (dest_z - gPlayerCameraPos[playerid][coord_z]) / gPlayerCamMovement[playerid][steps]; gPlayerCamMovement[playerid][look_x] = lookat_x; gPlayerCamMovement[playerid][look_y] = lookat_y; gPlayerCamMovement[playerid][look_z] = lookat_z; gPlayerCamMovement[playerid][CameraMoveTimerID] = SetTimerEx("CameraMoveTimer", 50, 1, "i", playerid); return 1; } stock MoveCamera2(playerid, Float:dest_x, Float:dest_y, Float:dest_z, Float:lookat_x, Float:lookat_y, Float:lookat_z, Float:speed) { new Float:distance; distance = GetDistanceBetweenPoints(gPlayerCameraPos[playerid][coord_x], gPlayerCameraPos[playerid][coord_y], gPlayerCameraPos[playerid][coord_z], dest_x, dest_y, dest_z); gPlayerCamMovement[playerid][steps] = floatround(distance / speed); gPlayerCamMovement[playerid][currentstep] = 0; gPlayerCamMovement[playerid][amount_x] = (dest_x - gPlayerCameraPos[playerid][coord_x]) / gPlayerCamMovement[playerid][steps]; gPlayerCamMovement[playerid][amount_y] = (dest_y - gPlayerCameraPos[playerid][coord_y]) / gPlayerCamMovement[playerid][steps]; gPlayerCamMovement[playerid][amount_z] = (dest_z - gPlayerCameraPos[playerid][coord_z]) / gPlayerCamMovement[playerid][steps]; gPlayerCamMovement[playerid][look_x] = lookat_x; gPlayerCamMovement[playerid][look_y] = lookat_y; gPlayerCamMovement[playerid][look_z] = lookat_z; gPlayerCamMovement[playerid][CameraMoveTimerID] = SetTimerEx("CameraMoveTimer2", 50, 1, "i", playerid); return 1; } //------------------------------------------------------------------- stock SetPlayerCameraPosEx(playerid, Float:cam_x, Float:cam_y, Float:cam_z, Float:lookat_x, Float:lookat_y, Float:lookat_z) { SetPlayerCameraPos(playerid, cam_x, cam_y, cam_z); SetPlayerCameraLookAt(playerid, lookat_x, lookat_y, lookat_z); gPlayerCameraPos[playerid][coord_x] = cam_x; gPlayerCameraPos[playerid][coord_y] = cam_y; gPlayerCameraPos[playerid][coord_z] = cam_z; return 1; } //------------------------------------------------------------------- stock Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2) { return floatsqroot(floatpower(x1 - x2, 2) + floatpower(y1 - y2, 2) + floatpower(z1 - z2, 2)); } //------------------------------------------------------------------- public CameraMoveTimer(playerid) { if (gPlayerCamMovement[playerid][currentstep] <= gPlayerCamMovement[playerid][steps] - 1) { gPlayerCameraPos[playerid][coord_x] = gPlayerCameraPos[playerid][coord_x] + gPlayerCamMovement[playerid][amount_x]; gPlayerCameraPos[playerid][coord_y] = gPlayerCameraPos[playerid][coord_y] + gPlayerCamMovement[playerid][amount_y]; gPlayerCameraPos[playerid][coord_z] = gPlayerCameraPos[playerid][coord_z] + gPlayerCamMovement[playerid][amount_z]; SetPlayerCameraPos(playerid, gPlayerCameraPos[playerid][coord_x], gPlayerCameraPos[playerid][coord_y], gPlayerCameraPos[playerid][coord_z]); SetPlayerCameraLookAt(playerid, gPlayerCamMovement[playerid][look_x], gPlayerCamMovement[playerid][look_y], gPlayerCamMovement[playerid][look_z]); gPlayerCamMovement[playerid][currentstep]++; } else { KillTimer(gPlayerCamMovement[playerid][CameraMoveTimerID]); } return 1; } public CameraMoveTimer2(playerid) { if (gPlayerCamMovement[playerid][currentstep] <= gPlayerCamMovement[playerid][steps] - 1 && PLAYERLIST_authed[playerid]==0) { gPlayerCameraPos[playerid][coord_x] = gPlayerCameraPos[playerid][coord_x] + gPlayerCamMovement[playerid][amount_x]; gPlayerCameraPos[playerid][coord_y] = gPlayerCameraPos[playerid][coord_y] + gPlayerCamMovement[playerid][amount_y]; gPlayerCameraPos[playerid][coord_z] = gPlayerCameraPos[playerid][coord_z] + gPlayerCamMovement[playerid][amount_z]; SetPlayerCameraPos(playerid, gPlayerCameraPos[playerid][coord_x], gPlayerCameraPos[playerid][coord_y], gPlayerCameraPos[playerid][coord_z]); SetPlayerCameraLookAt(playerid, gPlayerCamMovement[playerid][look_x], gPlayerCamMovement[playerid][look_y], gPlayerCamMovement[playerid][look_z]); gPlayerCamMovement[playerid][currentstep]++; } else { KillTimer(gPlayerCamMovement[playerid][CameraMoveTimerID]); } return 1; } //------------------------------------------------------------------- stock Float:GetDistanceBetweenPlayers(p1,p2) { new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)) { return -1.00; } GetPlayerPos(p1,x1,y1,z1); GetPlayerPos(p2,x2,y2,z2); return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); } stock GetClosestPlayer(p1) { new i,Float:dis,Float:dis2,player; player = -1; dis = 99999.99; for (i=0;i minx && x < maxx && y > miny && y < maxy) return 1; return 0; } //----------------------------------- stock LimitChatArea(playerid, text[], Float:radius) { new Float:X,Float:Y,Float:Z; new Float:pX, Float:pY, Float:pZ; new str[256],name[30]; for(new i; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { GetPlayerPos(i,X,Y,Z); GetPlayerPos(playerid, pX, pY, pZ); if (pX >= X-radius && pX <= X+radius && pY >= Y-radius && pY <= Y+radius && pZ >= Z-radius && pZ <= Z+radius) { GetPlayerName(playerid,name,30); format(str, 256, "[un]%s: %s", name, text); SendClientMessage(i, 0xFFFFFFFF,str); } } } return 1; } stock GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance) { new Float:a; GetPlayerPos(playerid, x, y, a); GetPlayerFacingAngle(playerid, a); x += (distance * floatsin(-a, degrees)); y += (distance * floatcos(-a, degrees)); } stock GetVehicleWithinDistance( playerid, Float:x1, Float:y1, Float:z1, Float:dist, &veh){ new near=-1; for(new i = 1; i < MAX_VEHICLES; i++){ if(GetVehicleModel(i) > 0){ if(GetPlayerVehicleID(playerid) != i ){ new Float:x, Float:y, Float:z; new Float:x2, Float:y2, Float:z2; GetVehiclePos(i, x, y, z); x2 = x1 - x; y2 = y1 - y; z2 = z1 - z; new Float:vDist = (x2*x2+y2*y2+z2*z2); if( vDist < dist){ near = i; veh = near; } } } } }