#include #include #include #include #define foreachEx(%2,%1) for(new %2 = 0; %2 < %1; %2++) #define REGULAMIN 0 #define COLOR_GREY 0x808080FF #define BRONIE 1 #define PISTOLETY 2 #define SHOTGUNY 3 #define SNAJPERKI 4 #define MASZYNOWE 5 #define KARABINY 6 #define EROTYCZNE 7 #define white "{FFFFFF}" #define yellow "{FAF623}" #define orange "{F2C80C}" #define red "{FF002B}" #define green "{3DE3B1}" #define grey "{C0C0C0}" #define MENU_RADIO 8 #define MOVE_SPEED 100.0 #define ACCEL_RATE 0.03 #define CAMERA_MODE_NONE 9 #define CAMERA_MODE_FLY 10 #define MOVE_FORWARD 11 #define MOVE_BACK 12 #define MOVE_LEFT 13 #define MOVE_RIGHT 14 #define MOVE_FORWARD_LEFT 15 #define MOVE_FORWARD_RIGHT 16 #define MOVE_BACK_LEFT 17 #define MOVE_BACK_RIGHT 18 #define POMOC 19 #define OPCJE 20 #define KOMENDY 21 #define ANIMACJE 22 #define FAQ 23 #define COLOR_YELLOW 0xFFFF00FF new sprintfStr[500]; #define sprintf(%0,%1) (format(sprintfStr, 1000, %0, %1), sprintfStr) main() {} enum ePlayer { char_uid, char_name[MAX_PLAYER_NAME+1], char_cash, char_bank_cash, Text3D:char_name_label }; new pPlayer[MAX_PLAYERS][ePlayer]; new Text:SerwerTextDraw; new Text:RadioTextDraw; new Text:PowitanieTextDraw; new Text:SkinTextDraw; new Text:radioon; new Text:radiooff; new Text:Date; new Text:Time; new Text:RestartTextDraw; new Text:CommandTextDraw; new Text:LatanieOn; new Text:LatanieOff; new Text:PojazdSpawn; enum noclipenum { cameramode, flyobject, mode, lrold, udold, lastmove, Float:accelmul } new noclipdata[MAX_PLAYERS][noclipenum]; public OnFilterScriptExit() { // If any players are still in edit mode, boot them out before the filterscript unloads for(new x; x~ Odtwarzany jest standardowy blok muzyczny.. ((/radio))"); TextDrawLetterSize(RadioTextDraw,0.190987, 0.993281); TextDrawTextSize(RadioTextDraw,1236.000000, 0.000000); TextDrawAlignment(RadioTextDraw, 1); TextDrawColor(RadioTextDraw, -1); TextDrawUseBox(RadioTextDraw, 1); TextDrawBoxColor(RadioTextDraw, 15); TextDrawSetShadow(RadioTextDraw, 0); TextDrawSetOutline(RadioTextDraw, 1); TextDrawBackgroundColor(RadioTextDraw, 83); TextDrawFont(RadioTextDraw, 1); TextDrawSetProportional(RadioTextDraw, 1); TextDrawSetShadow(RadioTextDraw, 0); SerwerTextDraw = TextDrawCreate(89,424,"~h~serwer~bhh~~h~-~w~~h~pomocniczy~bhh~~h~.~w~~h~pl"); TextDrawLetterSize(SerwerTextDraw,0.249999,1.100000); TextDrawAlignment(SerwerTextDraw,3); TextDrawBackgroundColor(SerwerTextDraw,0x000000ff); TextDrawFont(SerwerTextDraw,1); TextDrawUseBox(SerwerTextDraw,0); TextDrawSetOutline(SerwerTextDraw,0); TextDrawSetProportional(SerwerTextDraw,1); TextDrawSetShadow(SerwerTextDraw,1); PowitanieTextDraw = TextDrawCreate(207.000000, 65.000000, "~h~serwer~bhh~~h~-~w~~h~pomocniczy~bhh~~h~.~w~~h~pl"); TextDrawFont(PowitanieTextDraw, 1); TextDrawLetterSize(PowitanieTextDraw, 0.679165, 2.499999); TextDrawTextSize(PowitanieTextDraw, 490.500000, 17.000000); TextDrawSetOutline(PowitanieTextDraw, 1); TextDrawSetShadow(PowitanieTextDraw, 0); TextDrawAlignment(PowitanieTextDraw, 1); TextDrawColor(PowitanieTextDraw, -1); TextDrawBackgroundColor(PowitanieTextDraw, 255); TextDrawBoxColor(PowitanieTextDraw, 50); TextDrawUseBox(PowitanieTextDraw, 0); TextDrawSetProportional(PowitanieTextDraw, 1); TextDrawSetSelectable(PowitanieTextDraw, 0); SkinTextDraw = TextDrawCreate(500,103,"~h~Aby wybrac innego skina uzyj komendy ~bhh~/skin (ID)~w~~h~.~n~~>~Zyczymy milej i udanej gry!~<~~n~ ~>~serwer-pomocniczy.pl~<~"); TextDrawLetterSize(SkinTextDraw,0.199999,1.100000); TextDrawAlignment(SkinTextDraw,0); TextDrawBackgroundColor(SkinTextDraw,0x000000ff); TextDrawFont(SkinTextDraw,1); TextDrawUseBox(SkinTextDraw,1); TextDrawBoxColor(SkinTextDraw,0x00000099); TextDrawTextSize(SkinTextDraw,605.000000,36.000000); TextDrawSetOutline(SkinTextDraw,0); TextDrawSetProportional(SkinTextDraw,1); TextDrawSetShadow(SkinTextDraw,0); radioon = TextDrawCreate(207.000000, 65.000000, "~p~RADIOSTACJA: ~w~ON"); TextDrawFont(radioon, 1); TextDrawLetterSize(radioon, 0.679165, 2.499999); TextDrawTextSize(radioon, 490.500000, 17.000000); TextDrawSetOutline(radioon, 1); TextDrawSetShadow(radioon, 0); TextDrawAlignment(radioon, 1); TextDrawColor(radioon, -1); TextDrawBackgroundColor(radioon, 255); TextDrawBoxColor(radioon, 50); TextDrawUseBox(radioon, 0); TextDrawSetProportional(radioon, 1); TextDrawSetSelectable(radioon, 0); radiooff = TextDrawCreate(207.000000, 65.000000, "~p~RADIOSTACJA: ~w~OFF"); TextDrawFont(radiooff, 1); TextDrawLetterSize(radiooff, 0.679166, 2.500000); TextDrawTextSize(radiooff, 450.000000, 37.000000); TextDrawSetOutline(radiooff, 1); TextDrawSetShadow(radiooff, 0); TextDrawAlignment(radiooff, 1); TextDrawColor(radiooff, -1); TextDrawBackgroundColor(radiooff, 255); TextDrawBoxColor(radiooff, 50); TextDrawUseBox(radiooff, 0); TextDrawSetProportional(radiooff, 1); TextDrawSetSelectable(radiooff, 0); SetTimer("settime",1000,true); Date = TextDrawCreate(546,32,"--"); TextDrawLetterSize(Date,0.349999,1.100000); TextDrawAlignment(Date,0); TextDrawBackgroundColor(Date,0x000000ff); TextDrawFont(Date,1); TextDrawUseBox(Date,0); TextDrawSetOutline(Date,0); TextDrawSetProportional(Date,1); TextDrawSetShadow(Date,1); Time = TextDrawCreate(548,43,"--"); TextDrawLetterSize(Time,0.399999,1.100000); TextDrawAlignment(Time,0); TextDrawBackgroundColor(Time,0x000000ff); TextDrawFont(Time,1); TextDrawUseBox(Time,0); TextDrawSetOutline(Time,0); TextDrawSetProportional(Time,1); TextDrawSetShadow(Time,1); RestartTextDraw = TextDrawCreate(319,193,"~h~RESTART SERWERA~n~ZAPRASZAMY ZA MOMENT!"); TextDrawLetterSize(RestartTextDraw,0.399999,2.299999); TextDrawAlignment(RestartTextDraw,2); TextDrawBackgroundColor(RestartTextDraw,0x000000ff); TextDrawFont(RestartTextDraw,1); TextDrawUseBox(RestartTextDraw,1); TextDrawBoxColor(RestartTextDraw,0xE1000066); TextDrawTextSize(RestartTextDraw,419.000000,203.000000); TextDrawSetOutline(RestartTextDraw,0); TextDrawSetProportional(RestartTextDraw,1); TextDrawSetShadow(RestartTextDraw,1); CommandTextDraw = TextDrawCreate(502,104,"~h~Niepoprawna komenda badz nie posiadasz do niej uprawnien!"); TextDrawLetterSize(CommandTextDraw,0.249999,1.000000); TextDrawAlignment(CommandTextDraw,0); TextDrawBackgroundColor(CommandTextDraw,0x000000ff); TextDrawFont(CommandTextDraw,1); TextDrawUseBox(CommandTextDraw,1); TextDrawBoxColor(CommandTextDraw,0x00000099); TextDrawTextSize(CommandTextDraw,602.000000,114.000000); TextDrawSetOutline(CommandTextDraw,0); TextDrawSetProportional(CommandTextDraw,1); TextDrawSetShadow(CommandTextDraw,1); LatanieOn = TextDrawCreate(502,103,"~h~Latanie ~r~wlaczone~w~! Uzyj ponownie komendy ~r~/fly ~w~~h~aby wylaczyc."); TextDrawLetterSize(LatanieOn,0.199999,1.100000); TextDrawAlignment(LatanieOn,0); TextDrawBackgroundColor(LatanieOn,0x000000ff); TextDrawFont(LatanieOn,1); TextDrawUseBox(LatanieOn,1); TextDrawBoxColor(LatanieOn,0x00000066); TextDrawTextSize(LatanieOn,602.000000,113.000000); TextDrawSetOutline(LatanieOn,0); TextDrawSetProportional(LatanieOn,1); TextDrawSetShadow(LatanieOn,1); LatanieOff = TextDrawCreate(502,103,"~h~Latanie ~r~wylaczone~w~! Uzyj ponownie komendy ~r~/fly ~w~~h~aby wylaczyc."); TextDrawLetterSize(LatanieOff,0.199999,1.100000); TextDrawAlignment(LatanieOff,0); TextDrawBackgroundColor(LatanieOff,0x000000ff); TextDrawFont(LatanieOff,1); TextDrawUseBox(LatanieOff,1); TextDrawBoxColor(LatanieOff,0x00000066); TextDrawTextSize(LatanieOff,602.000000,113.000000); TextDrawSetOutline(LatanieOff,0); TextDrawSetProportional(LatanieOff,1); TextDrawSetShadow(LatanieOff,1); PojazdSpawn = TextDrawCreate(502,103,"~w~Pojazd zostal pomyslnie zespawnowany!"); TextDrawLetterSize(PojazdSpawn,0.199999,1.100000); TextDrawAlignment(PojazdSpawn,0); TextDrawBackgroundColor(PojazdSpawn,0x000000ff); TextDrawFont(PojazdSpawn,1); TextDrawUseBox(PojazdSpawn,1); TextDrawBoxColor(PojazdSpawn,0x00000066); TextDrawTextSize(PojazdSpawn,602.000000,113.000000); TextDrawSetOutline(PojazdSpawn,0); TextDrawSetProportional(PojazdSpawn,1); TextDrawSetShadow(PojazdSpawn,1); EnableStuntBonusForAll(0); SendRconCommand("mapname v0.1 | Dxmin"); for(new Vehicles = 0; Vehicles < MAX_VEHICLES; Vehicles++) { new string[32]; new pName[MAX_PLAYER_NAME], playerid; new car = GetPlayerName(playerid, pName, sizeof(pName)); format(string, sizeof(string),"LV - %d",car); SetVehicleNumberPlate(Vehicles, string); } foreachEx(i, MAX_PLAYERS) { pPlayer[i][char_name_label] = Create3DTextLabel("", 0xFFFFFF99, 0.0, 0.0, 0.0, 20.0, 0, 1); } return 1; } public OnPlayerSpawn(playerid) { SetPlayerSkin(playerid, 20001); StopAudioStreamForPlayer(playerid); TextDrawHideForPlayer(playerid, PowitanieTextDraw); Attach3DTextLabelToPlayer(pPlayer[playerid][char_name_label], playerid, 0.0, 0.0, 0.1); return 1; } public OnPlayerDisconnect(playerid) { Update3DTextLabelText(pPlayer[playerid][char_name_label], 0xFFFFFF99, ""); return 1; } public OnPlayerDeath(playerid) { return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { SetPlayerChatBubble(playerid, "Wchodzi do pojazdu i odpala silnik", 0xFF0000FF, 100.0, 10000); return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { SetPlayerChatBubble(playerid, "Wychodzi z pojazdu i gasi silnik", 0xFF0000FF, 100.0, 10000); return 1; } public OnPlayerConnect(playerid) { TextDrawShowForPlayer(playerid,RadioTextDraw); TextDrawShowForPlayer(playerid,SerwerTextDraw); TextDrawShowForPlayer(playerid,PowitanieTextDraw); TextDrawShowForPlayer(playerid, Time); TextDrawShowForPlayer(playerid, Date); AllowAdminTeleport(1); AllowPlayerTeleport(playerid, 1); SendClientMessage(playerid, 0xFFFFFFFF, ""); SendClientMessage(playerid, 0xFFFFFFFF, "Aby wejsc na serwer, musisz zaakceptowac {C0C0C0}regulamin{FFFFFF}!"); if(IsPlayerAdmin(playerid)) { SetPlayerColor(playerid, 0x990000FF); } else { SetPlayerColor(playerid, 0xC0C0C0FF); } noclipdata[playerid][cameramode] = CAMERA_MODE_NONE; noclipdata[playerid][lrold] = 0; noclipdata[playerid][udold] = 0; noclipdata[playerid][mode] = 0; noclipdata[playerid][lastmove] = 0; noclipdata[playerid][accelmul] = 0.0; return 1; } public OnPlayerRequestClass(playerid, classid) { TogglePlayerSpectating(playerid, 1); ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Serwer Pomocniczy --> Regulamin", "{FFFFFF}1. Uzytkownik moze zostac zbanowany bez podania powodu wylacznie przez glowna administracje.\n2. Prowokowanie innych osob do popelnienia czynu opisanego wyzej bedzie skutkowalo banicja na okres trzydziestu dni.\n3. Obrazy w kierunku innych uzytkownikow serwera beda surowo karane.\n4. Zabrania sie reklamowania innych serwisow.\n5. Wulgaryzmy sa dozwolone.\n\n{FF0000}Akceptujesz regulamin?", "Tak", "Nie"); PlayAudioStreamForPlayer(playerid, "http://www.rmfon.pl/n/rmfmaxxx.pls"); InterpolateCameraPos(playerid, 1800.654907, -1061.519897, 133.729736, 1752.653686, -1192.006835, 109.957901, 3000); InterpolateCameraLookAt(playerid, 1800.587890, -1066.482055, 133.119201, 1747.654418, -1191.947631, 109.899307, 3000); return 1; } public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ) { SetPlayerPosFindZ(playerid, fX, fY, fZ); return 1; } public OnPlayerText(playerid, text[]) { new string[256], Nick[256]; GetPlayerName(playerid, Nick, sizeof(Nick)); if(IsPlayerAdmin(playerid)) { format(string, sizeof(string), "%s ({FF0000}Administrator{FFFFFF}): %s", Nick, text); SendClientMessageToAll(0xFFFFFFFF, string); } else { format(string, sizeof(string), "%s ({C0C0C0}Gracz{FFFFFF}): %s", Nick, text); SendClientMessageToAll(0xFFFFFFFF, string); } return 0; } public settime(playerid) { new string[256],year,month,day,hours,minutes,seconds; getdate(year, month, day), gettime(hours, minutes, seconds); format(string, sizeof string, "%d/%s%d/%s%d", day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year); TextDrawSetString(Date, string); format(string, sizeof string, "%s%d:%s%d:%s%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (seconds < 10) ? ("0") : (""), seconds); TextDrawSetString(Time, string); } public OnPlayerCommandPerformed(playerid, cmdtext[], success) { if(!success) TextDrawShowForPlayer(playerid, CommandTextDraw); SetTimerEx("komenda", 2000, false, "i", playerid); PlayerPlaySound(playerid, 1190, 0, 0, 0); return 1; } public OnPlayerUpdate(playerid) { if(noclipdata[playerid][cameramode] == CAMERA_MODE_FLY) { new keys,ud,lr; GetPlayerKeys(playerid,keys,ud,lr); if(noclipdata[playerid][mode] && (GetTickCount() - noclipdata[playerid][lastmove] > 100)) { MoveCamera(playerid); } if(noclipdata[playerid][udold] != ud || noclipdata[playerid][lrold] != lr) { if((noclipdata[playerid][udold] != 0 || noclipdata[playerid][lrold] != 0) && ud == 0 && lr == 0) { StopPlayerObject(playerid, noclipdata[playerid][flyobject]); noclipdata[playerid][mode] = 0; noclipdata[playerid][accelmul] = 0.0; } else { noclipdata[playerid][mode] = GetMoveDirectionFromKeys(ud, lr); MoveCamera(playerid); } } noclipdata[playerid][udold] = ud; noclipdata[playerid][lrold] = lr; return 0; } return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == BRONIE) { if(response == 1) { switch(listitem) { case 1: { ShowPlayerDialog(playerid, PISTOLETY, DIALOG_STYLE_TABLIST, "Bronie -> Pistolety", "# Pistolety #\t\nColt-45\t({C0C0C0}ID: 22{FFFFFF})\nSilenced 9mm\t({C0C0C0}ID: 23{FFFFFF})\nDesert Eagle\t({C0C0C0}ID: 24{FFFFFF})", "Wybierz", "Zamknij"); } case 2: { ShowPlayerDialog(playerid, KARABINY, DIALOG_STYLE_TABLIST, "Bronie -> Karabiny", "# Karabiny #\t\nAK-47\t({C0C0C0}ID: 30{FFFFFF})\nM4A1\t({C0C0C0}ID: 31{FFFFFF})", "Wybierz", "Zamknij"); } case 3: { ShowPlayerDialog(playerid, SHOTGUNY, DIALOG_STYLE_TABLIST, "Bronie -> Shotguny", "# Shotguny #\t\nShotgun\t({C0C0C0}ID: 25{FFFFFF})\nSawnoff Shotgun\t({C0C0C0}ID: 26{FFFFFF})\nCombat Shotgun\t({C0C0C0}ID: 27{FFFFFF})", "Wybierz", "Zamknij"); } case 4: { ShowPlayerDialog(playerid, SNAJPERKI, DIALOG_STYLE_TABLIST, "Bronie -> Snajperki", "# Snajperki #\t\nCountry Rifle\t({C0C0C0}ID: 33{FFFFFF})\nSniper Rifle\t({C0C0C0}ID: 34{FFFFFF})", "Wybierz", "Zamknij"); } case 5: { ShowPlayerDialog(playerid, MASZYNOWE, DIALOG_STYLE_TABLIST, "Bronie -> Maszynowe", "# Maszynowe #\t\nUzi\t{C0C0C0}(ID: 28{FFFFFF})\nMP5\t({C0C0C0}ID: 29{FFFFFF})\nTec-9\t({C0C0C0}ID: 32{FFFFFF})", "Wybierz", "Zamknij"); } case 7: { ShowPlayerDialog(playerid, EROTYCZNE, DIALOG_STYLE_TABLIST, "Bronie -> Erotyczne", "# Erotyczne #\t\nDildo\t({C0C0C0}ID: 11{FFFFFF})\nWibrator\t({C0C0C0}ID: 12{FFFFFF})", "Wybierz", "Zamknij"); } } } } else if(dialogid == PISTOLETY) { if(response == 1) { switch(listitem) { case 1: { GivePlayerWeapon(playerid, 22, 1000); } case 2: { GivePlayerWeapon(playerid, 23, 1000); } case 3: { GivePlayerWeapon(playerid, 24, 1000); } } } } else if(dialogid == KARABINY) { if(response == 1) { switch(listitem) { case 1: { GivePlayerWeapon(playerid, 30, 1000); } case 2: { GivePlayerWeapon(playerid, 31, 1000); } } } } else if(dialogid == SHOTGUNY) { if(response == 1) { switch(listitem) { case 1: { GivePlayerWeapon(playerid, 25, 1000); } case 2: { GivePlayerWeapon(playerid, 26, 1000); } case 3: { GivePlayerWeapon(playerid, 27, 1000); } } } } else if(dialogid == SNAJPERKI) { if(response == 1) { switch(listitem) { case 1: { GivePlayerWeapon(playerid, 33, 1000); } case 2: { GivePlayerWeapon(playerid, 34, 1000); } } } } else if(dialogid == MASZYNOWE) { if(response == 1) { switch(listitem) { case 1: { GivePlayerWeapon(playerid, 28, 1000); } case 2: { GivePlayerWeapon(playerid, 29, 1000); } case 3: { GivePlayerWeapon(playerid, 32, 1000); } } } } else if(dialogid == EROTYCZNE) { if(response == 1) { switch(listitem) { case 1: { GivePlayerWeapon(playerid, 10, 1); } case 2: { GivePlayerWeapon(playerid, 12, 1); } } } } else if(dialogid == REGULAMIN) { if(response == 1) { SetSpawnInfo(playerid, 0, 0, 1724.2443,-1949.3219,14.1172,89.0624, 0, 0, 0, 0, 0, 0); SpawnPlayer(playerid); TogglePlayerSpectating(playerid, 0); new string[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,MAX_PLAYER_NAME); format(string,sizeof string,"{FFFFFF}Gracz {C0C0C0}%s (ID: %d) {FFFFFF}wlasnie polaczyl sie z {C0C0C0}serwer-pomocniczy.pl{FFFFFF}!", name, playerid); SendClientMessageToAll(-1,string); TextDrawShowForPlayer(playerid, SkinTextDraw); SetTimerEx("skin", 5000, false, "i", playerid); return 1; } if(response == 0) { Kick(playerid); return 1; } } else if(dialogid == POMOC) { if(response == 1) { switch(listitem) { case 0: { ShowPlayerDialog(playerid, OPCJE, DIALOG_STYLE_TABLIST, "Pomoc -> Opcje Osobiste", "Nick:\t\nTryb FPS:\tOff\nIlosc warnow:\t0/3", "OK", ""); } case 1: { ShowPlayerDialog(playerid, KOMENDY, DIALOG_STYLE_TABLIST, "Pomoc -> Komendy", "/stats\t<- Wyswietla Twoje aktualne statystyki\n/fly\t<- Wlacza/wylacza latanie\n/v\t<- Informacje o pojazdach\n/world\t<- Zmienia wirtualny swiat Twojej postaci\n/bronie\t<- Zbior wszystkich broni\n/hp\t<- Dodajesz sobie HP postaci\n/a\t<- Wyswietla czlonkow ekipy\n/skin\t<- Zmieniasz skina swojej postaci\n/radio\t<- Wlaczasz/wylaczasz radio\n/login\t<- Logujesz sie na nowo", "OK", ""); } case 2: { ShowPlayerDialog(playerid, ANIMACJE, DIALOG_STYLE_TABLIST, "Pomoc -> Animacje", "Brak", "OK", ""); } case 3: { ShowPlayerDialog(playerid, FAQ, DIALOG_STYLE_TABLIST, "Pomoc -> FAQ - Pytania & Odpowiedzi", "Brak", "OK", ""); } } } } else if(dialogid == MENU_RADIO) { if(response == 1) { switch(listitem) { case 1: { PlayAudioStreamForPlayer(playerid, "http://www.rmfon.pl/n/rmffm.pls"); SendClientMessage(playerid, 0xFFFFFFFF, "Wybrales radiostacje: RMF FM!"); SendClientMessage(playerid, 0xFFFFFFFF, "Aby wylaczyc radio, wpisz {C0C0C0}/wylaczradio"); TextDrawShowForPlayer(playerid, radioon); SetTimerEx("radioopen", 2000, false, "i", playerid); } case 2: { PlayAudioStreamForPlayer(playerid, "http://www.rmfon.pl/n/rmfmaxxx.pls"); SendClientMessage(playerid, 0xFFFFFFFF, "Wybrales radiostacje: RMF MAXXX!"); SendClientMessage(playerid, 0xFFFFFFFF, "Aby wylaczyc radio, wpisz {C0C0C0}/wylaczradio"); TextDrawShowForPlayer(playerid, radioon); SetTimerEx("radioopen", 2000, false, "i", playerid); } } } } return 1; } //PlayerInfo enum pInfo { bool:pCanSpawnVehicle, pSpawnVehicle, } //Client Variables new PlayerInfo[MAX_PLAYERS][pInfo]; //Server Variables new Float:pX, Float:pY, Float:pZ, Float:pAngle; new VehicleNames[212][] = { {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"}, {"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"}, {"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"}, {"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"}, {"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"}, {"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"}, {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"}, {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"}, {"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"}, {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"}, {"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"}, {"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"}, {"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"}, {"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"}, {"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"}, {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"}, {"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"}, {"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"}, {"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"}, {"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"}, {"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"}, {"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"}, {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"}, {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"}, {"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"}, {"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"}, {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"}, {"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"}, {"Utility Trailer"}}; public GetVehicleModelIDFromName(vname[]) { for(new i = 0; i < 211; i++) { if ( strfind(VehicleNames[i], vname, true) != -1 ) return i + 400; } return -1; } //Stocki stock UpdatePlayerStatus(playerid) { if(IsPlayerAdmin(playerid)) return Update3DTextLabelText(Gracz[playerid][name_label], 0xFFFFFFFF, CharNameLabel(playerid)); Update3DTextLabelText(Gracz[playerid][name_label], 0xFFFFFF99, CharNameLabel(playerid)); return 1; } stock CharNameLabel(playerid) { new front[32]; if(IsPlayerAdmin(playerid)) format(front, sizeof(front), "{ffffff}%s {cc3b3d}(Administrator, %d)", PlayerName(playerid), playerid); else format(front, sizeof(front), "{ffffff}%d. %s", playerid, PlayerName(playerid)); return front; } stock SetPlayerSkinFix(playerid, skinid) { new Float:tmpPos[4], vehicleid = GetPlayerVehicleID(playerid), seatid = GetPlayerVehicleSeat(playerid); GetPlayerPos(playerid, tmpPos[0], tmpPos[1], tmpPos[2]); GetPlayerFacingAngle(playerid, tmpPos[3]); if(skinid < 0 || skinid > 299) return 0; if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DUCK) { SetPlayerPos(playerid, tmpPos[0], tmpPos[1], tmpPos[2]); SetPlayerFacingAngle(playerid, tmpPos[3]); TogglePlayerControllable(playerid, 1); return SetPlayerSkin(playerid, skinid); } else if(IsPlayerInAnyVehicle(playerid)) { new tmp; RemovePlayerFromVehicle(playerid); SetPlayerPos(playerid, tmpPos[0], tmpPos[1], tmpPos[2]); SetPlayerFacingAngle(playerid, tmpPos[3]); TogglePlayerControllable(playerid, 1); tmp = SetPlayerSkin(playerid, skinid); PutPlayerInVehicle(playerid, vehicleid, (seatid == 128) ? 0 : seatid); return tmp; } else { return SetPlayerSkin(playerid, skinid); } } stock GetMoveDirectionFromKeys(ud, lr) { new direction = 0; if(lr < 0) { if(ud < 0) direction = MOVE_FORWARD_LEFT; // Up & Left key pressed else if(ud > 0) direction = MOVE_BACK_LEFT; // Back & Left key pressed else direction = MOVE_LEFT; // Left key pressed } else if(lr > 0) // Right pressed { if(ud < 0) direction = MOVE_FORWARD_RIGHT; // Up & Right key pressed else if(ud > 0) direction = MOVE_BACK_RIGHT; // Back & Right key pressed else direction = MOVE_RIGHT; // Right key pressed } else if(ud < 0) direction = MOVE_FORWARD; // Up key pressed else if(ud > 0) direction = MOVE_BACK; // Down key pressed return direction; } stock MoveCamera(playerid) { new Float:FV[3], Float:CP[3]; GetPlayerCameraPos(playerid, CP[0], CP[1], CP[2]); GetPlayerCameraFrontVector(playerid, FV[0], FV[1], FV[2]); if(noclipdata[playerid][accelmul] <= 1) noclipdata[playerid][accelmul] += ACCEL_RATE; new Float:speed = MOVE_SPEED * noclipdata[playerid][accelmul]; new Float:X, Float:Y, Float:Z; GetNextCameraPosition(noclipdata[playerid][mode], CP, FV, X, Y, Z); MovePlayerObject(playerid, noclipdata[playerid][flyobject], X, Y, Z, speed); noclipdata[playerid][lastmove] = GetTickCount(); return 1; } stock GetNextCameraPosition(move_mode, Float:CP[3], Float:FV[3], &Float:X, &Float:Y, &Float:Z) { #define OFFSET_X (FV[0]*6000.0) #define OFFSET_Y (FV[1]*6000.0) #define OFFSET_Z (FV[2]*6000.0) switch(move_mode) { case MOVE_FORWARD: { X = CP[0]+OFFSET_X; Y = CP[1]+OFFSET_Y; Z = CP[2]+OFFSET_Z; } case MOVE_BACK: { X = CP[0]-OFFSET_X; Y = CP[1]-OFFSET_Y; Z = CP[2]-OFFSET_Z; } case MOVE_LEFT: { X = CP[0]-OFFSET_Y; Y = CP[1]+OFFSET_X; Z = CP[2]; } case MOVE_RIGHT: { X = CP[0]+OFFSET_Y; Y = CP[1]-OFFSET_X; Z = CP[2]; } case MOVE_BACK_LEFT: { X = CP[0]+(-OFFSET_X - OFFSET_Y); Y = CP[1]+(-OFFSET_Y + OFFSET_X); Z = CP[2]-OFFSET_Z; } case MOVE_BACK_RIGHT: { X = CP[0]+(-OFFSET_X + OFFSET_Y); Y = CP[1]+(-OFFSET_Y - OFFSET_X); Z = CP[2]-OFFSET_Z; } case MOVE_FORWARD_LEFT: { X = CP[0]+(OFFSET_X - OFFSET_Y); Y = CP[1]+(OFFSET_Y + OFFSET_X); Z = CP[2]+OFFSET_Z; } case MOVE_FORWARD_RIGHT: { X = CP[0]+(OFFSET_X + OFFSET_Y); Y = CP[1]+(OFFSET_Y - OFFSET_X); Z = CP[2]+OFFSET_Z; } } } stock CancelFlyMode(playerid) { DeletePVar(playerid, "FlyMode"); CancelEdit(playerid); TogglePlayerSpectating(playerid, false); DestroyPlayerObject(playerid, noclipdata[playerid][flyobject]); noclipdata[playerid][cameramode] = CAMERA_MODE_NONE; return 1; } stock FlyMode(playerid) { new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); noclipdata[playerid][flyobject] = CreatePlayerObject(playerid, 19300, X, Y, Z, 0.0, 0.0, 0.0); TogglePlayerSpectating(playerid, true); AttachCameraToPlayerObject(playerid, noclipdata[playerid][flyobject]); SetPVarInt(playerid, "FlyMode", 1); noclipdata[playerid][cameramode] = CAMERA_MODE_FLY; return 1; } //forwardy forward settime(playerid); forward GetVehicleModelIDFromName(vname[]); forward pojazd(playerid); public pojazd(playerid) { TextDrawHideForPlayer(playerid, PojazdSpawn); } forward lataniewlacz(playerid); public lataniewlacz(playerid) { TextDrawHideForPlayer(playerid, LatanieOn); } forward lataniewylacz(playerid); public lataniewylacz(playerid) { TextDrawHideForPlayer(playerid, LatanieOff); } forward komenda(playerid); public komenda(playerid) { TextDrawHideForPlayer(playerid, CommandTextDraw); return 1; } forward radioclose(playerid); public radioclose(playerid) { TextDrawHideForPlayer(playerid, radiooff); return 1; } forward radioopen(playerid); public radioopen(playerid) { TextDrawHideForPlayer(playerid, radioon); return 1; } forward restart(playerid); public restart(playerid) { TextDrawHideForAll(RestartTextDraw); SendRconCommand("gmx"); return 1; } forward skin(playerid); public skin(playerid) { TextDrawHideForPlayer(playerid, SkinTextDraw); return 1; } //komendy CMD:debug(playerid, params[]) { UpdatePlayerStatus(playerid); return 1; } CMD:v(playerid, params[]) { new Vehicle[32], VehicleID, ColorOne, ColorTwo; PlayerInfo[playerid][pCanSpawnVehicle] = true; if(sscanf(params, "s[32]D(1)D(1)", Vehicle, ColorOne, ColorTwo)) { PlayerInfo[playerid][pCanSpawnVehicle] = true; SendClientMessage(playerid, COLOR_GREY, "Poprawne uzycie: {C0C0C0}/v [Nazwa pojazdu/ID pojazdu] [Kolor 1 (opcjonalny)] [Kolor 2 (opcjonalny)]"); return 1; } if(PlayerInfo[playerid][pCanSpawnVehicle]) { VehicleID = GetVehicleModelIDFromName(Vehicle); if(VehicleID != 425 && VehicleID != 432 && VehicleID != 447 && VehicleID != 430 && VehicleID != 417 && VehicleID != 435 && VehicleID != 446 && VehicleID != 449 && VehicleID != 450 && VehicleID != 452 && VehicleID != 453 && VehicleID != 454 && VehicleID != 460 && VehicleID != 464 && VehicleID != 465 && VehicleID != 469 && VehicleID != 472 && VehicleID != 473 && VehicleID != 476 && VehicleID != 484 && VehicleID != 487 && VehicleID != 488 && VehicleID != 493 && VehicleID != 497 && VehicleID != 501 && VehicleID != 511 && VehicleID != 512 && VehicleID != 513 && VehicleID != 519 && VehicleID != 520 && VehicleID != 537 && VehicleID != 538 && VehicleID != 548 && VehicleID != 553 && VehicleID != 563 && VehicleID != 564 && VehicleID != 569 && VehicleID != 570 && VehicleID != 577 && VehicleID != 584 && VehicleID != 590 && VehicleID != 591 && VehicleID != 592 && VehicleID != 593 && VehicleID != 594 && VehicleID != 595 && VehicleID != 606 && VehicleID != 607 && VehicleID != 608 && VehicleID != 610 && VehicleID != 611) { if(VehicleID == -1 ) { VehicleID = strval(Vehicle); if(VehicleID < 400 || VehicleID > 611 ) { return SendClientMessage(playerid, COLOR_GREY, "Wpisales niepoprawna nazwe pojazdu!"); } } GetPlayerPos(playerid, pX, pY, pZ); GetPlayerFacingAngle(playerid, pAngle); DestroyVehicle(PlayerInfo[playerid][pSpawnVehicle]); PlayerInfo[playerid][pSpawnVehicle] = CreateVehicle(VehicleID, pX, pY, pZ+2.0, pAngle, ColorOne, ColorTwo, -1); LinkVehicleToInterior(PlayerInfo[playerid][pSpawnVehicle], GetPlayerInterior(playerid)); PutPlayerInVehicle(playerid, PlayerInfo[playerid][pSpawnVehicle], 0); TextDrawShowForPlayer(playerid, PojazdSpawn); SetTimerEx("pojazd", 2000, false, "i", playerid); } else { SendClientMessage(playerid, COLOR_GREY, "Nie masz uprawnien do spawnowania tego pojazdu!"); } } else { SendClientMessage(playerid, COLOR_GREY, "Nie mozesz zespawnowac pojazdu w tym miejscu!"); } return 1; } CMD:bronie(playerid, params[]) { ShowPlayerDialog(playerid, BRONIE, DIALOG_STYLE_TABLIST, "Serwer Pomocniczy -> Bronie", "# Bronie #\t\nPistolety\t({C0C0C0}ILOSC: 3{FFFFFF})\nKarabiny\t({C0C0C0}ILOSC: 2{FFFFFF})\nShotguny\t({C0C0C0}ILOSC: 3{FFFFFF})\nSnajperki\t({C0C0C0}ILOSC: 2{FFFFFF})\nMaszynowe\t({C0C0C0}ILOSC: 3{FFFFFF})\n\t\nPrzedmioty erotyczne\t({C0C0C0}ILOSC: 2{FFFFFF})", "Potwierdz", "Anuluj"); return 1; } CMD:pomoc(playerid, cmdtext[]) { ShowPlayerDialog(playerid, POMOC, DIALOG_STYLE_LIST, "Serwer Pomocniczy --> Panel Pomocy", "# Opcje osobiste\n# Komendy\n# Animacje\n# FAQ - Pytania & Odpowiedzi", "Wybierz", "Wyjdz"); return 1; } CMD:hp(playerid, params[]) { new give_playerid, Float:hp; if(sscanf(params, "df", give_playerid, hp)) { SendClientMessage(playerid, 0x808080FF, "Uzycie komendy: {C0C0C0}/hp [ID gracza] [ilosc HP]"); return 1; } if(!IsPlayerConnected(give_playerid)) { SendClientMessage(playerid, 0xFFFFFFFF, "Gracz o podanym ID nie istnieje!"); return 1; } if(hp < 0 || hp > 100) { SendClientMessage(playerid, 0xFFFFFFFF, "HP musi znajdowac sie pomiedzy wartoscia {C0C0C0}0 - 100{FFFFFF}."); return 1; } SetPlayerHealth(give_playerid, hp); SendClientMessage(give_playerid, 0xFFFFFFFF, "Otrzymales zdrowie!"); SendClientMessage(playerid, 0xFFFFFFFF, "HP zostalo poprawnie nadane!"); return 1; } CMD:login(playerid, params[]) { TogglePlayerSpectating(playerid, 1); ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Serwer Pomocniczy --> Regulamin", "{FFFFFF}1. Uzytkownik moze zostac zbanowany bez podania powodu wylacznie przez glowna administracje.\n2. Prowokowanie innych osob do popelnienia czynu opisanego wyzej bedzie skutkowalo banicja na okres trzydziestu dni.\n3. Obrazy w kierunku innych uzytkownikow serwera beda surowo karane.\n4. Zabrania sie reklamowania innych serwisow.\n5. Wulgaryzmy sa dozwolone.\n\n{FF0000}Akceptujesz regulamin?", "Tak", "Nie"); PlayAudioStreamForPlayer(playerid, "http://www.rmfon.pl/n/rmfmaxxx.pls"); InterpolateCameraPos(playerid, 1800.654907, -1061.519897, 133.729736, 1752.653686, -1192.006835, 109.957901, 3000); InterpolateCameraLookAt(playerid, 1800.587890, -1066.482055, 133.119201, 1747.654418, -1191.947631, 109.899307, 3000); TextDrawShowForPlayer(playerid,PowitanieTextDraw); return 1; } CMD:naj(playerid, params[]) { new string[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,MAX_PLAYER_NAME); format(string,sizeof string,"Gracz {C0C0C0}%s [ID:%s] {FFFFFF}uwaza ze {C0C0C0}serwer-pomocniczy.pl {FFFFFF}jest najlepszy!", name, playerid); SendClientMessageToAll(0xFFFFFFFF,string); return 1; } CMD:skin(playerid, params[]) { new targetid, skinid; if(sscanf(params, "ud", targetid, skinid)) { SendClientMessage(playerid, COLOR_GREY, "Poprawne uzycie: {C0C0C0}/skin [ID gracza] [ID skina]"); } if(skinid > 316 || skinid < 0) { SendClientMessage(playerid, 0xFFFFFFFF, "Dozwolone skiny: {C0C0C0}0 - 316{FFFFFF}."); } SetPlayerSkin(targetid, skinid); new adminname[MAX_PLAYER_NAME+1]; GetPlayerName(playerid, adminname, sizeof(adminname)); SendClientMessage(targetid, 0xFFFFFFFF, sprintf("{FF0000}Administrator {C0C0C0}%s {FFFFFF}zmienil Ci skina na {C0C0C0}%d{FFFFFF}.", adminname, skinid)); new targetname[MAX_PLAYER_NAME+1]; GetPlayerName(playerid, targetname, sizeof(targetname)); SendClientMessage(playerid, 0xFFFFFFFF, sprintf("{FFFFFF}Zmieniles graczowi {C0C0C0}%s {FFFFFF}skina na {C0C0C0}%d{FFFFFF}.", targetname, skinid)); return 1; } CMD:world(playerid, params[]) { new worldid; if(sscanf(params, "df", playerid, worldid)) { SendClientMessage(playerid, COLOR_GREY, "Poprawne uzycie: {C0C0C0}/world [ID worldu]"); } if(worldid > 1000 || worldid < 0) { SendClientMessage(worldid, 0xFFFFFFFF, "Dozwolone worldy: {C0C0C0}0 - 1000{FFFFFF}."); } SetPlayerVirtualWorld(playerid, worldid); return 1; } CMD:radio(playerid, params[]) { ShowPlayerDialog(playerid, MENU_RADIO, DIALOG_STYLE_TABLIST, "Serwer Pomocniczy -> Radiostacje", "# Dostepne Radiostacje #\t\nRMF FM\t({009000}ONLINE{FFFFFF})\nRMF MAXXX\t({009000}ONLINE{FFFFFF})", "Wybierz", "Wyjdz"); return 1; } CMD:wylaczradio(playerid, params[]) { StopAudioStreamForPlayer(playerid); TextDrawShowForPlayer(playerid, radiooff); SetTimerEx("radioclose", 2000, false, "i", playerid); return 1; } CMD:gmx(playerid, params[]) { if(IsPlayerAdmin(playerid)) { TextDrawShowForAll(RestartTextDraw); SetTimerEx("restart", 2000, false, "i", playerid); } else { TextDrawShowForPlayer(playerid, CommandTextDraw); SetTimerEx("komenda", 2000, false, "i", playerid); } return 1; } CMD:slap(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new id, string[126], Float: PPos[3]; if(sscanf(params, "u", id)) return SendClientMessage(playerid, COLOR_GREY, "Poprawne uzycie: {C0C0C0}/slap [ID]"); GetPlayerPos(id, PPos[0], PPos[1], PPos[2]); SetPlayerPos(id, PPos[0], PPos[1], PPos[2]+4); format(string, sizeof(string), "Poprawnie uderzyles gracza!"); SendClientMessage(playerid, -1, string); } else { TextDrawShowForPlayer(playerid, CommandTextDraw); SetTimerEx("komenda", 2000, false, "i", playerid); } return 1; } CMD:a(playerid, params[]) { ShowPlayerDialog(playerid, 5, DIALOG_STYLE_TABLIST, "Serwer Pomocniczy -> Ekipa:", "{FF0000}Administratorzy:\t\n{FFFFFF}Dxmin\t{FFFFFF}({009000}Online{FFFFFF}/{FF0000}Offline{FFFFFF})", "OK", ""); return 1; } CMD:fly(playerid, params[]) { if(GetPVarType(playerid, "FlyMode")) { CancelFlyMode(playerid); TextDrawShowForPlayer(playerid, LatanieOff); SetTimerEx("lataniewylacz", 2000, false, "i", playerid); } else { FlyMode(playerid); TextDrawShowForPlayer(playerid, LatanieOn); SetTimerEx("lataniewlacz", 2000, false, "i", playerid); } return 1; }