Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ---------------------------------------------------------------------------------------------------------------------------------------
- *_*_*_*_*_*_*_*_ --- 1 Hit Kill Script Version 1.1 --- By LeonMrBonnie --- *_*_*_*_*_*_*_*_
- *****FUNKTIONEN:
- -Automatische SQLite Integration mit Datenbänken die sich automatisch erstellen falls nicht vohanden.
- -Umfangreiches Adminsystem mit allen Befehlen die man braucht.
- -Automatischer Mapwechsel mit Scoreboard und Mapinfos.
- -Ingame Map erstellen mit /makemap (ID) möglich. (Nur mit Adminlevel 4)
- -Viele nützliche Spieler Befehle. (/hitsound, /pm, /report, /admins, /updates usw.)
- -Errungenschaften System bei dem man coole neue Sachen freischaltet.
- -Einfaches VIP System mit Vorteilen für einen VIP Spieler.
- -Waffenauswahl Textdraw mit /guns in dem Man seine gewünschten Waffen auswählen kann.
- -Statistiken Textdraw
- -Log System
- -Level System
- -Simples Anitcheat
- -Team- und Adminchat
- -Whitelist System
- -Teammitglieder im Dienst können die Map verlassen und mit /togglefly fliegen.
- -Einfache Datenbankverwaltung durch SQLite
- -Checkpoint Prison (Made by JustMe.77)
- -Und vieles mehr!
- ---------------------------------------------------------------------------------------------------------------------------------------
- */
- //VVVVVVVVVVVVVVVVVVVVVV WICHTIG VVVVVVVVVVVVVVVVVVVVVVVV
- //|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- #define GM_NAME "1 Hit Kill TDM | v.1.1" //|
- #define ScriptVersion "v1.1" //|
- #define ServerName "New Deathmatch" //|
- #define TeamspeakIP "127.0.0.1" //|
- #define ForumDomain "beispiel.de" //|
- #define ServerDBName "globalvars.db" //|
- #define PlayerDBName "players.db" //|
- #define BanDBName "BanList.db" //|
- //|
- #define AFK_WARN_TIME 585 //|
- #define AFK_KICK_TIME 600 //|
- //|
- #define Rang1Name "Supporter" //|
- #define Rang2Name "Sr. Supporter" //|
- #define Rang3Name "Administrator" //|
- #define Rang4Name "Serverleiter" //|
- //|
- #define AntiCheat 1 //|
- //Um AntiCheat zu deaktivieren einfach // vor die Zeile.//|
- //Kann auch Ingame mit /toggleac gemacht werden. //|
- //|
- //#define DiscordBot 1 //|
- //Um DiscordBot zu deaktivieren einfach // vor die Zeile. |
- //|
- //#define DiscordServer "MzAxNDUxMjk3MDMzNDIwODAw.C87MAg.zDohSgDBHrmdeJqzkmztr4FPSe0"
- //#define DiscordChannel "301724947234029578" //|
- // Mit eigenen Daten ersetzen! //|
- //|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- #pragma unused ShowLoginBars
- #pragma unused ShowLoginTextdraws
- #include <a_samp>
- #include <a_http>
- #include <zcmd>
- #include <strlib>
- #include <Dini>
- #include <progress2>
- #include <foreach>
- #include <sscanf2>
- #include <geolocation>
- #include <timerfix>
- //#include <tsconnector>
- #include <streamer>
- #include <logintextdraws-de>
- #include <fly>
- //#include <oprl>
- #if defined DiscordBot
- #include <discord-connector>
- #endif
- #pragma dynamic 10000
- //================================= Definitions ================================
- #define NONTEAM 0
- #define GREENTEAM 1
- #define BLUETEAM 2
- #define INFINITY (Float:0x7F800000)
- #define GREEN_COLOR 0xFF3333FF
- #define BLUE_COLOR 0x0080FF44
- #define YELLOW_COLOR 0xFFFF00FF
- #define RED_COLOR 0xFF3333FF
- #define AC_COLOR 0xFF6600FF
- #define ADMIN_COLOR 0x88FFBBFF
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define COLOR_RED 0xAA3333AA
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_PINK 0xFF66FFAA
- #define COLOR_BLUE 0x0000BBAA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_DARKRED 0x660000AA
- #define COLOR_ORANGE 0xFF9900AA
- #define COLOR_BRIGHTRED 0xFF0000AA
- #define COLOR_INDIGO 0x4B00B0AA
- #define COLOR_VIOLET 0x9955DEEE
- #define COLOR_LIGHTRED 0xFF99AADD
- #define COLOR_SEAGREEN 0x00EEADDF
- #define COLOR_GRAYWHITE 0xEEEEFFC4
- #define COLOR_LIGHTNEUTRALBLUE 0xabcdef66
- #define COLOR_GREENISHGOLD 0xCCFFDD56
- #define COLOR_LIGHTBLUEGREEN 0x0FFDD349
- #define COLOR_NEUTRALBLUE 0xABCDEF01
- #define COLOR_LIGHTCYAN 0xAAFFCC33
- #define COLOR_LEMON 0xDDDD2357
- #define COLOR_MEDIUMBLUE 0x63AFF00A
- #define COLOR_NEUTRAL 0xABCDEF97
- #define COLOR_BLACK 0x00000000
- #define COLOR_NEUTRALGREEN 0x81CFAB00
- #define COLOR_DARKGREEN 0x12900BBF
- #define COLOR_LIGHTGREEN 0x24FF0AB9
- #define COLOR_DARKBLUE 0x300FFAAB
- #define COLOR_BLUEGREEN 0x46BBAA00
- #define COLOR_PINK 0xFF66FFAA
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define COLOR_DARKRED 0x660000AA
- #define COLOR_PURPLE 0x800080AA
- #define COLOR_GRAD1 0xB4B5B7FF
- #define COLOR_GRAD2 0xBFC0C2FF
- #define COLOR_RED1 0xFF0000AA
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_RED 0xAA3333AA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_BROWN 0x993300AA
- #define COLOR_CYAN 0x99FFFFAA
- #define COLOR_TAN 0xFFFFCCAA
- #define COLOR_PINK 0xFF66FFAA
- #define COLOR_KHAKI 0x999900AA
- #define COLOR_SYSTEM 0xEFEFF7AA
- #define COLOR_GRAD2 0xBFC0C2FF
- #define COLOR_GRAD4 0xD8D8D8FF
- #define COLOR_GRAD6 0xF0F0F0FF
- #define COLOR_GRAD2 0xBFC0C2FF
- #define COLOR_GRAD3 0xCBCCCEFF
- #define COLOR_GRAD5 0xE3E3E3FF
- #define COLOR_GRAD1 0xB4B5B7FF
- #define D_PRISONLIST 5555
- #define COLOR_ORANGE 0xFF9900AA
- #define COLOR_LIME 0x10F441AA
- #define DRAW_DISTANCE 20
- #define MAX_TEAMS 3
- #define MAX_INI_ENTRY_TEXT 80
- #define MAPLISTFILE "Maps/maplist.ini"
- #define PUNCH 0
- #define DEAGLE 24
- #define SHOTGUN 25
- #define SPAS 27
- #define MP5 29
- #define AK47 30
- #define M4 31
- #define RIFLE 33
- #define SNIPER 34
- #define GRENADE 16
- #define DIALOG_HELPS 1
- #define DIALOG_LOGIN 2
- #define DIALOG_REGISTER 3
- #define DIALOG_MAPNAME 4
- #define DIALOG_MAPPERNAME 5
- #define DIALOG_REWARDS 6
- #define DIALOG_AWHITELIST 301
- #define DIALOG_RWHITELIST 302
- #define DIALOG_RULES 70
- #define DIALOG_INTERACTION 61
- #define RADIO1 "www.iloveradio.de/iloveradio.m3u"
- #define RADIO2 "www.iloveradio.de/ilove2dance.m3u"
- #define RADIO3 "www.iloveradio.de/ilovethebattle.m3u"
- #define RADIO4 "www.iloveradio.de/ilovemashup.m3u"
- #define RADIO5 "www.iloveradio.de/ilovebravocharts.m3u"
- #define RADIO6 "www.iloveradio.de/ilovebravotubestars.m3u"
- //1= I love Radio, 2= I love 2 dance, 3= I love the battle, 4= I love Mashup, 5= I love Bravo Charts, 6= I love Bravo Tubestars
- //================================== Variables =================================
- new ACKickedCount;
- new ACWarnsCount;
- new BansCount;
- enum PlayerVariables
- {
- Name[MAX_PLAYER_NAME],
- URang,
- ForceAC,
- Warns,
- PlayHours,
- PlayMinutes,
- VotesForKick,
- Hits,
- ACWarnings,
- DLlast,
- RegDate[64],
- FPS,
- Team,
- LastHitWith, //antide
- LastHitBy, //antide
- LastKilled, //tbag
- Level,
- ClassID,
- Kills,
- Deaths,
- RKills,
- RDeaths,
- Float:RDamage,
- Score,
- Spree,
- VIP,
- MaxRoundKills,
- Float:MaxRoundDamage,
- Headshots,
- Tbags,
- PunchK,
- DeagleK,
- ShotgunK,
- SpasK,
- MP5K,
- Rank,
- AK47K,
- M4K,
- RifleK,
- SniperK,
- GrenadeK,
- Gun2,
- Gun3,
- Gun4,
- Gun5,
- Gun6,
- BlockedID,
- LastMessager,
- FPSWarning,
- PingWarning,
- PLWarning,
- SpecID,
- AfkTime,
- bool:IsOnDuty,
- bool:IsAFK,
- bool:Registered,
- bool:UsedSafe,
- bool:LocalHost,
- bool:AntiSpawnKill,
- bool:UnlockedEagleEye,
- bool:UnlockedMP5,
- bool:UnlockedSpas,
- bool:UnlockedSniper,
- bool:UnlockedAK47,
- bool:UnlockedM4,
- bool:UnlockedGrenade,
- bool:UnlockedCigar,
- bool:UnlockedHorns,
- bool:UnlockedFlame,
- bool:TableOnScreen,
- bool:Mapping,
- bool:Logged,
- bool:Syncing,
- bool:Muted,
- bool:Spawned,
- bool:IsKicked,
- bool:BlockedAll,
- bool:ChangedWeather,
- bool:OnMenu,
- bool:SafeJetpack,
- bool:SafeGun,
- bool:Specing,
- bool:Checking
- }
- new BadWords[][200] =
- {
- "idiot",
- "stupid",
- "fuck",
- "pussy",
- "gay",
- "hurensohn",
- "arschloch",
- "wixxer",
- "huso",
- "fickfehler",
- "faggot",
- "nutte"
- };
- new pickup;
- new safepickup;
- new exitpickup;
- new ChatString[128];
- new AKAString[512];
- new Player[MAX_PLAYERS][PlayerVariables];
- new TextColor[MAX_TEAMS][10];
- new TDColor[MAX_TEAMS][10];
- new gLastHit[6][MAX_PLAYERS];
- new TakeDmgCD[6][MAX_PLAYERS];
- new Float:DamageDone[6][MAX_PLAYERS];
- new bool:HitSound[MAX_PLAYERS];
- new bool:JoinLeaveMessages;
- new bool:AntiCheatActive;
- new bool:ChatDisabled;
- new bool:Whitelist;
- new DB:bans;
- new DB:sqliteconnection;
- new DB:globalvars;
- new SavedText[MAX_PLAYERS];
- new Menu:MapMenu;
- new CreateFileString[256];
- new TempZone;
- new Float:TempMax[2];
- new Float:TempMin[2];
- new Float:GSpawn1[4] = {1544.1759, -1352.7307, 329.4753, 0.0000};
- new Float:GSpawn2[4] = {1544.1759, -1352.7307, 329.4753, 0.0000};
- new Float:GSpawn3[4] = {1544.1759, -1352.7307, 329.4753, 0.0000};
- new Float:BSpawn1[4] = {1544.1759, -1352.7307, 329.4753, 0.0000};
- new Float:BSpawn2[4] = {1544.1759, -1352.7307, 329.4753, 0.0000};
- new Float:BSpawn3[4] = {1544.1759, -1352.7307, 329.4753, 0.0000};
- new MapZone;
- new Float:Min[2];
- new Float:Max[2];
- new MapInterior = 0;
- new MapFileName[64];
- new MapName[64];
- new MapperName[64];
- new CurrentMap;
- new MapObjects[2000];
- new AllowEnter = 1;
- new EndTime;
- new MinFPS = 4;
- new MaxPing = 1200;
- new AdminsOnline;
- new ClickedPlayer[MAX_PLAYERS];
- new GKills;
- new BKills;
- new bool:ServerLocked = false;
- new bool:Flying[MAX_PLAYERS];
- new JoinMessageDisabled[MAX_PLAYERS];
- new CheckPointCounter[MAX_PLAYERS];
- new MaxCheckPoints[MAX_PLAYERS];
- new bool:pJailed[MAX_PLAYERS];
- new pCheckpoint[MAX_PLAYERS];
- new PlayerText:CheckpointTD[MAX_PLAYERS][7];
- new PlayerText:LoginTD[MAX_PLAYERS][12];
- //easter
- new Float:EasterX = 0.0;
- new Float:EasterY = 0.0;
- new Text3D:EasterText;
- new bool:EggFound = false;
- new Text3D:OnDuty[MAX_PLAYERS];
- new Text3D:BodyStuffs[MAX_PLAYERS];
- new Text3D:VIPStuffs[MAX_PLAYERS];
- new Text:BlackBox;
- // -- BC Setup --
- #define BC_MODEL 1210
- new BCID;
- // -- End --
- // -- By fakeD
- #pragma tabsize 0
- #define GivePlayerScore(%0,%1) SetPlayerScore(%0,GetPlayerScore(%0) + %1)
- new gRandomMessage[][] =
- {
- "* Schaut auf unserer Homepage vorbei um immer auf dem neusten Stand zu sein! '"ForumDomain"'",
- "* Ein Cheater hat dich gekillt? Jemand hat sonstige Regeln verbrochen? /report [ID] [Grund] und wir helfen dir!",
- "* Hast du schon die Regeln durchgelesen? Wenn nicht, mache es jetzt mit /rules.",
- "* Du willst tolle Boni erhalten und nicht viel zahlen? Melde dich bei einem Teammitglied um VIP zu werden!",
- "* Vergiss nicht auf unserem Teamspeak vorbeizuschauen! Um die IP zu sehen benutze /teamspeak oder /ts.",
- "* Wir suchen noch Supporter und Admins. Benutze /bewerben und melde dich bei einem Serverleiter bei Interesse!",
- "* Du willst die Teammitglieder sehen die online sind? Nutze /admins!",
- "* Nutze /pm um jemand eine private Nachricht zu schreiben.",
- "* Du kannst deine eigenen Stats mit /stats sehen.",
- "* Nutze /stats [ID] um die Stats von jemand anderem zu sehen!",
- "* Setze ein ! vor deine Nachricht um die Nachricht nur für dein Team sichtbar zu machen.",
- "* Du kannst mit /team das komplette Serverteam sehen.",
- "* Mit /pm kannst du jemandem eine private Nachricht schreiben.",
- "* Um auf eine private Nachricht zu antworten nutze /r.",
- "* Danke fürs Spielen auf unserem Server.",
- "* Wenn du private Nachrichten von einer einzelnen Person deaktivieren möchtest, nutze /blockpm [ID].",
- "* Du kannst den Befehl /w benutzen um das Wetter zu ändern, und /t um die Uhrzeit zu ändern.",
- "* Mit dem Befehl /bewerben kannst du Infos sehen falls du dich bewerben willst.",
- "* Du kannst mit /hitsound den Hitsound aktivieren oder deaktivieren.",
- "* Um alle Teammitglieder zu sehen nutze /team."
- };
- new aVehicleNames[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"}, {"Artic Trailer 1"}, {"Previon"},
- {"Coach"}, {"Cabbie"}, {"Stallion"}, {"Rumpo"}, {"RC Bandit"}, {"Romero"}, {"Packer"}, {"Monster"},
- {"Admiral"}, {"Squalo"}, {"Seasparrow"}, {"Pizzaboy"}, {"Tram"}, {"Artic Trailer 2"}, {"Turismo"},
- {"Speeder"}, {"Reefer"}, {"Tropic"}, {"Flatbed"}, {"Yankee"}, {"Caddy"}, {"Solair"}, {"Berkley's RC Van"},
- {"Skimmer"}, {"PCJ-6_0_0"}, {"Faggio"}, {"Freeway"}, {"RC Baron"}, {"RC Raider"}, {"Glendale"}, {"Oceanic"},
- {"Sanchez"}, {"Sparrow"}, {"Patriot"}, {"Quad"}, {"Coastguard"}, {"Dinghy"}, {"Hermes"}, {"Sabre"},
- {"Rustler"}, {"ZR-3_5_0"}, {"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"}, {"Chemical Trailer"}, {"Emperor"}, {"Wayfarer"}, {"Euros"}, {"Hotdog"}, {"Club"}, {"Freight Carriage"},
- {"Artic Trailer 3"}, {"Andromada"}, {"Dodo"}, {"RC Cam"}, {"Launch"}, {"Police Car LSPD"},{"Police Car SFPD"},
- {"Police _LVPD"}, {"Police Ranger"}, {"Picador"}, {"Blue Van"}, {"Alpha"}, {"Phoenix"}, {"Glendale"},
- {"Sadler"}, {"Luggage Trailer A"}, {"Luggage Trailer B"}, {"Stair Trailer"},{"Boxville"}, {"Farm Plow"},
- {"Utility Trailer"}
- };
- new WeaponNames[55][] =
- {
- {"Punch"},{"Brass Knuckles"},{"Golf Club"},{"Nite Stick"},{"Knife"},{"Baseball Bat"},{"Shovel"},{"Pool Cue"},{"Katana"},{"Chainsaw"},{"Purple Dildo"},
- {"Smal White Vibrator"},{"Large White Vibrator"},{"Silver Vibrator"},{"Flowers"},{"Cane"},{"Grenade"},{"Tear Gas"},{"Molotov Cocktail"},
- {""},{""},{""},
- {"9mm"},{"Silenced 9mm"},{"Deagle"},{"Shotgun"},{"Sawn-off"},{"Combat"},{"Micro SMG"},{"MP5"},{"AK-47"},{"M4"},{"Tec9"},
- {"Rifle"},{"Sniper"},{"Rocket"},{"HS Rocket"},{"Flamethrower"},{"Minigun"},{"Satchel Charge"},{"Detonator"},
- {"Spraycan"},{"Fire Extinguisher"},{"Camera"},{"Nightvision Goggles"},{"Thermal Goggles"},{"Parachute"}, {"Fake Pistol"},{""}, {"Vehicle"}, {"Helicopter Blades"},
- {"Explosion"}, {""}, {"Suicide"}, {"Collision"}
- };
- enum pOldData
- {
- Float:p_X,
- Float:p_Y,
- Float:p_Z,
- Float:p_A,
- p_Interior,
- p_VirtualWorld,
- weapons[13],
- ammunation[13]
- }
- new pData[MAX_PLAYERS][pOldData];
- new Float:rCheckPoints[][] =
- {
- {-1399.22, 971.93, 1024.16},
- {-1423.81, 958.51, 1025.90},
- {-1442.71, 939.23, 1036.58},
- {-1457.44, 972.85, 1025.37},
- {-1482.89, 985.16, 1027.83},
- {-1490.10, 996.55, 1028.99},
- {-1507.73, 1012.36, 1037.92},
- {-1443.6830,999.0014,1024.2451},
- {-1396.5554,977.9340,1023.8122},
- {-1482.00, 1024.44, 1031.45},
- {-1465.60, 1050.94, 1038.48},
- {-1436.01, 1035.97, 1028.59},
- {-1417.93, 1047.92, 1034.22},
- {-1384.29, 1054.87, 1038.42},
- {-1359.04, 1041.35, 1030.23},
- {-1354.06, 1020.09, 1025.47},
- {-1324.05, 974.48, 1026.95}
- };
- //================================= Textdraws ==================================
- new Text: WebTextTD;
- new Text: BalanceTD;
- new Text: ScoreTableTD[6];
- new Text: RoundStatsTD;
- new Text:WillkommenText;
- new Text:DigiHP[MAX_PLAYERS];
- new Text:DigiAP[MAX_PLAYERS];
- new PlayerText: GboxTD;
- new PlayerText: GunTypes;
- new PlayerText: GunNames1;
- new PlayerText: GunNames2;
- new PlayerText: GunNames3;
- new PlayerText: ExitTD;
- new PlayerText: G1TD;
- new PlayerText: G2TD;
- new PlayerText: G2bTD;
- new PlayerText: G30TD;
- new PlayerText: G3TD;
- new PlayerText: G3bTD;
- new PlayerText: G40TD;
- new PlayerText: G4TD;
- new PlayerText: G5TD;
- new PlayerText: G5bTD;
- new PlayerText: G60TD;
- new PlayerText: G6TD;
- new PlayerText:TDEditor_PTD[MAX_PLAYERS][8];
- new PlayerBar: Bar1;
- new PlayerText: FPSPingPacket;
- new PlayerText: DoingDamage[3];
- new PlayerText: GettingDamaged[3];
- new PlayerText: DeathText[2];
- new PlayerText: ScoreTD;
- new PlayerText: Ann1TD;
- new PlayerText: Ann2TD;
- new PlayerText: AInfoTD;
- new PlayerText: HideTD;
- new PlayerText: AchTD;
- #if defined DiscordBot
- new DCC_Channel:g_WelcomeChannelId;
- #endif
- //=================================== Main =====================================
- main()
- {
- }
- public OnGameModeInit()
- {
- new iString[128];
- #if defined DiscordBot
- DCC_Connect(""DiscordServer"");
- if (_:g_WelcomeChannelId == 0)
- g_WelcomeChannelId = DCC_FindChannelById(""DiscordChannel"");
- DCC_SendChannelMessage(g_WelcomeChannelId, "Der SAMP Bot wurde erfolgreich geladen.");
- print("[SCRIPT] Discord Bot erfolgreich geladen.");
- #endif
- pickup = CreatePickup(1318, 1, 775.7825, -1020.7220, 26.3594, 0);
- safepickup = CreatePickup(1212, 1, 1230.7969, -807.1723, 1083.4078, 0);
- exitpickup = CreatePickup(1318, 1, 1234.2982, -813.6232, 1084.0078, 0);
- Create3DTextLabel("Admin Villa\n{FFFF00}Eingang\n{F81414}Zutritt nur für Teammitglieder", COLOR_GREEN, 775.7825, -1020.7220, 27.1594, DRAW_DISTANCE, 0, 1);
- Create3DTextLabel("Safe\n{F81414}Work in Progress", COLOR_YELLOW, 1230.7219, -807.1723, 1083.7078, DRAW_DISTANCE, 0, 1);
- Create3DTextLabel("Admin Villa\n{FFFF00}Ausgang", COLOR_GREEN, 1234.2982, -813.6232, 1084.8078, DRAW_DISTANCE, 0, 1);
- print("[SCRIPT] Die Adminvilla wurde erfolgreich geladen.");
- ChatDisabled = false;
- JoinLeaveMessages = true;
- Whitelist = false;
- AntiCheatActive = true;
- UsePlayerPedAnims();
- ShowPlayerMarkers(PLAYER_MARKERS_MODE_OFF);
- AllowInteriorWeapons(1);
- DisableInteriorEnterExits();
- EnableStuntBonusForAll(0);
- SetNameTagDrawDistance(DRAW_DISTANCE);
- EnableVehicleFriendlyFire();
- SetGameModeText(GM_NAME);
- LoadMainTextDraws();
- CreateGlobalLoginTextDraws();
- print("[SCRIPT] Textdraws erfolgreich geladen.");
- TextColor[NONTEAM] = "{DDDDDD}";
- TextColor[GREENTEAM] = "{55FF55}";
- TextColor[BLUETEAM] = "{0080FF}";
- TDColor[NONTEAM] = "~w~";
- TDColor[GREENTEAM] = "~R~~H~~H~";
- TDColor[BLUETEAM] = "~b~~h~~h~";
- BCID = -1;
- LoadNextMap();
- SetTimer("OnScriptUpdate", 1000, true);
- SetTimer("OnRandomMessageChange", 90000, true);
- SetTimer("UpdateTeamBalance", 3000, true);
- SetTimer("AutoSave",300000,true);
- print("[SCRIPT] Alle Timer erfolgreich gestartet.");
- print(" ");
- print("[SCRIPT] Verbindung mit Serverdatenbank wird hergestellt...");
- globalvars = db_open(""ServerDBName"");
- new DBResult:vars = db_query(globalvars, "SELECT * FROM `Variables`");
- if(db_num_rows(vars))
- {
- db_get_field_assoc(vars, "ACKicked", iString, sizeof(iString));
- ACKickedCount = strval(iString);
- db_get_field_assoc(vars, "ACWarns", iString, sizeof(iString));
- ACWarnsCount = strval(iString);
- }
- print("[SCRIPT] Verbindung mit Serverdatenbank erfolgreich hergestellt.");
- print(" ");
- print("[SCRIPT] Verbindung mit Spielerdatenbank wird hergestellt...");
- sqliteconnection = db_open(""PlayerDBName"");
- new DBResult:db_resultt,anzahl;
- db_resultt = db_query(sqliteconnection, "SELECT COUNT(*) FROM `Players`");
- anzahl = db_get_field_int(db_resultt,0);
- db_free_result(db_resultt);
- print("[SCRIPT] Verbindung mit Spielerdatenbank erfolgreich hergestellt.");
- if(anzahl > 1 || anzahl == 0)
- {
- printf("[SCRIPT] Es wurden %d Spieler aus der Datenbank geladen.",anzahl);
- }
- if(anzahl == 1)
- {
- printf("[SCRIPT] Es wurde %d Spieler aus der Datenbank geladen.",anzahl);
- }
- print(" ");
- AddPlayerClassEx(GREENTEAM, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); //green granny
- AddPlayerClassEx(GREENTEAM, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); //green barber like guy
- AddPlayerClassEx(GREENTEAM, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); //green shorts beach guy
- AddPlayerClassEx(GREENTEAM, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); //green Helena girl
- AddPlayerClassEx(BLUETEAM, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); //blue hobo
- AddPlayerClassEx(BLUETEAM, 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); //blue barber blonde
- AddPlayerClassEx(BLUETEAM, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); //blue shorts beach guy
- AddPlayerClassEx(BLUETEAM, 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); //blue farmer girl
- print("[SCRIPT] Verbindung mit Banndatenbank wird hergestellt...");
- bans = db_open(""BanDBName"");
- new DBResult:db_result;
- db_result = db_query(bans, "SELECT COUNT(*) FROM `BANNED`");
- anzahl = db_get_field_int(db_result,0);
- db_free_result(db_result);
- print("[SCRIPT] Verbindung mit Banndatenbank erfolgreich hergestellt.");
- if(anzahl > 1 || anzahl == 0)
- {
- printf("[SCRIPT] Es wurden %d gebannte Accounts aus der Datenbank geladen.",anzahl);
- }
- if(anzahl == 1)
- {
- printf("[SCRIPT] Es wurde %d gebannter Account aus der Datenbank geladen.",anzahl);
- }
- BansCount = anzahl;
- print(" ");
- print("[SCRIPT] |-----------------------------|");
- print("[SCRIPT] | Script erfolgreich geladen. |");
- print("[SCRIPT] | Version "ScriptVersion" |");
- print("[SCRIPT] | Made by LeonMrBonnie |");
- print("[SCRIPT] |-----------------------------|");
- print(" ");
- //53 250 45 191 230 177 154 198
- return 1;
- }
- forward OnScriptUpdate();
- public OnScriptUpdate()
- {
- #if defined AntiCheat
- if(AntiCheatActive == true)
- {
- ACChecks();
- }
- #endif
- new iString[200];
- new Float:HP;
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i) && Player[i][Spawned] == true && Player[i][Mapping] == false && Player[i][TableOnScreen] == false && EndTime > 0 && Player[i][Specing] == false && pJailed[i] == false && Player[i][IsOnDuty] == false)
- {
- GetPlayerHealth(i, HP);
- if( (IsPlayerInArea(i,Min[0]-25, Max[0]+25, Min[1]-25, Max[1]+25) != 1) && HP > 0)
- {
- SetPlayerHealth(i, HP-5);
- GameTextForPlayer(i, "~r~~h~Bleib auf der Map ~r~~h~oder oder du wirst gekillt!", 1000, 3);
- }
- }
- if(Player[i][Score] >= Player[i][URang] * 350 && Player[i][Logged])
- {
- Player[i][URang]++;
- GameTextForPlayer(i, "~g~~h~LEVEL UP!", 2300, 6);
- format(iString,sizeof(iString),"LEVELUP: Du bist jetzt Level %d! Glückwunsch!",Player[i][URang]);
- SendClientMessage(i, COLOR_DARKGREEN, iString);
- }
- if(Player[i][ForceAC] == 1 && Player[i][ACWarnings] >= 1)
- {
- SystemBan(i, "Cheats/Hacks");
- }
- if(Player[i][ACWarnings] >= 5 && !Player[i][IsKicked])
- {
- ACKickedCount++;
- format(iString,sizeof(iString),"ANTICHEAT: %s wurde gekickt. [Grund: Hacks/Cheats] [Es wurden bereits %d Spieler vom AntiCheat gekickt.]",GetName(i),ACKickedCount);
- SendClientMessageToAll(YELLOW_COLOR,iString);
- format(iString,sizeof(iString),"ANTICHEAT: Du wurdest vom AntiCheat gekickt. [ID: %d]",ACKickedCount);
- SendClientMessage(i, AC_COLOR, iString);
- format(iString,sizeof(iString),"%s wurde automatisch gekickt. [Grund: Hacks/Cheats] (5/5 AC Warnungen) [ID: %d]",GetName(i),ACKickedCount);
- KickLog(iString);
- ACLog(iString);
- SetTimerEx("OnPlayerKicked", 300, false, "i", i);
- }
- if(Player[i][PlayMinutes] == 60)
- {
- SendClientMessage(i, COLOR_BLUEGREEN, "Du hast eine weitere Stunde gespielt.");
- GiveScore(i, 10 * Player[i][PlayHours]);
- Player[i][PlayHours]++;
- Player[i][PlayMinutes] = 0;
- }
- if(Player[i][Specing] == true)
- {
- UpdateAInfo(i);
- PlayerTextDrawShow(i, AInfoTD);
- }
- if(Player[i][Checking] == true)
- {
- UpdateAInfo(i);
- PlayerTextDrawShow(i, AInfoTD);
- PlayerTextDrawShow(i, HideTD);
- }
- if(Player[i][Specing] == false && Player[i][Checking] == false)
- {
- PlayerTextDrawHide(i, AInfoTD);
- PlayerTextDrawHide(i, HideTD);
- }
- if(Player[i][IsAFK] == true)
- {
- Player[i][AfkTime]++;
- }
- if(Player[i][AfkTime] == AFK_WARN_TIME)
- {
- SendClientMessage(i,COLOR_BRIGHTRED, "--------------------------------------------------------------------------");
- SendClientMessage(i,COLOR_RED, "Du bist zu lange AFK! Begebe dich aus dem AFK Modus oder du wirst gekickt.");
- SendClientMessage(i,COLOR_BRIGHTRED, "--------------------------------------------------------------------------");
- }
- if(Player[i][AfkTime] >= AFK_KICK_TIME)
- {
- SendClientMessage(i, COLOR_RED1, "Da du zu lange AFK warst, wirst du gekickt.");
- format(iString,sizeof(iString),"KICK: %s wurde automatisch gekickt. [Grund: Zu lange AFK]",GetName(i));
- SendClientMessageToAll(COLOR_YELLOW, iString);
- format(iString,sizeof(iString),"%s wurde automatisch gekickt. [Grund: Zu lange AFK]",GetName(i));
- KickLog(iString);
- SetTimerEx("OnPlayerKicked", 300, false, "i", i);
- }
- if(Player[i][Warns] >= 5)
- {
- SendClientMessage(i,COLOR_RED, "Du hast 5/5 Verwarnungen, du wirst jetzt gekickt!");
- SetTimerEx("OnPlayerKicked", 300, false, "i", i);
- format(iString,sizeof(iString),"KICK: %s wurde automatisch gekickt. [Grund: 5/5 Verwarnungen]",GetName(i));
- SendClientMessageToAll(COLOR_YELLOW,iString);
- format(iString,sizeof(iString),"%s wurde automatisch gekickt. [Grund: 5/5 Verwarnungen]",GetName(i));
- KickLog(iString);
- }
- format(iString,sizeof(iString),"~b~Kills: ~g~%d",Player[i][Kills]);
- PlayerTextDrawSetString(i, TDEditor_PTD[i][2], iString);
- new string[32],string2[32],string3[48];
- format(string,sizeof(string),"~r~Tode: ~g~%d",Player[i][Deaths]);
- PlayerTextDrawSetString(i, TDEditor_PTD[i][3], string);
- format(string2,sizeof(string2),"~y~Score: ~g~%d",Player[i][Score]);
- PlayerTextDrawSetString(i, TDEditor_PTD[i][4], string2);
- format(string3,sizeof(string3),"~g~Rang: ~b~%s",GetRang(i));
- PlayerTextDrawSetString(i, TDEditor_PTD[i][6], string3);
- new Float:x, Float:y, Float:z;
- new tbagged = Player[i][LastKilled];
- GetPlayerPos(tbagged, x, y, z);
- if(IsPlayerInArea(i, x-2, x+2, y-2, y+2) && GetPlayerSpecialAction(i) == SPECIAL_ACTION_DUCK)
- {
- format(iString, sizeof(iString), "%s%s {FFFF00}hat %s%s{FFFF00} geT-bagged und seine Munition aufgefüllt!", TextColor[Player[i][Team]], Player[i][Name], TextColor[Player[tbagged][Team]], Player[tbagged][Name]);
- SendClientMessageToAll(YELLOW_COLOR, iString);
- GiveScore(i, 5);
- GivePlayerMoney(i, 4000);
- Player[i][Tbags]++;
- switch(Player[i][Team])
- {
- case GREENTEAM: SendClientMessage(i, GREEN_COLOR, "+5 Punkte für T-bagging!");
- case BLUETEAM: SendClientMessage(i, BLUE_COLOR, "+5 Punkte für T-bagging!");
- }
- Player[i][LastKilled] = -1;
- new Weapon[13], Ammo[13], InHandID = GetPlayerWeapon(i);
- for(new k = 0; k < 13; k++) GetPlayerWeaponData(i, k, Weapon[k], Ammo[k]);
- if(Player[i][VIP] == 1)
- {
- if(Ammo[2] < 200) SetPlayerAmmo(i, DEAGLE, 200); //deagle
- if(Ammo[3] < 200) SetPlayerAmmo(i, Player[i][Gun2], 200); //shotgun
- if(Ammo[4] < 200) SetPlayerAmmo(i, Player[i][Gun3], 400); //ak
- if(Ammo[5] < 400) SetPlayerAmmo(i, Player[i][Gun4], 200); //mp5
- if(Ammo[6] < 200) SetPlayerAmmo(i, Player[i][Gun5], 200); //sniper
- if(Ammo[8] < 2) SetPlayerAmmo(i, Player[i][Gun6], 2); //grenade
- }
- else if(Player[i][VIP] == 0)
- {
- if(Ammo[2] < 100) SetPlayerAmmo(i, DEAGLE, 100); //deagle
- if(Ammo[3] < 100) SetPlayerAmmo(i, Player[i][Gun2], 100); //shotgun
- if(Ammo[4] < 100) SetPlayerAmmo(i, Player[i][Gun3], 200); //ak
- if(Ammo[5] < 200) SetPlayerAmmo(i, Player[i][Gun4], 100); //mp5
- if(Ammo[6] < 100) SetPlayerAmmo(i, Player[i][Gun5], 100); //sniper
- if(Ammo[8] == 0) SetPlayerAmmo(i, Player[i][Gun6], 1); //grenade
- }
- SetPlayerArmedWeapon(i, InHandID);
- if( Player[i][Tbags] == 5 || Player[i][Tbags] == 10 || Player[i][Tbags] == 15 ||
- Player[i][Tbags] == 20 || Player[i][Tbags] == 25 || Player[i][Tbags] == 30 ||
- Player[i][Tbags] == 35 || Player[i][Tbags] == 40 || Player[i][Tbags] == 45 ||
- Player[i][Tbags] == 49 )
- {
- format(iString, sizeof(iString), "Eier aus Stahl~n~~n~%d / 50 T-bags", Player[i][Tbags]);
- ShowAch(i, iString, Player[i][Tbags], 50);
- }
- if(Player[i][Tbags] == 50 && Player[i][UnlockedHorns] == false)
- {
- SendClientMessage(i, YELLOW_COLOR, "Hörner freigeschaltet! Du wirst bei deinem nächsten Spawn Hörner haben.");
- PlayerPlaySound(i, 1133, 0, 0, 0);
- format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~Eier aus Stahl~n~%d / 50 T-bags~n~Du spawnst jetzt mit Hoernern!", Player[i][Tbags]);
- ShowAch(i, iString, Player[i][Tbags], 50);
- }
- CheckRewards(i);
- }
- }
- EndTime--;
- format(iString, sizeof(iString), "%sTeam Rot Kills: ~w~%d ~y~%02d:%02d %sTeam Blau Kills: ~w~%d", TDColor[GREENTEAM], GKills, EndTime/60, EndTime%60, TDColor[BLUETEAM], BKills);
- TextDrawSetString(RoundStatsTD, iString);
- if(EndTime < 0)
- {
- format(iString, sizeof(iString), "%sTeam Rot Kills: ~w~%d ~r~~h~~h~ZEIT VORBEI! %sTeam Blau Kills: ~w~%d", TDColor[GREENTEAM], GKills, TDColor[BLUETEAM], BKills);
- TextDrawSetString(RoundStatsTD, iString);
- }
- if(EndTime == 0)
- {
- if(GKills > BKills)
- {
- GameTextForAll("~r~~h~~h~Team Rot hat ~w~gewonnen!", 5000, 4);
- OnRoundEnd(GREENTEAM);
- }
- else if(GKills < BKills)
- {
- GameTextForAll("~b~~h~~h~Team Blau hat ~w~gewonnen!", 5000, 4);
- OnRoundEnd(BLUETEAM);
- }
- else
- {
- EndTime = 30;
- }
- }
- if(EndTime == 419)
- {
- foreach(new i : Player)
- {
- if(Player[i][ChangedWeather] == false)
- {
- new weatherrandom = random(19);
- SetPlayerWeather(i, weatherrandom);
- new timerandom = random(23);
- SetPlayerTime(i, timerandom, 0);
- }
- }
- }
- foreach(new i : Player)
- {
- new pPing = GetPlayerPing(i);
- new Float:pPacket = GetPlayerPacketLoss(i);
- GetPlayerFPS(i);
- if(IsPlayerConnected(i) && Player[i][Spawned] == true && Player[i][FPS] < MinFPS && Player[i][FPS] != 0)
- {
- Player[i][FPSWarning]++;
- format(iString,sizeof(iString),"WARNUNG: Niedrige FPS! Warnung %d/5", Player[i][FPSWarning]);
- SendClientMessage(i, 0xCCCCCCFF, iString);
- if (Player[i][FPSWarning] == 5)
- {
- format(iString, sizeof(iString), "KICK: %s wurde automatisch gekickt. [Grund: Zu niedrige FPS]", Player[i][Name]);
- SendClientMessageToAll(COLOR_YELLOW, iString);
- SetTimerEx("OnPlayerKicked", 500, false, "i", i);
- } else if (Player[i][FPSWarning] > 5) {
- Player[i][FPSWarning] = 0;
- }
- } else {
- Player[i][FPSWarning] = 0;
- }
- if(IsPlayerConnected(i) && Player[i][Spawned] == true && pPing > MaxPing)
- {
- Player[i][PingWarning]++;
- format(iString,sizeof(iString),"WARNUNG: Hoher Ping! Warnung %d/10", Player[i][PingWarning]);
- SendClientMessage(i, 0xCCCCCCFF, iString);
- if (Player[i][PingWarning] == 10)
- {
- format(iString, sizeof(iString), "KICK: %s wurde automatisch gekickt. [Grund: Zu hoher Ping]", Player[i][Name]);
- SendClientMessageToAll(COLOR_YELLOW, iString);
- SetTimerEx("OnPlayerKicked", 500, false, "i", i);
- } else if (Player[i][PingWarning] > 10) {
- Player[i][PingWarning] = 0;
- }
- } else {
- Player[i][PingWarning] = 0;
- }
- ResetPlayerMoney(i);
- GivePlayerMoney(i, Player[i][Score]);
- new FPSstr[16];
- if(Player[i][FPS] < 4) format(FPSstr, sizeof(FPSstr), "~r~~h~%d", Player[i][FPS]);
- if(Player[i][FPS] >= 4) format(FPSstr, sizeof(FPSstr), "%d", Player[i][FPS]);
- new Pingstr[16];
- if(pPing >= 1000) format(Pingstr, sizeof(Pingstr), "~r~~h~%d", pPing);
- if(pPing < 1000) format(Pingstr, sizeof(Pingstr), "%d", pPing);
- new PLstr[16];
- if(pPacket >= 2) format(PLstr, sizeof(PLstr), "~r~~h~%.1f%%", pPacket);
- if(pPacket < 2) format(PLstr, sizeof(PLstr), "%.1f%%", pPacket);
- // format(iString,sizeof(iString),"%sFPS : %d Ping : %d PL : %.1f%%", TDColor[Player[i][Team]], Player[i][FPS], pPing, pPacket);
- format(iString,sizeof(iString),"%sFPS : %s %sPing : %s %sPL : %.1f%%", TDColor[Player[i][Team]], FPSstr, TDColor[Player[i][Team]], Pingstr, TDColor[Player[i][Team]], PLstr);
- PlayerTextDrawSetString(i, FPSPingPacket, iString);
- // format(iString, sizeof(iString), "%s%i {FFFFFF}/ %s%.1f%%\n{FFFFFF}FPS: %s%i", TextColor[Player[i][Team]], pPing, TextColor[Player[i][Team]], pPacket, TextColor[Player[i][Team]], Player[i][FPS]);
- format(iString, sizeof(iString), "%s%s {FFFFFF}/ %s%s\n{FFFFFF}FPS: %s%s", TextColor[Player[i][Team]], Pingstr, TextColor[Player[i][Team]], PLstr, TextColor[Player[i][Team]], FPSstr);
- Update3DTextLabelText(BodyStuffs[i], 0xFFFFFFFF, iString);
- if(TakeDmgCD[0][i] > 0){
- TakeDmgCD[0][i]++;
- if(TakeDmgCD[0][i] == 5) {
- DamageDone[0][i] = 0;
- gLastHit[0][i] = -1;
- PlayerTextDrawSetString(i, DoingDamage[0], "_");
- TakeDmgCD[0][i] = 0;
- }
- } if(TakeDmgCD[1][i] > 0) {
- TakeDmgCD[1][i]++;
- if(TakeDmgCD[1][i] == 5) {
- DamageDone[1][i] = 0;
- gLastHit[1][i] = -1;
- PlayerTextDrawSetString(i, DoingDamage[1], "_");
- TakeDmgCD[1][i] = 0;
- }
- } if(TakeDmgCD[2][i] > 0) {
- TakeDmgCD[2][i]++;
- if(TakeDmgCD[2][i] == 5) {
- DamageDone[2][i] = 0;
- PlayerTextDrawSetString(i, DoingDamage[2], "_");
- gLastHit[2][i] = -1;
- TakeDmgCD[2][i] = 0;
- }
- } if(TakeDmgCD[3][i] > 0) {
- TakeDmgCD[3][i]++;
- if(TakeDmgCD[3][i] == 5) {
- DamageDone[3][i] = 0;
- gLastHit[3][i] = -1;
- PlayerTextDrawSetString(i, GettingDamaged[0], "_");
- TakeDmgCD[3][i] = 0;
- }
- }
- if(TakeDmgCD[4][i] > 0) {
- TakeDmgCD[4][i]++;
- if(TakeDmgCD[4][i] == 5) {
- DamageDone[4][i] = 0;
- gLastHit[4][i] = -1;
- PlayerTextDrawSetString(i, GettingDamaged[1], "_");
- TakeDmgCD[4][i] = 0;
- }
- }
- if(TakeDmgCD[5][i] > 0) {
- TakeDmgCD[5][i]++;
- if(TakeDmgCD[5][i] == 5) {
- DamageDone[5][i] = 0;
- gLastHit[5][i] = -1;
- PlayerTextDrawSetString(i, GettingDamaged[2], "_");
- TakeDmgCD[5][i] = 0;
- }
- }
- }
- return 1;
- }
- public OnGameModeExit()
- {
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i) && Player[i][Logged] == true)
- {
- SavePlayer(i);
- }
- }
- SaveVars();
- print("[SCRIPT] Alle Spielerdaten wurden gespeichert.");
- UnloadMap();
- db_close(sqliteconnection);
- db_close(bans);
- db_close(globalvars);
- print("[SCRIPT] Verbindung mit allen Datenbanken beendet.");
- print("[SCRIPT] Server wurde gestoppt.");
- #if defined DiscordBot
- DCC_SendChannelMessage(g_WelcomeChannelId, "Der Server wurde gestoppt. Der Bot beendet sich nun.");
- #endif
- return 1;
- }
- public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
- {
- if(hitid != INVALID_PLAYER_ID && IsPlayerConnected(playerid) && hittype == 1 && weaponid != 38)
- {
- Player[playerid][Hits]++;
- }
- if(Player[playerid][IsOnDuty] == true && hittype == 1)
- {
- SendClientMessage(playerid, COLOR_RED, "WARNUNG: Du darfst im Dienst niemandem Schaden zufügen!");
- return 0;
- }
- /*if(weaponid == 47 || weaponid == 32 || weaponid == 35 || weaponid == 36 || weaponid == 37 || weaponid == 38 || weaponid == 39 || weaponid == 26 && Player[playerid][Level] == 0)
- {
- SendClientMessage(playerid, COLOR_RED, "WARNUNG: Unerlaubte Waffe.");
- return 0;
- }
- */
- else
- {
- return 1;
- }
- }
- forward AutoSave();
- public AutoSave()
- {
- SaveVars();
- SendClientMessageToAll(COLOR_ORANGE, "SAVE: Alle Spielerdaten werden gespeichert...");
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i))
- {
- SavePlayer(i);
- if(Player[i][VotesForKick] > 0)
- {
- Player[i][VotesForKick]--;
- }
- }
- }
- print("[SCRIPT] Der automatische 5 Minuten Save war erfolgreich.");
- SendClientMessageToAll(COLOR_GREEN, "SAVE: Alle Spielerdaten wurden erfolgreich gespeichert.");
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- if(!success)
- {
- BlockIpAddress(ip, 500);
- }
- return 1;
- }
- forward MinutePassed(playerid);
- public MinutePassed(playerid)
- {
- Player[playerid][PlayMinutes]++;
- return 1;
- }
- forward RestartServer();
- public RestartServer()
- {
- SendClientMessageToAll(COLOR_RED,"|____________{SERVER STOPP}____________|");
- SendClientMessageToAll(COLOR_RED,"");
- SendClientMessageToAll(COLOR_RED," Der Server wird in 30 Sekunden gestoppt!");
- SendClientMessageToAll(COLOR_RED,"");
- SendClientMessageToAll(COLOR_RED,"|____________{SERVER STOPP}____________|");
- SetTimer("RestartServer1",25000,0);
- return 1;
- }
- forward RestartServer1();
- public RestartServer1()
- {
- SendClientMessageToAll(COLOR_RED,"|____________{SERVER STOPP}____________|");
- SendClientMessageToAll(COLOR_RED,"");
- SendClientMessageToAll(COLOR_RED," Der Server wird in 5 Sekunden gestoppt!");
- SendClientMessageToAll(COLOR_RED,"");
- SendClientMessageToAll(COLOR_RED,"|____________{SERVER STOPP}____________|");
- SetTimer("RestartServer2",5000,0);
- return 1;
- }
- forward RestartServer2();
- public RestartServer2()
- {
- SendClientMessageToAll(COLOR_RED,"|____________{SERVER STOPP}____________|");
- SendClientMessageToAll(COLOR_RED,"");
- SendClientMessageToAll(COLOR_RED," Der Server wird jetzt gestoppt!");
- SendClientMessageToAll(COLOR_RED,"");
- SendClientMessageToAll(COLOR_RED,"|____________{SERVER STOPP}____________|");
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i) && Player[i][Logged] == true)
- {
- SavePlayer(i);
- }
- }
- SendAdminMessage(1, "Server wird gestoppt.");
- SendRconCommand("exit");
- print("[warning] Server wurde manuell gestoppt.");
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- Player[playerid][Spawned] = false;
- SetPlayerPos(playerid, 154.3345,-1946.3103,5.1966);
- SetPlayerCameraLookAt(playerid, 154.3345,-1946.3103,5.1966);
- SetPlayerCameraPos(playerid, 154.0967,-1942.9741,3.7734);
- SetPlayerFacingAngle(playerid, 0);
- new iString[64];
- if(classid == 0 || classid == 1)
- {
- Player[playerid][Team] = GREENTEAM;
- format(iString,sizeof(iString),"%sRotes Team", TDColor[GREENTEAM]);
- SetPlayerColor(playerid, GREEN_COLOR);
- SetPlayerTeam(playerid, GREENTEAM);
- }
- if(classid == 2 || classid == 3)
- {
- Player[playerid][Team] = GREENTEAM;
- format(iString,sizeof(iString),"%sRotes Team | VIP", TDColor[GREENTEAM]);
- SetPlayerColor(playerid, GREEN_COLOR);
- SetPlayerTeam(playerid, GREENTEAM);
- }
- if(classid == 4 || classid == 5)
- {
- Player[playerid][Team] = BLUETEAM;
- format(iString,sizeof(iString),"%sBlaues Team", TDColor[BLUETEAM]);
- SetPlayerColor(playerid, BLUE_COLOR);
- SetPlayerTeam(playerid, BLUETEAM);
- }
- if(classid == 6 || classid == 7)
- {
- Player[playerid][Team] = BLUETEAM;
- format(iString,sizeof(iString),"%sBlaues Team | VIP", TDColor[BLUETEAM]);
- SetPlayerColor(playerid, BLUE_COLOR);
- SetPlayerTeam(playerid, BLUETEAM);
- }
- GameTextForPlayer(playerid, iString, 3000, 4);
- Player[playerid][ClassID] = classid;
- SetPlayerSpawn(playerid);
- return 1;
- }
- forward MyHttpResponse(playerid, response_code, data[]);
- public MyHttpResponse(playerid, response_code, data[])
- {
- if(response_code == 200)
- {
- if(data[0] == 'Y')
- {
- SendClientMessage(playerid, COLOR_RED, "Eine VPN/Proxy wurde erkannt. Deaktiviere diese um auf dem Server zu spielen. Du wirst nun gekickt.");
- SetTimerEx("OnPlayerKicked", 200, false, "i", playerid);
- printf("[SCRIPT] %s wurde wegen einer VPN/Proxy gekickt.",GetName(playerid));
- }
- if(data[0] == 'N')
- {
- return 1;
- }
- if(data[0] == 'X')
- {
- printf("[SCRIPT] Proxy Check für den Spieler %s fehlgeschlagen! Die übermittelte IP war ungültig.",GetName(playerid));
- }
- }
- else
- {
- printf("[SCRIPT] Proxy Check für den Spieler %s fehlgeschlagen! Die Antwort des Servers war: %d", GetName(playerid),response_code);
- }
- return 1;
- }
- forward PlayerConnect(playerid);
- public PlayerConnect(playerid)
- {
- ShowPlayerDialog(playerid, -1, DIALOG_STYLE_MSGBOX, "", "","","");
- new IP[MAX_PLAYER_NAME];
- new iString[160];
- new country[50];
- new Query[150];
- GetPlayerCountry(playerid, country, sizeof(country));
- CreatePlayerLoginTextDraws(playerid);
- SetTimerEx("MinutePassed", 60000, true, "i", playerid);
- Player[playerid][ClassID] = 0;
- Player[playerid][BlockedID] = -1;
- Player[playerid][BlockedAll] = false;
- Player[playerid][ChangedWeather] = false;
- Player[playerid][OnMenu] = false;
- Player[playerid][SafeJetpack] = false;
- Player[playerid][SafeGun] = false;
- Player[playerid][Specing] = false;
- Player[playerid][Checking] = false;
- Player[playerid][SpecID] = -1;
- Player[playerid][LastMessager] = -1;
- Player[playerid][RKills] = 0;
- Player[playerid][RDeaths] = 0;
- Player[playerid][RDamage] = 0;
- Player[playerid][Syncing] = false;
- Player[playerid][Muted] = false;
- Player[playerid][Spawned] = false;
- Player[playerid][LastHitWith] = -1; //antide
- Player[playerid][LastHitBy] = -1; //antide
- Player[playerid][LastKilled] = -1;
- Player[playerid][Mapping] = false;
- Player[playerid][Spree] = 0;
- Player[playerid][UnlockedEagleEye] = false;
- Player[playerid][UnlockedMP5] = false;
- Player[playerid][UnlockedSpas] = false;
- Player[playerid][UnlockedSniper] = false;
- Player[playerid][UnlockedAK47] = false;
- Player[playerid][UnlockedM4] = false;
- Player[playerid][UnlockedGrenade] = false;
- Player[playerid][UnlockedCigar] = false;
- Player[playerid][UnlockedHorns] = false;
- Player[playerid][UnlockedFlame] = false;
- Player[playerid][Gun2] = SHOTGUN;
- Player[playerid][Gun3] = 0;
- Player[playerid][Gun4] = 0;
- Player[playerid][Gun5] = RIFLE;
- Player[playerid][Gun6] = 0;
- Player[playerid][FPSWarning] = 0;
- Player[playerid][PingWarning] = 0;
- Player[playerid][PLWarning] = 0;
- InitFly(playerid);
- Flying[playerid] = false;
- CreateCPTextDraws(playerid);
- HitSound[playerid] = false;
- pJailed[playerid] = false;
- Player[playerid][FPS] = 50;
- Player[playerid][Logged] = false;
- foreach(new i : Player)
- {
- if(JoinMessageDisabled[playerid] == 0 && Player[i][Level] > 2 && JoinLeaveMessages == true)
- {
- format(iString, sizeof(iString), "{FFFFFF}%s {BEF6C7}(%d) hat den Server betreten. [%s]", Player[playerid][Name], playerid, IP);
- } else if(JoinMessageDisabled[playerid] == 0 && JoinLeaveMessages == true)
- {
- format(iString, sizeof(iString), "{FFFFFF}%s {BEF6C7}(%d) hat den Server betreten.", Player[playerid][Name], playerid);
- }
- SendClientMessage(i, -1, iString);
- }
- format(iString, sizeof(iString), "ID: %d || Mögliche Multiaccounts: %s || Herkunft: %s", playerid, GetPlayerAKA(playerid),country);
- SendAdminMessage(1, iString);
- if(Player[playerid][LocalHost] == true)
- {
- SendAdminMessage(1, "Der Spieler ist Localhost(127.0.0.1) und hat dadurch einen Schutz gegen Banns etc.");
- }
- format(iString, sizeof(iString), "ID: %d || Mögliche Multiaccounts: %s || Herkunft: %s || IP: %s", playerid, GetPlayerAKA(playerid),country,PlayerIP(playerid));
- SendAdminMessage(4, iString);
- LoadPlayerTextDraws(playerid);
- LoadStatisticsTextdraws(playerid);
- PlayerTextDrawShow(playerid, FPSPingPacket);
- TextDrawShowForPlayer(playerid, BalanceTD);
- //TextDrawShowForPlayer(playerid,BlackBox);
- //TextDrawShowForPlayer(playerid,WillkommenText);
- for(new i = 0; i < 3; i++)
- {
- PlayerTextDrawShow(playerid, DoingDamage[i]);
- PlayerTextDrawShow(playerid, GettingDamaged[i]);
- }
- BodyStuffs[playerid] = Create3DTextLabel("_", 0xFFFFFFFF, 0, 0, 0, DRAW_DISTANCE, 0, 1);
- Attach3DTextLabelToPlayer(BodyStuffs[playerid], playerid, 0.0, 0.0, -0.9);
- TextDrawShowForPlayer(playerid, WebTextTD);
- //ShowLoginTextdraws(playerid);
- if(Player[playerid][Logged] == false)
- {
- format(Query, sizeof(Query), "SELECT Name FROM Players WHERE Name = '%s'", GetName(playerid));
- new DBResult:result = db_query(sqliteconnection, Query);
- if(!db_num_rows(result))
- {
- PlayerIsNotRegistered(playerid); Player[playerid][Registered] = true;//ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"{FFFFFF}Registrieren","{FFFFFF}Gebe dein Passwort ein um dich zu registrieren:","Registrieren","Verlassen");
- } else PlayerIsRegistered(playerid); Player[playerid][Registered] = false; //ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFFFFF}Login","{FFFFFF}Gebe dein Passwort ein um dich einzuloggen:","Einloggen","Verlassen");
- db_free_result(result);
- ShowLoginTextDraws(playerid);
- }
- #if defined DiscordBot
- if (_:g_WelcomeChannelId == 0)
- g_WelcomeChannelId = DCC_FindChannelById("301724947234029578");
- new str[128];
- format(str, sizeof str, "[SAMP] Der Spieler %s hat den Server betreten.", GetName(playerid));
- DCC_SendChannelMessage(g_WelcomeChannelId, str);
- #endif
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new IP[MAX_PLAYER_NAME];
- new formato[60];
- GetPlayerIp(playerid, IP, sizeof(IP));
- format(formato, sizeof(formato), "www.shroomery.org/ythan/proxycheck.php?ip=%s", IP);
- HTTP(playerid, HTTP_GET, formato, "", "MyHttpResponse");
- ShowPlayerDialog(playerid, 92352, DIALOG_STYLE_MSGBOX, "Verbindung wird hergestellt...", "Die Verbindung zum Server wird hergestellt...\nBitte warte einen Moment.","","");
- #pragma unused LoadLoginTextdraws
- new player[48];
- format(player,sizeof(player),"/Whitelist/%s.txt",GetName(playerid));
- if(Whitelist == true && !dini_Exists(player))
- {
- ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{FC4949}Zutritt verweigert.", "Du bist nicht auf der Whitelist!\nFrage den Serverowner ob du auf die Whitelist darfst.", "Schliessen", "");
- SetTimerEx("KickTimer", 200, false, "i", playerid);
- }
- GetPlayerName(playerid, Player[playerid][Name], 24);
- if(!MatchAKA(playerid))
- {
- AKAString = "";
- AKAString = GetPlayerAKA(playerid);
- new add[MAX_PLAYER_NAME+1];
- format(add, sizeof(add), ",%s", Player[playerid][Name]);
- if(strlen(AKAString) > 0) strcat(AKAString, add);
- else strcat(AKAString, add[1]);
- new query[256];
- format(query, sizeof(query), "UPDATE `AKAs` SET `Names` = '%s' WHERE `IP` = '%s'", DB_Escape(AKAString), IP);
- db_free_result(db_query(sqliteconnection, query));
- }
- //vendingmachines
- RemoveBuildingForPlayer(playerid, 955, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 956, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1209, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1302, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1775, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1776, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1977, 0.0, 0.0, 0.0, 6000.0);
- //traffic lights
- RemoveBuildingForPlayer(playerid, 1262, 0.0, 0.0, 0.0, 6000.0); //only lights
- RemoveBuildingForPlayer(playerid, 1283, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1284, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1315, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1350, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1351, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1352, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 3516, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 3855, 0.0, 0.0, 0.0, 6000.0);
- //small lamposts
- RemoveBuildingForPlayer(playerid, 1223, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1231, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1232, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1568, 0.0, 0.0, 0.0, 6000.0);
- //long lamposts
- RemoveBuildingForPlayer(playerid, 1226, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1290, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1294, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1295, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1296, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1297, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1298, 0.0, 0.0, 0.0, 6000.0);
- new Query[150], DBResult:Result;
- format(Query, sizeof(Query), "SELECT * FROM `BANNED` WHERE `NAME` = '%s' OR `IP` = '%s'", DB_Escape(GetName(playerid)), DB_Escape(PlayerIP(playerid))); // this checks if player's username is in "BANNED" table
- Result = db_query(bans, Query);
- if(db_num_rows(Result))
- {
- new banreason[50], bannedby[24], banname[24], banip[18], bandate[15], bantime[10], banuntil[24], string[350];
- db_get_field_assoc(Result, "REASON", banreason, sizeof(banreason)); db_get_field_assoc(Result, "ADMIN", bannedby, sizeof(bannedby));
- db_get_field_assoc(Result, "NAME", banname, sizeof(banname)); db_get_field_assoc(Result, "IP", banip, sizeof(banip));
- db_get_field_assoc(Result, "DATE", bandate, sizeof(bandate)); db_get_field_assoc(Result, "TIME", bantime, sizeof(bantime));
- db_get_field_assoc(Result, "UNTIL", banuntil, sizeof(banuntil));
- format(string, sizeof(string), "{FFFFFF}Es wurde festgestellt dass dein Username oder deine IP{FC4949} gebannt {FFFFFF}ist.\n{FFFFFF}Gebannter Name: {FC4949}%s\n{FFFFFF}Gebannte IP: {FC4949}%s\n{FFFFFF}Gebannt von: {FC4949}%s\n{FFFFFF}Gebannt am: {FC4949}%s %s\n{FFFFFF}Gebannt bis: {FC4949}%s\n{FFFFFF}Grund: {FC4949}%s\n* Die Verbindung wird geschlossen.", banname, banip, bannedby, bandate, bantime,banuntil, banreason);
- ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{FC4949}Bann erkannt.", string, "Schliessen", ""), string = "\0";
- printf("[kick] %s wurde automatisch gekickt weil er gebannt ist", GetName(playerid));
- JoinMessageDisabled[playerid] = 1;
- SetTimerEx("KickTimer", 200, false, "i", playerid);
- db_free_result(Result);
- string = "\0";
- }
- new iString[160];
- new country[50];
- GetPlayerCountry(playerid, country, sizeof(country));
- CreatePlayerLoginTextDraws(playerid);
- SetTimerEx("MinutePassed", 60000, true, "i", playerid);
- Player[playerid][ClassID] = 0;
- Player[playerid][BlockedID] = -1;
- Player[playerid][BlockedAll] = false;
- Player[playerid][ChangedWeather] = false;
- Player[playerid][OnMenu] = false;
- Player[playerid][SafeJetpack] = false;
- Player[playerid][SafeGun] = false;
- Player[playerid][Specing] = false;
- Player[playerid][Checking] = false;
- Player[playerid][SpecID] = -1;
- Player[playerid][LastMessager] = -1;
- Player[playerid][RKills] = 0;
- Player[playerid][RDeaths] = 0;
- Player[playerid][RDamage] = 0;
- Player[playerid][Syncing] = false;
- Player[playerid][Muted] = false;
- Player[playerid][Spawned] = false;
- Player[playerid][LastHitWith] = -1; //antide
- Player[playerid][LastHitBy] = -1; //antide
- Player[playerid][LastKilled] = -1;
- Player[playerid][Mapping] = false;
- Player[playerid][Spree] = 0;
- Player[playerid][UnlockedEagleEye] = false;
- Player[playerid][UnlockedMP5] = false;
- Player[playerid][UnlockedSpas] = false;
- Player[playerid][UnlockedSniper] = false;
- Player[playerid][UnlockedAK47] = false;
- Player[playerid][UnlockedM4] = false;
- Player[playerid][UnlockedGrenade] = false;
- Player[playerid][UnlockedCigar] = false;
- Player[playerid][UnlockedHorns] = false;
- Player[playerid][UnlockedFlame] = false;
- Player[playerid][Gun2] = SHOTGUN;
- Player[playerid][Gun3] = 0;
- Player[playerid][Gun4] = 0;
- Player[playerid][Gun5] = RIFLE;
- Player[playerid][Gun6] = 0;
- Player[playerid][FPSWarning] = 0;
- Player[playerid][PingWarning] = 0;
- Player[playerid][PLWarning] = 0;
- InitFly(playerid);
- Flying[playerid] = false;
- CreateCPTextDraws(playerid);
- HitSound[playerid] = false;
- pJailed[playerid] = false;
- Player[playerid][FPS] = 50;
- Player[playerid][Logged] = false;
- foreach(new i : Player)
- {
- if(JoinMessageDisabled[playerid] == 0 && Player[i][Level] > 2 && JoinLeaveMessages == true)
- {
- format(iString, sizeof(iString), "{FFFFFF}%s {BEF6C7}(%d) hat den Server betreten. [%s]", Player[playerid][Name], playerid, IP);
- } else if(JoinMessageDisabled[playerid] == 0 && JoinLeaveMessages == true)
- {
- format(iString, sizeof(iString), "{FFFFFF}%s {BEF6C7}(%d) hat den Server betreten.", Player[playerid][Name], playerid);
- }
- SendClientMessage(i, -1, iString);
- }
- if(Player[playerid][LocalHost] == true)
- {
- SendAdminMessage(1, "Der Spieler ist Localhost(127.0.0.1) und hat dadurch einen Schutz gegen Banns etc.");
- }
- format(iString, sizeof(iString), "ID: %d || Mögliche Multiaccounts: %s || Herkunft: %s || IP: %s", playerid, GetPlayerAKA(playerid),country,PlayerIP(playerid));
- SendAdminMessage(2, iString);
- LoadPlayerTextDraws(playerid);
- LoadStatisticsTextdraws(playerid);
- LoadDigiTextdraws(playerid);
- PlayerTextDrawShow(playerid, FPSPingPacket);
- TextDrawShowForPlayer(playerid, BalanceTD);
- //TextDrawShowForPlayer(playerid,BlackBox);
- //TextDrawShowForPlayer(playerid,WillkommenText);
- for(new i = 0; i < 3; i++)
- {
- PlayerTextDrawShow(playerid, DoingDamage[i]);
- PlayerTextDrawShow(playerid, GettingDamaged[i]);
- }
- BodyStuffs[playerid] = Create3DTextLabel("_", 0xFFFFFFFF, 0, 0, 0, DRAW_DISTANCE, 0, 1);
- Attach3DTextLabelToPlayer(BodyStuffs[playerid], playerid, 0.0, 0.0, -0.9);
- TextDrawShowForPlayer(playerid, WebTextTD);
- //ShowLoginTextdraws(playerid);
- if(Player[playerid][Logged] == false)
- {
- format(Query, sizeof(Query), "SELECT Name FROM Players WHERE Name = '%s'", GetName(playerid));
- new DBResult:result = db_query(sqliteconnection, Query);
- if(!db_num_rows(result))
- {
- PlayerIsNotRegistered(playerid); Player[playerid][Registered] = true;//ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"{FFFFFF}Registrieren","{FFFFFF}Gebe dein Passwort ein um dich zu registrieren:","Registrieren","Verlassen");
- } else PlayerIsRegistered(playerid); Player[playerid][Registered] = false; //ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFFFFF}Login","{FFFFFF}Gebe dein Passwort ein um dich einzuloggen:","Einloggen","Verlassen");
- db_free_result(result);
- ShowLoginTextDraws(playerid);
- }
- #if defined DiscordBot
- if (_:g_WelcomeChannelId == 0)
- g_WelcomeChannelId = DCC_FindChannelById("301724947234029578");
- new str[128];
- format(str, sizeof str, "[SAMP] Der Spieler %s hat den Server betreten.", GetName(playerid));
- DCC_SendChannelMessage(g_WelcomeChannelId, str);
- #endif
- ShowPlayerDialog(playerid, -1, 1, " ", " ", " "," ");
- return 1;
- }
- #if defined DiscordBot
- public DCC_OnChannelMessage(DCC_Channel:channel, const author[], const message[])
- {
- if(!strcmp(author, "SAMP Bot")) return 0;
- if(channel != g_WelcomeChannelId) return 0;
- new channel_name[48];
- DCC_GetChannelName(channel, channel_name);
- new str[160];
- format(str, sizeof str, "[Discord] {FFFF00}%s: {FFFFFF}%s", author, message);
- SendClientMessageToAll(COLOR_BLUEGREEN, str);
- return 1;
- }
- #endif
- public OnPlayerDisconnect(playerid, reason)
- {
- GetPlayerName(playerid, Player[playerid][Name], 24);
- TextDrawDestroy(DigiHP[playerid]);
- TextDrawDestroy(DigiAP[playerid]);
- SaveVars();
- SavePlayer(playerid);
- new iString[128];
- DestroyCPTextDraws(playerid);
- if(Player[playerid][IsOnDuty] == true)
- {
- Player[playerid][IsOnDuty] = false;
- format(iString, sizeof(iString), "DUTY: %s ist nun nichtmehr im Dienst.", Player[playerid][Name]);
- SendClientMessageToAll(COLOR_RED, iString);
- Delete3DTextLabel(OnDuty[playerid]);
- }
- if(Player[playerid][Specing] == true)
- {
- Player[playerid][Specing] = false;
- }
- if(Player[playerid][VIP] == 1) Delete3DTextLabel(VIPStuffs[playerid]);
- Delete3DTextLabel(BodyStuffs[playerid]);
- Player[playerid][Level] = 0;
- Player[playerid][VIP] = 0;
- //antide
- if((Player[playerid][LastHitWith] != -1) && (Player[playerid][LastHitBy] != -1))
- {
- new weap, killahid;
- weap = Player[playerid][LastHitWith];
- killahid = Player[playerid][LastHitBy];
- SendDeathMessage(killahid, playerid, weap);
- GiveScore(killahid, 1 * Player[killahid][Spree]);
- GiveKill(killahid);
- GiveWKill(killahid, weap);
- CheckRewards(killahid);
- Player[playerid][LastHitWith] = -1;
- Player[playerid][LastHitBy] = -1;
- }
- //antide
- if(JoinLeaveMessages == true)
- {
- switch (reason)
- {
- case 0: format(iString, sizeof(iString), "{FFFFFF}%s (%d) {D62D20}hat den Server verlassen. [Timeout/Crash]",Player[playerid][Name], playerid);
- case 1: format(iString, sizeof(iString), "{FFFFFF}%s (%d) {D62D20}hat den Server verlassen. [Verlassen]",Player[playerid][Name], playerid);
- case 2:
- {
- if(Player[playerid][IsKicked] == true) format(iString, sizeof(iString), "{FFFFFF}%s (%d) {D62D20}hat den Server verlassen. [Gekickt]",Player[playerid][Name], playerid);
- else format(iString, sizeof(iString), "{FFFFFF}%s (%d) {D62D20}hat den Server verlassen. [Gebannt]",Player[playerid][Name], playerid);
- }
- }
- }
- SendClientMessageToAll(-1,iString);
- #if defined DiscordBot
- if (_:g_WelcomeChannelId == 0)
- g_WelcomeChannelId = DCC_FindChannelById("301724947234029578");
- new str[128];
- switch(reason)
- {
- case 0: format(str, sizeof str, "[SAMP] Der Spieler %s hat den Server verlassen. [Timeout/Crash]", GetName(playerid));
- case 1: format(str, sizeof str, "[SAMP] Der Spieler %s hat den Server verlassen. [Verlassen]", GetName(playerid));
- case 2:
- {
- if(Player[playerid][IsKicked] == true) format(str, sizeof str, "[SAMP] Der Spieler %s hat den Server verlassen. [Gekickt]", GetName(playerid));
- else format(str, sizeof str, "[SAMP] Der Spieler %s hat den Server verlassen. [Gebannt]", GetName(playerid));
- }
- }
- DCC_SendChannelMessage(g_WelcomeChannelId, str);
- #endif
- return 1;
- }
- public OnPlayerEnterDynamicCP(playerid, checkpointid)
- {
- if(checkpointid == pCheckpoint[playerid])
- {
- new str[128];
- CheckPointCounter[playerid]++;
- PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
- DestroyDynamicCP(pCheckpoint[playerid]);
- SendClientMessage(playerid, COLOR_GREEN, "CPPRISON: Checkpoint erreicht.");
- if(CheckPointCounter[playerid] < 10)
- {
- format(str, sizeof(str),"0%d", CheckPointCounter[playerid]);
- PlayerTextDrawSetString(playerid, CheckpointTD[playerid][4], str);
- }
- else
- {
- format(str, sizeof(str),"%d", CheckPointCounter[playerid]);
- PlayerTextDrawSetString(playerid, CheckpointTD[playerid][4], str);
- }
- RandomCheckPointCreate(playerid);
- }
- if(CheckPointCounter[playerid] == MaxCheckPoints[playerid] && pJailed[playerid] == true)
- {
- new str[128];
- PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
- DestroyDynamicCP(pCheckpoint[playerid]);
- pJailed[playerid] = false;
- CheckPointCounter[playerid] = 0;
- format(str, sizeof(str),"PRISON: {FFFFFF}%s {FFFF00}hat alle Checkpoints abgelaufen und wurde aus dem CP Prison entlassen.", GetName(playerid));
- SendClientMessageToAll(COLOR_YELLOW, str);
- SendClientMessage(playerid, COLOR_RED, "Du hast es geschafft. Lern aus deinen Fehlern und benimm dich in Zukunft!");
- HideCPTextDraws(playerid);
- GiveOldData(playerid);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- /*
- if(Player[playerid][IgnoreSpawn] == true)
- {
- Player[playerid][IgnoreSpawn] = false;
- return 0;
- }
- */
- Player[playerid][Spawned] = true;
- TextDrawShowForPlayer(playerid, DigiHP[playerid]);
- new Float:Armour;
- GetPlayerArmour(playerid, Armour);
- if(Armour >= 1) TextDrawShowForPlayer(playerid, DigiAP[playerid]);
- else TextDrawHideForPlayer(playerid, DigiAP[playerid]);
- TextDrawShowForPlayer(playerid, RoundStatsTD);
- SetPlayerSpawn(playerid);
- GangZoneShowForPlayer(playerid, MapZone, BLUE_COLOR);
- ShowStatisticsTextdraws(playerid);
- if(Player[playerid][VIP] == 1)
- {
- ShowStatVIPTextDraw(playerid);
- }
- SetCameraBehindPlayer(playerid);
- ClearAnimations(playerid);
- TogglePlayerSpectating(playerid, false);
- SetPlayerArmour(playerid, 0.0);
- //vip
- new skin = GetPlayerSkin(playerid);
- if(Player[playerid][VIP] == 1)
- {
- GivePlayerWeapon(playerid, DEAGLE, 200);
- GivePlayerWeapon(playerid, Player[playerid][Gun2], 200);
- GivePlayerWeapon(playerid, Player[playerid][Gun3], 400);
- GivePlayerWeapon(playerid, Player[playerid][Gun4], 200);
- GivePlayerWeapon(playerid, Player[playerid][Gun5], 200);
- GivePlayerWeapon(playerid, Player[playerid][Gun6], 2);
- switch(skin) //armor
- {
- case 53: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.000, 0.036, 0.000, 0.000, -1.800, 0.000, 1.068, 1.163, 1.000, 0xFF55FF55, 0xFF55FF55);
- case 250: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.022, 0.037, 0.000, 0.000, -1.800, 0.000, 1.318, 1.393, 1.000, 0xFF55FF55, 0xFF55FF55);
- case 45: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.013, 0.049, 0.000, 0.000, -1.800, 0.000, 1.160, 1.171, 1.000, 0xFF55FF55, 0xFF55FF55);
- case 191: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.074, 0.041, 0.000, 0.000, -1.800, 9.599, 1.178, 1.253, 0.868, 0xFF55FF55, 0xFF55FF55);
- case 230: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.017, 0.058, 0.000, 0.000, -1.800, 0.000, 1.160, 1.087, 0.857, 0xFF0080FF, 0xFF0080FF);
- case 177: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.004, 0.054, 0.000, 0.000, -1.800, 0.599, 1.317, 1.392, 1.213, 0xFF0080FF, 0xFF0080FF);
- case 154: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.013, 0.049, 0.000, 0.000, -1.800, 0.000, 1.160, 1.171, 1.000, 0xFF0080FF, 0xFF0080FF);
- case 198: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.042, 0.074, 0.000, 0.000, -1.800, 5.500, 1.230, 1.392, 0.860, 0xFF0080FF, 0xFF0080FF);
- }
- }
- else if(Player[playerid][VIP] == 0)
- {
- GivePlayerWeapon(playerid, DEAGLE, 100);
- GivePlayerWeapon(playerid, Player[playerid][Gun2], 100);
- GivePlayerWeapon(playerid, Player[playerid][Gun3], 200);
- GivePlayerWeapon(playerid, Player[playerid][Gun4], 100);
- GivePlayerWeapon(playerid, Player[playerid][Gun5], 100);
- GivePlayerWeapon(playerid, Player[playerid][Gun6], 1);
- }
- //vip
- SetPlayerInterior(playerid, MapInterior);
- SetPlayerArmedWeapon(playerid, 0);
- foreach(new i : Player)
- {
- if(Player[i][LastKilled] == playerid)
- {
- Player[i][LastKilled] = -1;
- }
- }
- if(Player[playerid][UnlockedCigar] == true) //cigar
- {
- switch(skin)
- {
- case 53: SetPlayerAttachedObject(playerid, 1, 3044, 2, -0.054, 0.066, -0.043, -151.398, 0.0, 0.0, 1.0, 1.0, 1.0);
- case 250: SetPlayerAttachedObject(playerid, 1, 3044, 2, -0.057, 0.066, -0.043, -151.398, 0.0, 0.0, 1.0, 1.0, 1.0);
- case 45: SetPlayerAttachedObject(playerid, 1, 3044, 2, -0.078, 0.052, -0.043, -151.398, 0.0, 0.0, 1.0, 1.0, 1.0);
- case 191: SetPlayerAttachedObject(playerid, 1, 3044, 2, -0.054, 0.047, -0.043, -151.398, 0.0, 0.0, 1.0, 1.0, 1.0);
- case 230: SetPlayerAttachedObject(playerid, 1, 3044, 2, -0.081, 0.051, -0.043, -151.398, 0.0, 0.0, 1.0, 1.0, 1.0);
- case 177: SetPlayerAttachedObject(playerid, 1, 3044, 2, -0.054, 0.066, -0.043, -151.398, 0.0, 0.0, 1.0, 1.0, 1.0);
- case 154: SetPlayerAttachedObject(playerid, 1, 3044, 2, -0.087, 0.050, -0.043, -151.398, 0.0, 0.0, 1.0, 1.0, 1.0);
- case 198: SetPlayerAttachedObject(playerid, 1, 3044, 2, -0.066, 0.054, -0.043, -151.398, 0.0, 0.0, 1.0, 1.0, 1.0);
- }
- }
- if(Player[playerid][UnlockedHorns] == true) //horns
- {
- switch(skin)
- {
- case 53: SetPlayerAttachedObject(playerid, 2, 19314, 2, 0.133, -0.048, 0.000, 0.000, 0.000, -107.200, 1.000, 1.000, 0.349, 0xFF55FF55, 0xFF55FF55);
- case 250: SetPlayerAttachedObject(playerid, 2, 19314, 2, 0.133, -0.048, 0.000, 0.000, 0.000, -107.200, 1.000, 1.000, 0.349, 0xFF55FF55, 0xFF55FF55);
- case 45: SetPlayerAttachedObject(playerid, 2, 19314, 2, 0.133, -0.048, 0.000, 0.000, 0.000, -107.200, 1.000, 1.000, 0.349, 0xFF55FF55, 0xFF55FF55);
- case 191: SetPlayerAttachedObject(playerid, 2, 19314, 2, 0.133, -0.048, 0.000, 0.000, 0.000, -107.200, 1.000, 1.000, 0.349, 0xFF55FF55, 0xFF55FF55);
- case 230: SetPlayerAttachedObject(playerid, 2, 19314, 2, 0.133, -0.048, 0.000, 0.000, 0.000, -107.200, 1.000, 1.000, 0.349, 0xFF0080FF, 0xFF0080FF);
- case 177: SetPlayerAttachedObject(playerid, 2, 19314, 2, 0.133, -0.048, 0.000, 0.000, 0.000, -107.200, 1.000, 1.000, 0.349, 0xFF0080FF, 0xFF0080FF);
- case 154: SetPlayerAttachedObject(playerid, 2, 19314, 2, 0.133, -0.048, 0.000, 0.000, 0.000, -107.200, 1.000, 1.000, 0.349, 0xFF0080FF, 0xFF0080FF);
- case 198: SetPlayerAttachedObject(playerid, 2, 19314, 2, 0.133, -0.048, 0.000, 0.000, 0.000, -107.200, 1.000, 1.000, 0.349, 0xFF0080FF, 0xFF0080FF);
- }
- }
- if(Player[playerid][UnlockedFlame] == true) //flame
- {
- SetPlayerAttachedObject(playerid, 3, 18693, 2, -1.572, -0.098, -0.011, 90.0, 90.0, 0.0, 1.0, 1.0, 1.0);
- }
- if(Player[playerid][UnlockedMP5] == true) //mp5
- {
- SetPlayerAttachedObject(playerid, 4, 353, 7, 0.189, -0.127, -0.083, -83.399, 0.000, 0.000, 1.000, 1.000, 1.000);
- }
- if(Player[playerid][UnlockedAK47] == true) //ak47
- {
- if(Player[playerid][VIP] == 0)
- {
- SetPlayerAttachedObject(playerid, 5, 355, 15, 0.167, 0.134, -0.160, 0.000, -72.199, 177.100, 1.000, 1.000, 1.000);
- }
- else if(Player[playerid][VIP] == 1)
- {
- SetPlayerAttachedObject(playerid, 5, 355, 15, 0.167, 0.194, -0.160, 0.000, -72.199, 177.100, 1.000, 1.000, 1.000);
- }
- }
- if(Player[playerid][UnlockedM4] == true) //m4
- {
- if(Player[playerid][VIP] == 0)
- {
- SetPlayerAttachedObject(playerid, 6, 356, 15, 0.167, 0.134, -0.160, 0.000, -72.199, 177.100, 1.000, 1.000, 1.000);
- }
- else if(Player[playerid][VIP] == 1)
- {
- SetPlayerAttachedObject(playerid, 6, 356, 15, 0.167, 0.194, -0.160, 0.000, -72.199, 177.100, 1.000, 1.000, 1.000);
- }
- }
- if(Player[playerid][UnlockedSpas] == true) //spas
- {
- if(Player[playerid][VIP] == 0)
- {
- SetPlayerAttachedObject(playerid, 7, 351, 1, 0.290, -0.047, -0.096, 0.699, -8.399, -167.700, 1.000, 1.000, 1.000);
- }
- else if(Player[playerid][VIP] == 1)
- {
- SetPlayerAttachedObject(playerid, 7, 351, 1, 0.290, -0.107, -0.096, 0.699, -8.399, -167.700, 1.000, 1.000, 1.000);
- }
- }
- if(Player[playerid][UnlockedSniper] == true) //sniper
- {
- if(Player[playerid][VIP] == 0)
- {
- SetPlayerAttachedObject(playerid, 8, 358, 16, 0.171, 0.116, 0.150, 0.000, -101.699, 0.000, 1.000, 1.000, 1.000);
- }
- else if(Player[playerid][VIP] == 1)
- {
- SetPlayerAttachedObject(playerid, 8, 358, 16, 0.171, 0.176, 0.150, 0.000, -101.699, 0.000, 1.000, 1.000, 1.000);
- }
- }
- if(Player[playerid][UnlockedGrenade] == true) //grenade
- {
- SetPlayerAttachedObject(playerid, 9, 342, 8, 0.231, 0.050, 0.091, -26.200, -87.399, -138.500, 1.000, 1.000, 1.000);
- }
- SetPlayerHealth(playerid, 999999);
- SetTimerEx("SpawnKill", 3000, false, "i", playerid);
- SendClientMessage(playerid, COLOR_GREEN, "ANTISPAWNKILL: Du bist für 3 Sekunden unverwundbar.");
- return 1;
- }
- forward SpawnKill(playerid);
- public SpawnKill(playerid)
- {
- SetPlayerHealth(playerid, 20.0);
- if(Player[playerid][VIP] == 1)
- {
- SetPlayerArmour(playerid, 25.0);
- }
- SendClientMessage(playerid, COLOR_ORANGE, "ANTISPAWNKILL: Du bist wieder verwundbar.");
- return 1;
- }
- public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
- {
- if(playerid != INVALID_PLAYER_ID && issuerid != INVALID_PLAYER_ID && Player[playerid][Team] != Player[issuerid][Team] && bodypart == 9 && (weaponid == RIFLE || weaponid == DEAGLE || weaponid == SNIPER) )
- if(Player[playerid][IsOnDuty] == false)
- {
- SetPlayerHealth(playerid, 0.0);
- SetPlayerArmour(playerid, 0.0);
- ShowAnn1(issuerid, "HEADSHOT");
- Player[issuerid][Headshots]++;
- GiveScore(issuerid, 10);
- switch(Player[issuerid][Team])
- {
- case GREENTEAM: SendClientMessage(issuerid, GREEN_COLOR, "+10 Punkte für einen Headshot!");
- case BLUETEAM: SendClientMessage(issuerid, BLUE_COLOR, "+10 Punkte für einen Headshot!");
- }
- new str[256];
- format(str, sizeof(str), "%s%s {FFFFFF}hat %s%s{FFFFFF} einen Headshot verpasst!", TextColor[Player[issuerid][Team]], Player[issuerid][Name], TextColor[Player[playerid][Team]], Player[playerid][Name]);
- SendClientMessageToAll(-1,str);
- Player[playerid][LastHitWith] = -1; //antide
- Player[playerid][LastHitBy] = -1; //antide
- Player[issuerid][LastKilled] = playerid;
- }
- new Float:Health[3], Float:Damage;
- GetPlayerHealth(playerid, Health[0]);
- GetPlayerArmour(playerid, Health[1]);
- if(issuerid == INVALID_PLAYER_ID || playerid == INVALID_PLAYER_ID) return 0;
- if(Health[0] > 0 && playerid != INVALID_PLAYER_ID && issuerid != INVALID_PLAYER_ID)
- {
- if(amount > Health[0])
- {
- Damage = amount - Health[0];
- amount = amount - Damage;
- }
- }
- if(HitSound[issuerid] == true && issuerid != INVALID_PLAYER_ID && playerid != INVALID_PLAYER_ID)
- {
- PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
- }
- new iString[200], iColor[10];
- Health[2] = (Health[0] + Health[1]) - amount;
- if(Health[2] < 0) { Health[2] = 0; iColor = "~r~~h~"; }
- else if(Health[2] > 100) iColor = "~w~";
- else iColor = "~r~~h~";
- if(issuerid != INVALID_PLAYER_ID && playerid != INVALID_PLAYER_ID)
- {
- if(Player[issuerid][Team] == Player[playerid][Team]) return 1;
- Player[playerid][LastHitWith] = weaponid; //antide
- Player[playerid][LastHitBy] = issuerid; //antide
- PlayerPlaySound(playerid, 1131, 0, 0, 0);
- Player[issuerid][RDamage] += amount;
- if(gLastHit[0][issuerid] == -1 && gLastHit[1][issuerid] != playerid && gLastHit[2][issuerid] != playerid) gLastHit[0][issuerid] = playerid;
- if(gLastHit[0][issuerid] == playerid) {
- DamageDone[0][issuerid] += amount;
- format(iString, sizeof(iString), "~g~~h~~h~%s ~w~~h~~h~/ -%.2f ~g~~h~~h~%s ~w~~h~~h~(%s~h~~h~%.2f~w~~h~~h~)",Player[playerid][Name], DamageDone[0][issuerid], WeaponNames[weaponid], iColor, Health[2]);
- PlayerTextDrawSetString(issuerid, DoingDamage[0], iString);
- TakeDmgCD[0][issuerid] = 1;
- } else {
- if(gLastHit[1][issuerid] == -1 && gLastHit[2][issuerid] != playerid) gLastHit[1][issuerid] = playerid;
- if(gLastHit[1][issuerid] == playerid ) {
- DamageDone[1][issuerid] += amount;
- format(iString, sizeof(iString), "~g~~h~~h~%s ~w~~h~~h~/ -%.2f ~g~~h~~h~%s ~w~~h~~h~(%s~h~~h~%.2f~w~~h~~h~)",Player[playerid][Name], DamageDone[1][issuerid], WeaponNames[weaponid], iColor, Health[2]);
- PlayerTextDrawSetString(issuerid, DoingDamage[1], iString);
- TakeDmgCD[1][issuerid] = 1;
- } else {
- DamageDone[2][issuerid] += amount;
- gLastHit[2][issuerid] = playerid;
- format(iString, sizeof(iString), "~g~~h~~h~%s ~w~~h~~h~/ -%.2f ~g~~h~~h~%s ~w~~h~~h~(%s~h~~h~%.2f~w~~h~~h~)",Player[playerid][Name], DamageDone[2][issuerid], WeaponNames[weaponid], iColor, Health[2]);
- PlayerTextDrawSetString(issuerid, DoingDamage[2], iString);
- TakeDmgCD[2][issuerid] = 1;
- }
- }
- if(gLastHit[3][playerid] == -1 && gLastHit[4][playerid] != issuerid && gLastHit[5][playerid] != issuerid) gLastHit[3][playerid] = issuerid;
- if(gLastHit[3][playerid] == issuerid) {
- DamageDone[3][playerid] += amount;
- format(iString, sizeof(iString), "~r~~h~~h~%s ~w~~h~~h~/ -%.2f ~r~~h~~h~%s ~w~~h~~h~(%s~h~~h~%.2f~w~~h~~h~)", Player[issuerid][Name], DamageDone[3][playerid], WeaponNames[weaponid], iColor, Health[2]);
- PlayerTextDrawSetString(playerid, GettingDamaged[0], iString);
- TakeDmgCD[3][playerid] = 1;
- } else {
- if(gLastHit[4][playerid] == -1 && gLastHit[5][playerid] != issuerid) gLastHit[4][playerid] = issuerid;
- if(gLastHit[4][playerid] == issuerid) {
- DamageDone[4][playerid] += amount;
- format(iString, sizeof(iString), "~r~~h~~h~%s ~w~~h~~h~/ -%.2f ~r~~h~~h~%s ~w~~h~~h~(%s~h~~h~%.2f~w~~h~~h~)", Player[issuerid][Name], DamageDone[4][playerid], WeaponNames[weaponid], iColor, Health[2]);
- PlayerTextDrawSetString(playerid, GettingDamaged[1], iString);
- TakeDmgCD[4][playerid] = 1;
- } else {
- DamageDone[5][playerid] += amount;
- gLastHit[5][playerid] = issuerid;
- format(iString, sizeof(iString), "~r~~h~~h~%s ~w~~h~~h~/ -%.2f ~r~~h~~h~%s ~w~~h~~h~(%s~h~~h~%.2f~w~~h~~h~)", Player[issuerid][Name], DamageDone[5][playerid], WeaponNames[weaponid], iColor, Health[2]);
- PlayerTextDrawSetString(playerid, GettingDamaged[2], iString);
- TakeDmgCD[5][playerid] = 1;
- }
- }
- } else {
- if(GetPlayerState(playerid) != PLAYER_STATE_WASTED) {
- PlayerPlaySound(playerid, 1131, 0, 0, 0);
- if(gLastHit[3][playerid] == -1 && gLastHit[4][playerid] != playerid && gLastHit[5][playerid] != playerid) gLastHit[3][playerid] = playerid;
- if(gLastHit[3][playerid] == playerid) {
- DamageDone[3][playerid] += amount;
- format(iString, sizeof(iString), "~w~~h~~h~-%.2f ~r~~h~~h~%s ~w~~h~~h~(%s~h~~h~%.2f~w~~h~~h~)", DamageDone[3][playerid], WeaponNames[weaponid], iColor, Health[2]);
- PlayerTextDrawSetString(playerid, GettingDamaged[0], iString);
- TakeDmgCD[3][playerid] = 1;
- } else {
- if(gLastHit[4][playerid] == -1 && gLastHit[5][playerid] != playerid) gLastHit[4][playerid] = playerid;
- if(gLastHit[4][playerid] == playerid) {
- DamageDone[4][playerid] += amount;
- format(iString, sizeof(iString), "~w~~h~~h~-%.2f ~r~~h~~h~%s ~w~~h~~h~(%s~h~~h~%.2f~w~~h~~h~)", DamageDone[4][playerid], WeaponNames[weaponid], iColor, Health[2]);
- PlayerTextDrawSetString(playerid, GettingDamaged[1], iString);
- TakeDmgCD[4][playerid] = 1;
- } else {
- DamageDone[5][playerid] += amount;
- format(iString, sizeof(iString), "~w~~h~~h~-%.2f ~r~~h~~h~%s ~w~~h~~h~(%s~h~~h~%.2f~w~~h~~h~)", DamageDone[5][playerid], WeaponNames[weaponid], iColor, Health[2]);
- PlayerTextDrawSetString(playerid, GettingDamaged[2], iString);
- gLastHit[5][playerid] = playerid;
- TakeDmgCD[5][playerid] = 1;
- }
- }
- }
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(reason == 255) reason = 53;
- new iString[180];
- if(killerid == INVALID_PLAYER_ID) return 0;
- //antide
- if(reason == 54 && Player[playerid][LastHitWith] != -1 && Player[playerid][LastHitBy] != -1)
- {
- new weap, killahid;
- weap = Player[playerid][LastHitWith];
- killahid = Player[playerid][LastHitBy];
- SendDeathMessage(killahid, playerid, weap);
- GiveDeath(playerid);
- GiveScore(killahid, 3 * Player[killerid][Spree]);
- GiveKill(killahid);
- GiveWKill(killahid, weap);
- CheckRewards(killahid);
- Player[killahid][Spree]++;
- Player[playerid][LastHitWith] = -1;
- Player[playerid][LastHitBy] = -1;
- Player[killahid][LastKilled] = playerid;
- }
- //antide
- if(Player[killerid][IsOnDuty] == true)
- {
- printf("[warning] %s hat jemanden getötet während er im Dienst ist.",GetName(killerid));
- SendClientMessage(killerid, COLOR_RED, "Du hast gerade jemanden getötet während du im Dienst bist, unterlasse dies.");
- }
- if(killerid == INVALID_PLAYER_ID)
- {
- SendDeathMessage(INVALID_PLAYER_ID, playerid, reason);
- GiveDeath(playerid);
- }
- else if(killerid != INVALID_PLAYER_ID && IsPlayerConnected(killerid))
- {
- format(iString, sizeof(iString), "%sDu hast %s%s gekillt", TDColor[Player[killerid][Team]], TDColor[Player[playerid][Team]], Player[playerid][Name]);
- PlayerTextDrawSetString(killerid, DeathText[0], iString);
- PlayerTextDrawShow(killerid, DeathText[0]);
- format(iString, sizeof(iString), "%sDu wurdest von %s%s gekillt", TDColor[Player[playerid][Team]], TDColor[Player[killerid][Team]], Player[killerid][Name]);
- PlayerTextDrawSetString(playerid, DeathText[1], iString);
- PlayerTextDrawShow(playerid, DeathText[1]);
- SetTimerEx("DeathMessage", 4000, false, "ii", killerid, playerid);
- SendDeathMessage(killerid, playerid, reason);
- if(reason == 0 || reason == 24 || reason == 25 || reason == 27 || reason == 29 || reason == 30 || reason == 31 || reason == 33 || reason == 34 || reason == 51) GiveWKill(killerid, reason);
- GiveKill(killerid);
- GiveDeath(playerid);
- Player[killerid][Spree]++;
- GiveScore(killerid, 1 * Player[killerid][Spree]);
- switch(Player[killerid][Spree])
- {
- case 2: ShowAnn2(killerid, "DOPPEL KILL!");
- case 3: ShowAnn2(killerid, "DREIFACH KILL!");
- case 4: ShowAnn2(killerid, "VIERFACH KILL!");
- case 5: ShowAnn2(killerid, "PENTA KILL!");
- case 6: ShowAnn2(killerid, "MEGA KILL!");
- case 7: ShowAnn2(killerid, "ULTRA KILL!");
- case 8: ShowAnn2(killerid, "UNAUFHALTSAM!");
- case 9: ShowAnn2(killerid, "GOETTLICH!");
- case 10 .. 200:
- {
- format(iString, sizeof(iString), "HEILIGE SCHEIßE!~n~%s%s %d KILLS!", TDColor[Player[killerid][Team]], Player[killerid][Name], Player[killerid][Spree]);
- ShowAnn2(killerid, iString);
- }
- }
- switch(Player[killerid][Team])
- {
- case GREENTEAM: GKills++;
- case BLUETEAM: BKills++;
- }
- if( Player[killerid][SniperK] == 5 || Player[killerid][SniperK] == 25 || Player[killerid][SniperK] == 50 ||
- Player[killerid][SniperK] == 100 || Player[killerid][SniperK] == 150 || Player[killerid][SniperK] == 200 ||
- Player[killerid][SniperK] == 250 || Player[killerid][SniperK] == 300 || Player[killerid][SniperK] == 350 ||
- Player[killerid][SniperK] == 400 || Player[killerid][SniperK] == 450 || Player[killerid][SniperK] == 499 )
- {
- format(iString, sizeof(iString), "Scharfschuetze~n~~n~%d / 500 Sniper Kills", Player[killerid][DeagleK]);
- ShowAch(killerid, iString, Player[killerid][SniperK], 500);
- }
- if( Player[killerid][DeagleK] == 5 || Player[killerid][DeagleK] == 25 || Player[killerid][DeagleK] == 50 ||
- Player[killerid][DeagleK] == 75 || Player[killerid][DeagleK] == 100 || Player[killerid][DeagleK] == 125 ||
- Player[killerid][DeagleK] == 150 || Player[killerid][DeagleK] == 175 || Player[killerid][DeagleK] == 200 ||
- Player[killerid][DeagleK] == 225 || Player[killerid][DeagleK] == 249 )
- {
- format(iString, sizeof(iString), "Deagle Experte~n~~n~%d / 250 Deagle Kills", Player[killerid][DeagleK]);
- ShowAch(killerid, iString, Player[killerid][DeagleK], 250);
- }
- if( Player[killerid][ShotgunK] == 5 || Player[killerid][ShotgunK] == 50 || Player[killerid][ShotgunK] == 100 ||
- Player[killerid][ShotgunK] == 150 || Player[killerid][ShotgunK] == 200 || Player[killerid][ShotgunK] == 250 ||
- Player[killerid][ShotgunK] == 300 || Player[killerid][ShotgunK] == 350 || Player[killerid][ShotgunK] == 400 ||
- Player[killerid][ShotgunK] == 450 || Player[killerid][ShotgunK] == 500 || Player[killerid][ShotgunK] == 550 ||
- Player[killerid][ShotgunK] == 600 || Player[killerid][ShotgunK] == 650 || Player[killerid][ShotgunK] == 700 ||
- Player[killerid][ShotgunK] == 750 || Player[killerid][ShotgunK] == 800 || Player[killerid][ShotgunK] == 850 ||
- Player[killerid][ShotgunK] == 900 || Player[killerid][ShotgunK] == 950 || Player[killerid][ShotgunK] == 999 )
- {
- format(iString, sizeof(iString), "Shotgun Experte~n~~n~%d / 1000 Shotgun Kills", Player[killerid][ShotgunK]);
- ShowAch(killerid, iString, Player[killerid][ShotgunK], 1000);
- }
- if( Player[killerid][RifleK] == 5 || Player[killerid][RifleK] == 25 || Player[killerid][RifleK] == 50 ||
- Player[killerid][RifleK] == 75 || Player[killerid][RifleK] == 100 || Player[killerid][RifleK] == 125 ||
- Player[killerid][RifleK] == 150 || Player[killerid][RifleK] == 175 || Player[killerid][RifleK] == 200 ||
- Player[killerid][RifleK] == 225 || Player[killerid][RifleK] == 249 )
- {
- format(iString, sizeof(iString), "Rilfe Experte~n~~n~%d / 250 Rifle Kills", Player[killerid][RifleK]);
- ShowAch(killerid, iString, Player[killerid][RifleK], 250);
- }
- if( Player[killerid][MP5K] == 5 || Player[killerid][MP5K] == 10 || Player[killerid][MP5K] == 15 ||
- Player[killerid][MP5K] == 20 || Player[killerid][MP5K] == 25 || Player[killerid][MP5K] == 30 ||
- Player[killerid][MP5K] == 35 || Player[killerid][MP5K] == 40 || Player[killerid][MP5K] == 45 ||
- Player[killerid][MP5K] == 49 )
- {
- format(iString, sizeof(iString), "MP5 Experte~n~~n~%d / 50 MP5 Kills", Player[killerid][MP5K]);
- ShowAch(killerid, iString, Player[killerid][MP5K], 50);
- }
- if( Player[killerid][AK47K] == 5 || Player[killerid][AK47K] == 10 || Player[killerid][AK47K] == 20 ||
- Player[killerid][AK47K] == 30 || Player[killerid][AK47K] == 40 || Player[killerid][AK47K] == 50 ||
- Player[killerid][AK47K] == 60 || Player[killerid][AK47K] == 70 || Player[killerid][AK47K] == 80 ||
- Player[killerid][AK47K] == 90 || Player[killerid][AK47K] == 99 )
- {
- format(iString, sizeof(iString), "AK47 Experte~n~~n~%d / 100 AK47 Kills", Player[killerid][AK47K]);
- ShowAch(killerid, iString, Player[killerid][AK47K], 100);
- }
- if( Player[killerid][M4K] == 5 || Player[killerid][M4K] == 25 || Player[killerid][M4K] == 50 ||
- Player[killerid][M4K] == 75 || Player[killerid][M4K] == 100 || Player[killerid][M4K] == 125 ||
- Player[killerid][M4K] == 150 || Player[killerid][M4K] == 175 || Player[killerid][M4K] == 200 ||
- Player[killerid][M4K] == 225 || Player[killerid][M4K] == 249 )
- {
- format(iString, sizeof(iString), "M4 Experte~n~~n~%d / 250 M4 Kills", Player[killerid][M4K]);
- ShowAch(killerid, iString, Player[killerid][M4K], 250);
- }
- if( Player[killerid][Headshots] == 5 || Player[killerid][Headshots] == 10 || Player[killerid][Headshots] == 15 ||
- Player[killerid][Headshots] == 20 || Player[killerid][Headshots] == 25 || Player[killerid][Headshots] == 30 ||
- Player[killerid][Headshots] == 35 || Player[killerid][Headshots] == 40 || Player[killerid][Headshots] == 45 ||
- Player[killerid][Headshots] == 49 )
- {
- format(iString, sizeof(iString), "Der Kopfsucher~n~~n~%d / 50 Headshots", Player[killerid][Headshots]);
- ShowAch(killerid, iString, Player[killerid][Headshots], 50);
- }
- if( Player[killerid][GrenadeK] == 5 || Player[killerid][GrenadeK] == 10 || Player[killerid][GrenadeK] == 15 ||
- Player[killerid][GrenadeK] == 20 || Player[killerid][GrenadeK] == 25 || Player[killerid][GrenadeK] == 30 ||
- Player[killerid][GrenadeK] == 35 || Player[killerid][GrenadeK] == 40 || Player[killerid][GrenadeK] == 45 ||
- Player[killerid][GrenadeK] == 49 )
- {
- format(iString, sizeof(iString), "BOOM~n~~n~%d / 50 Grenade Kills", Player[killerid][MP5K]);
- ShowAch(killerid, iString, Player[killerid][GrenadeK], 50);
- }
- if(Player[killerid][SniperK] == 500 && Player[killerid][UnlockedEagleEye] == false)
- {
- PlayerPlaySound(killerid, 1133, 0, 0, 0);
- format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~Scharfschuetze~n~%d / 500 Sniper Kills", Player[killerid][SniperK]);
- ShowAch(killerid, iString, Player[killerid][SniperK], 500);
- }
- if(Player[killerid][DeagleK] == 250 && Player[killerid][UnlockedMP5] == false)
- {
- SendClientMessage(killerid, YELLOW_COLOR, "MP5 freigeschaltet! Nutze {FFFFFF}/guns {FFFF00}um sie zu benutzen");
- PlayerPlaySound(killerid, 1133, 0, 0, 0);
- format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~Deagle Experte~n~%d / 250 Deagle Kills~n~MP5 freigeschaltet! Du kannst sie mit /guns ausruesten.", Player[killerid][DeagleK]);
- ShowAch(killerid, iString, Player[killerid][DeagleK], 250);
- }
- if(Player[killerid][ShotgunK] == 1000 && Player[killerid][UnlockedSpas] == false)
- {
- SendClientMessage(killerid, YELLOW_COLOR, "Spas freigeschaltet! Nutze {FFFFFF}/guns {FFFF00}um sie zu benutzen");
- PlayerPlaySound(killerid, 1133, 0, 0, 0);
- format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~Shotgun Experte~n~%d / 1000 Shotgun Kills~n~Spas freigeschaltet! Du kannst sie mit /guns ausruesten.", Player[killerid][ShotgunK]);
- ShowAch(killerid, iString, Player[killerid][ShotgunK], 1000);
- }
- if(Player[killerid][RifleK] == 250 && Player[killerid][UnlockedSniper] == false)
- {
- SendClientMessage(killerid, YELLOW_COLOR, "Sniper freigeschaltet! Nutze {FFFFFF}/guns {FFFF00}um sie zu benutzen");
- PlayerPlaySound(killerid, 1133, 0, 0, 0);
- format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~Riflee Experte~n~%d / 250 Rifle Kills~n~Sniper freigeschaltet! Du kannst sie mit /guns ausruesten.", Player[killerid][RifleK]);
- ShowAch(killerid, iString, Player[killerid][RifleK], 250);
- }
- if(Player[killerid][MP5K] == 50 && Player[killerid][UnlockedAK47] == false)
- {
- SendClientMessage(killerid, YELLOW_COLOR, "AK47 freigeschaltet! Nutze {FFFFFF}/guns {FFFF00}um sie zu benutzen");
- PlayerPlaySound(killerid, 1133, 0, 0, 0);
- format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~MP5 Experte~n~%d / 50 MP5 Kills~n~AK47 freigeschaltet! Du kannst sie mit /guns ausruesten.", Player[killerid][MP5K]);
- ShowAch(killerid, iString, Player[killerid][MP5K], 50);
- }
- if(Player[killerid][AK47K] == 100 && Player[killerid][UnlockedM4] == false)
- {
- SendClientMessage(killerid, YELLOW_COLOR, "M4 freigeschaltet! Nutze {FFFFFF}/guns {FFFF00}um sie zu benutzen");
- PlayerPlaySound(killerid, 1133, 0, 0, 0);
- format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~AK47 Experte~n~%d / 100 AK47 Kills~n~M4 freigeschaltet! Du kannst sie in /guns ausruesten.", Player[killerid][AK47K]);
- ShowAch(killerid, iString, Player[killerid][AK47K], 100);
- }
- if(Player[killerid][M4K] == 250 && Player[killerid][UnlockedGrenade] == false)
- {
- SendClientMessage(killerid, YELLOW_COLOR, "Granate freigeschaltet! Nutze {FFFFFF}/guns {FFFF00}um sie zu benutzen");
- PlayerPlaySound(killerid, 1133, 0, 0, 0);
- format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~M4 Experte~n~%d / 250 M4 Kills~n~Granate freigeschaltet! Du kannst sie in /guns ausruesten.", Player[killerid][M4K]);
- ShowAch(killerid, iString, Player[killerid][M4K], 250);
- }
- if(Player[killerid][Headshots] == 50 && Player[killerid][UnlockedCigar] == false)
- {
- SendClientMessage(killerid, YELLOW_COLOR, "Zigarre freigeschaltet! Du wirst mit einer Zigarre das nächste mal spawnen");
- PlayerPlaySound(killerid, 1133, 0, 0, 0);
- format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~Der Kopfsucher~n~%d / 50 Headshots~n~Du spawnst jetzt mit einer Zigarre!", Player[killerid][Headshots]);
- ShowAch(killerid, iString, Player[killerid][Headshots], 50);
- }
- if(Player[killerid][GrenadeK] == 50 && Player[killerid][UnlockedFlame] == false)
- {
- SendClientMessage(killerid, YELLOW_COLOR, "Flammen Schädel freigeschaltet! Du wirst mit einem Flammenschädel das nächste mal spawnen");
- PlayerPlaySound(killerid, 1133, 0, 0, 0);
- format(iString, sizeof(iString), "~g~~h~~h~~h~Errungenschaft erhalten!~n~~n~~g~~h~~h~~h~BOOM~n~%d / 50 Grenade Kills~n~Du spawnst jetzt mit einem Flammenschädel!", Player[killerid][MP5K]);
- ShowAch(killerid, iString, Player[killerid][GrenadeK], 50);
- }
- CheckRewards(killerid);
- }
- Player[playerid][LastHitWith] = -1; //antide
- Player[playerid][LastHitBy] = -1; //antide
- Player[playerid][Spree] = 0;
- Player[killerid][LastKilled] = playerid;
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- for(new cnt = 0; cnt < sizeof(BadWords); cnt++)
- {
- if(strfind(text, BadWords[cnt], true) != -1)
- {
- SendClientMessage(playerid, COLOR_RED, "CHAT: Du hast ein verbotenes Wort benutzt.");
- return 0;
- }
- }
- if(stringContainsIP(text))
- {
- SystemBan(playerid, "Fremdwerbung");
- return 0;
- }
- if(text[0] == '!') {
- new ChatColor;
- switch(Player[playerid][Team]) {
- case GREENTEAM: ChatColor = 0x55FF55FF;
- case BLUETEAM: ChatColor = 0x0080FF44;
- }
- format(ChatString,sizeof(ChatString),"[TEAM] %s (%d): %s", Player[playerid][Name], playerid, text[1]);
- foreach(new i : Player)
- {
- if(Player[playerid][Team] == GREENTEAM && Player[i][Team] == GREENTEAM) { SendClientMessage(i, ChatColor, ChatString); PlayerPlaySound(i,1137,0.0,0.0,0.0); }
- if(Player[playerid][Team] == BLUETEAM && Player[i][Team] == BLUETEAM) { SendClientMessage(i, ChatColor, ChatString); PlayerPlaySound(i,1137,0.0,0.0,0.0); }
- }
- return 0;
- } else {
- if(Player[playerid][Muted] == true) { SendErrorMessage(playerid,"Du bist gemuted."); return 0; }
- }
- if(text[0] == '@' && Player[playerid][Level] > 0) {
- format(ChatString, sizeof(ChatString), "[ACHAT] %s %s (%d): %s", GetRang(playerid),Player[playerid][Name], playerid, text[1]);
- foreach(new i : Player) {
- if(Player[i][Level] > 0) {
- SendClientMessage(i, ADMIN_COLOR, ChatString);
- PlayerPlaySound(i,1137,0.0,0.0,0.0);
- }
- }
- return 0;
- }
- if(Player[playerid][Level] == 1) {
- new iString[256];
- format(iString, sizeof(iString),"{caa225}(( [Level %d] {96a3a8}"Rang1Name" %s (%d): %s {caa225}))",Player[playerid][URang], GetName(playerid), playerid, text[0]);
- SendClientMessageToAll(0xFFFFFF, iString);
- format(iString,sizeof(iString),""Rang1Name" %s: %s",GetName(playerid),text[0]);
- ChatLog(iString);
- format(iString,sizeof(iString),"[SAMP] "Rang1Name" %s: %s",GetName(playerid),text[0]);
- #if defined DiscordBot
- DCC_SendChannelMessage(g_WelcomeChannelId, iString);
- #endif
- return 0;
- }
- if(Player[playerid][Level] == 2) {
- new iString[256];
- format(iString, sizeof(iString),"{e16600}(( [Level %d] {96a3a8}"Rang2Name" %s (%d): %s {e16600}))",Player[playerid][URang], GetName(playerid), playerid, text[0]);
- SendClientMessageToAll(0xFFFFFF, iString);
- format(iString,sizeof(iString),""Rang2Name" %s: %s",GetName(playerid),text[0]);
- ChatLog(iString);
- format(iString,sizeof(iString),"[SAMP] "Rang2Name" %s: %s",GetName(playerid),text[0]);
- #if defined DiscordBot
- DCC_SendChannelMessage(g_WelcomeChannelId, iString);
- #endif
- return 0;
- }
- if(Player[playerid][Level] == 3) {
- new iString[256];
- format(iString, sizeof(iString),"{ff4040}(( [Level %d] {96a3a8}"Rang3Name" %s (%d): %s {ff4040}))",Player[playerid][URang], GetName(playerid), playerid, text[0]);
- SendClientMessageToAll(0xFFFFFF, iString);
- format(iString,sizeof(iString),""Rang3Name" %s: %s",GetName(playerid),text[0]);
- ChatLog(iString);
- format(iString,sizeof(iString),"[SAMP] "Rang3Name" %s: %s",GetName(playerid),text[0]);
- #if defined DiscordBot
- DCC_SendChannelMessage(g_WelcomeChannelId, iString);
- #endif
- return 0;
- }
- if(Player[playerid][Level] == 4) {
- new iString[256];
- format(iString, sizeof(iString),"{1460ab}(( [Level %d] {96a3a8}"Rang4Name" %s (%d): %s {1460ab}))",Player[playerid][URang], GetName(playerid), playerid, text[0]);
- SendClientMessageToAll(0xFFFFFF, iString);
- format(iString,sizeof(iString),""Rang4Name" %s: %s",GetName(playerid),text[0]);
- ChatLog(iString);
- format(iString,sizeof(iString),"[SAMP] "Rang4Name" %s: %s",GetName(playerid),text[0]);
- #if defined DiscordBot
- DCC_SendChannelMessage(g_WelcomeChannelId, iString);
- #endif
- return 0;
- }
- if(Player[playerid][VIP] == 1 && ChatDisabled == false) {
- new iString[256];
- format(iString, sizeof(iString),"{effc09}(( [Level %d] {96a3a8}VIP %s (%d): %s {effc09}))",Player[playerid][URang], GetName(playerid), playerid, text[0]);
- SendClientMessageToAll(0xFFFFFF, iString);
- format(iString,sizeof(iString),"VIP %s: %s",GetName(playerid),text[0]);
- ChatLog(iString);
- format(iString,sizeof(iString),"[SAMP] VIP %s: %s",GetName(playerid),text[0]);
- #if defined DiscordBot
- DCC_SendChannelMessage(g_WelcomeChannelId, iString);
- #endif
- return 0;
- }
- if(Player[playerid][Logged] == false)
- {
- return 0;
- }
- if(pJailed[playerid] == true) {
- new iString[256];
- SendClientMessage(playerid, COLOR_RED, "Du bist im CP Prison und darfst dadurch nicht schreiben.");
- format(iString,sizeof(iString),"%s [JAILED]: %s",GetName(playerid),text[0]);
- ChatLog(iString);
- }
- if(ChatDisabled == true) {
- if(Player[playerid][Level] < 1)
- {
- SendClientMessage(playerid, COLOR_RED, "Der globale Chat ist deaktiviert.");
- }
- }
- if(ChatDisabled == false) {
- new iString[256];
- format(ChatString, sizeof(ChatString),"(( [Level %d] {96a3a8}Spieler %s (%d): %s {FFFFFF}))",Player[playerid][URang], GetName(playerid), playerid, text[0]);
- SendClientMessageToAll(0xFFFFFF, ChatString);
- format(iString,sizeof(iString),"%s: %s",GetName(playerid),text[0]);
- ChatLog(iString);
- format(iString,sizeof(iString),"[SAMP] %s: %s",GetName(playerid),text[0]);
- #if defined DiscordBot
- DCC_SendChannelMessage(g_WelcomeChannelId, iString);
- #endif
- }
- return 0;
- }
- public OnPlayerCommandReceived(playerid, cmdtext[])
- {
- return 1;
- }
- public OnPlayerCommandPerformed(playerid, cmdtext[], success)
- {
- if(success == 0)
- {
- new iString[256];
- format(iString, sizeof(iString), "FEHLER: {FFFFFF}Der Befehl {FF0000}%s {FFFFFF}ist unbekannt. Um die Liste der Befehle zu sehen nutze: {FFFF00}/cmds", cmdtext);
- SendClientMessage(playerid, 0xFF0000FF, iString);
- }
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- if(Player[playerid][Logged] == false)
- {
- GameTextForPlayer(playerid, "~r~~h~Bitte logge dich ein oder ~r~~h~registriere dich zuerst.", 3000, 4);
- return 0;
- }
- if(Player[playerid][Team] == GREENTEAM)
- {
- if(GetTeamBalance(GREENTEAM) > GetTeamBalance(BLUETEAM))
- {
- GameTextForPlayer(playerid, "~r~~h~Das Team ist voll!~n~~r~~h~W\154hle ein anderes Team", 3000, 4);
- return 0;
- }
- }
- if(Player[playerid][Team] == BLUETEAM)
- {
- if(GetTeamBalance(BLUETEAM) > GetTeamBalance(GREENTEAM))
- {
- GameTextForPlayer(playerid, "~r~~h~Das Team ist voll!~n~~r~~h~W\154hle ein anderes Team", 3000, 4);
- return 0;
- }
- }
- if(Player[playerid][ClassID] == 2 || Player[playerid][ClassID] == 3 || Player[playerid][ClassID] == 6 || Player[playerid][ClassID] == 7)
- {
- if(Player[playerid][VIP] == 0)
- {
- GameTextForPlayer(playerid, "~r~~h~Nur f\172r VIPs!", 3000, 4);
- return 0;
- }
- }
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys == 160 && GetPlayerWeapon(playerid) == 0 && !IsPlayerInAnyVehicle(playerid))
- {
- SyncPlayer(playerid);
- return 1;
- }
- if( (oldkeys & KEY_FIRE) || (oldkeys & KEY_HANDBRAKE) || (oldkeys & KEY_SECONDARY_ATTACK) || (oldkeys & KEY_SPRINT) || (oldkeys & KEY_JUMP) )
- {
- CloseTable(playerid);
- }
- if( (oldkeys & KEY_SECONDARY_ATTACK) && Player[playerid][Checking] == true)
- {
- Player[playerid][Checking] = false;
- }
- //easter
- if(oldkeys & KEY_SECONDARY_ATTACK)
- {
- if((IsPlayerInArea(playerid, EasterX-1, EasterX+1, EasterY-1, EasterY+1)) && EggFound == false)
- {
- GameTextForPlayer(playerid, "~y~Halloween Kürbis gefunden!", 3000, 3);
- GiveScore(playerid, 10);
- //easter1
- SendClientMessage(playerid, YELLOW_COLOR, "KÜRBIS: Du hast eine Granate in dem Kürbis gefunden!");
- GivePlayerWeapon(playerid, GRENADE, 1);
- //easter1
- //easter2
- new Float:AP;
- new skin = GetPlayerSkin(playerid);
- GetPlayerArmour(playerid, AP);
- SetPlayerArmour(playerid, AP+25);
- SendClientMessage(playerid, YELLOW_COLOR, "KÜRBIS: Du hast ein bisschen {FFFFFF}Rüstung {FFFF00}in dem Kürbis gefunden!");
- switch(skin) //armor
- {
- case 53: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.000, 0.036, 0.000, 0.000, -1.800, 0.000, 1.068, 1.163, 1.000, 0xFF55FF55, 0xFF55FF55);
- case 250: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.022, 0.037, 0.000, 0.000, -1.800, 0.000, 1.318, 1.393, 1.000, 0xFF55FF55, 0xFF55FF55);
- case 45: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.013, 0.049, 0.000, 0.000, -1.800, 0.000, 1.160, 1.171, 1.000, 0xFF55FF55, 0xFF55FF55);
- case 191: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.074, 0.041, 0.000, 0.000, -1.800, 9.599, 1.178, 1.253, 0.868, 0xFF55FF55, 0xFF55FF55);
- case 230: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.017, 0.058, 0.000, 0.000, -1.800, 0.000, 1.160, 1.087, 0.857, 0xFF0080FF, 0xFF0080FF);
- case 177: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.004, 0.054, 0.000, 0.000, -1.800, 0.599, 1.317, 1.392, 1.213, 0xFF0080FF, 0xFF0080FF);
- case 154: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.013, 0.049, 0.000, 0.000, -1.800, 0.000, 1.160, 1.171, 1.000, 0xFF0080FF, 0xFF0080FF);
- case 198: SetPlayerAttachedObject(playerid, 0, 19515, 1, 0.042, 0.074, 0.000, 0.000, -1.800, 5.500, 1.230, 1.392, 0.860, 0xFF0080FF, 0xFF0080FF);
- }
- //easter2
- //easter3
- SendClientMessage(playerid, YELLOW_COLOR, "KÜRBIS: Du hast einen {FFFFFF}Raketenwerfer {FFFF00}in dem Kürbis gefunden!");
- GivePlayerWeapon(playerid, 36, 1);
- //easter3
- EggFound = true;
- new iString[128];
- format(iString, sizeof(iString), "%s%s {FFFF00}hat einen Halloween Kürbis gefunden!", TextColor[Player[playerid][Team]], Player[playerid][Name]);
- SendClientMessageToAll(YELLOW_COLOR, iString);
- Update3DTextLabelText(EasterText, 0xFFFF00FF, "KÜRBIS: Dieser Kürbis wurde schon von jemandem aufgemacht.");
- }
- }
- //easter
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- if(Player[playerid][IsOnDuty] == true) SetPlayerHealth(playerid, 9999);
- new Float:Health;
- new HealthNum[15];
- GetPlayerHealth(playerid, Health);
- format(HealthNum, sizeof(HealthNum), "%.0f", Health);
- TextDrawSetString(DigiHP[playerid], HealthNum);
- TextDrawShowForPlayer(playerid, DigiHP[playerid]);
- new Float:Armour;
- GetPlayerArmour(playerid, Armour);
- if(Armour >= 1)
- {
- new ArmourNum[15];
- format(ArmourNum, 15, "%.0f", Armour);
- TextDrawSetString(DigiAP[playerid], ArmourNum);
- TextDrawShowForPlayer(playerid, DigiAP[playerid]);
- }
- else
- {
- TextDrawHideForPlayer(playerid, DigiAP[playerid]);
- }
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- if(Player[forplayerid][Team] != Player[playerid][Team])
- {
- SetPlayerMarkerForPlayer(forplayerid, playerid, GetPlayerColor(playerid) & 0xFFFFFF00);
- } else {
- SetPlayerMarkerForPlayer(forplayerid, playerid, GetPlayerColor(playerid) | 0x00000077);
- }
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- if(Player[forplayerid][Team] != Player[playerid][Team])
- {
- SetPlayerMarkerForPlayer(forplayerid,playerid, GetPlayerColor(playerid) & 0xFFFFFF00);
- } else {
- SetPlayerMarkerForPlayer(forplayerid,playerid, GetPlayerColor(playerid) | 0x00000055);
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- if(Player[playerid][Level] == 1)
- {
- ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_LIST, "{005eff}Admin Menü", "{ffff00}Spieler kicken\n{15ff00}Spieler muten\n{00abff}Spieler ins CP Prison stecken\n{7c00ff}Nachricht versenden\n{E28356}Spieler verwarnen", "Auswählen", "Abbrechen");
- ClickedPlayer[playerid] = clickedplayerid;
- }
- if(Player[playerid][Level] > 1)
- {
- ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_LIST, "{005eff}Admin Menü", "{FFFF00}Spieler kicken\n{15ff00}Spieler muten\n{00abff}Spieler ins CP Prison stecken\n{7c00ff}Nachricht versenden\n{E28356}Spieler verwarnen\n{FF0000}Spieler bannen\n{ff7400}Spieler IP bannen", "Auswählen", "Abbrechen");
- ClickedPlayer[playerid] = clickedplayerid;
- }
- if(Player[playerid][Level] == 4 || IsPlayerAdmin(playerid))
- {
- ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_LIST, "{005eff}Admin Menü", "{FFFF00}Spieler kicken\n{15ff00}Spieler muten\n{00abff}Spieler ins CP Prison stecken\n{7c00ff}Nachricht versenden\n{E28356}Spieler verwarnen\n{FF0000}Spieler bannen\n{ff7400}Spieler IP bannen\n{ddd51b}Rang ändern", "Auswählen", "Abbrechen");
- ClickedPlayer[playerid] = clickedplayerid;
- }
- return 1;
- }
- public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
- {
- if(Player[playerid][Level] == 4 && Player[playerid][IsOnDuty] == true)
- {
- SetPlayerPosFindZ(playerid, fX, fY, fZ);
- SendClientMessage(playerid, COLOR_GREEN, "Erfolgreich teleportiert.");
- }
- return 1;
- }
- public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
- {
- new iString[160];
- if(playertextid == PlayerLoginTextDraw[playerid][0])
- {
- if(pRegistered[playerid] == true)
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFFFFF}Login","{FFFFFF}Gib dein Passwort ein um dich einzuloggen:","Einloggen","Verlassen");
- }
- else if(pRegistered[playerid] == false)
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"{FFFFFF}Registrieren","{FFFFFF}Gib ein Passwort ein um dich zu registrieren:","Registrieren","Verlassen");
- }
- }
- new Weapon[13], Ammo[13];
- for(new k = 0; k < 13; k++) GetPlayerWeaponData(playerid, k, Weapon[k], Ammo[k]);
- if(playertextid == ExitTD && Player[playerid][Logged] == true)
- {
- Player[playerid][OnMenu] = false;
- CancelSelectTextDraw(playerid);
- HideGunsTDs(playerid);
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Du hast die Waffenauswahl verlassen.");
- }
- if(playertextid == G1TD && Player[playerid][Logged] == true)
- {
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Primäre Waffe geändert zu: Deagle");
- }
- if(playertextid == G2TD && Player[playerid][Logged] == true)
- {
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Sekundäre Waffe geändert zu: Shotgun");
- Player[playerid][Gun2] = SHOTGUN;
- GivePlayerWeapon(playerid, Player[playerid][Gun2], 0);
- SetPlayerAmmo(playerid, Player[playerid][Gun2], Ammo[3]);
- UpdateTDs(playerid);
- }
- if(playertextid == G2bTD && Player[playerid][Logged] == true)
- {
- if(Player[playerid][UnlockedSpas] == true)
- {
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Sekundäre Waffe geändert zu: Spas");
- Player[playerid][Gun2] = SPAS;
- GivePlayerWeapon(playerid, Player[playerid][Gun2], 0);
- SetPlayerAmmo(playerid, Player[playerid][Gun2], Ammo[3]);
- UpdateTDs(playerid);
- } else {
- format(iString, sizeof(iString), "WAFFENAUSWAHL: Du brauchst {FFFFFF}%d {FF0000}mehr Shotgun Kills um die Spas freizuschalten.", 1000 - Player[playerid][ShotgunK]);
- SendClientMessage(playerid, RED_COLOR, iString);
- }
- }
- if(playertextid == G30TD && Player[playerid][Logged] == true)
- {
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Dritt Waffe geändert zu: None");
- SetPlayerAmmo(playerid, Player[playerid][Gun3], 0);
- Player[playerid][Gun3] = 0;
- UpdateTDs(playerid);
- }
- if(playertextid == G3TD && Player[playerid][Logged] == true)
- {
- if(Player[playerid][UnlockedAK47] == true)
- {
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Dritt Waffe geändert zu: AK47");
- Player[playerid][Gun3] = AK47;
- GivePlayerWeapon(playerid, Player[playerid][Gun3], 0);
- SetPlayerAmmo(playerid, Player[playerid][Gun3], Ammo[5]);
- UpdateTDs(playerid);
- } else {
- format(iString, sizeof(iString), "WAFFENAUSWAHL: Du brauchst {FFFFFF}%d {FF0000}mehr MP5 Kills um die AK47 freizuschalten.", 50 - Player[playerid][MP5K]);
- SendClientMessage(playerid, RED_COLOR, iString);
- }
- }
- if(playertextid == G3bTD && Player[playerid][Logged] == true)
- {
- if(Player[playerid][UnlockedM4] == true)
- {
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Dritt Waffe geändert zu: M4");
- Player[playerid][Gun3] = M4;
- GivePlayerWeapon(playerid, Player[playerid][Gun3], 0);
- SetPlayerAmmo(playerid, Player[playerid][Gun3], Ammo[5]);
- UpdateTDs(playerid);
- } else {
- format(iString, sizeof(iString), "WAFFENAUSWAHL: Du brauchst {FFFFFF}%d {FF0000}mehr AK47 Kills oder {FFFF00}VIP {FF0000}um die M4 freizuschalten.", 100 - Player[playerid][AK47K]);
- SendClientMessage(playerid, RED_COLOR, iString);
- }
- }
- if(playertextid == G40TD && Player[playerid][Logged] == true)
- {
- SendClientMessage(playerid, YELLOW_COLOR, "Kurze Distanz Waffe geändert zu: Keine");
- SetPlayerAmmo(playerid, Player[playerid][Gun4], 0);
- Player[playerid][Gun4] = 0;
- UpdateTDs(playerid);
- }
- if(playertextid == G4TD && Player[playerid][Logged] == true)
- {
- if(Player[playerid][UnlockedMP5] == true)
- {
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Kurze Distanz Waffe geändert zu: MP5");
- Player[playerid][Gun4] = MP5;
- GivePlayerWeapon(playerid, Player[playerid][Gun4], 0);
- SetPlayerAmmo(playerid, Player[playerid][Gun4], Ammo[4]);
- UpdateTDs(playerid);
- } else {
- format(iString, sizeof(iString), "WAFFENAUSWAHL: Du brauchst {FFFFFF}%d {FF0000}mehr Deagle Kills um die MP5 freizuschalten.", 250 - Player[playerid][DeagleK]);
- SendClientMessage(playerid, RED_COLOR, iString);
- }
- }
- if(playertextid == G5TD && Player[playerid][Logged] == true)
- {
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Große Distanz Waffe geändert zu: Country Rifle");
- Player[playerid][Gun5] = RIFLE;
- GivePlayerWeapon(playerid, Player[playerid][Gun5], 0);
- SetPlayerAmmo(playerid, Player[playerid][Gun5], Ammo[6]);
- UpdateTDs(playerid);
- }
- if(playertextid == G5bTD && Player[playerid][Logged] == true)
- {
- if(Player[playerid][UnlockedSniper] == true)
- {
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Große Distanz Waffe geändert zu: Sniper");
- Player[playerid][Gun5] = SNIPER;
- GivePlayerWeapon(playerid, Player[playerid][Gun5], 0);
- SetPlayerAmmo(playerid, Player[playerid][Gun5], Ammo[6]);
- UpdateTDs(playerid);
- } else {
- format(iString, sizeof(iString), "WAFFENAUSWAHL: Du brauchst {FFFFFF}%d {FF0000}mehr Rifle Kills oder {FFFF00}VIP {FF0000}um die Sniper freizuschalten.", 250 - Player[playerid][RifleK]);
- SendClientMessage(playerid, RED_COLOR, iString);
- }
- }
- if(playertextid == G60TD && Player[playerid][Logged] == true)
- {
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Werfbare Waffe geändert zu: Keine");
- SetPlayerAmmo(playerid, Player[playerid][Gun6], 0);
- Player[playerid][Gun6] = 0;
- UpdateTDs(playerid);
- }
- if(playertextid == G6TD && Player[playerid][Logged] == true)
- {
- if(Player[playerid][UnlockedGrenade] == true)
- {
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Werfbare Waffe geändert zu: Granate");
- Player[playerid][Gun6] = GRENADE;
- GivePlayerWeapon(playerid, Player[playerid][Gun6], 0);
- SetPlayerAmmo(playerid, Player[playerid][Gun6], Ammo[8]);
- UpdateTDs(playerid);
- } else {
- format(iString, sizeof(iString), "WAFFENAUSWAHL: Du brauchst {FFFFFF}%d {FF0000}mehr M4 Kills um die Granate freizuschalten.", 250 - Player[playerid][M4K]);
- SendClientMessage(playerid, RED_COLOR, iString);
- }
- }
- PlayerPlaySound(playerid, 1150, 0, 0, 0);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new iString[220];
- if(dialogid == DIALOG_AWHITELIST)
- {
- new player[64], string[128];
- format(player,sizeof(player),"/Whitelist/%s.txt",inputtext);
- if(response == 1)
- {
- if(!dini_Exists(player))
- {
- format(string,sizeof(string),"%s hat %s auf die Whitelist gesetzt.", GetName(playerid),inputtext);
- SendAdminMessage(1,string);
- dini_Create(player);
- printf("[warning] %s hat %s auf die Whitelist gesetzt.",GetName(playerid),inputtext);
- }
- else
- {
- format(string,sizeof(string),"%s ist bereits auf der Whitelist.", inputtext);
- SendErrorMessage(playerid,string);
- ShowPlayerDialog(playerid,DIALOG_AWHITELIST,DIALOG_STYLE_INPUT,"{00FFFF}Einen Spieler auf die Whitelist setzen","{FF0000}Gib den genauen Namen ein.","Weiter","Abbrechen");
- }
- }
- }
- if(dialogid == DIALOG_RWHITELIST)
- {
- new player[64], string[128];
- format(player,sizeof(player),"/Whitelist/%s.txt",inputtext);
- if(response == 1)
- {
- if(dini_Exists(player))
- {
- format(string,sizeof(string),"%s hat %s auf von der Whitelist entfernt.", GetName(playerid),inputtext);
- SendAdminMessage(1,string);
- dini_Remove(player);
- printf("[warning] %s hat %s von der Whitelist entfernt.",GetName(playerid),inputtext);
- }
- else
- {
- format(string,sizeof(string),"%s ist nicht auf der Whitelist.", inputtext);
- SendErrorMessage(playerid,string);
- ShowPlayerDialog(playerid,DIALOG_RWHITELIST,DIALOG_STYLE_INPUT,"{00FFFF}Einen Spieler von der Whitelist entfernen","{FF0000}Gib den genauen Namen ein.","Weiter","Abbrechen");
- }
- }
- }
- if(dialogid == DIALOG_REGISTER)
- {
- if(response)
- {
- if(isnull(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"{FFFF00}Willkommen!","{FFFFFF}Gebe das gewünschte Passwort für deinen Account ein:","Registrieren","Verlassen");
- new HashPass[64 + 1];
- SHA256_PassHash(inputtext, "ENQNwGr7gY8fC5Bml7nqJGGbJhUyBVxcUXY9Umswyjn7qc39pYK6jDqAr3X5sa1n", HashPass, sizeof HashPass);
- new query[425];
- //ac
- format(query, sizeof(query), "INSERT INTO Players (Name, Password, Level, ForceAC, Kills, Deaths, Score, VIP, MaxRoundKills, MaxRoundDamage, Headshots, Tbags, PunchK, DeagleK, ShotgunK, SpasK, MP5K, AK47K, M4K, RifleK, SniperK, GrenadeK, Gun2, Gun3, Gun4, Gun5, Gun6) VALUES('%s', '%s', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 33, 0)", DB_Escape(Player[playerid][Name]), HashPass);
- db_free_result(db_query(sqliteconnection, query));
- format(HashPass, sizeof(HashPass), "Du hast dich erfolgreich registriert. Passwort: {55FF55}%s", inputtext);
- SendClientMessage(playerid, YELLOW_COLOR, HashPass);
- SendClientMessage(playerid, YELLOW_COLOR, "Nutze {FFFFFF}/cmds {FFFF00}für die Commands und {FFFFFF}/updates {FFFF00}um über die letzten Updates bescheid zu wissen.");
- SendClientMessage(playerid, YELLOW_COLOR, "Vergesse nicht mit {FFFFFF}/rules {FFFF00}die Regeln durchzulesen.");
- new year,month,day;
- getdate(year, month, day);
- format(Player[playerid][RegDate], 32, "%02d | %02d | %d", day, month, year);
- Player[playerid][Logged] = true;
- Player[playerid][URang] = 1;
- Player[playerid][Level] = 0;
- Player[playerid][Kills] = 0;
- Player[playerid][Deaths] = 0;
- Player[playerid][RKills] = 0;
- Player[playerid][RDeaths] = 0;
- Player[playerid][RDamage] = 0;
- Player[playerid][Score] = 0;
- Player[playerid][Spree] = 0;
- Player[playerid][VIP] = 0;
- Player[playerid][MaxRoundKills] = 0;
- Player[playerid][MaxRoundDamage] = 0;
- Player[playerid][Headshots] = 0;
- Player[playerid][Tbags] = 0;
- Player[playerid][PunchK] = 0;
- Player[playerid][DeagleK] = 0;
- Player[playerid][ShotgunK] = 0;
- Player[playerid][SpasK] = 0;
- Player[playerid][MP5K] = 0;
- Player[playerid][AK47K] = 0;
- Player[playerid][M4K] = 0;
- Player[playerid][RifleK] = 0;
- Player[playerid][SniperK] = 0;
- Player[playerid][GrenadeK] = 0;
- TextDrawHideForPlayer(playerid,BlackBox);
- TextDrawHideForPlayer(playerid,WillkommenText);
- HideLoginTextDraws(playerid);
- DestroyPlayerLoginTextDraws(playerid);
- } else {
- SetTimerEx("OnPlayerKicked", 500, false, "i", playerid);
- }
- return 1;
- }
- if(dialogid == 1337)
- {
- if(!response) return SendClientMessage(playerid, 0xFF0C29FF,"Auswahl abgebrochen.");
- else
- {
- if(listitem == 0) return ShowPlayerDialog(playerid, 1338, DIALOG_STYLE_INPUT, "Spieler kicken", "Gib den Kickgrund ein", "Kicken", "Abbrechen");
- if(listitem == 1) return ShowPlayerDialog(playerid, 1339, DIALOG_STYLE_INPUT, "Spieler muten", "Gib den Mutegrund ein", "Muten", "Abbrechen");
- if(listitem == 2) return ShowPlayerDialog(playerid, 1344, DIALOG_STYLE_INPUT, "Spieler ins CP Prison stecken", "Gib die gewünschten Checkpoints ein", "CPs setzen", "Abbrechen");
- if(listitem == 3) return ShowPlayerDialog(playerid, 1343, DIALOG_STYLE_INPUT, "Nachricht versenden", "Gib deine Nachricht ein", "Versenden", "Abbrechen");
- if(listitem == 4) return ShowPlayerDialog(playerid, 1346, DIALOG_STYLE_INPUT, "Spieler verwarnen","Gib den Grund ein", "Verwarnen", "Abbrechen");
- if(listitem == 5) return ShowPlayerDialog(playerid, 1340, DIALOG_STYLE_INPUT, "Spieler bannen", "Gib den Banngrund ein", "Bannen", "Abbrechen");
- if(listitem == 6) return ShowPlayerDialog(playerid, 1341, DIALOG_STYLE_INPUT, "Spieler IP bannen", "Gib den IP Banngrund ein", "IP bannen", "Abbrechen");
- if(listitem == 7) return ShowPlayerDialog(playerid, 1342, DIALOG_STYLE_INPUT, "Rang ändern", "Gib den gewünschten Rang ein", "Rang setzen", "Abbrechen");
- }
- }
- if(dialogid == 1338)
- {
- new string[128];
- if(!response)return SendClientMessage(playerid, 0xFF0C29FF,"Auswahl abgebrochen.");
- else
- {
- format(string,sizeof(string), "KICK: %s hat %s gekickt. [Grund: %s]", GetName(playerid),GetName(ClickedPlayer[playerid]), inputtext);
- SendClientMessageToAll(COLOR_YELLOW, string);
- printf("[warning] %s hat %s gekickt mit dem Grund %s",GetName(playerid),GetName(ClickedPlayer[playerid]),inputtext);
- format(string,sizeof(string),"%s hat %s gekickt (Grund: %s)",GetName(playerid),GetName(ClickedPlayer[playerid]),inputtext);
- KickLog(string);
- SetTimerEx("OnPlayerKicked", 500, false, "i", ClickedPlayer[playerid]);
- return 1;
- }
- }
- if(dialogid == 1339)
- {
- new string[128];
- if(!response) return SendClientMessage(playerid, 0xff0c29ff,"Auswahl abgebrochen.");
- else
- {
- format(string,sizeof(string), "MUTE: %s hat %s gemutet. [Grund: %s]",GetName(playerid),GetName(ClickedPlayer[playerid]),inputtext);
- SendClientMessageToAll(COLOR_DARKGREEN,string);
- printf("[warning] %s hat %s gemuted mit dem Grund %s",GetName(playerid),GetName(ClickedPlayer[playerid]),inputtext);
- format(string,sizeof(string),"%s hat %s gemuted (Grund: %s)",GetName(playerid),GetName(ClickedPlayer[playerid]),inputtext);
- MuteLog(string);
- Player[ClickedPlayer[playerid]][Muted] = true;
- return 1;
- }
- }
- if(dialogid == 1340)
- {
- if(!response) return SendClientMessage(playerid, 0xff0c29ff,"Auswahl abgebrochen.");
- else
- {
- printf("[warning] %s bannt %s mit dem Grund %s",GetName(playerid),GetName(ClickedPlayer[playerid]),inputtext);
- BanWithReasonNoIP(playerid, ClickedPlayer[playerid], inputtext);
- return 1;
- }
- }
- if(dialogid == 1341)
- {
- if(!response) return SendClientMessage(playerid, 0xff0c29ff,"Auswahl abgebrochen.");
- if(isnull(inputtext)) return ShowPlayerDialog(playerid, 1341, DIALOG_STYLE_INPUT, "Spieler IP bannen", "Gib den IP Banngrund ein", "IP bannen", "Abbrechen");
- else
- {
- printf("[warning] %s ipbannt %s mit dem Grund %s",GetName(playerid),GetName(ClickedPlayer[playerid]),inputtext);
- BanWithReason(playerid,ClickedPlayer[playerid],inputtext);
- return 1;
- }
- }
- if(dialogid == 1342)
- {
- new string[128], target, level;
- target = ClickedPlayer[playerid];
- if(!response) return SendClientMessage(playerid, 0xff0c29ff,"Auswahl abgebrochen.");
- if(sscanf(inputtext, "d", level)) return ShowPlayerDialog(playerid, 1342, DIALOG_STYLE_INPUT, "Rang ändern", "Gib den gewünschten Rang ein", "Rang setzen", "Abbrechen");
- else
- {
- Player[target][Level] = level;
- SavePlayer(target);
- format(string,sizeof(string),"%s hat %s's Rang geändert zu: %s",GetName(playerid),GetName(target),GetRang(target));
- SendAdminMessage(1,string);
- printf("[warning] %s ändert das Adminlevel von %s auf %s(%d)",GetName(playerid),GetName(target),GetRang(target),level);
- return 1;
- }
- }
- if(dialogid == 1343)
- {
- new string[180],istring[180],target;
- target = ClickedPlayer[playerid];
- if(!response) return SendClientMessage(playerid, 0xff0c29ff,"Auswahl abgebrochen.");
- else
- {
- format(string,sizeof(string),"NACHRICHT: Du hast von {FFFFFF}%s %s {FFFF00}eine Nachricht erhalten: {FFFFFF}%s",GetRang(playerid), GetName(playerid), inputtext);
- SendClientMessage(target, COLOR_YELLOW, string);
- format(string,sizeof(string),"%s %s schickt %s %s eine Adminnachricht: %s",GetRang(playerid),GetName(playerid),GetRang(ClickedPlayer[playerid]),(ClickedPlayer[playerid]),inputtext);
- PMLog(string);
- format(istring,sizeof(istring),"NACHRICHT: Du hast {FFFFFF}%s {FFFF00}eine Nachricht geschickt: {FFFFFF}%s",GetName(ClickedPlayer[playerid]),inputtext);
- SendClientMessage(playerid, COLOR_YELLOW, istring);
- printf("[warning] %s hat %s eine Nachricht geschickt: %s",GetName(playerid),GetName(ClickedPlayer[playerid]),inputtext);
- return 1;
- }
- }
- if(dialogid == 1344)
- {
- SavedText[playerid] = inputtext[playerid];
- if(SavedText[playerid] > 101 || SavedText[playerid] < 5) return ShowPlayerDialog(playerid, 1444, DIALOG_STYLE_INPUT, "Spieler ins CP Prison stecken", "Gib die gewünschten Checkpoints ein", "CPs setzen", "Abbrechen");
- if(!response) return SendClientMessage(playerid, 0xff0c29ff, "Auswahl abgebrochen.");
- else
- {
- ShowPlayerDialog(playerid, -1, 0, "", "", "","");
- ShowPlayerDialog(playerid, 1345, DIALOG_STYLE_INPUT, "Spieler ins CP Prison stecken", "Gib den gewünschten Grund ein", "Grund angeben", "Abbrechen");
- return 1;
- }
- }
- if(dialogid == 1345)
- {
- new target,str[160], reason[64], cps;
- new world = randomEx(5, 2147483647);
- target = ClickedPlayer[playerid];
- reason[playerid] = inputtext[playerid];
- cps = SavedText[playerid];
- if(!response) return SendClientMessage(playerid, 0xff0c29ff, "Auswahl abgebrochen.");
- else
- {
- if(pJailed[target] == true)
- {
- return SendErrorMessage(playerid, "Der Spieler befindet sich bereits im CP Prison.");
- }
- MaxCheckPoints[target] = cps;
- //Save Old Data
- SaveOldData(target);
- //Let's Jail
- ResetPlayerWeapons(target);
- ShowCPTextDraws(target);
- format(str, sizeof(str), "PRISON: {FFFFFF}%s {FFFF00}hat {FFFFFF}%s {FFFF00}mit CP Jail(%d CPs) bestraft. [Grund: {FFFFFF}%s{FFFF00}]", GetName(playerid), GetName(target), cps, reason[playerid]);
- SendClientMessageToAll(COLOR_YELLOW, str);
- SetPlayerPos(target, -1398.103515,937.631164,1036.479125);
- SetPlayerInterior(target, 15);
- SetPlayerVirtualWorld(target, world);
- pJailed[target] = true;
- format(str,sizeof(str),"%s hat %s für %d CP's ins CP Prison gesteckt. (Grund: %s)",GetName(playerid),GetName(target),cps,reason[playerid]);
- JailLog(str);
- RandomCheckPointCreate(target);
- printf("[warning] %s hat %s für %d CP's ins CP Prison gesteckt.",GetName(playerid),GetName(target),cps);
- return 1;
- }
- }
- if(dialogid == 1346)
- {
- new target;
- SavedText[playerid] = inputtext[playerid];
- target = ClickedPlayer[playerid];
- if(SavedText[playerid] > 50 || SavedText[playerid] < 5) return ShowPlayerDialog(playerid, 1346, DIALOG_STYLE_INPUT, "Spieler verwarnen","Gib den Grund ein", "Verwarnen", "Abbrechen");
- if(!response) return SendClientMessage(playerid, 0xff0c29ff, "Auswahl abgebrochen.");
- if(isnull(inputtext)) return ShowPlayerDialog(playerid, 1346, DIALOG_STYLE_INPUT, "Spieler verwarnen","Gib den Grund ein", "Verwarnen", "Abbrechen");
- else
- {
- Player[target][Warns]++;
- format(iString,sizeof(iString),"WARN: {FFFFFF}%s {FFFF00}hat {FFFFFF}%s {FFFF00}verwarnt. [Grund: {FFFFFF}%s{FFFF00}] [%d/5 Verwarnungen]",GetName(playerid),GetName(target),SavedText[playerid],Player[target][Warns]);
- SendClientMessageToAll(COLOR_YELLOW, iString);
- format(iString,sizeof(iString),"WARN: Du wurdest von %s verwarnt! [Grund: %s] [%d/5 Verwarnungen]",GetName(playerid),SavedText[playerid],Player[target][Warns]);
- SendClientMessage(target,COLOR_RED,iString);
- format(iString,sizeof(iString),"%s hat %s verwarnt. (Grund: %s)",GetName(playerid),GetName(target),SavedText[playerid]);
- WarnLog(iString);
- return 1;
- }
- }
- if(dialogid == DIALOG_LOGIN)
- {
- if(response)
- {
- if(isnull(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFFFFF}Login","{FFFFFF}Gebe dein Passwort ein um dich einzuloggen:","Einloggen","Verlassen");
- new HashPass[64 + 1];
- SHA256_PassHash(inputtext, "ENQNwGr7gY8fC5Bml7nqJGGbJhUyBVxcUXY9Umswyjn7qc39pYK6jDqAr3X5sa1n", HashPass, sizeof HashPass);
- new Query[256];
- format(Query, sizeof(Query), "SELECT * FROM `Players` WHERE `Name` = '%s' AND `Password` = '%s'", DB_Escape(Player[playerid][Name]), HashPass);
- new DBResult:res = db_query(sqliteconnection, Query);
- if(db_num_rows(res))
- {
- db_get_field_assoc(res, "Level", iString, sizeof(iString));
- Player[playerid][Level] = strval(iString);
- db_get_field_assoc(res, "URang", iString, sizeof(iString));
- Player[playerid][URang] = strval(iString);
- db_get_field_assoc(res, "RegDate", iString, sizeof(iString));
- Player[playerid][RegDate] = strval(iString);
- db_get_field_assoc(res, "Kills", iString, sizeof(iString));
- Player[playerid][Kills] = strval(iString);
- db_get_field_assoc(res, "Deaths", iString, sizeof(iString));
- Player[playerid][Deaths] = strval(iString);
- db_get_field_assoc(res, "Score", iString, sizeof(iString));
- Player[playerid][Score] = strval(iString);
- db_get_field_assoc(res, "VIP", iString, sizeof(iString));
- Player[playerid][VIP] = strval(iString);
- db_get_field_assoc(res, "MaxRoundKills", iString, sizeof(iString));
- Player[playerid][MaxRoundKills] = strval(iString);
- db_get_field_assoc(res, "MaxRoundDamage", iString, sizeof(iString));
- Player[playerid][MaxRoundDamage] = strval(iString);
- db_get_field_assoc(res, "Headshots", iString, sizeof(iString));
- Player[playerid][Headshots] = strval(iString);
- db_get_field_assoc(res, "Tbags", iString, sizeof(iString));
- Player[playerid][Tbags] = strval(iString);
- db_get_field_assoc(res, "PunchK", iString, sizeof(iString));
- Player[playerid][PunchK] = strval(iString);
- db_get_field_assoc(res, "DeagleK", iString, sizeof(iString));
- Player[playerid][DeagleK] = strval(iString);
- db_get_field_assoc(res, "ShotgunK", iString, sizeof(iString));
- Player[playerid][ShotgunK] = strval(iString);
- db_get_field_assoc(res, "SpasK", iString, sizeof(iString));
- Player[playerid][SpasK] = strval(iString);
- db_get_field_assoc(res, "MP5K", iString, sizeof(iString));
- Player[playerid][MP5K] = strval(iString);
- db_get_field_assoc(res, "AK47K", iString, sizeof(iString));
- Player[playerid][AK47K] = strval(iString);
- db_get_field_assoc(res, "M4K", iString, sizeof(iString));
- Player[playerid][M4K] = strval(iString);
- db_get_field_assoc(res, "RifleK", iString, sizeof(iString));
- Player[playerid][RifleK] = strval(iString);
- db_get_field_assoc(res, "SniperK", iString, sizeof(iString));
- Player[playerid][SniperK] = strval(iString);
- db_get_field_assoc(res, "GrenadeK", iString, sizeof(iString));
- Player[playerid][GrenadeK] = strval(iString);
- db_get_field_assoc(res, "Gun2", iString, sizeof(iString));
- Player[playerid][Gun2] = strval(iString);
- db_get_field_assoc(res, "Gun3", iString, sizeof(iString));
- Player[playerid][Gun3] = strval(iString);
- db_get_field_assoc(res, "Gun4", iString, sizeof(iString));
- Player[playerid][Gun4] = strval(iString);
- db_get_field_assoc(res, "Gun5", iString, sizeof(iString));
- Player[playerid][Gun5] = strval(iString);
- db_get_field_assoc(res, "Gun6", iString, sizeof(iString));
- Player[playerid][Gun6] = strval(iString);
- db_get_field_assoc(res, "Hits", iString, sizeof(iString));
- Player[playerid][Hits] = strval(iString);
- db_get_field_assoc(res, "PlayHours", iString, sizeof(iString));
- Player[playerid][PlayHours] = strval(iString);
- db_get_field_assoc(res, "PlayMinutes", iString, sizeof(iString));
- Player[playerid][PlayMinutes] = strval(iString);
- Player[playerid][Logged] = true;
- SetPlayerScore(playerid, Player[playerid][Score]);
- CheckRewards(playerid);
- SendClientMessage(playerid, 0x24FF0AB9, "Du hast dich erfolgreich eingeloggt.");
- SendClientMessage(playerid, YELLOW_COLOR, "Nutze {FFFFFF}/cmds {FFFF00}für Commands und {FFFFFF}/updates {FFFF00}um über die letzten Updates informiert zu sein.");
- SendClientMessage(playerid, YELLOW_COLOR, "Vergesse nicht mit {FFFFFF}/rules {FFFF00}die Regeln durchzulesen.");
- SendClientMessage(playerid, YELLOW_COLOR, "Du kannst mit {FFFFFF}/radio [1-6] {FFFF00}das Radio aktivieren.");
- TextDrawHideForPlayer(playerid,BlackBox);
- TextDrawHideForPlayer(playerid,WillkommenText);
- HideLoginTextDraws(playerid);
- DestroyPlayerLoginTextDraws(playerid);
- new weatherrandom1 = random(19);
- SetPlayerWeather(playerid, weatherrandom1);
- new timerandom1 = random(23);
- SetPlayerTime(playerid, timerandom1, 0);
- if(Player[playerid][VIP] == 1) //vip
- {
- Player[playerid][UnlockedM4] = true;
- Player[playerid][Gun3] = M4;
- Player[playerid][UnlockedSniper] = true;
- Player[playerid][Gun5] = SNIPER;
- VIPStuffs[playerid] = Create3DTextLabel("VIP", 0xFFFF00FF, 0, 0, 0, DRAW_DISTANCE, 0, 1);
- Attach3DTextLabelToPlayer(VIPStuffs[playerid], playerid, 0.0, 0.0, 0.5);
- SendClientMessage(playerid, YELLOW_COLOR, " ");
- SendClientMessage(playerid, YELLOW_COLOR, "Du bist ein VIP.");
- }
- if(Player[playerid][Level] > 0)
- {
- format(iString,sizeof(iString),"Du bist als {FFFFFF}%s {FFFF00}angemeldet.",GetRang(playerid));
- AdminsOnline++;
- SendClientMessage(playerid, COLOR_YELLOW,iString);
- }
- } else {
- SendErrorMessage(playerid,"Falsches Passwort. Bitte versuch es erneut.");
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFFFFF}Login","{FFFFFF}Gebe dein Passwort ein um dich einzuloggen:","Einloggen","Verlassen");
- }
- db_free_result(res);
- } else {
- SetTimerEx("OnPlayerKicked", 300, false, "i", playerid);
- }
- return 1;
- }
- if(dialogid == DIALOG_MAPNAME)
- {
- if(response)
- {
- dini_Set(CreateFileString,"Name",inputtext);
- new str2[128];
- format(str2,sizeof(str2),">> Map Name geändert zu {FFFFFF}%s", inputtext);
- SendClientMessage(playerid,YELLOW_COLOR,str2);
- }
- return 1;
- }
- if(dialogid == DIALOG_MAPPERNAME)
- {
- if(response)
- {
- dini_Set(CreateFileString,"Mapper",inputtext);
- new str2[128];
- format(str2,sizeof(str2),">> Mapper Name geändert zu {FFFFFF}%s", inputtext);
- SendClientMessage(playerid,YELLOW_COLOR,str2);
- }
- return 1;
- }
- return 1;
- }
- public OnPlayerExitedMenu(playerid) {
- new Menu:CurrentMenu = GetPlayerMenu(playerid);
- if(CurrentMenu == MapMenu)
- {
- TogglePlayerControllable(playerid, 1);
- }
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- new Menu:CurrentMenu = GetPlayerMenu(playerid);
- if(CurrentMenu == MapMenu)
- {
- TogglePlayerControllable(playerid,true);
- new string1[256];
- new Float:PlayerPos[4];
- GetPlayerPos(playerid,PlayerPos[0],PlayerPos[1],PlayerPos[2]);
- GetPlayerFacingAngle(playerid, PlayerPos[3]);
- switch(row)
- {
- case 0:
- {
- ShowPlayerDialog(playerid, DIALOG_MAPNAME, DIALOG_STYLE_INPUT,"Map Name","Gebe den Namen der Map ein:","Ok","Abbrechen");
- }
- case 1:
- {
- ShowPlayerDialog(playerid, DIALOG_MAPPERNAME, DIALOG_STYLE_INPUT,"Mapper Name","Gebe den Namen vom Mapper ein:","Ok","Abbrechen");
- }
- case 2:
- {
- format(string1,256, "%f,%f",PlayerPos[0],PlayerPos[1]);
- dini_Set(CreateFileString,"MaxXY",string1);
- GangZoneDestroy(TempZone);
- TempMax[0] = PlayerPos[0];
- TempMax[1] = PlayerPos[1];
- TempZone = GangZoneCreate(TempMin[0],TempMin[1],TempMax[0],TempMax[1]);
- GangZoneShowForPlayer(playerid, TempZone, 0xFF000055);
- GangZoneFlashForPlayer(playerid, TempZone, 0xFF000088);
- format(string1,sizeof(string1), ">> Maximale XY Koordinate geändert zu {FFFFFF}%.2f, %.2f",PlayerPos[0],PlayerPos[1]);
- SendClientMessage(playerid,YELLOW_COLOR,string1);
- }
- case 3:
- {
- format(string1,256, "%f,%f",PlayerPos[0],PlayerPos[1]);
- dini_Set(CreateFileString,"MinXY",string1);
- GangZoneDestroy(TempZone);
- TempMin[0] = PlayerPos[0];
- TempMin[1] = PlayerPos[1];
- TempZone = GangZoneCreate(TempMin[0],TempMin[1],TempMax[0],TempMax[1]);
- GangZoneShowForPlayer(playerid, TempZone, 0xFF000055);
- GangZoneFlashForPlayer(playerid, TempZone, 0xFF000088);
- format(string1,sizeof(string1), ">> Minimale XY Kordinate geändert zu {FFFFFF}%.2f, %.2f",PlayerPos[0],PlayerPos[1]);
- SendClientMessage(playerid,YELLOW_COLOR,string1);
- }
- case 4: //GSpawn1
- {
- format(string1,256, "%f,%f,%f,%f",PlayerPos[0],PlayerPos[1],PlayerPos[2],PlayerPos[3]);
- dini_Set(CreateFileString,"GSpawn1",string1);
- format(string1,sizeof(string1), ">> Roter Spawn 1 geändert zu {FFFFFF}%.3f, %.3f, %.3f, %.0f",PlayerPos[0],PlayerPos[1],PlayerPos[2],PlayerPos[3]);
- SendClientMessage(playerid,GREEN_COLOR,string1);
- }
- case 5: //GSpawn2
- {
- format(string1,256, "%f,%f,%f,%f",PlayerPos[0],PlayerPos[1],PlayerPos[2],PlayerPos[3]);
- dini_Set(CreateFileString,"GSpawn2",string1);
- format(string1,sizeof(string1), ">> Roter Spawn 2 geändert zu {FFFFFF}%.3f, %.3f, %.3f, %.0f",PlayerPos[0],PlayerPos[1],PlayerPos[2],PlayerPos[3]);
- SendClientMessage(playerid,GREEN_COLOR,string1);
- }
- case 6: //GSpawn3
- {
- format(string1,256, "%f,%f,%f,%f",PlayerPos[0],PlayerPos[1],PlayerPos[2],PlayerPos[3]);
- dini_Set(CreateFileString,"GSpawn3",string1);
- format(string1,sizeof(string1), ">> Roter Spawn 3 geändert zu {FFFFFF}%.3f, %.3f, %.3f, %.0f",PlayerPos[0],PlayerPos[1],PlayerPos[2],PlayerPos[3]);
- SendClientMessage(playerid,GREEN_COLOR,string1);
- }
- case 7: //BSpawn1
- {
- format(string1,256, "%f,%f,%f,%f",PlayerPos[0],PlayerPos[1],PlayerPos[2],PlayerPos[3]);
- dini_Set(CreateFileString,"BSpawn1",string1);
- format(string1,sizeof(string1), ">> Blauer Spawn 1 geändert zu {FFFFFF}%.3f, %.3f, %.3f, %.0f",PlayerPos[0],PlayerPos[1],PlayerPos[2],PlayerPos[3]);
- SendClientMessage(playerid,BLUE_COLOR,string1);
- }
- case 8: //BSpawn2
- {
- format(string1,256, "%f,%f,%f,%f",PlayerPos[0],PlayerPos[1],PlayerPos[2],PlayerPos[3]);
- dini_Set(CreateFileString,"BSpawn2",string1);
- format(string1,sizeof(string1), ">> Blauer Spawn 2 geändert zu {FFFFFF}%.3f, %.3f, %.3f, %.0f",PlayerPos[0],PlayerPos[1],PlayerPos[2],PlayerPos[3]);
- SendClientMessage(playerid,BLUE_COLOR,string1);
- }
- case 9: //BSpawn3
- {
- format(string1,256, "%f,%f,%f,%f",PlayerPos[0],PlayerPos[1],PlayerPos[2],PlayerPos[3]);
- dini_Set(CreateFileString,"BSpawn3",string1);
- format(string1,sizeof(string1), ">> Blauer Spawn 3 geändert zu {FFFFFF}%.3f, %.3f, %.3f, %.0f",PlayerPos[0],PlayerPos[1],PlayerPos[2],PlayerPos[3]);
- SendClientMessage(playerid,BLUE_COLOR,string1);
- }
- case 10:
- {
- dini_IntSet(CreateFileString, "Interior", GetPlayerInterior(playerid));
- HideMenuForPlayer(MapMenu, playerid);
- GangZoneDestroy(TempZone);
- format(string1,sizeof(string1), ">> Mappen beendet: {FFFFFF}%s", CreateFileString);
- SendClientMessage(playerid,GREEN_COLOR,string1);
- SendClientMessage(playerid,YELLOW_COLOR,"Bevor du eine neue Map erstellst, vergiss nicht {FFFFFF}/makemap [Map ID] {FFFF00}erneut einzugeben.");
- Player[playerid][Mapping] = false;
- }
- }
- }
- }
- forward CreateMenus();
- public CreateMenus()
- {
- MapMenu = CreateMenu("Map Menu", 1, 12.0, 150.0, 200.0, 150.0);
- AddMenuItem(MapMenu, 0, "Map Name");
- AddMenuItem(MapMenu, 0, "Mapper Name");
- AddMenuItem(MapMenu, 0, "Maximale XY Koordinate (N-O)");
- AddMenuItem(MapMenu, 0, "Minimale XY Koordinate (S-W)");
- AddMenuItem(MapMenu, 0, "Roter Spawn 1");
- AddMenuItem(MapMenu, 0, "Roter Spawn 2");
- AddMenuItem(MapMenu, 0, "Roter Spawn 3");
- AddMenuItem(MapMenu, 0, "Blauer Spawn 1");
- AddMenuItem(MapMenu, 0, "Blauer Spawn 2");
- AddMenuItem(MapMenu, 0, "Blauer Spawn 3");
- AddMenuItem(MapMenu, 0, ">> ~g~~h~~h~Mappen beenden");
- }
- MapFile(mapid)
- {
- new iString[64];
- format(iString, sizeof(iString),"Maps/%d.ini", mapid);
- return iString;
- }
- CreateMap(playerid, mapid)
- {
- new fmap[256];
- fmap = MapFile(mapid);
- if(dini_Exists(fmap)) return SendErrorMessage(playerid, "Eine Map mit dieser ID existiert bereits. Bitte wähle eine andere MapID.");
- new iString[128];
- format(iString, sizeof(iString), "Du hast begonnen zu mappen: {FFFFFF}Maps/%d.ini", mapid);
- SendClientMessage(playerid,YELLOW_COLOR,iString);
- SendClientMessage(playerid,YELLOW_COLOR,"Gehe zu den gewünschten Koordinaten und nutze {FFFFFF}/ok {FFFF00}um die gewünschten Koordinaten zu speichern.");
- format(iString,128,"Maps/%d.ini",mapid);
- dini_Create(iString);
- format(CreateFileString,256,"%s",iString);
- return 1;
- }
- forward UpdateTeamBalance();
- public UpdateTeamBalance()
- {
- new iString[64];
- format(iString, sizeof(iString), "%s%d ~w~vs %s%d", TDColor[GREENTEAM], GetTeamBalance(GREENTEAM), TDColor[BLUETEAM], GetTeamBalance(BLUETEAM));
- TextDrawSetString(BalanceTD, iString);
- }
- SavePlayer(playerid)
- {
- new savequery[650];
- savequery = "UPDATE players SET ";
- strcat(savequery, "Level=%d,ForceAC=%d,Kills=%d,Deaths=%d,Score=%d,");
- strcat(savequery, "VIP=%d,MaxRoundKills=%d,MaxRoundDamage=%.2f,Headshots=%d,Tbags=%d,");
- strcat(savequery, "PunchK=%d,DeagleK=%d,ShotgunK=%d,SpasK=%d,MP5K=%d,");
- strcat(savequery, "AK47K=%d,M4K=%d,RifleK=%d,SniperK=%d,GrenadeK=%d,");
- strcat(savequery, "Gun2=%d,Gun3=%d,Gun4=%d,Gun5=%d,Gun6=%d,Hits=%d,PlayHours=%d,");
- strcat(savequery, "PlayMinutes=%d,URang=%d,RegDate=%s");
- strcat(savequery, " WHERE Name = '%s'");
- format(savequery, sizeof(savequery), savequery,
- Player[playerid][Level],Player[playerid][ForceAC],Player[playerid][Kills],Player[playerid][Deaths],Player[playerid][Score],
- Player[playerid][VIP],Player[playerid][MaxRoundKills],Player[playerid][MaxRoundDamage],Player[playerid][Headshots],Player[playerid][Tbags],
- Player[playerid][PunchK],Player[playerid][DeagleK],Player[playerid][ShotgunK],Player[playerid][SpasK],Player[playerid][MP5K],
- Player[playerid][AK47K],Player[playerid][M4K],Player[playerid][RifleK],Player[playerid][SniperK],Player[playerid][GrenadeK],
- Player[playerid][Gun2],Player[playerid][Gun3],Player[playerid][Gun4],Player[playerid][Gun5],Player[playerid][Gun6],Player[playerid][Hits],
- Player[playerid][PlayHours],Player[playerid][PlayMinutes],Player[playerid][URang],Player[playerid][RegDate],DB_Escape(Player[playerid][Name]));
- db_free_result(db_query(sqliteconnection, savequery));
- }
- SaveVars()
- {
- new squery[650];
- squery = "UPDATE `Variables` SET ";
- strcat(squery, "ACKicked=%d,ACWarns=%d");
- format(squery, sizeof(squery), squery,
- ACKickedCount,ACWarnsCount);
- db_free_result(db_query(globalvars, squery));
- }
- public OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
- {
- if(response)
- {
- SendClientMessage(playerid, GREEN_COLOR, "Attached object values:");
- new iString[128];
- format(iString, sizeof(iString), "Offsets: %.3f, %.3f, %.3f | Rotations: %.3f, %.3f, %.3f | Scales: %.3f, %.3f, %.3f", fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ, fScaleX, fScaleY, fScaleZ);
- SendClientMessage(playerid, YELLOW_COLOR, iString);
- }
- else
- {
- SendClientMessage(playerid, RED_COLOR, "Attached object positions not saved");
- }
- return 1;
- }
- //============================================================================
- //===============================Admin Commands===============================
- //============================================================================
- CMD:freeze(playerid,params[])
- {
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command benutzen zu können.");
- {
- new id, iString[128];
- if(sscanf(params,"u",id)) return SendUsageMessage(playerid,"/freeze [ID]");
- if(!IsPlayerConnected(id)) return SendErrorMessage(playerid,"Der gewählte Spieler ist nicht auf dem Server.");
- TogglePlayerControllable(id,0);
- format(iString, sizeof(iString), "FREEZE: {FFFFFF}%s {ffcc00}wurde von {FFFFFF}%s {ffcc00}eingefroren.", GetName(id), GetName(playerid));
- SendClientMessageToAll(0xffcc00, iString);
- format(iString,sizeof(iString),"%s hat %s gefreezet",GetName(playerid),GetName(id));
- CmdLog(iString);
- }
- return 1;
- }
- CMD:testac(playerid, params[])
- {
- new iString[128];
- if(Player[playerid][Level] < 4) return SendErrorMessage(playerid, "Du musst ein "Rang4Name" sein um diesen Befehl zu benutzen.");
- ACWarnsCount++;
- SendACWarning(playerid, "Testing");
- format(iString,sizeof(iString), "ANTICHEAT: Cheat/Hack erkannt. [Testing] [ID: %d]",ACWarnsCount);
- SendClientMessage(playerid, AC_COLOR, iString);
- format(iString,sizeof(iString), "%s [Testing] [ID: %d]",GetName(playerid), ACWarnsCount);
- ACLog(iString);
- Player[playerid][ACWarnings]++;
- return 1;
- }
- CMD:goto(playerid, params[])
- {
- new id;
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command benutzen zu können.");
- if(Player[playerid][Specing] == false) return SendErrorMessage(playerid, "Du musst im Dienst sein um diesen Befehl zu benutzen.");
- if(sscanf(params, "u", id)) SendUsageMessage(playerid,"/goto [ID]");
- if(pJailed[id] == true) return SendErrorMessage(playerid,"Der gewählte Spieler ist im CP Prison.");
- else if(!IsPlayerConnected(id) || id == playerid) return SendErrorMessage(playerid,"Der gewählte Spieler ist nicht auf dem Server oder ist du selbst.");
- else
- {
- new iString [256];
- new Float:x, Float:y, Float:z;
- GetPlayerPos(id, x, y, z);
- SetPlayerPos(playerid, x+1, y+1, z);
- format(iString, sizeof(iString), "GOTO: Du hast dich erfolgreich zu %s teleportiert.", GetName(id));
- SendClientMessage(playerid, COLOR_LIGHTBLUE, iString);
- format(iString, sizeof(iString), "GOTO: %s hat sich zu dir teleportiert.", GetName(playerid));
- SendClientMessage(id, COLOR_LIGHTBLUE, iString);
- format(iString,sizeof(iString),"%s hat sich zu %s teleportiert.",GetName(playerid),GetName(id));
- SendAdminMessage(1,iString);
- TpLog(iString);
- printf("[warning] %s teleportiert sich zu %s",GetName(playerid),GetName(id));
- }
- return 1;
- }
- CMD:gethere(playerid,params[])
- {
- new targetid, Float:x, Float:y, Float:z, iString[256];
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command benutzen zu können.");
- if(Player[playerid][Specing] == false) return SendErrorMessage(playerid, "Du musst im Dienst sein um diesen Befehl zu benutzen.");
- if(sscanf(params, "u", targetid)) return SendUsageMessage(playerid, "/gethere [ID]");
- if(!IsPlayerConnected(targetid) || targetid == playerid) return SendErrorMessage(playerid,"Der gewählte Spieler ist nicht auf dem Server oder ist du selbst.");
- if(pJailed[targetid] == true) return SendErrorMessage(playerid,"Der gewählte Spieler ist im CP Prison.");
- GetPlayerPos(playerid, x, y, z);
- SetPlayerPos(targetid, x+1, y+1, z);
- format(iString, sizeof(iString), "GETHERE: Du hast erfolgreich %s zu dir teleportiert.", GetName(targetid));
- SendClientMessage(playerid, COLOR_LIGHTBLUE, iString);
- format(iString, sizeof(iString), "GETHERE: %s hat dich zu ihm teleportiert.", GetName(playerid));
- SendClientMessage(targetid, COLOR_LIGHTBLUE, iString);
- format(iString,sizeof(iString),"%s hat %s zu sich teleportiert.",GetName(playerid),GetName(targetid));
- SendAdminMessage(1,iString);
- TpLog(iString);
- printf("[warning] %s teleportiert %s zu sich.",GetName(playerid),GetName(targetid));
- return 1;
- }
- CMD:checkminutes(playerid, params[])
- {
- new targetid, string[128];
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid, "Du musst ein "Rang1Name" sein um diesen Befehl nutzen zu können.");
- if(sscanf(params, "u", targetid)) return SendUsageMessage(playerid, "/checkminutes [ID]");
- if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "Der gewählte Spieler ist nicht Online.");
- format(string,sizeof(string),"Der Spieler %s hat %d/60 Minuten gespielt.",GetName(targetid),Player[targetid][PlayMinutes]);
- SendClientMessage(playerid, COLOR_BLUEGREEN, string);
- return 1;
- }
- CMD:forceac(playerid, params[])
- {
- #if defined AntiCheat
- new iString[164],targetid;
- if(Player[playerid][Level] < 2) return SendErrorMessage(playerid, "Du musst ein "Rang2Name" sein um diesen Befehl benutzen zu können.");
- if(sscanf(params,"u",targetid)) return SendUsageMessage(playerid,"/forceac [ID]");
- if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "Der gewählte Spieler ist nicht Online.");
- if(Player[targetid][ForceAC] == 0)
- {
- Player[targetid][ForceAC] = 1;
- format(iString,sizeof(iString),"Das ForceAC wurde von %s für den Spieler %s aktiviert.",GetName(playerid),GetName(targetid));
- SendAdminMessage(3, iString);
- format(iString,sizeof(iString),"Der %s %s hat das ForceAC für dich aktiviert. Du musst reloggen um Buggs zu vermeiden.",GetRang(playerid),GetName(playerid));
- SendClientMessage(targetid, COLOR_RED, iString);
- SavePlayer(targetid);
- SetTimerEx("OnPlayerKicked",300,false,"i",targetid);
- }
- if(Player[targetid][ForceAC] == 1)
- {
- Player[targetid][ForceAC] = 0;
- format(iString,sizeof(iString),"Das ForceAC wurde von %s für den Spieler %s deaktiviert.",GetName(playerid),GetName(targetid));
- SendAdminMessage(3, iString);
- format(iString,sizeof(iString),"Der %s %s hat das ForceAC für dich deaktiviert. Du musst reloggen um Buggs zu vermeiden.",GetRang(playerid),GetName(playerid));
- SendClientMessage(targetid, COLOR_GREENISHGOLD, iString);
- SavePlayer(targetid);
- SetTimerEx("OnPlayerKicked",300,false,"i",targetid);
- }
- #else
- SendClientMessage(playerid, COLOR_RED, "Das AntiCheat ist vom Script deaktiviert.");
- #endif
- return 1;
- }
- CMD:duty(playerid, params[])
- {
- new iString [128];
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Befehl benutzen zu können.");
- {
- if(Player[playerid][IsOnDuty] == false)
- {
- Player[playerid][SafeGun] = true;
- Player[playerid][IsOnDuty] = true;
- SetPlayerColor(playerid, 000000);
- ShowOnDutyTextdraw(playerid);
- SetPlayerHealth(playerid, 999);
- GivePlayerWeapon(playerid, 38, 99999);
- format(iString, sizeof(iString), "DUTY: %s %s ist nun im Dienst. Er ist über /report erreichbar.", GetRang(playerid), GetName(playerid));
- SendClientMessageToAll(COLOR_GREEN, iString);
- OnDuty[playerid] = Create3DTextLabel("***IM DIENST***", 0xFF6347AA, 0, 0, 0, DRAW_DISTANCE, 0, 1);
- Attach3DTextLabelToPlayer(OnDuty[playerid], playerid, 0.0, 0.0, 2.0);
- }
- else if(Player[playerid][IsOnDuty] == true)
- {
- Player[playerid][SafeGun] = false;
- RemovePlayerWeapon(playerid, 38);
- Player[playerid][IsOnDuty] = false;
- SetPlayerColor(playerid, 0xFF3333FF);
- HideOnDutyTextdraw(playerid);
- SetPlayerArmour(playerid, 25);
- SetPlayerHealth(playerid, 20);
- format(iString, sizeof(iString), "DUTY: %s %s ist nun nichtmehr im Dienst.", GetRang(playerid), Player[playerid][Name]);
- SendClientMessageToAll(COLOR_RED, iString);
- Delete3DTextLabel(OnDuty[playerid]);
- }
- }
- return 1;
- }
- CMD:hitsound(playerid, params[])
- {
- if(HitSound[playerid] == false)
- {
- HitSound[playerid] = true;
- SendClientMessage(playerid, COLOR_GREEN, "HITSOUND: Du hast den Hitsound aktiviert.");
- }
- else if(HitSound[playerid] == true)
- {
- HitSound[playerid] = false;
- SendClientMessage(playerid, COLOR_RED, "HITSOUND: Du hast den Hitsound deaktiviert.");
- }
- return 1;
- }
- CMD:stop(playerid, params[])
- {
- new iString[128];
- if(Player[playerid][Level] < 4) return SendErrorMessage(playerid,"Du musst ein "Rang4Name" sein um diesen Command benutzen zu können.");
- {
- SendClientMessageToAll(COLOR_RED,"|____________{SERVER STOPP}____________|");
- SendClientMessageToAll(COLOR_RED,"");
- SendClientMessageToAll(COLOR_RED," Der Server wird in 1 Minute gestoppt!");
- SendClientMessageToAll(COLOR_RED,"");
- SendClientMessageToAll(COLOR_RED,"|____________{SERVER STOPP}____________|");
- format(iString, sizeof(iString), "%s stoppt den Server.", GetName(playerid));
- SendAdminMessage(1, iString);
- SetTimer("RestartServer",30000,0);
- printf("[warning] %s stoppt den Server.",GetName(playerid));
- }
- return 1;
- }
- CMD:unfreeze(playerid,params[])
- {
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command benutzen zu können.");
- {
- new id, iString[128];
- if(sscanf(params,"u",id)) return SendUsageMessage(playerid,"/unfreeze [ID]");
- if(!IsPlayerConnected(id)) return SendErrorMessage(playerid,"Der gewählte Spieler ist nicht auf dem Server.");
- TogglePlayerControllable(id,1);
- format(iString, sizeof(iString), "FREEZE: {FFFFFF}%s {ffcc00}wurde von {FFFFFF}%s {ffcc00}entfreezet.", GetName(id), GetName(playerid));
- SendClientMessageToAll(0xffcc00, iString);
- format(iString,sizeof(iString),"%s hat %s entfreezt",GetName(playerid),GetName(id));
- CmdLog(iString);
- printf("[warning] %s hat /unfreeze benutzt.",GetName(playerid));
- }
- return 1;
- }
- CMD:clearchat(playerid,params[])
- {
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid, "Du musst ein "Rang1Name" sein um diesen Befehl benutzen zu können." );
- {
- new iString[128];
- for( new i = 0; i <= 100; i ++ ) SendClientMessageToAll( -1, "" );
- format(iString, sizeof(iString), "%s hat den Chatverlauf gelöscht.", GetName(playerid));
- ChatLog(iString);
- SendClientMessageToAll(COLOR_LIGHTBLUE, iString);
- } return 1;
- }
- CMD:warn(playerid,params[])
- {
- new target,reason[40],iString[145];
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid, "Du musst ein "Rang1Name" sein um diesen Befehl zu benutzen.");
- if(sscanf(params, "ds", target, reason)) return SendUsageMessage(playerid,"/warn [ID] [Grund]");
- Player[target][Warns]++;
- format(iString,sizeof(iString),"WARN: {FFFFFF}%s {FFFF00}hat {FFFFFF}%s {FFFF00}verwarnt. [Grund: {FFFFFF}%s{FFFF00}] [%d/5 Verwarnungen]",GetName(playerid),GetName(target),reason,Player[target][Warns]);
- SendClientMessageToAll(COLOR_YELLOW, iString);
- format(iString,sizeof(iString),"%s hat %s verwarnt. (Grund: %s)",GetName(playerid),GetName(target),reason);
- WarnLog(iString);
- return 1;
- }
- CMD:unwarn(playerid,params[])
- {
- new target,iString[130];
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid, "Du musst ein "Rang1Name" sein um diesen Befehl zu benutzen.");
- if(isnull(params)) return SendUsageMessage(playerid,"/unwarn [ID]");
- if(Player[target][Warns] < 1) return SendErrorMessage(playerid,"Dieser Spieler hat keine Verwarnungen.");
- Player[target][Warns]--;
- format(iString,sizeof(iString),"WARN: {FFFFFF}%s {FFFF00}hat {FFFFFF}%s {FFFF00}entwarnt. [%d/5 Verwarnungen]",GetName(playerid),GetName(target),Player[target][Warns]);
- SendClientMessageToAll(COLOR_YELLOW, iString);
- format(iString,sizeof(iString),"%s hat %s entwarnt.",GetName(playerid),GetName(target));
- WarnLog(iString);
- return 1;
- }
- CMD:joinleavemsg(playerid,params[])
- {
- new string[128];
- if(Player[playerid][Level] < 2) return SendErrorMessage(playerid,"Du musst ein "Rang2Name" sein um diesen Befehl benutzen zu können.");
- if(JoinLeaveMessages == true)
- {
- JoinLeaveMessages = false;
- format(string,sizeof(string),"%s %s {FFFF00}hat alle Join/Leave Nachrichten deaktiviert.",GetRang(playerid),GetName(playerid));
- SendClientMessageToAll(-1, string);
- format(string,sizeof(string),"%s hat alle Join/Leave Nachrichten deaktiviert.",GetName(playerid));
- CmdLog(string);
- }
- else if(JoinLeaveMessages == false)
- {
- JoinLeaveMessages = true;
- format(string,sizeof(string),"%s %s {FFFF00}hat alle Join/Leave Nachrichten aktiviert.",GetRang(playerid),GetName(playerid));
- SendClientMessageToAll(-1, string);
- format(string,sizeof(string),"%s hat alle Join/Leave Nachrichten aktiviert.",GetName(playerid));
- CmdLog(string);
- }
- return 1;
- }
- CMD:acmds(playerid, params[])
- {
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Befehl benutzen zu können.");
- new string[650];
- string = "";
- strcat(string, "{3377FF}"Rang1Name":\n");
- strcat(string, "{FFFFFF}/asay /slap /kick /mute /unmute /spec /specoff /check");
- strcat(string, "{FFFFFF} /freeze /unfreeze /clearchat /duty /goto /gethere /slay\n/cpjail ");
- strcat(string, "{FFFFFF} /cpunjail /prisonlist /togglefly /warn /unwarn /checkminutes /avilla");
- if(Player[playerid][Level] > 1)
- {
- strcat(string, "\n\n{3377FF}"Rang2Name":\n");
- strcat(string, "{FFFFFF}/ann /offlineban /unban /searchban /skin /ban /forceac");
- }
- if(Player[playerid][Level] > 2)
- {
- strcat(string, "\n\n{3377FF}"Rang3Name":\n");
- strcat(string, "{FFFFFF}/ipban /v /getgun /jetpack /(un)lock /skipmap /getip /togglechat /togwhitelist\n");
- strcat(string, "{FFFFFF}/rwhitelist /awhitelist");
- }
- if(Player[playerid][Level] > 3)
- {
- strcat(string, "\n\n{3377FF}"Rang4Name":\n");
- strcat(string, "{FFFFFF}/minfps /maxping /crash /setvip /makemap /ok /skin /stop /givescore /setadmin /toggleac /setlevel");
- }
- ShowPlayerDialog(playerid,DIALOG_HELPS,DIALOG_STYLE_MSGBOX,"{FFFF00}Administrative Befehle", string, "OK","");
- return 1;
- }
- CMD:setlevel(playerid, params[])
- {
- new target, lvl, iString[100];
- if(Player[playerid][Level] < 4) return SendErrorMessage(playerid, "Du musst ein "Rang4Name" sein um diesen Befehl zu benutzen.");
- if(sscanf(params,"dd", target, lvl)) return SendUsageMessage(playerid, "/setlevel [ID] [Level]");
- if(!IsPlayerConnected(target)) return SendErrorMessage(playerid, "Der gewählte Spieler ist nicht auf dem Server.");
- if(lvl > 999) return SendErrorMessage(playerid, "Das gewählte Level ist zu hoch.");
- if(lvl < 1) return SendErrorMessage(playerid, "Das gewählte Level ist zu niedrig.");
- Player[target][URang] = lvl;
- Player[target][Score] = (Player[target][URang] * 350) - 350;
- format(iString,sizeof(iString),"Dein Level wurde von %s auf %d gesetzt.",GetName(playerid),Player[target][URang]);
- SendClientMessage(target, COLOR_BRIGHTRED, iString);
- format(iString,sizeof(iString),"Du hast das Level von %s auf %d gesetzt.",GetName(target),Player[target][URang]);
- SendClientMessage(playerid, COLOR_GREEN, iString);
- format(iString,sizeof(iString),"%s hat das Level von %s auf %d gesetzt.",GetName(playerid),GetName(target),Player[target][URang]);
- SendAdminMessage(3, iString);
- return 1;
- }
- CMD:avilla(playerid, params[])
- {
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid, "Du musst ein "Rang1Name" sein um diesen Befehl zu benutzen.");
- if(Player[playerid][IsOnDuty] == false) return SendErrorMessage(playerid, "Du musst im Diesnt sein um diesen Befehl zu benutzen.");
- SendClientMessage(playerid, COLOR_BLUEGREEN, "Lauf in den Pfeil um die Villa zu betreten.");
- SetPlayerInterior(playerid, 0);
- SetPlayerPos(playerid, 775.8594, -1016.0732, 26.3594);
- return 1;
- }
- CMD:awhitelist(playerid,params[])
- {
- if(Player[playerid][Level] < 3) return SendErrorMessage(playerid, "Du musst ein "Rang3Name" sein um diesen Befehl zu benutzen.");
- if(Whitelist == false) return SendErrorMessage(playerid, "Die Whitelist ist deaktiviert. Du kannst sie mit /togwhitelist aktivieren.");
- ShowPlayerDialog(playerid,DIALOG_AWHITELIST,DIALOG_STYLE_INPUT,"{00FFFF}Einen Spieler auf Whitelist setzen","{FF0000}Gib den genauen Namen ein","Weiter","Abbrechen");
- return 1;
- }
- CMD:rwhitelist(playerid,params[])
- {
- if(Player[playerid][Level] < 3) return SendErrorMessage(playerid, "Du musst ein "Rang3Name" sein um diesen Befehl zu benutzen.");
- ShowPlayerDialog(playerid,DIALOG_RWHITELIST,DIALOG_STYLE_INPUT,"{00FFFF}Einen Spieler von der Whitelist entfernen","{FF0000}Gib den genauen Namen ein","Weiter","Abbrechen");
- return 1;
- }
- CMD:togwhitelist(playerid,params[])
- {
- new iString[128];
- if(Player[playerid][Level] < 3) return SendErrorMessage(playerid, "Du musst ein "Rang3Name" sein um diesen Befehl benutzen zu können.");
- if(Whitelist == false)
- {
- Whitelist = true;
- format(iString,sizeof(iString),"%s hat die Whitelist aktiviert.",GetName(playerid));
- SendAdminMessage(1,iString);
- CmdLog(iString);
- printf("[warning] %s hat die Whitelist aktiviert.",GetName(playerid));
- }
- else if(Whitelist == true)
- {
- Whitelist = false;
- format(iString,sizeof(iString),"%s hat die Whitelist deaktiviert.",GetName(playerid));
- SendAdminMessage(1,iString);
- CmdLog(iString);
- printf("[warning] %s hat die Whitelist deaktiviert.",GetName(playerid));
- }
- return 1;
- }
- CMD:togglefly(playerid,params[])
- {
- new string[70];
- if(Player[playerid][Level] < 2) return SendErrorMessage(playerid,"Du musst ein "Rang2Name" sein um diesen Befehl benutzen zu können.");
- if(Player[playerid][Specing] == true) return SendErrorMessage(playerid, "Du kannst nicht fliegen während du jemanden spectatest.");
- if(Player[playerid][IsOnDuty] == false) return SendErrorMessage(playerid, "Du kannst diesen Befehl nur benutzen wenn du im Dienst bist.");
- if(Flying[playerid] == false)
- {
- StartFly(playerid);
- Flying[playerid] = true;
- format(string,sizeof(string),"%s hat seinen Flymodus aktiviert.",GetName(playerid));
- SendAdminMessage(1,string);
- SendClientMessage(playerid, COLOR_GREEN, "Du hast deinen Flymodus aktiviert.");
- CmdLog(string);
- }
- else if(Flying[playerid] == true)
- {
- StopFly(playerid);
- Flying[playerid] = false;
- format(string,sizeof(string),"%s hat seinen Flymodus deaktiviert.",GetName(playerid));
- SendAdminMessage(1,string);
- SendClientMessage(playerid, COLOR_RED, "Du hast deinen Flymodus deaktiviert.");
- CmdLog(string);
- }
- return 1;
- }
- CMD:togglechat(playerid,params[])
- {
- new iString[128];
- if(Player[playerid][Level] < 3) return SendErrorMessage(playerid,"Du musst ein "Rang3Name" sein um diesen Befehl zu benutzen.");
- if(ChatDisabled == false)
- {
- ChatDisabled = true;
- SendClientMessageToAll(0xFF000000,"|____________{CHAT DEAKTIVIERT}____________|");
- SendClientMessageToAll(0xFF000000,"");
- format(iString, sizeof(iString), "{FF0000}%s hat den globalen Chat deaktiviert.", GetName(playerid));
- SendClientMessageToAll(0xFF000000, iString);
- SendClientMessageToAll(0xFF000000,"");
- SendClientMessageToAll(0xFF000000,"|____________{CHAT DEAKTIVIERT}____________|");
- format(iString,sizeof(iString),"%s deaktiviert den Chat",GetName(playerid));
- ChatLog(iString);
- printf("[warning] %s hat den globalen Chat deaktiviert.",GetName(playerid));
- }
- else if(ChatDisabled == true)
- {
- ChatDisabled = false;
- SendClientMessageToAll(0xFF0000,"|____________{CHAT AKTIVIERT}____________|");
- SendClientMessageToAll(0xFF0000,"");
- format(iString, sizeof(iString), "{00FF1E}%s hat den globalen Chat aktiviert.", GetName(playerid));
- SendClientMessageToAll(0xFF0000, iString);
- SendClientMessageToAll(0xFF0000,"");
- SendClientMessageToAll(0xFF0000,"|____________{CHAT AKTIVIERT}____________|");
- format(iString,sizeof(iString),"%s aktiviert den Chat",GetName(playerid));
- ChatLog(iString);
- printf("[warning] %s hat den globalen Chat aktiviert.",GetName(playerid));
- }
- return 1;
- }
- CMD:cpjail(playerid, params[])
- {
- new target,str[140], reason[64], pName[MAX_PLAYER_NAME], cps, world;
- world = playerid + randomEx(5, 2147483647);
- if(Player[playerid][Level] < 1) return
- SendErrorMessage(playerid, "Du musst ein "Rang1Name" sein um diesen Befehl zu benutzen.");
- if(sscanf(params,"s[24]S()[32]d", pName, reason, cps)) return
- SendUsageMessage(playerid, "/cpjail [Name/ID] [Grund] [Checkpoint Anzahl]");
- if(!(4 < cps < 100))
- {
- return SendErrorMessage(playerid, "Mindestens 5 Checkpoints und höchstens 99.");
- }
- if(IsNumeric(pName))
- target = strval(pName);
- else
- target = ReturnPlayerID(pName);
- if(!IsPlayerConnected(target)) return
- SendErrorMessage(playerid, "Der gewählte Spieler ist nicht auf dem Server.");
- if(pJailed[target] == true)
- {
- return SendErrorMessage(playerid, "Der Spieler befindet sich bereits im CP Prison.");
- }
- MaxCheckPoints[target] = cps;
- //Save Old Data
- SaveOldData(target);
- //Let's Jail
- HideStatisticsTextdraws(target);
- ResetPlayerWeapons(target);
- ShowCPTextDraws(target);
- format(str, sizeof(str), "PRISON: {FFFFFF}%s {FFFF00}hat {FFFFFF}%s {FFFF00}mit CP Jail(%d CPs) bestraft. [Grund: {FFFFFF}%s{FFFF00}]", GetName(playerid), GetName(target), cps,reason);
- SendClientMessageToAll(COLOR_YELLOW, str);
- SetPlayerPos(target, -1398.103515,937.631164,1036.479125);
- SetPlayerInterior(target, 15);
- SetPlayerVirtualWorld(target, world);
- pJailed[target] = true;
- RandomCheckPointCreate(target);
- format(str,sizeof(str),"%s hat %s für %d CP's ins CP Prison gesteckt",GetName(playerid),GetName(target),cps);
- JailLog(str);
- printf("[warning] %s hat %s für %d CP's ins CP Prison gesteckt.",GetName(playerid),GetName(target),cps);
- return 1;
- }
- CMD:cpunjail(playerid, params[])
- {
- new target,str[128], pName[MAX_PLAYER_NAME];
- if(Player[playerid][Level] < 1) return
- SendErrorMessage(playerid, "Du musst ein "Rang1Name" sein um diesen Befehl zu benutzen.");
- if(sscanf(params,"s[24]", pName)) return
- SendUsageMessage(playerid, "/cpunjail [Name/ID]");
- if(IsNumeric(pName))
- target = strval(pName);
- else
- target = ReturnPlayerID(pName);
- if(!IsPlayerConnected(target)) return
- SendErrorMessage(playerid, "Der gewählte Spieler ist nicht auf dem Server.");
- if(pJailed[target] == false)
- {
- return SendErrorMessage(playerid, "Der Spieler befindet sich nicht im CP Prison.");
- }
- GiveOldData(target);
- ShowStatisticsTextdraws(target);
- HideCPTextDraws(target);
- pJailed[target] = false;
- DestroyDynamicCP(pCheckpoint[target]);
- format(str, sizeof(str),"PRISON: {FFFFFF}%s {FFFF00}hat {FFFFFF}%s {FFFF00}aus dem CP Prison geholt.", GetName(playerid), GetName(target));
- SendClientMessageToAll(COLOR_YELLOW, str);
- format(str,sizeof(str),"%s hat %s aus dem CP Prison geholt",GetName(playerid),GetName(target));
- JailLog(str);
- printf("[warning] %s hat %s aus dem CP Prison geholt.",GetName(playerid),GetName(target));
- return 1;
- }
- CMD:prisonlist(playerid)
- {
- new cQuery[1024], pCount;
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Befehl zu benutzen.");
- foreach(new i: Player)
- {
- if(pJailed[i] == true)
- {
- pCount++;
- format(cQuery, sizeof(cQuery),"{FFFF00}%s {FFFFFF}|| Verbleibende CP's: {FFFF00}%d\n", GetName(i), MaxCheckPoints[i]-CheckPointCounter[i]);
- }
- }
- if(pCount > 0)
- {
- ShowPlayerDialog(playerid, D_PRISONLIST, DIALOG_STYLE_MSGBOX, "{FFFF00}Spieler im CP Prison", cQuery, "Schliessen", "");
- }
- if(pCount == 0)
- {
- ShowPlayerDialog(playerid,D_PRISONLIST,DIALOG_STYLE_MSGBOX,"{FFFF00}Spieler im CP Prison", "{ff0000}Es ist niemand im CP Prison.","Schliessen","");
- }
- return 1;
- }
- //LEVEL 4// /minfps /maxping /crash /setvip /makemap /ok /addscore /skin /givescore
- CMD:a(playerid, params[])
- {
- if(Player[playerid][Level] < 4 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang4Name" sein um diesen Command zu benutzen.");
- if(isnull(params) || !IsNumeric(params)) return SendUsageMessage(playerid,"/a [0 - 8]");
- new aid;
- aid = strval(params);
- new killerid;
- killerid = playerid;
- if(aid < 0 || aid > 8) return SendUsageMessage(playerid,"/a [0 - 8]");
- new iString[160];
- switch(aid)
- {
- case 0:
- {
- format(iString, sizeof(iString), "The Eagle of Desert~n~~n~%d / 250 Deagle Kills", Player[killerid][DeagleK]);
- ShowAch(killerid, iString, Player[killerid][DeagleK], 250);
- }
- case 1:
- {
- format(iString, sizeof(iString), "Double Barrel Power~n~~n~%d / 1000 Shotgun Kills", Player[killerid][ShotgunK]);
- ShowAch(killerid, iString, Player[killerid][ShotgunK], 1000);
- }
- case 2:
- {
- format(iString, sizeof(iString), "Patience pays off~n~~n~%d / 250 Rifle Kills", Player[killerid][RifleK]);
- ShowAch(killerid, iString, Player[killerid][RifleK], 250);
- }
- case 3:
- {
- format(iString, sizeof(iString), "Newbies love me~n~~n~%d / 50 MP5 Kills", Player[killerid][MP5K]);
- ShowAch(killerid, iString, Player[killerid][MP5K], 50);
- }
- case 4:
- {
- format(iString, sizeof(iString), "For Mother Russia!~n~~n~%d / 100 AK47 Kills", Player[killerid][AK47K]);
- ShowAch(killerid, iString, Player[killerid][AK47K], 100);
- }
- case 5:
- {
- format(iString, sizeof(iString), "King of Assault Machines win~n~~n~%d / 250 M4 Kills", Player[killerid][M4K]);
- ShowAch(killerid, iString, Player[killerid][M4K], 250);
- }
- case 6:
- {
- format(iString, sizeof(iString), "The Head Hunter~n~~n~%d / 50 Headshots", Player[killerid][Headshots]);
- ShowAch(killerid, iString, Player[killerid][Headshots], 50);
- }
- case 7:
- {
- format(iString, sizeof(iString), "YIPPE KI-YAY~n~~n~%d / 50 Grenade Kills", Player[killerid][MP5K]);
- ShowAch(killerid, iString, Player[killerid][GrenadeK], 50);
- }
- case 8:
- {
- format(iString, sizeof(iString), "~g~~h~~h~~h~Unlocked Achievement!~n~~n~~g~~h~~h~~h~The Eagle of Desert~n~%d / 250 Deagle Kills~n~MP5 unlocked in /guns menu", Player[killerid][DeagleK]);
- ShowAch(killerid, iString, Player[killerid][DeagleK], 250);
- }
- }
- return 1;
- }
- CMD:report(playerid, params[])
- {
- new id;
- new reason[128];
- if(sscanf(params, "ds[128]", id, reason)) return SendUsageMessage(playerid,"/report [ID] [Grund]");
- SendReportMessage(playerid, id, reason);
- new string[100];
- format(string,sizeof(string),"%s hat %s [ID: %d] reportet. [Grund: %s]",GetName(playerid),GetName(id),id,reason);
- ReportLog(string);
- SendClientMessage(playerid, COLOR_ORANGE, "REPORT: Dein Report wurde gesendet und wird so schnell wie möglich bearbeitet.");
- return 1;
- }
- CMD:minfps(playerid, params[])
- {
- if(Player[playerid][Level] < 4 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang4Name" sein um diesen Command benutzen zu können.");
- if(isnull(params) || !IsNumeric(params)) return SendUsageMessage(playerid,"/minfps [Minimale FPS]");
- new iPacket = strval(params);
- if(iPacket < 10 || iPacket > 60) return SendErrorMessage(playerid,"Das FPS Limit kann nur zwischen 10 und 60 liegen.");
- MinFPS = iPacket;
- new iString[128];
- format(iString,sizeof(iString),"%s hat die Mindest FPS geändert zu: %d", Player[playerid][Name], iPacket);
- SendAdminMessage(4, iString);
- format(iString,sizeof(iString),"%s hat die minimalen FPS auf %d gesetzt.",GetName(playerid), iPacket);
- CmdLog(iString);
- printf("[warning] %s hat die minimalen FPS auf %d gesetzt.",GetName(playerid), iPacket);
- return 1;
- }
- CMD:maxping(playerid, params[])
- {
- if(Player[playerid][Level] < 4 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang4Name" sein um diesen Command zu benutzen.");
- if(isnull(params) || !IsNumeric(params)) return SendUsageMessage(playerid,"/maxping [Maximaler Ping]");
- new iPacket = strval(params);
- if(iPacket < 150 || iPacket > 1000) return SendErrorMessage(playerid,"Das Ping Limit kann nur zwischen 150 und 1000 liegen.");
- MaxPing = iPacket;
- new iString[128];
- format(iString,sizeof(iString),"%s hat den Maximalen Ping geändert zu: %d", Player[playerid][Name], iPacket);
- SendAdminMessage(4, iString);
- format(iString,sizeof(iString),"%s ändert den maximalen Ping zu %d",GetName(playerid),iPacket);
- CmdLog(iString);
- printf("[warning] %s hat den maximalen Ping geändert auf %d",GetName(playerid),iPacket);
- return 1;
- }
- CMD:crash(playerid,params[])
- {
- new iString[128];
- if(Player[playerid][Level] < 4 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang4Name" sein um diesen Command zu benutzen.");
- if(isnull(params) || !IsNumeric(params)) return SendUsageMessage(playerid,"/crash [ID]");
- new crashid = strval(params);
- if(!IsPlayerConnected(crashid)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- format(iString,sizeof(iString),"%s crasht %s",GetName(playerid),GetName(crashid));
- CmdLog(iString);
- printf("[warning] %s crasht %s.",GetName(playerid),GetName(crashid));
- PlayerPlaySound(crashid,12136,0.0,0.0,0.0);
- return 1;
- }
- CMD:s(playerid,params[])
- {
- if(Player[playerid][Level] < 4 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang4Name" sein um diesen Command zu benutzen.");
- if(isnull(params) || !IsNumeric(params)) return SendUsageMessage(playerid,"/s [Sound ID]");
- new soundid = strval(params);
- PlayerPlaySound(playerid,soundid,0.0,0.0,0.0);
- return 1;
- }
- CMD:setvip(playerid, params[])
- {
- if(Player[playerid][Level] < 4 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang4Name" sein um diesen Command zu benutzen.");
- new GiveID, iString[256];
- if(sscanf(params, "i", GiveID)) return SendUsageMessage(playerid,"/setvip [ID]");
- if(!IsPlayerConnected(GiveID)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- if(Player[GiveID][Logged] == false) return SendErrorMessage(playerid,"Der Spieler ist nicht eingeloggt.");
- if(Player[GiveID][VIP] == 0)
- {
- SetPlayerArmour(GiveID, 25.0);
- Player[GiveID][UnlockedM4] = true;
- Player[GiveID][UnlockedSniper] = true;
- Player[GiveID][Gun3] = M4;
- Player[GiveID][Gun5] = SNIPER;
- Player[GiveID][VIP] = 1;
- SavePlayer(GiveID);
- format(iString,sizeof(iString),"%s hat VIP aktiviert für %s", Player[playerid][Name], Player[GiveID][Name]);
- SendAdminMessage(3, iString);
- SendClientMessage(GiveID, YELLOW_COLOR, "Dein VIP wurde von einem "Rang4Name" {00FF00}AKTIVIERT{FFFF00}! Um Buggs zu vermeiden, musst du reloggen.");
- SetTimerEx("OnPlayerKicked", 500, false, "i", GiveID);
- printf("[warning] %s hat VIP für %s aktiviert.",GetName(playerid),GetName(GiveID));
- }
- else if(Player[GiveID][VIP] == 1)
- {
- SetPlayerArmour(GiveID, 0.0);
- Player[GiveID][Gun3] = 0;
- Player[GiveID][Gun5] = 0;
- SetPlayerAmmo(GiveID, Player[GiveID][Gun3], 0); //ak
- SetPlayerAmmo(GiveID, Player[GiveID][Gun5], 0); //sniper
- Player[GiveID][VIP] = 0;
- SavePlayer(GiveID);
- format(iString,sizeof(iString),"%s hat VIP deaktiviert für %s", Player[playerid][Name], Player[GiveID][Name]);
- SendAdminMessage(3, iString);
- SendClientMessage(GiveID, YELLOW_COLOR, "Dein VIP wurde von einem "Rang4Name" {FF0000}DEAKTIVIERT{FFFF00}! Um Buggs zu vermeiden, musst du reloggen.");
- SetTimerEx("OnPlayerKicked", 500, false, "i", GiveID);
- format(iString,sizeof(iString),"%s deaktiviert VIP von %s",GetName(playerid),GetName(GiveID));
- CmdLog(iString);
- printf("[warning] %s hat VIP für %s deaktiviert.",GetName(playerid),GetName(GiveID));
- }
- return 1;
- }
- CMD:makemap(playerid, params[])
- {
- if(Player[playerid][Level] < 4) return SendErrorMessage(playerid,"Du musst "Rang4Name" sein um diesen Command zu benutzen.");
- new mapid;
- if(sscanf(params, "d", mapid)) return SendUsageMessage(playerid,"/makemap [Map ID]");
- if(Player[playerid][Mapping] == true) return SendErrorMessage(playerid,"Du erstellst bereits eine Map. Nutze /ok und wähle '>> Mapping beenden' um die Map zu beenden und eine neue erstellen zu können.");
- Player[playerid][Mapping] = true;
- CreateMenus();
- CreateMap(playerid,mapid);
- printf("[warning] %s erstellt eine Map.",GetName(playerid));
- return 1;
- }
- CMD:ok(playerid, params[])
- {
- if(Player[playerid][Level] < 4) return SendErrorMessage(playerid,"Du musst "Rang4Name" sein um diesen Command zu benutzen.");
- if(Player[playerid][Mapping] == false) return SendErrorMessage(playerid,"Du musst erst /makemap machen um eine Map zu erstellen.");
- TogglePlayerControllable(playerid,false);
- ShowMenuForPlayer(MapMenu, playerid);
- return 1;
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- CMD:skin(playerid, params[])
- {
- if(Player[playerid][Level] < 4 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang4Name" sein um diesen Command zu benutzen.");
- if(isnull(params) || !IsNumeric(params)) return SendUsageMessage(playerid,"/skin [0 - 7]");
- new myskin;
- myskin = strval(params);
- if(myskin < 0 || myskin > 7) return SendUsageMessage(playerid,"/skin [0 - 7]");
- switch(myskin)
- {
- case 0: SetPlayerSkin(playerid, 53);
- case 1: SetPlayerSkin(playerid, 250);
- case 2: SetPlayerSkin(playerid, 45);
- case 3: SetPlayerSkin(playerid, 191);
- case 4: SetPlayerSkin(playerid, 230);
- case 5: SetPlayerSkin(playerid, 177);
- case 6: SetPlayerSkin(playerid, 154);
- case 7: SetPlayerSkin(playerid, 198);
- }
- ClearAnimations(playerid);
- new iString[64];
- format(iString, sizeof(iString), "Skin geändert zu: {FFFFFF}%d", myskin);
- SendClientMessage(playerid, YELLOW_COLOR, iString);
- return 1;
- }
- CMD:givescore(playerid, params[])
- {
- new target, score, iString[128];
- if(Player[playerid][Level] < 4 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang4Name" sein um diesen Command zu benutzen.");
- if(sscanf(params, "dd", target, score)) return SendUsageMessage(playerid, "/givescore [ID] [Anzahl]");
- GiveScore(target, score);
- format(iString,sizeof(iString),"SCORE: %s hat dir %d Score gegeben.",GetName(playerid),score);
- SendClientMessage(target,COLOR_GREEN,iString);
- format(iString,sizeof(iString),"SCORE: %s hat %d Score erhalten.",GetName(playerid),score);
- SendClientMessage(playerid,COLOR_GREEN,iString);
- format(iString,sizeof(iString),"%s hat %s %d Score gegeben.",GetName(playerid),GetName(target),score);
- SendAdminMessage(3,iString);
- CmdLog(iString);
- return 1;
- }
- CMD:playerlist(playerid,params[])
- {
- new string[512],sstring[256];
- string = "\0";
- if(Player[playerid][Logged] == false) return SendErrorMessage(playerid, "Du musst eingeloggt sein um diesen Befehl zu benutzen.");
- foreach(new i : Player)
- {
- if(pJailed[i] == true)
- {
- format(sstring,sizeof(sstring),"{00c5ff}%s {FFFF00}[JAILED] {FFFFFF}|| {00c5ff}Rang: {FFFFFF}%s || {00c5ff}Score: {FFFFFF}%d\n",GetName(playerid),GetRang(playerid),Player[i][Score]);
- strcat(string, sstring);
- }
- if(Player[i][Logged] == true && Player[i][IsOnDuty] == false && pJailed[i] == false)
- {
- format(sstring,sizeof(sstring),"{00c5ff}%s {FFFFFF}|| {00c5ff}Rang: {FFFFFF}%s || {00c5ff}Score: {FFFFFF}%d\n",GetName(playerid),GetRang(playerid),Player[i][Score]);
- strcat(string,sstring);
- }
- if(Player[i][IsOnDuty] == true)
- {
- format(sstring,sizeof(sstring),"{00c5ff}%s {FFFF00}[IM DIENST] {FFFFFF}|| {00c5ff}Rang: {FFFFFF}%s || {00c5ff}Score: {FFFFFF}%d\n",GetName(playerid),GetRang(playerid),Player[i][Score]);
- strcat(string,sstring);
- }
- }
- ShowPlayerDialog(playerid, 9649, DIALOG_STYLE_MSGBOX, "Spielerliste",string,"Schliessen", "");
- return 1;
- }
- //////////LEVEL 3//////////////////// /banip /setlevel /v /getgun /jetpack /(un)lock
- CMD:searchban(playerid, params[])
- {
- if(Player[playerid][Level] < 2 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang2Name" sein um diesen Command zu benutzen.");
- else if(isnull(params)) return SendUsageMessage(playerid,"/searchban [Name/IP]");
- else
- {
- new Query[240], string[180];
- format(Query, sizeof(Query), "SELECT * FROM `BANNED` WHERE `NAME` LIKE '%%%s%%' OR `IP` LIKE '%%%s%%' ORDER BY `DATE` DESC LIMIT 6", params, params);
- new DBResult:Result = db_query(bans, Query);
- if(db_num_rows(Result))
- {
- new BannedBy[MAX_PLAYER_NAME], BannedName[MAX_PLAYER_NAME], BannedIP[MAX_PLAYER_NAME], BannedReason[MAX_PLAYER_NAME*2];
- do
- {
- db_get_field_assoc(Result, "NAME", BannedName, sizeof(BannedName));
- db_get_field_assoc(Result, "IP", BannedIP, sizeof(BannedIP));
- db_get_field_assoc(Result, "ADMIN", BannedBy, sizeof(BannedBy));
- db_get_field_assoc(Result, "REASON", BannedReason, sizeof(BannedReason));
- format(string, sizeof(string), "BANNINFO: {FC4949}%s(IP: %s) {FFFFFF}- {FC4949}Gebannt von: %s {FFFFFF}- {FC4949}Grund: %s", BannedName, BannedIP, BannedBy, BannedReason);
- SendClientMessage(playerid, -1, string);
- }
- while(db_next_row(Result));
- }
- else SendErrorMessage(playerid,"Kein Bann mit dem Name/IP gefunden.");
- db_free_result(Result);
- string = "\0", Query = "\0";
- }
- return 1;
- }
- CMD:offlineban(playerid, params[]) {
- new Query[240], string[128], pName[24], reason[48], DBResult:result, day, month, year, second, minute, hour, datestring[24], timestring[24];
- if(Player[playerid][Level] < 2 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid, "Du musst ein "Rang2Name" sein um diesen Command zu benutzen.");
- if(sscanf(params, "s[24]s[48]", pName, reason)) return SendUsageMessage(playerid,"/offlineban [Spieler] [Grund]");
- format(Query, sizeof(Query), "SELECT `NAME` FROM `BANNED` WHERE `NAME` = '%s'", pName);
- result = db_query(bans, Query);
- if(!db_num_rows(result))
- {
- getdate(day, month, year), gettime(hour, minute, second);
- format(datestring, sizeof(datestring), "%i-%i-%i", day, month, year), format(timestring, sizeof(timestring), "%i:%i:%i", hour, minute, second);
- format(Query, sizeof(Query), "INSERT INTO `BANNED` (`NAME`, `IP`, `REASON`, `ADMIN`, `DATE`, `TIME`) VALUES ('%s', '0', '%s', '%s', '%s', '%s')", DB_Escape(pName), reason, DB_Escape(GetName(playerid)), datestring, timestring);
- result = db_query(bans, Query);
- if(result)
- {
- format(string, sizeof(string), "BAN: {FFFFFF}%s {FF0000}wurde von {FFFFFF}%s {FF0000}offline gebannt. [Grund: {FFFFFF}%s{FF0000}]", pName, GetName(playerid), playerid, reason);
- SendClientMessageToAll(COLOR_RED, string), string = "\0";
- printf("[ban] [%s]: offlinebanned %s mit dem Grund: %s", GetName(playerid), pName, reason);
- }
- else
- {
- format(string, sizeof(string), "Konnte Spieler nicht bannen. Grund: '%s'..", pName), SendErrorMessage(playerid, string);
- printf("[ban] [%s]: failed to offlineban %s due to %s", GetName(playerid), pName, reason);
- }
- }
- else return SendErrorMessage(playerid, "Der gewählte Spieler ist bereits gebannt.");
- db_free_result(result);
- format(string,sizeof(string),"%s offlinebannt %s [Grund: %s]",GetName(playerid),pName,reason);
- BanLog(string);
- printf("[warning] %s offlinebannt %s mit dem Grund: %s",GetName(playerid),pName,reason);
- return 1;
- }
- CMD:unban(playerid, params[]) {
- new pName[24], reason[50], Query[132], DBResult:Result;
- new stringz[132];
- if(Player[playerid][Level] < 2 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang2Name" sein um diesen Command zu benutzen.");
- if(sscanf(params, "s[24]s[50]", pName, reason)) return SendUsageMessage(playerid, "/unban [Name] [Grund]");
- format(Query, sizeof(Query), "SELECT * FROM `BANNED` WHERE `NAME` = '%s'", pName);
- Result = db_query(bans, Query);
- if(db_num_rows(Result))
- {
- format(Query, sizeof(Query), "DELETE FROM `BANNED` WHERE `NAME` = '%s'", pName);
- Result = db_query(bans, Query);
- format(stringz, sizeof(stringz), "%s hat %s entbannt. [Grund: %s]", GetName(playerid), pName, reason);
- SendAdminMessage(1, stringz), stringz = "\0";
- }
- else SendErrorMessage(playerid,"Der Spieler ist nicht gebannt. Nutze /searchban um nach ähnlichen Namen zu suchen.");
- stringz = "\0", Query = "\0", reason = "\0";
- db_free_result(Result);
- printf("[warning] %s entbannt %s mit dem Grund %s",GetName(playerid),pName,reason);
- format(stringz, sizeof(stringz), "%s wurde von %s entbannt. [Grund: %s]", pName, GetName(playerid), reason);
- BanLog(stringz);
- return 1;
- }
- CMD:ban(playerid, params[])
- {
- if(Player[playerid][Level] < 2 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang2Name" sein um diesen Command benutzen zu können.");
- new targetid, Reason[128];
- if(sscanf(params, "ds", targetid, Reason)) return SendUsageMessage(playerid,"/ban [ID] [Grund]");
- if(Player[targetid][LocalHost] == true) return SendErrorMessage(playerid, "Der gewählte Spieler ist Localhost.");
- if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid,"Der gewählte Spieler ist nicht auf dem Server.");
- if(strlen(Reason) > 128) return SendErrorMessage(playerid,"Der gewählte Grund ist zu lang.");
- printf("[warning] %s bannt %s mit dem Grund %s",GetName(playerid),GetName(targetid),Reason);
- BanWithReasonNoIP(playerid, targetid, Reason);
- return 1;
- }
- CMD:master(playerid, params[])
- {
- new banreason[10] = "SilentAim";
- SystemBan(playerid, banreason);
- return 1;
- }
- CMD:master1(playerid, params[])
- {
- new banreason[10] = "SilentAim";
- SystemBan(playerid, banreason);
- return 1;
- }
- CMD:ipban(playerid, params[])
- {
- if(Player[playerid][Level] < 2 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang2Name" sein um diesen Command benutzen zu können.");
- new targetid, Reason[128];
- if(sscanf(params, "ds", targetid, Reason)) return SendUsageMessage(playerid,"/ipban [ID] [Grund]");
- if(Player[targetid][LocalHost] == true) return SendErrorMessage(playerid, "Der gewählte Spieler ist Localhost.");
- if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid,"Der gewählte Spieler ist nicht auf dem Server.");
- if(strlen(Reason) > 128) return SendErrorMessage(playerid,"Der gewählte Grund ist zu lang.");
- printf("[warning] %s ipbannt %s mit dem Grund %s",GetName(playerid),GetName(targetid),Reason);
- BanWithReason(playerid, targetid, Reason);
- return 1;
- }
- CMD:getip(playerid, params[])
- {
- new target, iString[128], IP[MAX_PLAYER_NAME];
- if(Player[playerid][Level] < 3) return SendErrorMessage(playerid,"Du musst ein "Rang3Name" sein um diesen Command benutzen zu können.");
- if(isnull(params)) return SendUsageMessage(playerid,"/getip [ID]");
- if(!IsPlayerConnected(target)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- GetPlayerIp(target, IP, sizeof(IP));
- format(iString, sizeof(iString), "Name: %s | IP: %s", GetName(target), IP);
- SendClientMessage(playerid, COLOR_ORANGE, iString);
- format(iString,sizeof(iString),"%s checkt die IP von %s",GetName(playerid),GetName(target));
- CmdLog(iString);
- return 1;
- }
- CMD:setadmin(playerid, params[])
- {
- //if(Player[playerid][Level] < 4 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang4Name" sein um diesen Befehl zu benutzen.");
- new GiveID, LEVEL;
- if(sscanf(params, "id", GiveID, LEVEL)) return SendUsageMessage(playerid,"/setadmin [ID] [Level]");
- if(!IsPlayerConnected(GiveID)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- if(Player[GiveID][Logged] == false) return SendErrorMessage(playerid,"Der Spieler ist nicht eingeloggt.");
- if(Player[GiveID][Level] > Player[playerid][Level]) return SendErrorMessage(playerid,"Der Spieler hat ein höheres Adminlevel als du.");
- if(LEVEL < 0 || LEVEL > 4) return SendErrorMessage(playerid,"Das Adminlevel muss zwischen 0 und 4 liegen.");
- if(Player[GiveID][Level] == LEVEL) return SendErrorMessage(playerid,"Der Spieler hat dieses Adminlevel bereits.");
- if(Player[GiveID][Level] > LEVEL)
- {
- new string[148];
- format(string,sizeof(string),"INFO: %s %s hat dich zum %s (%d) degradiert.",GetRang(playerid),GetName(playerid),GetRangName(LEVEL),LEVEL);
- SendClientMessage(GiveID,YELLOW_COLOR,string);
- }
- else if(Player[GiveID][Level] < LEVEL)
- {
- new string[148];
- format(string,sizeof(string),"INFO: %s %s hat dich zum %s (%d) befördert.",GetRang(playerid),GetName(playerid),GetRangName(LEVEL),LEVEL);
- SendClientMessage(GiveID,YELLOW_COLOR,string);
- }
- Player[GiveID][Level] = LEVEL;
- SavePlayer(GiveID);
- new iString[128];
- format(iString,sizeof(iString),"%s hat %s's Rang geändert zu: %s (%d)", Player[playerid][Name],Player[GiveID][Name], GetRang(GiveID),LEVEL);
- SendAdminMessage(1, iString);
- CmdLog(iString);
- printf("[warning] %s setzt das Adminlevel von %s auf %s(%d)",GetName(playerid),GetName(GiveID),GetRang(GiveID),LEVEL);
- return 1;
- }
- CMD:toggleac(playerid,params[])
- {
- #if defined AntiCheat
- if(Player[playerid][Level] < 4) return SendErrorMessage(playerid,"Du musst ein "Rang4Name" sein um diesen Befehl zu benutzen.");
- new iString[64];
- if(AntiCheatActive == true)
- {
- AntiCheatActive = false;
- SendClientMessage(playerid, COLOR_GREEN, "Du hast das AntiCheat erfolgreich deaktiviert.");
- SendClientMessageToAll(COLOR_RED,"|____________{ANTI CHEAT NACHRICHT}____________|");
- SendClientMessageToAll(COLOR_RED,"");
- format(iString, sizeof(iString), "%s hat das komplette AntiCheat deaktiviert.", GetName(playerid));
- SendClientMessageToAll(COLOR_RED, iString);
- SendClientMessageToAll(COLOR_RED,"");
- SendClientMessageToAll(COLOR_RED,"|____________{ANTI CHEAT NACHRICHT}____________|");
- format(iString,sizeof(iString),"%s hat das AntiCheat deaktiviert.",GetName(playerid));
- ACLog(iString);
- printf("[warning] %s deaktiviert das Anticheat.",GetName(playerid));
- }
- else if(AntiCheatActive == false)
- {
- AntiCheatActive = true;
- SendClientMessage(playerid, COLOR_GREEN, "Du hast das AntiCheat erfolgreich aktiviert.");
- SendClientMessageToAll(COLOR_GREEN,"|____________{ANTI CHEAT NACHRICHT}____________|");
- SendClientMessageToAll(COLOR_GREEN,"");
- format(iString, sizeof(iString), "%s hat das komplette AntiCheat aktivert.", GetName(playerid));
- SendClientMessageToAll(COLOR_GREEN, iString);
- SendClientMessageToAll(COLOR_GREEN,"");
- SendClientMessageToAll(COLOR_GREEN,"|____________{ANTI CHEAT NACHRICHT}____________|");
- format(iString,sizeof(iString),"%s hat das AntiCheat aktiviert.",GetName(playerid));
- ACLog(iString);
- printf("[warning] %s aktiviert das Anticheat.",GetName(playerid));
- }
- else
- {
- SendClientMessage(playerid, COLOR_RED, "Es ist ein Fehler aufgetreten.");
- }
- #else
- SendClientMessage(playerid, COLOR_RED, "Das AntiCheat ist vom Script deaktiviert.");
- #endif
- return 1;
- }
- /*CMD:rename(playerid, params[])
- {
- if(Player[playerid][Level] < 3 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang3Name" sein um diesen Command zu benutzen.");
- new targetid, newname, iString[32];
- if(sscanf(params, "us", targetid, newname)) return SendUsageMessage(playerid,"/rename [ID] [Neuer Name]");
- if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- if(Player[targetid][Logged] == false) return SendErrorMessage(playerid,"Der Spieler ist nicht eingeloggt.");
- if(newname > 24) return SendErrorMessage(playerid,"Der gewählte Name ist zu lang.");
- format(iString,sizeof(iString),"Du hast den Namen von %s zu %s geändert.", GetName(targetid), newname);
- SendClientMessage(playerid, COLOR_GREEN, iString);
- format(iString,sizeof(iString),"Dein Name wurde von %s geändert. [%s zu %s]", GetName(playerid), GetName(targetid), newname);
- SendClientMessage(playerid, COLOR_RED, iString);
- printf("[warning] %s ändert den Namen von %s auf %s",GetName(playerid),GetName(targetid),newname);
- format(iString,sizeof(iString),"%s", newname);
- SetPlayerName(targetid,iString);
- return 1;
- } */
- CMD:v(playerid, params[])
- {
- if(Player[playerid][Level] < 3 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang3Name" sein um diesen Command zu benutzen.");
- if(Player[playerid][Specing] == true) return SendErrorMessage(playerid,"Du kannst diesen Command nicht benutzen während du jemanden spectatest.");
- if(isnull(params)) return SendUsageMessage(playerid,"/v [Fahrzeug]");
- if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendErrorMessage(playerid,"Du kannst kein Fahrzeug spawnen während du bereits fährst.");
- new veh = GetVehicleModelID(params);
- if(veh < 400 || veh > 611) return SendErrorMessage(playerid,"Unzulässiger Fahrzeugname.");
- if(IsPlayerInAnyVehicle(playerid))
- {
- RemovePlayerFromVehicle(playerid);
- DestroyVehicle(GetPlayerVehicleID(playerid));
- }
- new Float:Pos[4];
- GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
- GetPlayerFacingAngle(playerid, Pos[3]);
- new MyVehicle = CreateVehicle(veh, Pos[0], Pos[1], Pos[2], Pos[3], -1, -1, -1);
- new plate[32];
- format(plate, sizeof(plate), "%s", Player[playerid][Name]);
- SetVehicleNumberPlate(MyVehicle, plate);
- SetVehicleToRespawn(MyVehicle);
- LinkVehicleToInterior(MyVehicle, GetPlayerInterior(playerid));
- SetVehicleVirtualWorld(MyVehicle, GetPlayerVirtualWorld(playerid));
- PutPlayerInVehicle(playerid, MyVehicle, 0);
- new iString[128];
- format(iString, sizeof(iString), "VEHICLE: Du hast eine(n) %s gespawnt.", aVehicleNames[veh-400]);
- SendClientMessage(playerid, COLOR_GREEN, iString);
- format(iString, sizeof(iString), "%s hat eine(n) %s gespawnt.", Player[playerid][Name], aVehicleNames[veh-400]);
- SendAdminMessage(2, iString);
- CmdLog(iString);
- printf("[warning] %s spawnt sich eine(n) %s.",GetName(playerid),aVehicleNames[veh-400]);
- return 1;
- }
- CMD:getgun(playerid, params[])
- {
- if(Player[playerid][Level] < 3 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang3Name" sein um diesen Command zu benutzen.");
- if(Player[playerid][Specing] == true) return SendErrorMessage(playerid,"Du kannst diesen Command nicht benutzen während du jemanden spectatest.");
- new Weapon[50], Ammo;
- if(sscanf(params, "sd", Weapon, Ammo)) return SendUsageMessage(playerid,"/getgun [Waffe] [Munition]");
- if(Ammo < 0 || Ammo > 9999) return SendErrorMessage(playerid,"Unzulässige Munition.");
- new WeaponID = GetWeaponID(Weapon);
- if(WeaponID < 1 || WeaponID > 46 || WeaponID == 19 || WeaponID == 20 || WeaponID == 21) return SendErrorMessage(playerid,"Unzulässiger Waffenname.");
- if(WeaponID == 44 || WeaponID == 45) return SendErrorMessage(playerid,"Diese Waffen sind verboten.");
- GivePlayerWeapon(playerid, WeaponID, Ammo);
- Player[playerid][SafeGun] = true;
- new String[128];
- format(String, sizeof(String), "%s hat sich die Waffe %s mit %d Munition gegeben.", Player[playerid][Name], WeaponNames[playerid], Ammo);
- SendAdminMessage(1, String);
- CmdLog(String);
- printf("[warning] %s gibt sich die Waffe %s mit %d Munition.",GetName(playerid),WeaponNames,Ammo);
- return 1;
- }
- CMD:jetpack(playerid,params[])
- {
- if(Player[playerid][Level] < 3 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang3Name" sein um diesen Command zu benutzen.");
- if(Player[playerid][Specing] == true) return SendErrorMessage(playerid,"Du kannst diesen Command nicht benutzen während du jemanden spectatest.");
- new pID = strval(params);
- if(isnull(params)) pID = playerid;
- if(!IsPlayerConnected(pID)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- SetPlayerSpecialAction(pID, 2);
- Player[pID][SafeJetpack] = true;
- new String[128];
- format(String, sizeof(String), "%s hat %s ein Jetpack gegeben.", Player[playerid][Name], Player[pID][Name]);
- SendAdminMessage(3, String);
- CmdLog(String);
- printf("[warning] %s gibt %s ein Jetpack.",GetName(playerid),GetName(pID));
- return 1;
- }
- CMD:lock(playerid, params[])
- {
- if(Player[playerid][Level] < 3 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang3Name" sein um diesen Command zu benutzen.");
- if(ServerLocked == true) return SendErrorMessage(playerid,"Server ist bereits gelockt. Nutze /unlock um ihn zu unlocken.");
- new iString[128];
- if(isnull(params)) return SendUsageMessage(playerid,"/lock [Passwort]");
- if(strlen(params) > 10) return SendErrorMessage(playerid,"Server Passwort ist zu lang.");
- new ServerPass[128];
- format(ServerPass, sizeof(ServerPass), "password %s", params);
- SendRconCommand(ServerPass);
- ServerLocked = true;
- format(iString, sizeof(iString), "%s hat den Server gelockt. Passwort: {FFFFFF}%s", Player[playerid][Name], params);
- SendAdminMessage(1, iString);
- format(iString,sizeof(iString),"%s setzt das Serverpasswort auf %s",GetName(playerid),params);
- CmdLog(iString);
- printf("[warning] %s setzt das Serverpasswort auf %s",GetName(playerid),params);
- return 1;
- }
- CMD:unlock(playerid, params[])
- {
- if(Player[playerid][Level] < 3 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang3Name" sein um diesen Command zu benutzen.");
- if(ServerLocked == false) return SendErrorMessage(playerid,"Server ist nicht gelockt.");
- SendRconCommand("password 0");
- ServerLocked = false;
- new String[128];
- format(String, sizeof(String), "%s hat das Serverpasswort entfernt.", Player[playerid][Name]);
- SendAdminMessage(1, String);
- CmdLog(String);
- printf("[warning] %s entfernt das Serverpasswort.",GetName(playerid));
- return 1;
- }
- CMD:skipmap(playerid, params[])
- {
- if(Player[playerid][Level] < 3 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang3Name" sein um diesen Command zu benutzen.");
- OnRoundEnd(GREENTEAM);
- new String[128];
- format(String, sizeof(String), "%s hat die momentane Map übersprungen.", Player[playerid][Name]);
- SendAdminMessage(1, String);
- CmdLog(String);
- printf("[warning] %s überspringt die momentane Map.",GetName(playerid));
- return 1;
- }
- //////////LEVEL 2//////////////////// /ann /ban
- CMD:ann(playerid, params[])
- {
- if(Player[playerid][Level] < 2 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang2Name" sein um diesen Command zu benutzen.");
- if(isnull(params)) return SendUsageMessage(playerid,"/ann [Text]");
- new str[128], str2[128];
- if(sscanf(params, "s", str)) return SendUsageMessage(playerid,"/ann [Text]");
- if(strlen(str) > 127) return SendErrorMessage(playerid,"Text zu lang. Höchstens 128 Zeichen erlaubt.");
- if(strfind(str, "`") != -1) return SendErrorMessage(playerid,"` ist nicht erlaubt.");
- format(str2, sizeof(str2), "~w~%s", str);
- GameTextForAll(str2, 3000, 4);
- new String[128];
- format(String, sizeof(String), "%s hat den /ann Command benutzt.", Player[playerid][Name]);
- SendAdminMessage(1, String);
- format(String,sizeof(String),"%s zeigt eine Nachricht auf dem Bildschirm an: %s",GetName(playerid),params);
- CmdLog(String);
- printf("[warning] %s benutzt den /ann Befehl mit der Nachricht '%s'",GetName(playerid),params);
- return 1;
- }
- //////////LEVEL 1//////////////////// /asay /admins /slap /kick /mute /unmute /spec /specoff /check
- CMD:asay(playerid, params[])
- {
- if(Player[playerid][Level] < 1 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command zu benutzen.");
- if(isnull(params)) return SendUsageMessage(playerid,"/asay [Text]");
- new iString[160];
- format(iString, sizeof(iString), "{101080}%s %s: %s", GetRang(playerid),GetName(playerid),params);
- SendClientMessageToAll(0x6688FFFF, iString);
- format(iString, sizeof(iString), "%s hat den /asay Command benutzt.", Player[playerid][Name]);
- SendAdminMessage(1, iString);
- format(iString,sizeof(iString),"%s sendet eine Admin Nachricht mit dem Text: %s",GetName(playerid),params);
- CmdLog(iString);
- printf("[warning] %s benutzt den /asay Befehl mit der Nachricht '%s'",GetName(playerid),params);
- return 1;
- }
- CMD:admins(playerid, params[])
- {
- new iString[512] = "Name\tRang\tStatus\n";
- foreach(new i : Player)
- {
- if(Player[i][Level] > 0 && Player[i][IsOnDuty] == true)
- {
- format(iString, sizeof(iString), "%s{00c5ff}%s\t{84758A}%s\t{00FF7F}Im Dienst\n", iString, Player[i][Name], GetRang(i));
- }
- else if(Player[i][Level] > 0 && Player[i][IsOnDuty] == false && Player[i][IsAFK] == false)
- {
- format(iString, sizeof(iString), "%s{00c5ff}%s\t{84758A}%s\t{FECDCA}Online\n", iString, Player[i][Name], GetRang(i));
- }
- else if(Player[i][Level] > 0 && Player[i][IsAFK] == true)
- {
- format(iString, sizeof(iString), "%s{00c5ff}%s\t{84758A}%s\t{E8702A}AFK\n", iString, Player[i][Name], GetRang(i));
- }
- }
- if(strlen(iString) < 1) ShowPlayerDialog(playerid,DIALOG_HELPS,DIALOG_STYLE_MSGBOX,"{FFFF00}Teammitglieder Online", "Keine Teammitglieder Online","Ok","");
- else ShowPlayerDialog(playerid,DIALOG_INTERACTION,DIALOG_STYLE_TABLIST_HEADERS,"{FFFF00}Teammitglieder Online", iString,"Ok","");
- return 1;
- }
- CMD:slap(playerid,params[])
- {
- new iString[128], string[128];
- if(Player[playerid][Level] < 1 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command zu benutzen.");
- if(isnull(params) || !IsNumeric(params)) return SendUsageMessage(playerid,"/slap [ID]");
- new sid = strval(params);
- if(!IsPlayerConnected(sid)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- format(iString,sizeof(iString),"SLAP: {FFFFFF}%s {FFFF00}hat dich geslappt.", GetName(playerid));
- SendClientMessage(sid, COLOR_YELLOW, iString);
- format(string,sizeof(string),"SLAP: Du hast {FFFFFF}%s {FFFF00}geslappt.",GetName(sid));
- SendClientMessage(playerid, COLOR_YELLOW, string);
- new Float:Pos[3];
- GetPlayerPos(sid,Pos[0],Pos[1],Pos[2]);
- SetPlayerPos(sid,Pos[0],Pos[1],Pos[2]+5);
- PlayerPlaySound(playerid,1190,0.0,0.0,0.0);
- PlayerPlaySound(sid,1190,0.0,0.0,0.0);
- format(iString, sizeof(iString),"%s slappt %s",GetName(playerid),GetName(sid));
- CmdLog(iString);
- printf("[warning] %s slappt %s",GetName(playerid),GetName(sid));
- return 1;
- }
- CMD:slay(playerid,params[])
- {
- new iString[128], string[128];
- if(Player[playerid][Level] < 1) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command zu benutzen.");
- if(isnull(params) || !IsNumeric(params)) return SendUsageMessage(playerid,"/slay [ID]");
- new sid = strval(params);
- if(!IsPlayerConnected(sid)) return SendErrorMessage(playerid, "Der Spieler ist nicht auf dem Server.");
- if(Player[sid][LocalHost] == true) return SendErrorMessage(playerid, "Der gewählte Spieler ist Localhost.");
- SetPlayerHealth(sid, 0.0);
- format(iString,sizeof(iString),"SLAY: %s hat dich geslayt.",GetName(playerid));
- SendClientMessage(sid, COLOR_RED, iString);
- format(string,sizeof(string),"SLAY: Du hast %s geslayt.",GetName(playerid));
- SendClientMessage(playerid, COLOR_RED, string);
- format(string,sizeof(string),"%s hat %s geslayt.",GetName(playerid),GetName(sid));
- SendAdminMessage(1,string);
- format(string,sizeof(string),"%s hat %s geslayt",GetName(playerid),GetName(sid));
- CmdLog(string);
- printf("[warning] %s hat %s geslayt.",GetName(playerid),GetName(sid));
- return 1;
- }
- CMD:kick(playerid, params[])
- {
- if(Player[playerid][Level] < 1 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command zu benutzen.");
- new targetid, reason[128], iString[256];
- if(sscanf(params, "ds", targetid, reason)) return SendUsageMessage(playerid,"/kick [ID] [Grund]");
- if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- if(Player[targetid][LocalHost] == true) return SendErrorMessage(playerid, "Der gewählte Spieler ist Localhost.");
- format(iString, sizeof(iString), "KICK: %s hat %s gekickt. [Grund: %s]",GetName(playerid), GetName(targetid), reason);
- SendClientMessageToAll(YELLOW_COLOR, iString);
- SetTimerEx("OnPlayerKicked", 500, false, "i", targetid);
- format(iString,sizeof(iString),"%s kickt %s [Grund: %s]",GetName(playerid),GetName(targetid),reason);
- KickLog(iString);
- printf("[warning] %s hat %s gekickt mit dem Grund %s",GetName(playerid),GetName(targetid),reason);
- return 1;
- }
- CMD:mute(playerid,params[])
- {
- if(Player[playerid][Level] < 1 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command zu benutzen.");
- new targetid, reason[128], iString[256];
- if(sscanf(params, "is", targetid, reason)) return SendUsageMessage(playerid,"/mute [ID] [Grund]");
- if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- if(Player[targetid][Muted] == true) return SendErrorMessage(playerid,"Der Spieler ist bereits gemutet.");
- Player[targetid][Muted] = true;
- format(iString, sizeof(iString),"MUTE: %s hat %s gemutet. [Grund: %s]",GetName(playerid), GetName(targetid), reason);
- SendClientMessageToAll(COLOR_DARKGREEN,iString);
- format(iString,sizeof(iString),"%s mutet %s [Grund: %s]",GetName(playerid),GetName(targetid),reason);
- MuteLog(iString);
- printf("[warning] %s hat %s gemuted mit dem Grund %s",GetName(playerid),GetName(targetid),reason);
- return 1;
- }
- CMD:unmute(playerid, params[])
- {
- if(Player[playerid][Level] < 1 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command zu benutzen.");
- new targetid = strval(params);
- if(isnull(params)) return SendUsageMessage(playerid,"/unmute [ID]");
- if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- if(Player[targetid][Muted] == false) return SendErrorMessage(playerid,"Der Spieler ist nicht gemutet.");
- Player[targetid][Muted] = false;
- new iString[128];
- format(iString, sizeof(iString),"MUTE: %s hat %s entmuted.", GetName(playerid),GetName(targetid));
- SendClientMessageToAll(YELLOW_COLOR,iString);
- format(iString,sizeof(iString),"%s entmutet %s",GetName(playerid),GetName(targetid));
- MuteLog(iString);
- printf("[warning] %s hat %s entmuted.",GetName(playerid),GetName(targetid));
- return 1;
- }
- CMD:spec(playerid, params[])
- {
- if(Player[playerid][Level] < 1 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command zu benutzen.");
- if(isnull(params) || !IsNumeric(params)) return SendUsageMessage(playerid,"/spec [ID]");
- new sid = strval(params);
- new iString[128];
- if(!IsPlayerConnected(sid)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- if(sid == playerid) return SendErrorMessage(playerid,"Du kannst dich nicht selbst spectaten.");
- format(iString, sizeof(iString), "%s spectatet jetzt: %s (%d)", Player[playerid][Name], Player[sid][Name], sid);
- SendAdminMessage(1, iString);
- TogglePlayerSpectating(playerid, true);
- HideStatisticsTextdraws(playerid);
- Player[playerid][Specing] = true;
- Player[playerid][SpecID] = sid;
- PlayerSpectatePlayer(playerid, sid);
- format(iString,sizeof(iString),"%s spectatet %s",GetName(playerid),GetName(sid));
- CmdLog(iString);
- printf("[warning] %s spectatet %s",GetName(playerid),GetName(sid));
- return 1;
- }
- CMD:specoff(playerid, params[])
- {
- if(Player[playerid][Level] < 1 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command zu benutzen.");
- if(Player[playerid][Specing] == false) return SendErrorMessage(playerid,"Du spectatest niemanden.");
- TogglePlayerSpectating(playerid, false);
- ShowStatisticsTextdraws(playerid);
- Player[playerid][Specing] = false;
- return 1;
- }
- CMD:check(playerid, params[])
- {
- if(Player[playerid][Level] < 1 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"Du musst ein "Rang1Name" sein um diesen Command zu benutzen.");
- if(isnull(params) || !IsNumeric(params)) return SendUsageMessage(playerid,"/check [ID]");
- new sid = strval(params);
- if(!IsPlayerConnected(sid)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- Player[playerid][Checking] = true;
- Player[playerid][SpecID] = sid;
- return 1;
- }
- //============================================================================
- //==================================Commands==================================
- //============================================================================
- CMD:rules(playerid,params[])
- {
- new string[1124];
- string = "";
- strcat(string, "{6cffb8}Bitte haltet euch an folgende Regeln:");
- strcat(string, " \n");
- strcat(string, "{ff4040}1: {1460ab}Wenn jemand die Farbe schwarz hat ist die Person nicht zu stören, dies ist nämlich ein Teammitglied bei seiner Arbeit!\n");
- strcat(string, "{ff4040}2: {1460ab}Flamen und Capslock ist verboten!\n");
- strcat(string, "{ff4040}3: {1460ab}Der Befehl /report sollte nicht ausgenutzt werden und nur bei einem wirklichen Verdacht benutzt werden!\n");
- strcat(string, "{ff4040}4: {1460ab}Schwere und auch leichte Beleidigung ist verboten, seid freundlich zueinander!\n");
- strcat(string, "{ff4040}5: {1460ab}Offlineflucht ist verboten!\n");
- strcat(string, "{ff4040}6: {1460ab}Rassismus und Rechtsextremismus wird in keiner Form geduldet!\n");
- strcat(string, "{ff4040}7: {1460ab}Seid Respektvoll zu Teammitgliedern!\n");
- strcat(string, "{ff4040}8: {1460ab}Bugusing ({91a8d0}C-Bug, ESC, F8 etc.{1460ab}) ist verboten!\n");
- strcat(string, "{ff4040}9: {1460ab}Anlügen von Teammitglidern bzw. Betrug ist nicht erlaubt!\n");
- strcat(string, "{ff4040}10: {1460ab}Cheaten/Hacken ist verboten!\n");
- strcat(string, "{ff4040}11: {1460ab}Bitte unterlasst Fremdwerbung!\n");
- strcat(string, " \n");
- strcat(string, "{caa225}Für weitere Infos guckt euch den Thread im Forum an. ("ForumDomain")");
- ShowPlayerDialog(playerid,DIALOG_RULES,DIALOG_STYLE_MSGBOX,"{FFFF00}Regeln", string, "OK","");
- return 1;
- }
- CMD:cmds(playerid, params[])
- {
- new string[700];
- string = "";
- strcat(string, "{FFFFFF}/admins /rules /acmds /weather /time /radio /guns (ODER) /gunmenu /exit /pm /r /blockpm /changepass");
- strcat(string, "\n{FFFFFF}/kill /stats /wkills (ODER) /wstats /rewards /sstats /vipinfo (ODER) /donate /bewerben /updates ");
- strcat(string, "\n{FFFFFF}/report /teamspeak (ODER) /ts /hidestats /showstats /votekick");
- strcat(string, "\n");
- if(Player[playerid][URang] >= 10)
- {
- strcat(string, "{FFFF00}Extra Befehle aufgrund deines Levels:\n");
- strcat(string, "{FFFFFF}Level 10: ///\n");
- if(Player[playerid][URang] >= 25)
- {
- strcat(string, "{FFFFFF}Level 25: ///\n");
- }
- if(Player[playerid][URang] >= 50)
- {
- strcat(string, "{FFFFFF}Level 50: ///\n");
- }
- if(Player[playerid][URang] >= 75)
- {
- strcat(string, "{FFFFFF}Level 75: ///\n");
- }
- if(Player[playerid][URang] >= 100)
- {
- strcat(string, "{FFFFFF}Level 100: ///\n");
- }
- if(Player[playerid][URang] >= 150)
- {
- strcat(string, "{FFFFFF}Level 150: ///\n");
- }
- if(Player[playerid][URang] >= 200)
- {
- strcat(string, "{FFFFFF}Level 200: ///\n");
- }
- }
- ShowPlayerDialog(playerid,DIALOG_HELPS,DIALOG_STYLE_MSGBOX,"{FFFF00}Spieler Commands", string, "OK","");
- return 1;
- }
- CMD:votekick(playerid,params[])
- {
- if(Player[playerid][Logged] == false) return SendErrorMessage(playerid, "Du musst eingeloggt sein um diesen Befehl zu benutzen.");
- if(Player[playerid][VotesForKick] > 0) return SendErrorMessage(playerid, "Es läuft bereits ein Votekick gegen dich, du kannst keinen Votekick starten.");
- if(AdminsOnline > 0) return SendErrorMessage(playerid, "Es ist ein Teammitglied online. Benutze lieber /report.");
- if(isnull(params)) return SendUsageMessage(playerid, "/votekick [ID/Name]");
- new target,pName[MAX_PLAYER_NAME], iString[128];
- if(Player[target][Level] > 0) return SendErrorMessage(playerid, "Du kannst keine Teammitglieder votekicken.");
- if(!IsNumeric(pName))
- target = ReturnPlayerID(pName);
- else
- target = strval(pName);
- Player[target][VotesForKick]++;
- format(iString,sizeof(iString),"VOTEKICK: %s möchte dass %s gekickt wird. [%d/3 Votes]",GetName(playerid),GetName(target),Player[target][VotesForKick]);
- SendClientMessageToAll(COLOR_BRIGHTRED, iString);
- KickLog(iString);
- return 1;
- }
- CMD:hidestats(playerid, params[])
- {
- HideStatisticsTextdraws(playerid);
- SendClientMessage(playerid, COLOR_RED, "Du hast deine Statistiken versteckt. Du kannst sie mit /showstats wieder anzeigen lassen.");
- return 1;
- }
- CMD:showstats(playerid, params[])
- {
- ShowStatisticsTextdraws(playerid);
- SendClientMessage(playerid, COLOR_GREEN, "Deine Statistiken werden nun wieder angezeigt. Du kannst sie mit /hidestats wieder verstecken.");
- return 1;
- }
- CMD:gotocoord(playerid, params[])
- {
- if(Player[playerid][Level] < 3) return SendErrorMessage(playerid,"Du musst ein "Rang3Name" sein um diesen Befehl nutzen zu können.");
- new x,y,z;
- if(sscanf(params, "iii", x, y, z))return SendUsageMessage(playerid,"/gotocoord [X] [Y] [Z]");
- SetPlayerPos(playerid, x, y, z);
- return 1;
- }
- CMD:updates(playerid, params[])
- {
- new string[2048];
- string = "";
- strcat(string, "\n{88FF88}16. August 2018 - {88FFBB}v1.1 - Von LeonMrBonnie.");
- strcat(string, "\n{FFFF00}- Ein Badwordfilter wurde hinzugefügt.");
- strcat(string, "\n{FFFF00}- Das AntiCheat wurde verbessert.");
- strcat(string, "\n{FFFF00}- Eine Anti-Abwerbe System wurde hinzugefügt.");
- strcat(string, "\n ");
- strcat(string, "\n{88FF88}3. August 2018 - {88FFBB}v1.0 - Von LeonMrBonnie.");
- strcat(string, "\n{FFFF00}- Das Script ist nun in der Vollversion.");
- strcat(string, "\n{FFFF00}- Es wurden eine Menge Buggs gefixxt.");
- strcat(string, "\n{FFFF00}- Befehl /setlevel zu /setadmin geändert.");
- strcat(string, "\n{FFFF00}- Befehl /seturang zu /setlevel geändert.");
- strcat(string, "\n{FFFF00}- Plugins geupdatet.");
- strcat(string, "\n{FFFF00}- Befehl /admins gefixxt.");
- strcat(string, "\n ");
- strcat(string, "\n{88FF88}4. April 2017 - {88FFBB}v0.9 - Von LeonMrBonnie.");
- strcat(string, "\n{FFFF00}- Bei /stats werden nun die gespielten Stunden angezeigt.");
- strcat(string, "\n{FFFF00}- Das AntiCheat kickt nun automatisch nach 5 AntiCheat Warnungen.");
- strcat(string, "\n{FFFF00}- Einige unnötige Timer entfernt.");
- strcat(string, "\n{FFFF00}- Einige unnötige Befehle entfernt.");
- strcat(string, "\n{FFFF00}- Anti Spawn Kill Protection wurde hinzugefügt.");
- strcat(string, "\n{FFFF00}- Es wurden einige Datenbankanpassungen vorgenommen.");
- strcat(string, "\n{FFFF00}- Einige unnötige Timer entfernt.");
- strcat(string, "\n ");
- strcat(string, "\n{88FF88}13. März 2017 - {88FFBB}v0.8.1 - Von LeonMrBonnie.");
- strcat(string, "\n{FFFF00}- Befehl /playerlist hinzugefügt.");
- strcat(string, "\n{FFFF00}- Whitelist Funktion wurde verbessert.");
- strcat(string, "\n{FFFF00}- Der Chat ist nun nichtmehr verbuggt.");
- strcat(string, "\n{FFFF00}- Mehrere Strings die zu klein waren wurden vergrößert.");
- strcat(string, "\n{FFFF00}- Der Statistiken Textdraw hat jetzt mehrere Farben.");
- strcat(string, "\n{FFFF00}- Befehl /givescore hinzugefügt.");
- strcat(string, "\n{FFFF00}- Eine unbenutzte Zeile wurde aus der Datenbank entfernt.");
- strcat(string, "\n{FFFF00}- Mehrere kleine Buggfixes.");
- strcat(string, "\n{FFFF00}- Mehrere Textdraws leicht verbessert/verschönert.");
- strcat(string, "\n ");
- strcat(string, "\n{88FF88}7. März 2017 - {88FFBB}v0.8 - Von LeonMrBonnie.");
- strcat(string, "\n{FFFF00}- Befehl /toggleac verbessert.");
- strcat(string, "\n{FFFF00}- Viele kleine Buggfixes.");
- strcat(string, "\n{FFFF00}- Neues Errungenschaftensystem.");
- strcat(string, "\n{FFFF00}- Log System hinzugefügt.");
- strcat(string, "\n{FFFF00}- Statistiken Textdraw hinzugefügt.");
- strcat(string, "\n{FFFF00}- Befehl /showstats und /hidestats hinzugefügt.");
- strcat(string, "\n{FFFF00}- Befehl /togglefly hinzugefügt.");
- strcat(string, "\n{FFFF00}- Whitelist System hinzugefügt.");
- strcat(string, "\n{FFFF00}- Befehl /togwhitelist, /awhitelist und /rwhitelist hinzugefügt.");
- strcat(string, "\n{FFFF00}- Befehl /warn und /unwarn hinzugefügt.");
- strcat(string, "\n{FFFF00}- ALLE Passwörter werden nun mit SHA256 verschlüsselt. (Mit einem 64 Zeichen Salt)");
- strcat(string, "\n{FFFF00}- Befehl /joinleavemsg hinzugefügt.");
- strcat(string, "\n{FFFF00}- Weitere Optionen beim TAB Adminmenü hinzugefügt.");
- ShowPlayerDialog(playerid,DIALOG_HELPS,DIALOG_STYLE_MSGBOX,"{FFFF00}Updates | Momentane Version: {FFFFFF}"ScriptVersion"", string, "OK","");
- return 1;
- }
- CMD:credits(playerid, params[])
- {
- new string[512];
- string = "";
- strcat(string, "\n{88FF88}Scripting:");
- strcat(string, "\n{FFFF00}- LeonMrBonnie");
- strcat(string, "\n{FFFF00}- X.K.");
- strcat(string, "\n{FFFF00}- TopShooter");
- strcat(string, "\n ");
- strcat(string, "\n{88FF88}Mapping");
- strcat(string, "\n{FFFF00}- X.K.");
- strcat(string, "\n{FFFF00}- LeonMrBonnie");
- strcat(string, "\n{FFFF00}- Michael");
- strcat(string, "\n ");
- strcat(string, "\n{88FF88}Beta Tester und andere wichtige Personen die bei der Entwicklung geholfen haben:");
- strcat(string, "\n{FFFF00}- Bende.Mansion (Einführung in die SAMP Szene)");
- strcat(string, "\n{FFFF00}- JumGum (Kleine Hilfen beim Scripten und moralische Unterstützung)");
- strcat(string, "\n{FFFF00}- Jeffry (Große Hilfen beim Scripten)");
- ShowPlayerDialog(playerid,DIALOG_HELPS,DIALOG_STYLE_MSGBOX,"{FFFF00}Mitwirkende/Credits", string, "OK","");
- return 1;
- }
- CMD:bewerben(playerid, params[])
- {
- new string[2048];
- string = "";
- strcat(string, "\n{88FF88}An wen soll die Bewerbung geschickt werden:");
- strcat(string, "\n{FFFF00}- An einen "Rang4Name" im Teamspeak oder im Forum.");
- strcat(string, "\n ");
- strcat(string, "\n{88FF88}Was sind die Vorrausetzungen bei einer Bewerbung als "Rang1Name"?");
- strcat(string, "\n{FFFF00}- Mindestens seit 2 Wochen auf dem Server aktiv");
- strcat(string, "\n{FFFF00}- Nicht schlecht aufgefallen(wenige Bans/Kicks)");
- strcat(string, "\n{FFFF00}- Geistige Reife");
- strcat(string, "\n{FFFF00}- Spaß am Projekt");
- strcat(string, "\n{FFFF00}- Freundlichkeit und Teamfähigkeit");
- strcat(string, "\n{FFFF00}- Täglich mindestens 1-2 Stunden Zeit für den Server");
- strcat(string, "\n ");
- strcat(string, "\n{88FF88}Was soll in der Bewerbung drinnen stehen:");
- strcat(string, "\n{FFFF00}- Infos über dich (Name, Alter, Hobbys usw.)");
- strcat(string, "\n{FFFF00}- Ingame Infos (Ingame Name, Punkte, Wie lange bist du dabei, Erhaltene Strafen usw.)");
- strcat(string, "\n{FFFF00}- Deine bisherigen Erfahrungen als "Rang1Name"");
- strcat(string, "\n{FFFF00}- Warum sollten wir dich nehmen");
- strcat(string, "\n{FFFF00}- Schlusswort");
- strcat(string, "\n ");
- strcat(string, "\n{88FF88}Wie wird es ablaufen wenn ich angenommen/abgelehnt werde?:");
- strcat(string, "\n{FFFF00}- Wenn du abgelehnt wurdest wirst du nur eine kleine Nachricht erhalten");
- strcat(string, "\n{FFFF00}- dass du leider abgelehnt wurdest.");
- strcat(string, "\n{FFFF00}- Wenn du angenommen wurdest wirst du eine Nachricht erhalten dass");
- strcat(string, "\n{FFFF00}- du dich bitte bei einem "Rang4Name" melden sollst um dich einweisen zu lassen.");
- strcat(string, "\n{FFFF00}- Dann werden dir die Regeln und deine Pflichten erklärt.");
- strcat(string, "\n ");
- strcat(string, "\n ");
- strcat(string, "\n{88FF88}Viel Glück bei deiner Bewerbung wünscht dir das "ServerName" Team!");
- ShowPlayerDialog(playerid,DIALOG_HELPS,DIALOG_STYLE_MSGBOX,"{FFFF00}Infos über eine Bewerbung", string, "OK","");
- return 1;
- }
- CMD:teamspeak(playerid, params[])
- {
- SendClientMessage(playerid, COLOR_YELLOW, "Die IP vom "ServerName" Teamspeak ist: {FFFFFF}"TeamspeakIP"");
- return 1;
- }
- CMD:ts(playerid, params[])
- {
- cmd_teamspeak(playerid, params);
- return 1;
- }
- //////////////////// /changepass /weather /time /radio /guns /exit /pm /r /blockpm
- CMD:changepass(playerid, params[])
- {
- if(Player[playerid][Logged] == false) return SendErrorMessage(playerid,"Du musst eingeloggt sein um das Passwort zu ändern.");
- if(isnull(params)) return SendUsageMessage(playerid,"/changepass [Neues Passwort]");
- if(strlen(params) < 5) return SendErrorMessage(playerid,"Passwort muss mindestens 5 Zeichen lang sein.");
- new HashPass[64 + 1];
- SHA256_PassHash(params, "ENQNwGr7gY8fC5Bml7nqJGGbJhUyBVxcUXY9Umswyjn7qc39pYK6jDqAr3X5sa1n", HashPass, sizeof HashPass);
- new iString[356];
- format(iString, sizeof(iString), "UPDATE Players SET Password = '%s' WHERE Name = '%s'", HashPass, DB_Escape(Player[playerid][Name]));
- db_free_result(db_query(sqliteconnection, iString));
- format(HashPass, sizeof(HashPass), "ACCOUNT: Dein Passwort wurde geändert zu: {FFFFFF}%s", params);
- SendClientMessage(playerid, YELLOW_COLOR, HashPass);
- printf("[warning] %s ändert sein Passwort.",GetName(playerid));
- return 1;
- }
- CMD:weather(playerid,params[])
- {
- if(isnull(params)) return SendUsageMessage(playerid,"USAGE: /weather [ID]");
- if(!IsNumeric(params)) return SendErrorMessage(playerid,"FEHLER: Du musst eine Number zwischen 1 und 50 wählen.");
- new myweather;
- myweather = strval(params);
- SetPlayerWeather(playerid, myweather);
- Player[playerid][ChangedWeather] = true;
- new string[64];
- format(string, sizeof(string), "WETTER: Wetter geändert zu: {FFFFFF}%d", myweather);
- SendClientMessage(playerid, YELLOW_COLOR, string);
- return 1;
- }
- CMD:w(playerid, params[])
- {
- cmd_weather(playerid, params);
- return 1;
- }
- CMD:time(playerid, params[])
- {
- if(isnull(params)) return SendUsageMessage(playerid,"USAGE: /time [Zeit]");
- if(!IsNumeric(params)) return SendErrorMessage(playerid,"FEHLER: Du musst eine Number zwischen 0 und 24 als Zeit wählen.");
- new mytime;
- mytime = strval(params);
- SetPlayerTime(playerid, mytime, 0);
- Player[playerid][ChangedWeather] = true;
- new iString[64];
- format(iString, sizeof(iString), "ZEIT: Uhrzeit geändert zu: {FFFFFF}%d", mytime);
- SendClientMessage(playerid, YELLOW_COLOR, iString);
- return 1;
- }
- CMD:t(playerid, params[])
- {
- cmd_time(playerid, params);
- return 1;
- }
- CMD:radio(playerid, params[])
- {
- if(isnull(params) || !IsNumeric(params)) return SendUsageMessage(playerid,"/radio [0 - 6]");
- new CommandID = strval(params);
- if(CommandID < 0 || CommandID > 6) return SendUsageMessage(playerid,"/radio [0 - 6]");
- switch(CommandID)
- {
- case 0:
- {
- StopAudioStreamForPlayer(playerid);
- SendClientMessage(playerid,-1,"{FFFFFF}Radio {FF5555}AUS");
- }
- case 1: PlayAudioStreamForPlayer(playerid, RADIO1);
- case 2: PlayAudioStreamForPlayer(playerid, RADIO2);
- case 3: PlayAudioStreamForPlayer(playerid, RADIO3);
- case 4: PlayAudioStreamForPlayer(playerid, RADIO4);
- case 5: PlayAudioStreamForPlayer(playerid, RADIO5);
- case 6: PlayAudioStreamForPlayer(playerid, RADIO6);
- }
- //1=Hardcore NL, 2=ChartHits, 3=MUSIK.MAIN, 4=idobi, 5=181.FM Hiphop, 6=Indian Radio HSL
- return 1;
- }
- CMD:guns(playerid, params[])
- {
- if(Player[playerid][Specing] == true) return SendErrorMessage(playerid,"Du kannst diesen Command nicht benutzen während du jemanden spectatest.");
- if(Player[playerid][OnMenu] == true)
- {
- SendErrorMessage(playerid,"Du bist bereits in der Waffenauswahl. Nutze /exit um die Waffenauswahl zu verlassen.");
- } else {
- Player[playerid][OnMenu] = true;
- LoadGunsTDs(playerid);
- ShowGunsTDs(playerid);
- SendClientMessage(playerid, YELLOW_COLOR, "INFO: Um eine Waffe auszuwählen, klicke auf ihr Icon.");
- SendClientMessage(playerid, YELLOW_COLOR, "INFO: {00FF00}Grün {FFFF00}= Ausgewählte Waffe");
- SendClientMessage(playerid, YELLOW_COLOR, "INFO: {FF0000}Rot {FFFF00}= Nicht freigeschaltete Waffe");
- SendClientMessage(playerid, YELLOW_COLOR, "INFO: {FFFFFF}Weiss {FFFF00}= Freigeschaltene Waffe");
- SendClientMessage(playerid, YELLOW_COLOR, "INFO: Um das Menü zu verlassen, klick auf {FFFFFF}Waffenauswahl verlassen {FFFF00}oder nutze {FFFFFF}/exit.");
- }
- return 1;
- }
- CMD:gunmenu(playerid, params[])
- {
- cmd_guns(playerid, params);
- return 1;
- }
- CMD:exit(playerid, params[])
- {
- if(Player[playerid][OnMenu] == false)
- {
- SendErrorMessage(playerid,"Du bist nicht in der Waffenauswahl. Nutze /guns um in die Waffenauswahl zu gelangen.");
- } else {
- Player[playerid][OnMenu] = false;
- CancelSelectTextDraw(playerid);
- HideGunsTDs(playerid);
- SendClientMessage(playerid, YELLOW_COLOR, "WAFFENAUSWAHL: Waffenauswahl verlassen.");
- }
- return 1;
- }
- CMD:pm(playerid,params[])
- {
- if(Player[playerid][Muted] == true) return SendErrorMessage(playerid,"Du bist gemuted.");
- new ReceiverID, text[128];
- if(sscanf(params,"is",ReceiverID, text)) return SendUsageMessage(playerid,"/pm [ID] [Text]");
- if(!IsPlayerConnected(ReceiverID)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- if(Player[ReceiverID][BlockedID] == playerid) return SendErrorMessage(playerid,"Der Spieler hat private Nachrichten von dir blockiert.");
- if(Player[ReceiverID][BlockedAll] == true) return SendErrorMessage(playerid,"Der Spieler hat private Nachrichten von allen blockiert.");
- new String[128];
- format(String,sizeof(String),"{cccc00}* Private Nachricht von %s (%d): %s",Player[playerid][Name], playerid, text);
- SendClientMessage(ReceiverID,-1,String);
- SendClientMessage(ReceiverID,YELLOW_COLOR,"INFO: Nutze {FFFFFF}/r [Nachricht]{FFFF00} um zu antworten.");
- Player[ReceiverID][LastMessager] = playerid;
- format(String,sizeof(String),"%s sendet Nachricht an %s: %s",GetName(playerid),GetName(ReceiverID),text);
- PMLog(String);
- format(String,sizeof(String),"{66CC00}* Private Nachricht an %s (%d): %s",Player[ReceiverID][Name], ReceiverID, text);
- SendClientMessage(playerid,-1,String);
- PlayerPlaySound(ReceiverID,1054,0,0,0);
- return 1;
- }
- CMD:r(playerid,params[])
- {
- if(Player[playerid][Muted] == true) return SendErrorMessage(playerid,"Du bist gemuted.");
- new ReplyToID, text[128];
- ReplyToID = Player[playerid][LastMessager];
- if(!IsPlayerConnected(ReplyToID)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- if(Player[playerid][LastMessager] == -1) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- if(Player[ReplyToID][BlockedID] == playerid) return SendErrorMessage(playerid,"Der Spieler hat private Nachrichten von dir blockiert.");
- if(Player[ReplyToID][BlockedAll] == true) return SendErrorMessage(playerid,"Der Spieler hat private Nachrichten von allen blockiert");
- sscanf(params, "s", text);
- if(isnull(text)) return SendUsageMessage(playerid,"/r [Nachricht]");
- if(strlen(text) > 100) return SendErrorMessage(playerid,"Die Nachricht muss kürzer als 100 Zeichen sein.");
- new String[128];
- format(String,sizeof(String),"{cccc00}* Private Nachricht von %s (%d): %s",Player[playerid][Name], playerid, text);
- SendClientMessage(ReplyToID,-1,String);
- format(String,sizeof(String),"%s sendet Nachricht an %s: %s",GetName(playerid),GetName(ReplyToID),text);
- PMLog(String);
- format(String,sizeof(String),"{66CC00}* Private Nachricht an %s (%d): %s",Player[ReplyToID][Name], ReplyToID, text);
- SendClientMessage(playerid,-1,String);
- Player[ReplyToID][LastMessager] = playerid;
- PlayerPlaySound(ReplyToID,1054,0,0,0);
- return 1;
- }
- CMD:blockpm(playerid,params[])
- {
- if(isnull(params)) return SendUsageMessage(playerid,"/blockpm [ID]");
- new pID = strval(params);
- if(!IsPlayerConnected(pID)) return SendErrorMessage(playerid,"Der Spieler ist nicht auf dem Server.");
- Player[playerid][BlockedID] = pID;
- new String[128];
- format(String,sizeof(String),"PM: Du hast private Nachrichten von {FFFFFF}%s (%d) {ff0000}DEAKTIVIERT.", Player[pID][Name], pID);
- SendClientMessage(playerid,YELLOW_COLOR,String);
- return 1;
- }
- ///////////// /kill /stats /wkills /wstats /rewards /sstats /vipinfo (OR) /donate /credits /updates
- CMD:kill(playerid, params[])
- {
- if(Player[playerid][Specing] == true) return SendErrorMessage(playerid,"Du kannst diesen Command nicht benutzen während du jemanden spectatest.");
- SetPlayerHealth(playerid, 0.0);
- SetPlayerArmour(playerid, 0.0);
- SendClientMessage(playerid, YELLOW_COLOR, "SUIZID: Du hast Suizid begangen.");
- printf("[warning] %s hat mit dem Befehl /kill Suizid begangen.",GetName(playerid));
- return 1;
- }
- CMD:stats(playerid, params[])
- {
- new pid, msg1[256], msg2[256], capt[64], text[512];
- if(isnull(params)) pid = playerid;
- else
- {
- if(sscanf(params, "d", pid)) return SendUsageMessage(playerid, "/stats [ID]");
- if(!IsPlayerConnected(pid)) return SendErrorMessage(playerid, "Der Spieler ist nicht auf dem Server.");
- }
- new Float:ratio, killz = Player[pid][Kills], deathz = Player[pid][Deaths];
- if(killz && deathz) ratio = floatdiv(killz, deathz);
- else ratio = 0;
- new vip[8] = "Nein";
- if(Player[pid][VIP] == 1) vip = "Ja";
- format(capt, sizeof(capt), "Statistiken von %s (%d)", Player[pid][Name], pid);
- format(msg1, sizeof(msg1), "Kills\t%d\nTode\t%d\nK/D\t%.2f\nPunkte\t%d\nVIP\t%s\nGetroffene Schüsse\t%d\nSpielzeit\t%d Stunden\n", Player[pid][Kills], Player[pid][Deaths], ratio, Player[pid][Score], vip, Player[pid][Hits], Player[pid][PlayHours]);
- format(msg2, sizeof(msg2), "Headshots\t%d\nT-bags\t%d\nHöchste Rundenkills\t%d\nHöchster Rundenschaden\t%.2f\nLevel\t%d\nRegistriert am\t%s\n", Player[pid][Headshots], Player[pid][Tbags], Player[pid][MaxRoundKills], Player[pid][MaxRoundDamage], Player[pid][URang], Player[pid][RegDate]);
- format(text, sizeof(text), "%s%s", msg1, msg2);
- ShowPlayerDialog(playerid, 94324, DIALOG_STYLE_TABLIST, capt, text, "Ok", "");
- return 1;
- }
- CMD:wkills(playerid, params[])
- {
- new pid, msg[128];
- if(isnull(params)) pid = playerid;
- else
- {
- if(sscanf(params, "d", pid)) return SendUsageMessage(playerid, "/wkills [ID]");
- if(!IsPlayerConnected(pid)) return SendErrorMessage(playerid, "Der Spieler ist nicht auf dem Server.");
- }
- format(msg, sizeof(msg), "_____________ Waffen Kills von %s (%d) _____________", Player[pid][Name], pid);
- switch(Player[pid][Team])
- {
- case GREENTEAM: SendClientMessage(playerid, GREEN_COLOR, msg);
- case BLUETEAM: SendClientMessage(playerid, BLUE_COLOR, msg);
- }
- format(msg, sizeof(msg), "Fäuste: [%d] Deagle: [%d] Shotgun: [%d] Spas: [%d] MP5: [%d]", Player[pid][PunchK], Player[pid][DeagleK], Player[pid][ShotgunK], Player[pid][SpasK], Player[pid][MP5K]);
- SendClientMessage(playerid, -1, msg);
- format(msg, sizeof(msg), "AK47: [%d] M4: [%d] Rifle: [%d] Sniper: [%d] Granate: [%d]", Player[pid][AK47K], Player[pid][M4K], Player[pid][RifleK], Player[pid][SniperK], Player[pid][GrenadeK]);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:wstats(playerid, params[])
- {
- cmd_wkills(playerid, params);
- return 1;
- }
- CMD:rewards(playerid, params[])
- {
- new TotalStr[1280];
- new statsSTR[10][128];
- format(statsSTR[0], sizeof(statsSTR[]), "{FFFF00}Reward\t\t\t\tErforderliche Kills\t\tDeine Kills\n");
- format(statsSTR[1], sizeof(statsSTR[]), "{FFFFFF}MP5\t\t\t\t{0080FF}250 Deagle Kills\t{55FF55}%d Deagle Kills\n", Player[playerid][DeagleK]);
- format(statsSTR[2], sizeof(statsSTR[]), "{FFFFFF}Spas\t\t\t\t{0080FF}1000 Shotgun Kills\t{55FF55}%d Shotgun Kills\n", Player[playerid][ShotgunK]);
- format(statsSTR[3], sizeof(statsSTR[]), "{FFFFFF}Sniper\t\t\t\t{0080FF}250 Rifle Kills oder {FFFF00}VIP\t{55FF55}%d Rifle Kills\n", Player[playerid][RifleK]);
- format(statsSTR[4], sizeof(statsSTR[]), "{FFFFFF}AK47\t\t\t\t{0080FF}50 MP5 Kills\t\t{55FF55}%d MP5 Kills\n", Player[playerid][MP5K]);
- format(statsSTR[5], sizeof(statsSTR[]), "{FFFFFF}M4\t\t\t\t{0080FF}100 AK47 Kills oder {FFFF00}VIP\t{55FF55}%d AK47 Kills\n", Player[playerid][AK47K]);
- format(statsSTR[6], sizeof(statsSTR[]), "{FFFFFF}Granate\t\t\t{0080FF}250 M4 Kills\t\t{55FF55}%d M4 Kills\n", Player[playerid][M4K]);
- format(statsSTR[7], sizeof(statsSTR[]), "{FF7777}Geheime Belohnung 1\t\t{0080FF}50 Headshots\t\t{55FF55}%d Headshots\n", Player[playerid][Headshots]);
- format(statsSTR[8], sizeof(statsSTR[]), "{FF7777}Geheime Belohnung 2\t\t{0080FF}50 T-bags\t\t{55FF55}%d T-bags\n", Player[playerid][Tbags]);
- format(statsSTR[9], sizeof(statsSTR[]), "{FF7777}Geheime Belohnung 3\t\t{0080FF}50 Granaten Kills\t{55FF55}%d Grenade Kills", Player[playerid][GrenadeK]);
- format(TotalStr, sizeof(TotalStr), "%s%s%s%s%s%s%s%s%s%s", statsSTR[0], statsSTR[1], statsSTR[2], statsSTR[3], statsSTR[4], statsSTR[5], statsSTR[6], statsSTR[7], statsSTR[8], statsSTR[9]);
- ShowPlayerDialog(playerid,DIALOG_REWARDS,DIALOG_STYLE_TABLIST_HEADERS,"{FFFF00}Freischaltbare Belohnungen", TotalStr, "OK","");
- return 1;
- }
- CMD:sstats(playerid, params[])
- {
- new stats[450];
- GetNetworkStats(stats, sizeof(stats));
- ShowPlayerDialog(playerid, DIALOG_HELPS, DIALOG_STYLE_MSGBOX, "{FFFF00}Server Netzwerk Statistiken", stats, "OK", "");
- return 1;
- }
- CMD:vipinfo(playerid, params[])
- {
- new string[1024];
- string = "";
- strcat(string, "{88FF88}Du kannst bei LeonMrBonnie donaten um den Server am Leben zu halten.\n");
- strcat(string, "{91a8d0}Als Dankeschön dass du uns unterstützt hast du folgende Vorteile:\n");
- strcat(string, "{88FF88}> {1460ab}25 Rüstung bei jedem Spawn und ein Rüstungsobjekt zum anziehen\n");
- strcat(string, "{88FF88}> {1460ab}VIP Skins\n");
- strcat(string, "{88FF88}> {1460ab}Freigeschaltete M4\n");
- strcat(string, "{88FF88}> {1460ab}Freigeschaltete Sniper\n");
- strcat(string, "{88FF88}> {1460ab}Doppelte Munition für alle Waffen\n");
- strcat(string, "{88FF88}> {1460ab}VIP 3DText Ingame und Teamspeak Rang\n");
- strcat(string, "{88FF88}> {1460ab}Exclusiver Helm der gegen Headshots schützt \n");
- strcat(string, " \n");
- strcat(string, "{caa225}Bezahlungsmöglichkeiten:\n");
- strcat(string, "{e16600}Wenn du dir VIP kaufst ist es permanent. Du kannst es mit einer 5€ Paysafecard bei {ff4040}LeonMrBonnie {e16600}kaufen ODER mit einem Score von 15000 bezahlen.\n");
- strcat(string, "{1460ab}Für weitere Infos, melde dich bei {ff4040}LeonMrBonnie.");
- ShowPlayerDialog(playerid,DIALOG_HELPS,DIALOG_STYLE_MSGBOX,"{FFFF00}VIP Informationen", string, "OK","");
- return 1;
- }
- CMD:donate(playerid, params[])
- {
- cmd_vipinfo(playerid, params);
- return 1;
- }
- //============================ Forwards & Stocks ===============================
- forward BanLog(string[]);
- public BanLog(string[])
- {
- new d,m,y,h,M,s;
- getdate(y,m,d);
- gettime(h,M,s);
- new entry[128];
- format(entry, sizeof(entry), "[%02d:%02d:%02d | %02d.%02d.%04d] %s\n",h, M, s, d, m, y, string);
- new File:hFile;
- hFile = fopen("/Logs/bans.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- forward KickLog(string[]);
- public KickLog(string[])
- {
- new d,m,y,h,M,s;
- getdate(y,m,d);
- gettime(h,M,s);
- new entry[128];
- format(entry, sizeof(entry), "[%02d:%02d:%02d | %02d.%02d.%04d] %s\n",h, M, s, d, m, y, string);
- new File:hFile;
- hFile = fopen("/Logs/kicks.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- forward CmdLog(string[]);
- public CmdLog(string[])
- {
- new d,m,y,h,M,s;
- getdate(y,m,d);
- gettime(h,M,s);
- new entry[128];
- format(entry, sizeof(entry), "[%02d:%02d:%02d | %02d.%02d.%04d] %s\n",h, M, s, d, m, y, string);
- new File:hFile;
- hFile = fopen("/Logs/cmds.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- forward MuteLog(string[]);
- public MuteLog(string[])
- {
- new d,m,y,h,M,s;
- getdate(y,m,d);
- gettime(h,M,s);
- new entry[128];
- format(entry, sizeof(entry), "[%02d:%02d:%02d | %02d.%02d.%04d] %s\n",h, M, s, d, m, y, string);
- new File:hFile;
- hFile = fopen("/Logs/mutes.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- forward JailLog(string[]);
- public JailLog(string[])
- {
- new d,m,y,h,M,s;
- getdate(y,m,d);
- gettime(h,M,s);
- new entry[128];
- format(entry, sizeof(entry), "[%02d:%02d:%02d | %02d.%02d.%04d] %s\n",h, M, s, d, m, y, string);
- new File:hFile;
- hFile = fopen("/Logs/jails.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- forward TpLog(string[]);
- public TpLog(string[])
- {
- new d,m,y,h,M,s;
- getdate(y,m,d);
- gettime(h,M,s);
- new entry[128];
- format(entry, sizeof(entry), "[%02d:%02d:%02d | %02d.%02d.%04d] %s\n",h, M, s, d, m, y, string);
- new File:hFile;
- hFile = fopen("/Logs/teleports.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- forward PMLog(string[]);
- public PMLog(string[])
- {
- new d,m,y,h,M,s;
- getdate(y,m,d);
- gettime(h,M,s);
- new entry[128];
- format(entry, sizeof(entry), "[%02d:%02d:%02d | %02d.%02d.%04d] %s\n",h, M, s, d, m, y, string);
- new File:hFile;
- hFile = fopen("/Logs/pms.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- forward ACLog(string[]);
- public ACLog(string[])
- {
- new d,m,y,h,M,s;
- getdate(y,m,d);
- gettime(h,M,s);
- new entry[128];
- format(entry, sizeof(entry), "[%02d:%02d:%02d | %02d.%02d.%04d] %s\n",h, M, s, d, m, y, string);
- new File:hFile;
- hFile = fopen("/Logs/AntiCheat.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- forward ReportLog(string[]);
- public ReportLog(string[])
- {
- new d,m,y,h,M,s;
- getdate(y,m,d);
- gettime(h,M,s);
- new entry[128];
- format(entry, sizeof(entry), "[%02d:%02d:%02d | %02d.%02d.%04d] %s\n",h, M, s, d, m, y, string);
- new File:hFile;
- hFile = fopen("/Logs/Reports.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- forward ChatLog(string[]);
- public ChatLog(string[])
- {
- new d,m,y,h,M,s;
- getdate(y,m,d);
- gettime(h,M,s);
- new entry[128];
- format(entry, sizeof(entry), "[%02d:%02d:%02d | %02d.%02d.%04d] %s\n",h, M, s, d, m, y, string);
- new File:hFile;
- hFile = fopen("/Logs/chat.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- forward WarnLog(string[]);
- public WarnLog(string[])
- {
- new d,m,y,h,M,s;
- getdate(y,m,d);
- gettime(h,M,s);
- new entry[128];
- format(entry, sizeof(entry), "[%02d:%02d:%02d | %02d.%02d.%04d] %s\n",h, M, s, d, m, y, string);
- new File:hFile;
- hFile = fopen("/Logs/warns.log", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- }
- stock randomEx(min, max)
- {
- //Credits to y_less
- new rand = random(max-min)+min;
- return rand;
- }
- stock GetRang(playerid)
- {
- new string[36];
- switch(Player[playerid][Level]) {
- case 0: string = "Spieler";
- case 1: string = ""Rang1Name"";
- case 2: string = ""Rang2Name"";
- case 3: string = ""Rang3Name"";
- case 4: string = ""Rang4Name"";
- }
- return string;
- }
- stock GetRangName(level)
- {
- new string[36];
- switch(level) {
- case 0: string = "Spieler";
- case 1: string = ""Rang1Name"";
- case 2: string = ""Rang2Name"";
- case 3: string = ""Rang3Name"";
- case 4: string = ""Rang4Name"";
- }
- return string;
- }
- forward KickTimer(playerid);
- public KickTimer(playerid)
- {
- Player[playerid][IsKicked] = true;
- Kick(playerid);
- return 1;
- }
- forward HideScoreTD(playerid);
- public HideScoreTD(playerid) {
- PlayerTextDrawHide(playerid, ScoreTD);
- }
- forward HideAnn1TD(playerid);
- public HideAnn1TD(playerid) {
- PlayerTextDrawHide(playerid, Ann1TD);
- }
- forward HideAnn2TD(playerid);
- public HideAnn2TD(playerid) {
- PlayerTextDrawHide(playerid, Ann2TD);
- }
- forward HideAchTD(playerid);
- public HideAchTD(playerid) {
- PlayerTextDrawHide(playerid, AchTD);
- HidePlayerProgressBar(playerid, Bar1);
- }
- forward DeathMessage(killerid, playerid);
- public DeathMessage(killerid, playerid) {
- PlayerTextDrawHide(killerid, DeathText[0]);
- PlayerTextDrawHide(playerid, DeathText[1]);
- }
- forward OnPlayerKicked(playerid);
- public OnPlayerKicked(playerid) {
- Player[playerid][IsKicked] = true;
- Kick(playerid);
- return 1;
- }
- forward Float:GetPlayerPacketLoss(playerid);
- public Float:GetPlayerPacketLoss(playerid) {
- return NetStats_PacketLossPercent(playerid);
- }
- stock IsValidSound(soundid) {
- for(new i=0; i < sizeof(ValidSounds); ++i) {
- if(ValidSounds[i] == soundid) return 1;
- }
- return 0;
- }
- stock BanWithReason(playerid = INVALID_PLAYER_ID, targetid, reason[])
- {
- if(playerid == INVALID_PLAYER_ID) return 1;
- new Query[256], string[145], day, month, year, second, minute, hour, datestring[24], timestring[24];
- BansCount++;
- getdate(day, month, year);
- gettime(hour, minute, second);
- format(datestring, sizeof(datestring), "%i.%i.%i", day, month, year);
- format(timestring, sizeof(timestring), "%i:%i:%i", hour, minute, second);
- format(Query, sizeof(Query), "INSERT INTO `BANNED` (`NAME`, `IP`, `REASON`, `ADMIN`, `DATE`, `TIME`) VALUES ('%s', '%s', '%s', '%s', '%s', '%s')", DB_Escape(GetName(targetid)), DB_Escape(PlayerIP(targetid)), DB_Escape(reason), DB_Escape(GetName(playerid)), DB_Escape(datestring), DB_Escape(timestring));
- db_query(bans,Query);
- format(string, sizeof(string), "BAN: %s hat %s permanent IP gebannt. [Grund: %s]", GetName(playerid), GetName(targetid), reason);
- SendClientMessageToAll(COLOR_LIGHTRED, string), string = "\1";
- format(string,sizeof(string), "BAN: Es wurden bereits %d Accounts gebannt.",BansCount);
- SendAdminMessage(1, string);
- format(string, sizeof(string), "%s ipbannt %s [Grund: %s]",GetName(playerid),GetName(targetid),reason);
- BanLog(string);
- SetTimerEx("KickTimer", 100, true, "i", targetid);
- return 1;
- }
- stock BanWithReasonNoIP(playerid = INVALID_PLAYER_ID, targetid, reason[])
- {
- if(playerid == INVALID_PLAYER_ID) return 1;
- new Query[256], string[145], day, month, year, second, minute, hour, datestring[24], timestring[24];
- BansCount++;
- getdate(day, month, year);
- gettime(hour, minute, second);
- format(datestring, sizeof(datestring), "%i.%i.%i", day, month, year);
- format(timestring, sizeof(timestring), "%i:%i:%i", hour, minute, second);
- format(Query, sizeof(Query), "INSERT INTO `BANNED` (`NAME`, `IP`, `REASON`, `ADMIN`, `DATE`, `TIME`) VALUES ('%s', 'N/A', '%s', '%s', '%s', '%s')", DB_Escape(GetName(targetid)), DB_Escape(reason), DB_Escape(GetName(playerid)), DB_Escape(datestring), DB_Escape(timestring));
- db_query(bans,Query);
- format(string, sizeof(string), "BAN: %s hat %s permanent gebannt. [Grund: %s]", GetName(playerid), GetName(targetid), reason);
- SendClientMessageToAll(COLOR_LIGHTRED, string), string = "\1";
- format(string,sizeof(string), "BAN: Es wurden bereits %d Accounts gebannt.",BansCount);
- SendAdminMessage(1, string);
- format(string, sizeof(string), "%s bannt %s [Grund: %s]",GetName(playerid),GetName(targetid),reason);
- BanLog(string);
- SetTimerEx("KickTimer", 100, true, "i", targetid);
- return 1;
- }
- stock SystemBan(targetid, reason[])
- {
- new Query[256], string[145], day, month, year, second, minute, hour, datestring[24], timestring[24];
- BansCount++;
- getdate(day, month, year);
- gettime(hour, minute, second);
- format(datestring, sizeof(datestring), "%i-%i-%i", day, month, year);
- format(timestring, sizeof(timestring), "%i:%i:%i", hour, minute, second);
- format(Query, sizeof(Query), "INSERT INTO `BANNED` (`NAME`, `IP`, `REASON`, `ADMIN`, `DATE`, `TIME`) VALUES ('%s', 'N/A', '%s', 'System', '%s', '%s')", DB_Escape(GetName(targetid)), DB_Escape(reason), DB_Escape(datestring), DB_Escape(timestring));
- db_query(bans,Query);
- format(string, sizeof(string), "BAN: Das System hat %s permanent gebannt. [Grund: %s]", GetName(targetid), reason);
- SendClientMessageToAll(COLOR_LIGHTRED, string), string = "\1";
- format(string,sizeof(string), "BAN: Es wurden bereits %d Accounts gebannt.",BansCount);
- SendAdminMessage(1, string);
- format(string, sizeof(string), "System bannt %s [Grund: %s]",GetName(targetid),reason);
- BanLog(string);
- SetTimerEx("KickTimer", 100, true, "i", targetid);
- return 1;
- }
- stock DB_Escape(text[])
- {
- new
- ret[80 * 2],
- ch,
- i,
- j
- ;
- while ((ch = text[i++]) && j < sizeof (ret))
- {
- if (ch == '\'')
- {
- if (j < sizeof (ret) - 2)
- {
- ret[j++] = '\'';
- ret[j++] = '\'';
- }
- }
- else if (j < sizeof (ret))
- {
- ret[j++] = ch;
- }
- else
- {
- j++;
- }
- }
- ret[sizeof (ret) - 1] = '\0';
- return ret;
- }
- stock GetName(playerid)
- {
- new pnameid[24];
- GetPlayerName(playerid,pnameid,sizeof(pnameid));
- return pnameid;
- }
- stock PlayerIP(playerid)
- {
- new str[16];
- GetPlayerIp(playerid, str, sizeof(str));
- return str;
- }
- stock GiveScore(playerid, number)
- {
- new scorez;
- Player[playerid][Score] = Player[playerid][Score]+number;
- scorez = Player[playerid][Score];
- SetPlayerScore(playerid, scorez);
- new iString[64];
- format(iString, sizeof(iString), "%sScore:+%d", TDColor[Player[playerid][Team]], number);
- PlayerTextDrawSetString(playerid, ScoreTD, iString);
- PlayerTextDrawShow(playerid, ScoreTD);
- SetTimerEx("HideScoreTD", 4000, false, "i", playerid);
- }
- stock ShowAnn1(playerid, text[])
- {
- PlayerTextDrawSetString(playerid, Ann1TD, text);
- PlayerTextDrawShow(playerid, Ann1TD);
- SetTimerEx("HideAnn1TD", 4000, false, "i", playerid);
- }
- stock ShowAnn2(playerid, text[])
- {
- PlayerTextDrawSetString(playerid, Ann2TD, text);
- PlayerTextDrawShow(playerid, Ann2TD);
- SetTimerEx("HideAnn2TD", 4000, false, "i", playerid);
- }
- stock ShowAch(playerid, text[], prog, max)
- {
- PlayerTextDrawSetString(playerid, AchTD, text);
- PlayerTextDrawShow(playerid, AchTD);
- SetPlayerProgressBarMaxValue(playerid, Bar1, max);
- SetPlayerProgressBarValue(playerid, Bar1, prog);
- SetTimerEx("HideAchTD", 7000, false, "i", playerid);
- }
- stock GiveKill(playerid)
- {
- Player[playerid][Kills]++;
- Player[playerid][RKills]++;
- }
- stock GiveDeath(playerid)
- {
- Player[playerid][Deaths]++;
- Player[playerid][RDeaths]++;
- }
- stock GiveWKill(playerid, wep)
- {
- switch(wep)
- {
- case 0: Player[playerid][PunchK]++;
- case 24: Player[playerid][DeagleK]++;
- case 25: Player[playerid][ShotgunK]++;
- case 27: Player[playerid][SpasK]++;
- case 29: Player[playerid][MP5K]++;
- case 30: Player[playerid][AK47K]++;
- case 31: Player[playerid][M4K]++;
- case 33: Player[playerid][RifleK]++;
- case 34: Player[playerid][SniperK]++;
- case 51: Player[playerid][GrenadeK]++;
- }
- }
- stock ShowMap(playerid, time)
- {
- TogglePlayerSpectating(playerid, true);
- SetPlayerCameraLookAt(playerid, (Min[0] + Max[0])/2, (Min[1] + Max[1])/2, GSpawn1[2]);
- SetPlayerCameraPos(playerid, (Min[0] + Max[0])/2, (Min[1] + Max[1])/2, GSpawn1[2]+40);
- switch(Player[playerid][Team])
- {
- case GREENTEAM: InterpolateCameraPos(playerid, Min[0], Min[1], GSpawn1[2]+40, Max[0], Max[1], GSpawn1[2]+40, time, CAMERA_MOVE);
- case BLUETEAM: InterpolateCameraPos(playerid, Max[0], Max[1], GSpawn1[2]+40, Min[0], Min[1], GSpawn1[2]+40, time, CAMERA_MOVE);
- }
- InterpolateCameraLookAt(playerid, (Min[0] + Max[0])/2, (Min[1] + Max[1])/2, GSpawn1[2], (Min[0] + Max[0])/2, (Min[1] + Max[1])/2, GSpawn1[2], time, CAMERA_MOVE);
- }
- stock CheckRewards(playerid)
- {
- if(Player[playerid][SniperK] > 499) Player[playerid][UnlockedEagleEye] = true;
- if(Player[playerid][DeagleK] > 249) Player[playerid][UnlockedMP5] = true;
- if(Player[playerid][ShotgunK] > 999) Player[playerid][UnlockedSpas] = true;
- if(Player[playerid][RifleK] > 249) Player[playerid][UnlockedSniper] = true;
- if(Player[playerid][MP5K] > 49) Player[playerid][UnlockedAK47] = true;
- if(Player[playerid][AK47K] > 99) Player[playerid][UnlockedM4] = true;
- if(Player[playerid][M4K] > 249) Player[playerid][UnlockedGrenade] = true;
- if(Player[playerid][Headshots] > 49) Player[playerid][UnlockedCigar] = true;
- if(Player[playerid][Tbags] > 49) Player[playerid][UnlockedHorns] = true;
- if(Player[playerid][GrenadeK] > 49) Player[playerid][UnlockedFlame] = true;
- }
- stock IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy) {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- if (x > minx && x < maxx && y > miny && y < maxy) return 1;
- return 0;
- }
- stock GetPlayerFPS(playerid) {
- new drunk2 = GetPlayerDrunkLevel(playerid);
- if(drunk2 < 100){
- SetPlayerDrunkLevel(playerid,2000);
- }else{
- if(Player[playerid][DLlast] != drunk2){
- new fps = Player[playerid][DLlast] - drunk2;
- if((fps > 0) && (fps < 200))
- Player[playerid][FPS] = fps;
- Player[playerid][DLlast] = drunk2;
- }
- }
- }
- stock IsNumeric(string[]){
- for (new i = 0, j = strlen(string); i < j; i++){
- if (string[i] > '9' || string[i] < '0') return 0;
- }
- return 1;
- }
- stock GetVehicleModelID(vehiclename[])
- {
- for(new i = 0; i < 211; i++){
- if(strfind(aVehicleNames[i], vehiclename, true) != -1)
- return i + 400;
- } return -1;
- }
- stock GetWeaponID(weaponname[]) {
- for(new i = 0; i < 55; ++i) {
- if(strfind(WeaponNames[i], weaponname, true) != -1)
- return i;
- }
- return -1;
- }
- stock SendErrorMessage(playerid, text[])
- {
- new str[160];
- format(str,sizeof(str),"FEHLER:{FFFFFF} %s",text);
- SendClientMessage(playerid,0xFF0000FF,str);
- return 1;
- }
- stock SendUsageMessage(playerid, text[])
- {
- new str[160];
- format(str,sizeof(str),"NUTZE:{FFFFFF} %s",text);
- SendClientMessage(playerid,0xFFFF00FF,str);
- return 1;
- }
- stock SendAdminMessage(level, text[])
- {
- foreach(new i : Player)
- {
- if((Player[i][Level] >= level) && (Player[i][Logged] == true))
- {
- new str[160];
- format(str,sizeof(str), "[ADMIN] %s", text);
- SendClientMessage(i, ADMIN_COLOR, str);
- }
- }
- return 1;
- }
- stock SendReportMessage(sender, receiver, reason[])
- {
- new str[260];
- format(str, sizeof(str), "[REPORT] %s (%d) hat %s (%d) reportet. [Grund: %s]", GetName(sender), sender, GetName(receiver), receiver,reason);
- foreach(new i : Player)
- {
- if((Player[i][Level] > 0) && (Player[i][Logged] == true))
- {
- SendClientMessage(i, COLOR_PINK, str);
- }
- }
- return 1;
- }
- stock SendMessageToAdmins(message[])
- {
- new pCount;
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if((Player[i][Level] >= 1) || !IsPlayerAdmin(i)) continue;
- pCount++;
- SendClientMessage(i, 0x00FF00AA, message);
- }
- CallLocalFunction("OnMessageToAdminsSent", "sd", message, pCount); //<-- !!!
- return 1;
- }
- stock SendACWarning(playerid, text[])
- {
- foreach(new i : Player)
- {
- if((Player[i][Level] >= 0) && (Player[i][Logged] == true))
- {
- new str[160];
- format(str,sizeof(str), "[AntiCheat] %s (%d) hat den Verdacht zu hacken/cheaten! [%s]", Player[playerid][Name], playerid, text);
- SendClientMessage(i, AC_COLOR, str);
- }
- }
- return 1;
- }
- LoadNextMap()
- {
- if(fexist(MAPLISTFILE))
- {
- new filename[64];
- new linenr;
- new File:maplist = fopen(MAPLISTFILE, io_read);
- while(fread(maplist, filename))
- {
- linenr++;
- if(linenr > CurrentMap)
- {
- StripNL(filename);
- if(filename[0])
- {
- strins(filename, "Maps/", 0, sizeof(filename));
- if(fexist(filename))
- {
- CurrentMap = linenr;
- fclose(maplist);
- LoadMap(filename);
- return 1;
- }
- }
- }
- }
- fclose(maplist);
- CurrentMap = 0;
- maplist = fopen(MAPLISTFILE, io_read);
- while(fread(maplist, filename))
- {
- CurrentMap++;
- StripNL(filename);
- if(filename[0])
- {
- strins(filename, "Maps/", 0, sizeof(filename));
- if(fexist(filename))
- {
- fclose(maplist);
- LoadMap(filename);
- return 1;
- }
- }
- }
- fclose(maplist);
- print("FEHLER: Kann keine Map zum laden finden!");
- return 0;
- }
- else
- {
- printf("FEHLER: %s existiert nicht!", MAPLISTFILE);
- return 0;
- }
- }
- LoadMap(filename[])
- {
- if(!fexist(filename))
- {
- printf("FEHLER: %s konnte nicht geladen werden", filename);
- return 0;
- }
- new string[128];
- new model, Float:pos[3], Float:rot[3];
- new start, end;
- new obidx;
- // -- Brief Case Vars
- new Float:BCPos[3];
- //new rand = random(2) + 1; // Get the random int spawn
- // --
- strcpy(MapFileName, filename);
- MapName[0] = 0;
- MapperName[0] = 0;
- new line[256], s, key[64];
- new File:handle = fopen(filename, io_read);
- if(!handle)
- {
- printf("FEHLER: %s konnte nicht geladen werden", filename);
- return 0;
- }
- while(fread(handle, line))
- {
- StripNL(line);
- if(!line[0]) continue;
- s = strfind(line, "=");
- if(s < 1)
- {
- if(strcmp(line, "CreateObject", false, 12) == 0)
- {
- if(obidx < sizeof(MapObjects))
- {
- start = strfind(line, "(", true);
- end = strfind(line, ")", true);
- if(start != -1 && end != -1)
- {
- strmid(line, line, start+1, end, sizeof(line));
- sscanf(line, "p,dffffff", model, pos[0], pos[1], pos[2], rot[0], rot[1], rot[2]);
- MapObjects[obidx] = CreateObject(model, pos[0], pos[1], pos[2] - 0.5, rot[0], rot[1], rot[2]);
- obidx++;
- //easter
- EasterX = pos[0];
- EasterY = pos[1];
- EasterText = Create3DTextLabel("Drücke F zum öffnen", 0x00FF00FF, pos[0], pos[1], pos[2], 5.0, 0, 0);
- }
- }
- else
- {
- print("WARNUNG: Objekt auf der Map konnte nicht geladen werden (zu viele Objekte)");
- }
- }
- continue;
- }
- strmid(key, line, 0, s++);
- if(strcmp(key, "Name") == 0)
- {
- strcpy(MapName, line[s]);
- format(string, sizeof(string), "mapname %s", MapName);
- SendRconCommand(string);
- }
- else if(strcmp(key, "Mapper") == 0) strcpy(MapperName, line[s]);
- else if(strcmp(key, "MinXY") == 0) sscanf(line[s], "p,ff", Min[0], Min[1]);
- else if(strcmp(key, "MaxXY") == 0) sscanf(line[s], "p,ff", Max[0], Max[1]);
- else if(strcmp(key, "Interior") == 0) MapInterior = strval(line[s]);
- else if(strcmp(key, "GSpawn1") == 0) sscanf(line[s], "p,ffff", GSpawn1[0], GSpawn1[1], GSpawn1[2], GSpawn1[3]);
- else if(strcmp(key, "GSpawn2") == 0) sscanf(line[s], "p,ffff", GSpawn2[0], GSpawn2[1], GSpawn2[2], GSpawn2[3]);
- else if(strcmp(key, "GSpawn3") == 0) sscanf(line[s], "p,ffff", GSpawn3[0], GSpawn3[1], GSpawn3[2], GSpawn3[3]);
- else if(strcmp(key, "BSpawn1") == 0) sscanf(line[s], "p,ffff", BSpawn1[0], BSpawn1[1], BSpawn1[2], BSpawn1[3]);
- else if(strcmp(key, "BSpawn2") == 0) sscanf(line[s], "p,ffff", BSpawn2[0], BSpawn2[1], BSpawn2[2], BSpawn2[3]);
- else if(strcmp(key, "BSpawn3") == 0) sscanf(line[s], "p,ffff", BSpawn3[0], BSpawn3[1], BSpawn3[2], BSpawn3[3]);
- else if(strcmp(key, "BSpawn3") == 0) sscanf(line[s], "p,ffff", BSpawn3[0], BSpawn3[1], BSpawn3[2], BSpawn3[3]);
- }
- fclose(handle);
- MapZone = GangZoneCreate(Min[0]-20,Min[1]-20,Max[0]+20,Max[1]+20);
- GangZoneShowForAll(MapZone, BLUE_COLOR);
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i))
- {
- SetPlayerInterior(i, MapInterior);
- SetPlayerVirtualWorld(i, 0);
- }
- }
- BCID = CreatePickup(BC_MODEL,19,BCPos[0], BCPos[1], BCPos[2],0);
- EndTime = 425;
- GKills = 0;
- BKills = 0;
- printf("[SCRIPT] Map %s geladen.", filename);
- return 1;
- }
- UnloadMap()
- {
- GangZoneDestroy(MapZone);
- for(new i=0; i < sizeof(MapObjects); i++)
- {
- if(MapObjects[i])
- {
- DestroyObject(MapObjects[i]);
- MapObjects[i] = 0;
- if(BCID != -1)
- {
- DestroyPickup(BCID);
- // -- Put some message here :)
- }
- //easter
- EasterX = 0.0;
- EasterY = 0.0;
- EggFound = false;
- Delete3DTextLabel(EasterText);
- }
- }
- }
- SendNextMapMessage()
- {
- new string[128];
- format(string, sizeof(string), "~g~~h~~h~%s", MapName);
- if(MapperName[0])
- {
- strcat(string, "~n~~w~Von: ");
- strcat(string, MapperName);
- }
- GameTextForAll(string, 1000, 1);
- }
- forward GetCurrentMap();
- public GetCurrentMap()
- {
- return CurrentMap;
- }
- forward SetCurrentMap(mapid);
- public SetCurrentMap(mapid)
- {
- CurrentMap = mapid;
- }
- OnRoundEnd(winner)
- {
- SetTimer("ExitMap", 5000, false);
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i) && Player[i][Spawned] == true)
- {
- TogglePlayerControllable(i, false);
- SetPlayerVirtualWorld(i, i);
- }
- }
- switch(winner)
- {
- case GREENTEAM:
- {
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i) && Player[i][Spawned] == true && Player[i][Team] == GREENTEAM)
- {
- GiveScore(i, 5);
- GivePlayerMoney(i, 5000);
- SendClientMessage(i, GREEN_COLOR, "Dein Team hat die Runde gewonnen, +5 Punkte!");
- PlayerPlaySound(i, 1097, 0.0, 0.0, 0.0);
- }
- }
- }
- case BLUETEAM:
- {
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i) && Player[i][Spawned] == true && Player[i][Team] == BLUETEAM)
- {
- GiveScore(i, 5);
- SendClientMessage(i, BLUE_COLOR, "+5 Punkte für das Gewinnen der Runde!");
- PlayerPlaySound(i, 1097, 0.0, 0.0, 0.0);
- }
- }
- }
- }
- }
- forward ExitMap();
- public ExitMap()
- {
- UpdateScoreTable();
- UnloadMap();
- AllowEnter = 0;
- SetTimer("SetAllowEnter", 5000, false);
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i))
- {
- if(Player[i][RKills] > Player[i][MaxRoundKills])
- {
- Player[i][MaxRoundKills] = Player[i][RKills];
- SavePlayer(i);
- }
- if(Player[i][RDamage] > Player[i][MaxRoundDamage])
- {
- Player[i][MaxRoundDamage] = Player[i][RDamage];
- SavePlayer(i);
- }
- ClearAnimations(i);
- Player[i][RKills] = 0;
- Player[i][RDeaths] = 0;
- Player[i][RDamage] = 0;
- if(Player[i][Spawned] == true)
- {
- for(new t=0; t < sizeof(ScoreTableTD); t++)
- {
- TextDrawShowForPlayer(i, ScoreTableTD[t]);
- HideStatisticsTextdraws(i);
- }
- Player[i][TableOnScreen] = true;
- TextDrawHideForPlayer(i, RoundStatsTD);
- }
- }
- }
- LoadNextMap();
- SendNextMapMessage();
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i))
- {
- ShowMap(i, 7000);
- SetPlayerSpawn(i);
- }
- }
- GKills = 0;
- BKills = 0;
- }
- SetPlayerSpawn(playerid)
- {
- new Float:Pos[4];
- switch(Player[playerid][Team])
- {
- case GREENTEAM:
- {
- new randomspawn = random(3);
- switch(randomspawn)
- {
- case 0: Pos = GSpawn1;
- case 1: Pos = GSpawn2;
- case 2: Pos = GSpawn3;
- }
- }
- case BLUETEAM:
- {
- new randomspawn = random(3);
- switch(randomspawn)
- {
- case 0: Pos = BSpawn1;
- case 1: Pos = BSpawn2;
- case 2: Pos = BSpawn3;
- }
- }
- }
- SetSpawnInfo(playerid, GetPlayerTeam(playerid), GetPlayerSkin(playerid), Pos[0]+RandomRange(-1, 1), Pos[1]+RandomRange(-1, 1), Pos[2]+1, Pos[3], 0, 0, 0, 0, 0, 0);
- }
- CloseTable(playerid)
- {
- if(Player[playerid][TableOnScreen] == true)
- {
- if(AllowEnter == 1)
- {
- for(new t=0; t < sizeof(ScoreTableTD); t++)
- {
- TextDrawHideForPlayer(playerid, ScoreTableTD[t]);
- }
- Player[playerid][TableOnScreen] = false;
- ShowStatisticsTextdraws(playerid);
- SetPlayerSpawn(playerid);
- TogglePlayerSpectating(playerid, false);
- PlayerPlaySound(playerid, 1098, 0, 0, 0);
- }
- }
- }
- forward SetAllowEnter();
- public SetAllowEnter()
- {
- AllowEnter = 1;
- foreach(new i : Player)
- {
- GameTextForPlayer(i, "~w~Drücke um zu ~n~spawnen", 1000, 1);
- }
- }
- stock strcpy(dest[], const source[], maxlength=sizeof dest)
- {
- return strmid(dest, source, 0, maxlength, maxlength);
- }
- stock StripNL(str[])
- {
- new
- i = strlen(str);
- while (i-- && str[i] <= ' ') str[i] = '\0';
- }
- GetTeamBalance(teamid)
- {
- new count;
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i))
- {
- if(Player[i][Team] == teamid && Player[i][Spawned] == true)
- {
- count++;
- }
- }
- }
- return count;
- }
- UpdateAInfo(playerid)
- {
- new sid = Player[playerid][SpecID];
- new ip[24];
- GetPlayerIp(sid, ip, sizeof(ip));
- new Float:health, Float:armor;
- new Float:pPacket = GetPlayerPacketLoss(sid);
- new FPSstr[16];
- if(Player[sid][FPS] < 30) format(FPSstr, sizeof(FPSstr), "~r~~h~%d~l~", Player[sid][FPS]);
- if(Player[sid][FPS] >= 30) format(FPSstr, sizeof(FPSstr), "%d", Player[sid][FPS]);
- new Pingstr[16];
- if(GetPlayerPing(sid) >= 150) format(Pingstr, sizeof(Pingstr), "~r~~h~%d~l~", GetPlayerPing(sid));
- if(GetPlayerPing(sid) < 150) format(Pingstr, sizeof(Pingstr), "%d", GetPlayerPing(sid));
- new PLstr[16];
- if(pPacket >= 2) format(PLstr, sizeof(PLstr), "~r~~h~%.2f~l~", pPacket);
- if(pPacket < 2) format(PLstr, sizeof(PLstr), "%.1f%%", pPacket);
- GetPlayerHealth(sid, health);
- GetPlayerArmour(sid, armor);
- new msg[128], info[512];
- format(msg, sizeof(msg), "%s%s [%d] %s~n~", TDColor[Player[sid][Team]], Player[sid][Name], sid, ip);
- strcat(info, msg, sizeof(info));
- format(msg, sizeof(msg), "Leben: [%.2f] Ruestung: [%.2f]~n~", health, armor);
- strcat(info, msg, sizeof(info));
- format(msg, sizeof(msg), "FPS: [%s] Ping: [%s] PacketLoss: [%s]", FPSstr, Pingstr, PLstr);
- strcat(info, msg);
- new count, weaponname[24];
- new weaponid, ammo;
- for(new s=1; s < 12; s++)
- {
- GetPlayerWeaponData(sid, s, weaponid, ammo);
- if(ammo)
- {
- GetWeaponName(weaponid, weaponname, sizeof(weaponname));
- if(!count)
- {
- format(msg, sizeof(msg), "%s: [%d]", weaponname, ammo);
- }
- else
- {
- format(msg, sizeof(msg), "%s %s: [%d]", msg, weaponname, ammo);
- }
- count++;
- if(count >= 2)
- {
- strcat(info, "~n~");
- strcat(info, msg);
- count = 0;
- }
- }
- }
- if(count)
- {
- strcat(info, "~n~");
- strcat(info, msg);
- }
- PlayerTextDrawSetString(playerid, AInfoTD, info);
- }
- UpdateScoreTable()
- {
- new
- Players[MAX_PLAYERS],
- Kills1[MAX_PLAYERS],
- Deaths1[MAX_PLAYERS],
- Float:Damage1[MAX_PLAYERS];
- new count;
- for(new i=0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- Players[count] = i;
- Kills1[count] = Player[i][RKills];
- Deaths1[count] = Player[i][RDeaths];
- Damage1[count] = Player[i][RDamage];
- count++;
- }
- }
- new m, temp, Float:temp2;
- for(new i=0; i < 15; i++)
- {
- m = i;
- for(new j=i+1; j < count; j++)
- if((Kills1[m] < Kills1[j]) || (Kills1[m] == Kills1[j] && Deaths1[m] > Deaths1[j]))
- m = j;
- temp = Players[i];
- Players[i] = Players[m];
- Players[m] = temp;
- temp = Kills1[i];
- Kills1[i] = Kills1[m];
- Kills1[m] = temp;
- temp = Deaths1[i];
- Deaths1[i] = Deaths1[m];
- Deaths1[m] = temp;
- temp2 = Damage1[i];
- Damage1[i] = Damage1[m];
- Damage1[m] = temp2;
- }
- new string[1024];
- string = "~g~~h~~h~Name~n~";
- for(new i=0; i < 15; i++)
- {
- strcat(string, "~n~", sizeof(string));
- if(i < count)
- {
- strcat(string, Player[Players[i]][Name], sizeof(string));
- }
- else
- {
- strcat(string, " ", sizeof(string));
- }
- if(i == 14)
- {
- TextDrawSetString(ScoreTableTD[2], string);
- string = "~g~~h~~h~Name~n~";
- }
- }
- string = "~g~~h~~h~Kills~n~";
- for(new i=0; i < 15; i++)
- {
- strcat(string, "~n~", sizeof(string));
- if(i < count)
- {
- format(string, sizeof(string), "%s%d", string, Kills1[i]);
- }
- else
- {
- strcat(string, " ", sizeof(string));
- }
- if(i == 14)
- {
- TextDrawSetString(ScoreTableTD[3], string);
- string = "~g~~h~~h~Kills~n~";
- }
- }
- string = "~g~~h~~h~Tode~n~";
- for(new i=0; i < 15; i++)
- {
- strcat(string, "~n~", sizeof(string));
- if(i < count)
- {
- format(string, sizeof(string), "%s%d", string, Deaths1[i]);
- }
- else
- {
- strcat(string, " ", sizeof(string));
- }
- if(i == 14)
- {
- TextDrawSetString(ScoreTableTD[4], string);
- string = "~g~~h~~h~Tode~n~";
- }
- }
- string = "~g~~h~~h~Schaden~n~";
- for(new i=0; i < 15; i++)
- {
- strcat(string, "~n~", sizeof(string));
- if(i < count)
- {
- format(string, sizeof(string), "%s%.2f", string, Damage1[i]);
- }
- else
- {
- strcat(string, " ", sizeof(string));
- }
- if(i == 14)
- {
- TextDrawSetString(ScoreTableTD[5], string);
- string = "~g~~h~~h~Schaden~n~";
- }
- }
- }
- RandomCheckPointCreate(playerid)
- {
- new cprandom = random(sizeof rCheckPoints);
- pCheckpoint[playerid] = CreateDynamicCP(rCheckPoints[cprandom][0], rCheckPoints[cprandom][1], rCheckPoints[cprandom][2], 2.5, -1, 15, playerid, 300.0);
- }
- SaveOldData(playerid)
- {
- new Float:Health,Float:Armour, Float:x, Float:y, Float:z, Float:a;
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, a);
- GetPlayerHealth(playerid, Health);
- GetPlayerArmour(playerid, Armour);
- GetPlayerSkin(playerid);
- for (new i = 0; i <= 12; i++) GetPlayerWeaponData(playerid, i, pData[playerid][weapons][i], pData[playerid][ammunation][i]);
- pData[playerid][p_X] = x;
- pData[playerid][p_Y] = y;
- pData[playerid][p_Z] = z;
- pData[playerid][p_A] = a;
- pData[playerid][p_Interior] = GetPlayerInterior(playerid);
- pData[playerid][p_VirtualWorld] = GetPlayerVirtualWorld(playerid);
- }
- GiveOldData(playerid)
- {
- ResetPlayerWeapons(playerid);
- for(new i=0; i < 13; i++)
- GivePlayerWeapon(playerid,pData[playerid][weapons][i], pData[playerid][ammunation][i]);
- SetPlayerPos(playerid, pData[playerid][p_X], pData[playerid][p_Y], pData[playerid][p_Z]);
- SetPlayerFacingAngle(playerid, pData[playerid][p_A]);
- SetPlayerInterior(playerid, pData[playerid][p_Interior]);
- SetPlayerVirtualWorld(playerid, pData[playerid][p_VirtualWorld]);
- GivePlayerWeapon(playerid,pData[playerid][weapons], pData[playerid][ammunation]);
- }
- CreateCPTextDraws(playerid)
- {
- CheckpointTD[playerid][0] = CreatePlayerTextDraw(playerid,18.000000, 210.000000, "_");
- PlayerTextDrawBackgroundColor(playerid,CheckpointTD[playerid][0], 255);
- PlayerTextDrawFont(playerid,CheckpointTD[playerid][0], 1);
- PlayerTextDrawLetterSize(playerid,CheckpointTD[playerid][0], 0.500000, 10.000000);
- PlayerTextDrawColor(playerid,CheckpointTD[playerid][0], -1);
- PlayerTextDrawSetOutline(playerid,CheckpointTD[playerid][0], 0);
- PlayerTextDrawSetProportional(playerid,CheckpointTD[playerid][0], 1);
- PlayerTextDrawSetShadow(playerid,CheckpointTD[playerid][0], 1);
- PlayerTextDrawUseBox(playerid,CheckpointTD[playerid][0], 1);
- PlayerTextDrawBoxColor(playerid,CheckpointTD[playerid][0], 255);
- PlayerTextDrawTextSize(playerid,CheckpointTD[playerid][0], 111.000000, 0.000000);
- PlayerTextDrawSetSelectable(playerid,CheckpointTD[playerid][0], 0);
- CheckpointTD[playerid][1] = CreatePlayerTextDraw(playerid,19.000000, 211.000000, "__");
- PlayerTextDrawBackgroundColor(playerid,CheckpointTD[playerid][1], 255);
- PlayerTextDrawFont(playerid,CheckpointTD[playerid][1], 1);
- PlayerTextDrawLetterSize(playerid,CheckpointTD[playerid][1], 0.500000, 9.699997);
- PlayerTextDrawColor(playerid,CheckpointTD[playerid][1], -1);
- PlayerTextDrawSetOutline(playerid,CheckpointTD[playerid][1], 0);
- PlayerTextDrawSetProportional(playerid,CheckpointTD[playerid][1], 1);
- PlayerTextDrawSetShadow(playerid,CheckpointTD[playerid][1], 1);
- PlayerTextDrawUseBox(playerid,CheckpointTD[playerid][1], 1);
- PlayerTextDrawBoxColor(playerid,CheckpointTD[playerid][1], 8438015);
- PlayerTextDrawTextSize(playerid,CheckpointTD[playerid][1], 110.000000, 0.000000);
- PlayerTextDrawSetSelectable(playerid,CheckpointTD[playerid][1], 0);
- CheckpointTD[playerid][2] = CreatePlayerTextDraw(playerid,28.000000, 202.000000, "~r~~h~C~w~heckpoint ~r~~h~P~w~rison");
- PlayerTextDrawBackgroundColor(playerid,CheckpointTD[playerid][2], 255);
- PlayerTextDrawFont(playerid,CheckpointTD[playerid][2], 2);
- PlayerTextDrawLetterSize(playerid,CheckpointTD[playerid][2], 0.180000, 1.700000);
- PlayerTextDrawColor(playerid,CheckpointTD[playerid][2], 16711935);
- PlayerTextDrawSetOutline(playerid,CheckpointTD[playerid][2], 1);
- PlayerTextDrawSetProportional(playerid,CheckpointTD[playerid][2], 1);
- PlayerTextDrawSetSelectable(playerid,CheckpointTD[playerid][2], 0);
- CheckpointTD[playerid][3] = CreatePlayerTextDraw(playerid,38.000000, 265.000000, "~r~~h~C~w~heckpoints~n~ ~r~~h~a~w~bgelaufen");
- PlayerTextDrawBackgroundColor(playerid,CheckpointTD[playerid][3], 255);
- PlayerTextDrawFont(playerid,CheckpointTD[playerid][3], 2);
- PlayerTextDrawLetterSize(playerid,CheckpointTD[playerid][3], 0.180000, 1.700000);
- PlayerTextDrawColor(playerid,CheckpointTD[playerid][3], 16711935);
- PlayerTextDrawSetOutline(playerid,CheckpointTD[playerid][3], 1);
- PlayerTextDrawSetProportional(playerid,CheckpointTD[playerid][3], 1);
- PlayerTextDrawSetSelectable(playerid,CheckpointTD[playerid][3], 0);
- CheckpointTD[playerid][4] = CreatePlayerTextDraw(playerid,34.000000, 232.000000, "00");
- PlayerTextDrawBackgroundColor(playerid,CheckpointTD[playerid][4], 255);
- PlayerTextDrawFont(playerid,CheckpointTD[playerid][4], 2);
- PlayerTextDrawLetterSize(playerid,CheckpointTD[playerid][4], 0.479999, 2.499999);
- PlayerTextDrawColor(playerid,CheckpointTD[playerid][4], 16711935);
- PlayerTextDrawSetOutline(playerid,CheckpointTD[playerid][4], 1);
- PlayerTextDrawSetProportional(playerid,CheckpointTD[playerid][4], 1);
- PlayerTextDrawSetSelectable(playerid,CheckpointTD[playerid][4], 0);
- CheckpointTD[playerid][5] = CreatePlayerTextDraw(playerid,63.000000, 232.000000, "/");
- PlayerTextDrawBackgroundColor(playerid,CheckpointTD[playerid][5], 255);
- PlayerTextDrawFont(playerid,CheckpointTD[playerid][5], 2);
- PlayerTextDrawLetterSize(playerid,CheckpointTD[playerid][5], 0.479999, 2.499999);
- PlayerTextDrawColor(playerid,CheckpointTD[playerid][5], -16776961);
- PlayerTextDrawSetOutline(playerid,CheckpointTD[playerid][5], 1);
- PlayerTextDrawSetProportional(playerid,CheckpointTD[playerid][5], 1);
- PlayerTextDrawSetSelectable(playerid,CheckpointTD[playerid][5], 0);
- CheckpointTD[playerid][6] = CreatePlayerTextDraw(playerid,75.000000, 232.000000, "99");
- PlayerTextDrawBackgroundColor(playerid,CheckpointTD[playerid][6], 255);
- PlayerTextDrawFont(playerid,CheckpointTD[playerid][6], 2);
- PlayerTextDrawLetterSize(playerid,CheckpointTD[playerid][6], 0.479999, 2.499999);
- PlayerTextDrawColor(playerid,CheckpointTD[playerid][6], 16711935);
- PlayerTextDrawSetOutline(playerid,CheckpointTD[playerid][6], 1);
- PlayerTextDrawSetProportional(playerid,CheckpointTD[playerid][6], 1);
- PlayerTextDrawSetSelectable(playerid,CheckpointTD[playerid][6], 0);
- }
- DestroyCPTextDraws(playerid)
- {
- for(new i; i < sizeof(CheckpointTD[]); i++)
- {
- PlayerTextDrawDestroy(playerid, CheckpointTD[playerid][i]);
- }
- return 1;
- }
- ShowCPTextDraws(playerid)
- {
- new str[64];
- for(new i; i < sizeof(CheckpointTD[]); i++)
- {
- PlayerTextDrawShow(playerid, CheckpointTD[playerid][i]);
- }
- format(str, sizeof(str),"%02d", CheckPointCounter[playerid]);
- PlayerTextDrawSetString(playerid, CheckpointTD[playerid][4], str);
- format(str, sizeof(str),"%02d", CheckPointCounter[playerid]);
- PlayerTextDrawSetString(playerid, CheckpointTD[playerid][4], str);
- format(str, sizeof(str),"%02d", MaxCheckPoints[playerid]);
- PlayerTextDrawSetString(playerid, CheckpointTD[playerid][6], str);
- format(str, sizeof(str),"%02d", MaxCheckPoints[playerid]);
- PlayerTextDrawSetString(playerid, CheckpointTD[playerid][6], str);
- return 1;
- }
- HideCPTextDraws(playerid)
- {
- for(new i; i < sizeof(CheckpointTD[]); i++)
- {
- PlayerTextDrawHide(playerid, CheckpointTD[playerid][i]);
- }
- return 1;
- }
- stock RandomRange(min, max)
- {
- return (random((max + 1) - min) + min);
- }
- SyncPlayer(playerid)
- {
- new Weapon[13], Ammo[13];
- for(new k = 0; k < 13; k++) GetPlayerWeaponData(playerid, k, Weapon[k], Ammo[k]);
- if(IsPlayerInAnyVehicle(playerid)) return 1;
- if(Player[playerid][Syncing] == true) return 1;
- if(Player[playerid][TableOnScreen] == true) return 1;
- if(EndTime < 1) return 1;
- Player[playerid][Syncing] = true;
- SetTimerEx("SyncInProgress", 1000, false, "i", playerid);
- new Float:HP[2], Float:Pos[4], Int, VirtualWorld, CurrWep;
- GetPlayerHealth(playerid, HP[0]);
- GetPlayerArmour(playerid, HP[1]);
- CurrWep = GetPlayerWeapon(playerid);
- GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
- GetPlayerFacingAngle(playerid, Pos[3]);
- Int = GetPlayerInterior(playerid);
- VirtualWorld = GetPlayerVirtualWorld(playerid);
- ClearAnimations(playerid);
- SetSpawnInfo(playerid, GetPlayerTeam(playerid), GetPlayerSkin(playerid), Pos[0], Pos[1], Pos[2]-0.4, Pos[3], 0, 0, 0, 0, 0, 0);
- SpawnPlayerEx(playerid);
- SetPlayerHealth(playerid, HP[0]);
- SetPlayerArmour(playerid, HP[1]);
- SetPlayerInterior(playerid, Int);
- SetPlayerVirtualWorld(playerid, VirtualWorld);
- // SetPlayerSpawn(playerid);
- SetPlayerAmmo(playerid, DEAGLE, Ammo[2]); //deagle
- SetPlayerAmmo(playerid, Player[playerid][Gun2], Ammo[3]); //shotgun
- SetPlayerAmmo(playerid, Player[playerid][Gun3], Ammo[4]); //ak
- SetPlayerAmmo(playerid, Player[playerid][Gun4], Ammo[5]); //mp5
- SetPlayerAmmo(playerid, Player[playerid][Gun5], Ammo[6]); //sniper
- SetPlayerAmmo(playerid, Player[playerid][Gun6], Ammo[8]); //grenade
- SetPlayerArmedWeapon(playerid, CurrWep);
- return 1;
- }
- forward SyncInProgress(playerid);
- public SyncInProgress(playerid) {
- Player[playerid][Syncing] = false;
- }
- stock ReturnPlayerID(l_PlayerName[]) //by Jeffry
- {
- new l_name[MAX_PLAYER_NAME];
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
- {
- if(!strcmp(l_name,l_PlayerName, true)) return i;
- }
- }
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
- {
- if(strfind(l_name,l_PlayerName,true)!=-1) return i;
- }
- }
- return INVALID_PLAYER_ID;
- }
- UpdateTDs(playerid)
- {
- HideGunsTDs(playerid);
- if(Player[playerid][Gun2] == SHOTGUN)
- {
- PlayerTextDrawBackgroundColor(playerid, G2TD, 0x00FF0022);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G2TD, 0xFFFFFF22);
- }
- if(Player[playerid][Gun2] == SPAS)
- {
- PlayerTextDrawBackgroundColor(playerid, G2bTD, 0x00FF0022);
- } else {
- if(Player[playerid][UnlockedSpas] == true)
- {
- PlayerTextDrawBackgroundColor(playerid, G2bTD, 0xFFFFFF22);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G2bTD, 0xFF000022);
- }
- }
- if(Player[playerid][Gun3] == 0)
- {
- PlayerTextDrawBackgroundColor(playerid, G30TD, 0x00FF0022);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G30TD, 0xFFFFFF22);
- }
- if(Player[playerid][Gun3] == AK47)
- {
- PlayerTextDrawBackgroundColor(playerid, G3TD, 0x00FF0022);
- } else {
- if(Player[playerid][UnlockedAK47] == true)
- {
- PlayerTextDrawBackgroundColor(playerid, G3TD, 0xFFFFFF22);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G3TD, 0xFF000022);
- }
- }
- if(Player[playerid][Gun3] == M4)
- {
- PlayerTextDrawBackgroundColor(playerid, G3bTD, 0x00FF0022);
- } else {
- if(Player[playerid][UnlockedM4] == true)
- {
- PlayerTextDrawBackgroundColor(playerid, G3bTD, 0xFFFFFF22);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G3bTD, 0xFF000022);
- }
- }
- if(Player[playerid][Gun4] == 0)
- {
- PlayerTextDrawBackgroundColor(playerid, G40TD, 0x00FF0022);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G40TD, 0xFFFFFF22);
- }
- if(Player[playerid][Gun4] == MP5)
- {
- PlayerTextDrawBackgroundColor(playerid, G4TD, 0x00FF0022);
- } else {
- if(Player[playerid][UnlockedMP5] == true)
- {
- PlayerTextDrawBackgroundColor(playerid, G4TD, 0xFFFFFF22);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G4TD, 0xFF000022);
- }
- }
- if(Player[playerid][Gun5] == RIFLE)
- {
- PlayerTextDrawBackgroundColor(playerid, G5TD, 0x00FF0022);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G5TD, 0xFFFFFF22);
- }
- if(Player[playerid][Gun5] == SNIPER)
- {
- PlayerTextDrawBackgroundColor(playerid, G5bTD, 0x00FF0022);
- } else {
- if(Player[playerid][UnlockedSniper] == true)
- {
- PlayerTextDrawBackgroundColor(playerid, G5bTD, 0xFFFFFF22);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G5bTD, 0xFF000022);
- }
- }
- if(Player[playerid][Gun6] == 0)
- {
- PlayerTextDrawBackgroundColor(playerid, G60TD, 0x00FF0022);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G60TD, 0xFFFFFF22);
- }
- if(Player[playerid][Gun6] == GRENADE)
- {
- PlayerTextDrawBackgroundColor(playerid, G6TD, 0x00FF0022);
- } else {
- if(Player[playerid][UnlockedGrenade] == true)
- {
- PlayerTextDrawBackgroundColor(playerid, G6TD, 0xFFFFFF22);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G6TD, 0xFF000022);
- }
- }
- ShowGunsTDs(playerid);
- }
- LoadGunsTDs(playerid)
- {
- SelectTextDraw(playerid, 0xFFFFFFFF);
- GboxTD = CreatePlayerTextDraw(playerid, 330.0000000, 90.000000, "Waffen_Auswahl_Menu~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~");
- PlayerTextDrawAlignment(playerid, GboxTD, 2);
- PlayerTextDrawBackgroundColor(playerid, GboxTD, 255);
- PlayerTextDrawFont(playerid, GboxTD, 2);
- PlayerTextDrawLetterSize(playerid, GboxTD, 0.500000, 1.800000);
- PlayerTextDrawColor(playerid, GboxTD, 8454143);
- PlayerTextDrawSetOutline(playerid, GboxTD, 0);
- PlayerTextDrawSetProportional(playerid, GboxTD, 1);
- PlayerTextDrawSetShadow(playerid, GboxTD, 1);
- PlayerTextDrawUseBox(playerid, GboxTD, 1);
- PlayerTextDrawBoxColor(playerid, GboxTD, 8453896);
- PlayerTextDrawTextSize(playerid, GboxTD, 0.000000, -390.000000);
- G1TD = CreatePlayerTextDraw(playerid, 370, 126.0, "_");
- PlayerTextDrawFont(playerid, G1TD, 5);
- PlayerTextDrawTextSize(playerid, G1TD, 70.0, 45.0);
- PlayerTextDrawUseBox(playerid, G1TD, 1);
- PlayerTextDrawBackgroundColor(playerid, G1TD, 0x00FF0022);
- PlayerTextDrawSetPreviewRot(playerid, G1TD, 0.0, 30.0, 225.0, 0.7);
- PlayerTextDrawSetPreviewModel(playerid, G1TD, 348); //deagle
- PlayerTextDrawSetSelectable(playerid, PlayerText:G1TD, 1);
- G2TD = CreatePlayerTextDraw(playerid, 370, 174.0, "_");
- PlayerTextDrawFont(playerid, G2TD, 5);
- PlayerTextDrawTextSize(playerid, G2TD, 70.0, 45.0);
- PlayerTextDrawUseBox(playerid, G2TD, 1);
- if(Player[playerid][Gun2] == SHOTGUN)
- {
- PlayerTextDrawBackgroundColor(playerid, G2TD, 0x00FF0022);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G2TD, 0xFFFFFF22);
- }
- PlayerTextDrawSetPreviewRot(playerid, G2TD, 0.0, 30.0, 225.0, 0.9);
- PlayerTextDrawSetPreviewModel(playerid, G2TD, 349); //shotgun
- PlayerTextDrawSetSelectable(playerid, PlayerText:G2TD, 1);
- G2bTD = CreatePlayerTextDraw(playerid, 370.0 + 74.0, 174.0, "_");
- PlayerTextDrawFont(playerid, G2bTD, 5);
- PlayerTextDrawTextSize(playerid, G2bTD, 70.0, 45.0);
- PlayerTextDrawUseBox(playerid, G2bTD, 1);
- if(Player[playerid][Gun2] == SPAS)
- {
- PlayerTextDrawBackgroundColor(playerid, G2bTD, 0x00FF0022);
- } else {
- if(Player[playerid][UnlockedSpas] == true)
- {
- PlayerTextDrawBackgroundColor(playerid, G2bTD, 0xFFFFFF22);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G2bTD, 0xFF000022);
- }
- }
- PlayerTextDrawSetPreviewRot(playerid, G2bTD, 0.0, 30.0, 225.0, 0.9);
- PlayerTextDrawSetPreviewModel(playerid, G2bTD, 351); //spas
- PlayerTextDrawSetSelectable(playerid, PlayerText:G2bTD, 1);
- G30TD = CreatePlayerTextDraw(playerid, 370 - 74.0, 222.0, "_");
- PlayerTextDrawFont(playerid, G30TD, 5);
- PlayerTextDrawTextSize(playerid, G30TD, 70.0, 45.0);
- PlayerTextDrawUseBox(playerid, G30TD, 1);
- if(Player[playerid][Gun3] == 0)
- {
- PlayerTextDrawBackgroundColor(playerid, G30TD, 0x00FF0022);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G30TD, 0xFFFFFF22);
- }
- PlayerTextDrawSetPreviewRot(playerid, G30TD, 0.0, 30.0, 225.0, 20.0);
- PlayerTextDrawSetPreviewModel(playerid, G30TD, 331); //aknone
- PlayerTextDrawSetSelectable(playerid, PlayerText:G30TD, 1);
- G3TD = CreatePlayerTextDraw(playerid, 370, 222.0, "_");
- PlayerTextDrawFont(playerid, G3TD, 5);
- PlayerTextDrawTextSize(playerid, G3TD, 70.0, 45.0);
- PlayerTextDrawUseBox(playerid, G3TD, 1);
- if(Player[playerid][Gun3] == AK47)
- {
- PlayerTextDrawBackgroundColor(playerid, G3TD, 0x00FF0022);
- } else {
- if(Player[playerid][UnlockedAK47] == true)
- {
- PlayerTextDrawBackgroundColor(playerid, G3TD, 0xFFFFFF22);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G3TD, 0xFF000022);
- }
- }
- PlayerTextDrawSetPreviewRot(playerid, G3TD, 0.0, 30.0, 225.0, 1.0);
- PlayerTextDrawSetPreviewModel(playerid, G3TD, 355); //ak
- PlayerTextDrawSetSelectable(playerid, PlayerText:G3TD, 1);
- G3bTD = CreatePlayerTextDraw(playerid, 370.0 + 74.0, 222.0, "_");
- PlayerTextDrawFont(playerid, G3bTD, 5);
- PlayerTextDrawTextSize(playerid, G3bTD, 70.0, 45.0);
- PlayerTextDrawUseBox(playerid, G3bTD, 1);
- if(Player[playerid][Gun3] == M4)
- {
- PlayerTextDrawBackgroundColor(playerid, G3bTD, 0x00FF0022);
- } else {
- if(Player[playerid][UnlockedM4] == true)
- {
- PlayerTextDrawBackgroundColor(playerid, G3bTD, 0xFFFFFF22);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G3bTD, 0xFF000022);
- }
- }
- PlayerTextDrawSetPreviewRot(playerid, G3bTD, 0.0, 30.0, 225.0, 1.0);
- PlayerTextDrawSetPreviewModel(playerid, G3bTD, 356); //m4
- PlayerTextDrawSetSelectable(playerid, PlayerText:G3bTD, 1);
- G40TD = CreatePlayerTextDraw(playerid, 370 - 74.0, 270.0, "_");
- PlayerTextDrawFont(playerid, G40TD, 5);
- PlayerTextDrawTextSize(playerid, G40TD, 70.0, 45.0);
- PlayerTextDrawUseBox(playerid, G40TD, 1);
- if(Player[playerid][Gun4] == 0)
- {
- PlayerTextDrawBackgroundColor(playerid, G40TD, 0x00FF0022);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G40TD, 0xFFFFFF22);
- }
- PlayerTextDrawSetPreviewRot(playerid, G40TD, 0.0, 30.0, 225.0, 20.0);
- PlayerTextDrawSetPreviewModel(playerid, G40TD, 331); //mp5none
- PlayerTextDrawSetSelectable(playerid, PlayerText:G40TD, 1);
- G4TD = CreatePlayerTextDraw(playerid, 370, 270.0, "_");
- PlayerTextDrawFont(playerid, G4TD, 5);
- PlayerTextDrawTextSize(playerid, G4TD, 70.0, 45.0);
- PlayerTextDrawUseBox(playerid, G4TD, 1);
- if(Player[playerid][Gun4] == MP5)
- {
- PlayerTextDrawBackgroundColor(playerid, G4TD, 0x00FF0022);
- } else {
- if(Player[playerid][UnlockedMP5] == true)
- {
- PlayerTextDrawBackgroundColor(playerid, G4TD, 0xFFFFFF22);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G4TD, 0xFF000022);
- }
- }
- PlayerTextDrawSetPreviewRot(playerid, G4TD, 0.0, 30.0, 225.0, 0.9);
- PlayerTextDrawSetPreviewModel(playerid, G4TD, 353); //mp5
- PlayerTextDrawSetSelectable(playerid, PlayerText:G4TD, 1);
- G5TD = CreatePlayerTextDraw(playerid, 370, 318.0, "_");
- PlayerTextDrawFont(playerid, G5TD, 5);
- PlayerTextDrawTextSize(playerid, G5TD, 70.0, 45.0);
- PlayerTextDrawUseBox(playerid, G5TD, 1);
- if(Player[playerid][Gun5] == RIFLE)
- {
- PlayerTextDrawBackgroundColor(playerid, G5TD, 0x00FF0022);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G5TD, 0xFFFFFF22);
- }
- PlayerTextDrawSetPreviewRot(playerid, G5TD, 0.0, 30.0, 225.0, 1.0);
- PlayerTextDrawSetPreviewModel(playerid, G5TD, 357); //rifle
- PlayerTextDrawSetSelectable(playerid, PlayerText:G5TD, 1);
- G5bTD = CreatePlayerTextDraw(playerid, 370.0 + 74.0, 318.0, "_");
- PlayerTextDrawFont(playerid, G5bTD, 5);
- PlayerTextDrawTextSize(playerid, G5bTD, 70.0, 45.0);
- PlayerTextDrawUseBox(playerid, G5bTD, 1);
- if(Player[playerid][Gun5] == SNIPER)
- {
- PlayerTextDrawBackgroundColor(playerid, G5bTD, 0x00FF0022);
- } else {
- if(Player[playerid][UnlockedSniper] == true)
- {
- PlayerTextDrawBackgroundColor(playerid, G5bTD, 0xFFFFFF22);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G5bTD, 0xFF000022);
- }
- }
- PlayerTextDrawSetPreviewRot(playerid, G5bTD, 0.0, 30.0, 225.0, 1.0);
- PlayerTextDrawSetPreviewModel(playerid, G5bTD, 358); //sniper
- PlayerTextDrawSetSelectable(playerid, PlayerText:G5bTD, 1);
- G60TD = CreatePlayerTextDraw(playerid, 370 - 74.0, 366.0, "_");
- PlayerTextDrawFont(playerid, G60TD, 5);
- PlayerTextDrawTextSize(playerid, G60TD, 70.0, 45.0);
- PlayerTextDrawUseBox(playerid, G60TD, 1);
- if(Player[playerid][Gun6] == 0)
- {
- PlayerTextDrawBackgroundColor(playerid, G60TD, 0x00FF0022);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G60TD, 0xFFFFFF22);
- }
- PlayerTextDrawSetPreviewRot(playerid, G60TD, 0.0, 30.0, 225.0, 20.0);
- PlayerTextDrawSetPreviewModel(playerid, G60TD, 331); //grenadenone
- PlayerTextDrawSetSelectable(playerid, PlayerText:G60TD, 1);
- G6TD = CreatePlayerTextDraw(playerid, 370, 366.0, "_");
- PlayerTextDrawFont(playerid, G6TD, 5);
- PlayerTextDrawTextSize(playerid, G6TD, 70.0, 45.0);
- PlayerTextDrawUseBox(playerid, G6TD, 1);
- if(Player[playerid][Gun6] == GRENADE)
- {
- PlayerTextDrawBackgroundColor(playerid, G6TD, 0x00FF0022);
- } else {
- if(Player[playerid][UnlockedGrenade] == true)
- {
- PlayerTextDrawBackgroundColor(playerid, G6TD, 0xFFFFFF22);
- } else {
- PlayerTextDrawBackgroundColor(playerid, G6TD, 0xFF000022);
- }
- }
- PlayerTextDrawSetPreviewRot(playerid, G6TD, 0.0, 30.0, 225.0, 0.9);
- PlayerTextDrawSetPreviewModel(playerid, G6TD, 342); //grenade
- PlayerTextDrawSetSelectable(playerid, PlayerText:G6TD, 1);
- GunTypes = CreatePlayerTextDraw(playerid, 167.000000 - 20, 153.000000, "Primaer~n~~n~~n~Sekundaer~n~~n~~n~Dritt~n~~n~~n~Kurze Distanz~n~~n~~n~Grosse Distanz~n~~n~~n~Werfbar");
- PlayerTextDrawBackgroundColor(playerid, GunTypes, 255);
- PlayerTextDrawFont(playerid, GunTypes, 2);
- PlayerTextDrawLetterSize(playerid, GunTypes, 0.400000, 1.800000);
- PlayerTextDrawColor(playerid, GunTypes, -1);
- PlayerTextDrawSetOutline(playerid, GunTypes, 0);
- PlayerTextDrawSetProportional(playerid, GunTypes, 1);
- PlayerTextDrawSetShadow(playerid, GunTypes, 1);
- GunNames1 = CreatePlayerTextDraw(playerid, 385.000000 + 20, 153.000000, "Deagle~n~~n~~n~Shotgun~n~~n~~n~AK47~n~~n~~n~MP5~n~~n~~n~Rifle~n~~n~~n~Grenade");
- PlayerTextDrawAlignment(playerid, GunNames1, 2);
- PlayerTextDrawBackgroundColor(playerid, GunNames1, 255);
- PlayerTextDrawFont(playerid, GunNames1, 1);
- PlayerTextDrawLetterSize(playerid, GunNames1, 0.400000, 1.800000);
- PlayerTextDrawColor(playerid, GunNames1, -1);
- PlayerTextDrawSetOutline(playerid, GunNames1, 0);
- PlayerTextDrawSetProportional(playerid, GunNames1, 1);
- PlayerTextDrawSetShadow(playerid, GunNames1, 1);
- GunNames2 = CreatePlayerTextDraw(playerid, 459.000000 + 20, 202.000000, "Spas~n~~n~~n~M4~n~~n~~n~~n~~n~~n~Sniper");
- PlayerTextDrawAlignment(playerid, GunNames2, 2);
- PlayerTextDrawBackgroundColor(playerid, GunNames2, 255);
- PlayerTextDrawFont(playerid, GunNames2, 1);
- PlayerTextDrawLetterSize(playerid, GunNames2, 0.400000, 1.800000);
- PlayerTextDrawColor(playerid, GunNames2, -1);
- PlayerTextDrawSetOutline(playerid, GunNames2, 0);
- PlayerTextDrawSetProportional(playerid, GunNames2, 1);
- PlayerTextDrawSetShadow(playerid, GunNames2, 1);
- GunNames3 = CreatePlayerTextDraw(playerid, 311.000000 + 20, 250.000000, "Keine~n~~n~~n~Keine~n~~n~~n~~n~~n~~n~Keine");
- PlayerTextDrawAlignment(playerid, GunNames3, 2);
- PlayerTextDrawBackgroundColor(playerid, GunNames3, 255);
- PlayerTextDrawFont(playerid, GunNames3, 1);
- PlayerTextDrawLetterSize(playerid, GunNames3, 0.400000, 1.800000);
- PlayerTextDrawColor(playerid, GunNames3, -1);
- PlayerTextDrawSetOutline(playerid, GunNames3, 0);
- PlayerTextDrawSetProportional(playerid, GunNames3, 1);
- PlayerTextDrawSetShadow(playerid, GunNames3, 1);
- ExitTD = CreatePlayerTextDraw(playerid, 581.000000, 371.000000, "Auswahl verlassen");
- PlayerTextDrawAlignment(playerid, ExitTD, 2);
- PlayerTextDrawBackgroundColor(playerid, ExitTD, 255);
- PlayerTextDrawFont(playerid, ExitTD, 2);
- PlayerTextDrawLetterSize(playerid, ExitTD, 0.450000, 2.000000);
- PlayerTextDrawColor(playerid, ExitTD, -1);
- PlayerTextDrawSetOutline(playerid, ExitTD, 0);
- PlayerTextDrawSetProportional(playerid, ExitTD, 1);
- PlayerTextDrawSetShadow(playerid, ExitTD, 1);
- PlayerTextDrawUseBox(playerid, ExitTD, 1);
- PlayerTextDrawBoxColor(playerid, ExitTD, 0x0080FF22);
- PlayerTextDrawBackgroundColor(playerid, ExitTD, 0x0080FF22);
- PlayerTextDrawTextSize(playerid, ExitTD, 70.000000, 105.000000);
- PlayerTextDrawSetSelectable(playerid, PlayerText:ExitTD, 1);
- }
- HideGunsTDs(playerid)
- {
- PlayerTextDrawHide(playerid, GboxTD);
- PlayerTextDrawHide(playerid, GunTypes);
- PlayerTextDrawHide(playerid, GunNames1);
- PlayerTextDrawHide(playerid, GunNames2);
- PlayerTextDrawHide(playerid, GunNames3);
- PlayerTextDrawHide(playerid, ExitTD);
- PlayerTextDrawHide(playerid, G1TD);
- PlayerTextDrawHide(playerid, G2TD);
- PlayerTextDrawHide(playerid, G2bTD);
- PlayerTextDrawHide(playerid, G30TD);
- PlayerTextDrawHide(playerid, G3TD);
- PlayerTextDrawHide(playerid, G3bTD);
- PlayerTextDrawHide(playerid, G40TD);
- PlayerTextDrawHide(playerid, G4TD);
- PlayerTextDrawHide(playerid, G5TD);
- PlayerTextDrawHide(playerid, G5bTD);
- PlayerTextDrawHide(playerid, G60TD);
- PlayerTextDrawHide(playerid, G6TD);
- }
- stock stringContainsIP(const szStr[], bool:fixedSeparation = false, bool:ignoreNegatives = false, bool:ranges = true) // bool:ipMustHavePort = true
- {
- new
- i = 0, ch, lastCh, len = strlen(szStr), trueIPInts = 0, bool:isNumNegative = false, bool:numIsValid = true, // Invalid numbers are 1-1
- numberFound = -1, numLen = 0, numStr[5], numSize = sizeof(numStr),
- lastSpacingPos = -1, numSpacingDiff, numLastSpacingDiff, numSpacingDiffCount // -225\0 (4 len)
- ;
- while(i <= len)
- {
- lastCh = ch;
- ch = szStr[i];
- if(ch >= '0' && ch <= '9' || (ranges == true && ch == '*')) {
- if(numIsValid && numLen < numSize) {
- if(lastCh == '-') {
- if(numLen == 0 && ignoreNegatives == false) {
- isNumNegative = true;
- }
- else if(numLen > 0) {
- numIsValid = false;
- }
- }
- numberFound = strval(numStr);
- if(numLen == (3 + _:isNumNegative) && !(numberFound >= -255 && numberFound <= 255)) { // IP Num is valid up to 4 characters.. -255
- for(numLen = 3; numLen > 0; numLen--) {
- numStr[numLen] = EOS;
- }
- }
- else if(lastCh == '-' && ignoreNegatives) {
- i++;
- continue;
- } else {
- if(numLen == 0 && numIsValid == true && isNumNegative == true && lastCh == '-') {
- numStr[numLen++] = lastCh;
- }
- numStr[numLen++] = ch;
- }
- }
- } else {
- if(numLen && numIsValid) {
- numberFound = strval(numStr);
- if(numberFound >= -255 && numberFound <= 255) {
- if(fixedSeparation) {
- if(lastSpacingPos != -1) {
- numLastSpacingDiff = numSpacingDiff;
- numSpacingDiff = i - lastSpacingPos - numLen;
- if(trueIPInts == 1 || numSpacingDiff == numLastSpacingDiff) {
- ++numSpacingDiffCount;
- }
- }
- lastSpacingPos = i;
- }
- if(++trueIPInts >= 4) {
- break;
- }
- }
- for(numLen = 3; numLen > 0; numLen--) {
- numStr[numLen] = EOS;
- }
- isNumNegative = false;
- } else {
- numIsValid = true;
- }
- }
- i++;
- }
- if(fixedSeparation == true && numSpacingDiffCount < 3) {
- return 0;
- }
- return (trueIPInts >= 4);
- }
- ShowGunsTDs(playerid)
- {
- PlayerTextDrawShow(playerid, GboxTD);
- PlayerTextDrawShow(playerid, GunTypes);
- PlayerTextDrawShow(playerid, GunNames1);
- PlayerTextDrawShow(playerid, GunNames2);
- PlayerTextDrawShow(playerid, GunNames3);
- PlayerTextDrawShow(playerid, ExitTD);
- PlayerTextDrawShow(playerid, G1TD);
- PlayerTextDrawShow(playerid, G2TD);
- PlayerTextDrawShow(playerid, G2bTD);
- PlayerTextDrawShow(playerid, G30TD);
- PlayerTextDrawShow(playerid, G3TD);
- PlayerTextDrawShow(playerid, G3bTD);
- PlayerTextDrawShow(playerid, G40TD);
- PlayerTextDrawShow(playerid, G4TD);
- PlayerTextDrawShow(playerid, G5TD);
- PlayerTextDrawShow(playerid, G5bTD);
- PlayerTextDrawShow(playerid, G60TD);
- PlayerTextDrawShow(playerid, G6TD);
- }
- stock SpawnPlayerEx(playerid)
- {
- if(Player[playerid][Spawned] == true)
- {
- if(IsPlayerInAnyVehicle(playerid)) RemovePlayerFromVehicle(playerid);
- SetPlayerPos(playerid, 0, 0, 0);
- SpawnPlayer(playerid);
- }
- return 1;
- }
- stock sscanf(string[], format[], {Float,_}:...)
- {
- #if defined isnull
- if (isnull(string))
- #else
- if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
- #endif
- {
- return format[0];
- }
- #pragma tabsize 4
- new
- formatPos = 0,
- stringPos = 0,
- paramPos = 2,
- paramCount = numargs(),
- delim = ' ';
- while (string[stringPos] && string[stringPos] <= ' ')
- {
- stringPos++;
- }
- while (paramPos < paramCount && string[stringPos])
- {
- switch (format[formatPos++])
- {
- case '\0':
- {
- return 0;
- }
- case 'i', 'd':
- {
- new
- neg = 1,
- num = 0,
- ch = string[stringPos];
- if (ch == '-')
- {
- neg = -1;
- ch = string[++stringPos];
- }
- do
- {
- stringPos++;
- if ('0' <= ch <= '9')
- {
- num = (num * 10) + (ch - '0');
- }
- else
- {
- return -1;
- }
- }
- while ((ch = string[stringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num * neg);
- }
- case 'h', 'x':
- {
- new
- num = 0,
- ch = string[stringPos];
- do
- {
- stringPos++;
- switch (ch)
- {
- case 'x', 'X':
- {
- num = 0;
- continue;
- }
- case '0' .. '9':
- {
- num = (num << 4) | (ch - '0');
- }
- case 'a' .. 'f':
- {
- num = (num << 4) | (ch - ('a' - 10));
- }
- case 'A' .. 'F':
- {
- num = (num << 4) | (ch - ('A' - 10));
- }
- default:
- {
- return -1;
- }
- }
- }
- while ((ch = string[stringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num);
- }
- case 'c':
- {
- setarg(paramPos, 0, string[stringPos++]);
- }
- case 'f':
- {
- new changestr[256], changepos = 0, strpos = stringPos;
- while(changepos < 16 && string[strpos] && string[strpos] != delim)
- {
- changestr[changepos++] = string[strpos++];
- }
- changestr[changepos] = '\0';
- setarg(paramPos,0,_:floatstr(changestr));
- }
- case 'p':
- {
- delim = format[formatPos++];
- continue;
- }
- case '\'':
- {
- new
- end = formatPos - 1,
- ch;
- while ((ch = format[++end]) && ch != '\'') {}
- if (!ch)
- {
- return -1;
- }
- format[end] = '\0';
- if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
- {
- if (format[end + 1])
- {
- return -1;
- }
- return 0;
- }
- format[end] = '\'';
- stringPos = ch + (end - formatPos);
- formatPos = end + 1;
- }
- case 'u':
- {
- new
- end = stringPos - 1,
- id = 0,
- bool:num = true,
- ch;
- while ((ch = string[++end]) && ch != delim)
- {
- if (num)
- {
- if ('0' <= ch <= '9')
- {
- id = (id * 10) + (ch - '0');
- }
- else
- {
- num = false;
- }
- }
- }
- if (num && IsPlayerConnected(id))
- {
- setarg(paramPos, 0, id);
- }
- else
- {
- #if !defined foreach
- #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
- #define __SSCANF_FOREACH__
- #endif
- string[end] = '\0';
- num = false;
- new
- name[MAX_PLAYER_NAME];
- id = end - stringPos;
- foreach (Player, playerid)
- {
- GetPlayerName(playerid, name, sizeof (name));
- if (!strcmp(name, string[stringPos], true, id))
- {
- setarg(paramPos, 0, playerid);
- num = true;
- break;
- }
- }
- if (!num)
- {
- setarg(paramPos, 0, INVALID_PLAYER_ID);
- }
- string[end] = ch;
- #if defined __SSCANF_FOREACH__
- #undef foreach
- #undef __SSCANF_FOREACH__
- #endif
- }
- stringPos = end;
- }
- case 's', 'z':
- {
- new
- i = 0,
- ch;
- if (format[formatPos])
- {
- while ((ch = string[stringPos++]) && ch != delim)
- {
- setarg(paramPos, i++, ch);
- }
- if (!i)
- {
- return -1;
- }
- }
- else
- {
- while ((ch = string[stringPos++]))
- {
- setarg(paramPos, i++, ch);
- }
- }
- stringPos--;
- setarg(paramPos, i, '\0');
- }
- default:
- {
- continue;
- }
- }
- while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
- {
- stringPos++;
- }
- while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
- {
- stringPos++;
- }
- paramPos++;
- }
- do
- {
- if ((delim = format[formatPos++]) > ' ')
- {
- if (delim == '\'')
- {
- while ((delim = format[formatPos++]) && delim != '\'') {}
- }
- else if (delim != 'z')
- {
- return delim;
- }
- }
- }
- while (delim > ' ');
- return 0;
- }
- stock GetPlayerAKA(playerid)
- {
- new IP[MAX_PLAYER_NAME];
- GetPlayerIp(playerid, IP, sizeof(IP));
- new string[128];
- format(string, sizeof(string), "SELECT `Names` FROM `AKAs` WHERE `IP` = '%s'", IP);
- new DBResult:dbres = db_query(sqliteconnection, string);
- AKAString = "";
- if(db_num_rows(dbres) > 0) {
- db_get_field_assoc(dbres, "Names", AKAString, sizeof(AKAString));
- } else {
- format(string, sizeof(string), "INSERT INTO `AKAs` (`IP`, `Names`) VALUES ('%s', '%s')", IP, "");
- db_free_result(db_query(sqliteconnection, string));
- }
- db_free_result(dbres);
- return AKAString;
- }
- stock MatchAKA(playerid)
- {
- AKAString = "";
- AKAString = GetPlayerAKA(playerid);
- new idx;
- do {
- idx = strfind(AKAString, ",", true, idx == 0 ? 0 : idx+1);
- new compare[MAX_PLAYER_NAME];
- new idx2 = strfind(AKAString, ",", true, idx+1);
- strmid(compare, AKAString, idx+1, (idx2 == -1 ? strlen(AKAString) : idx2) );
- if(!strcmp(compare, Player[playerid][Name], true) && strlen(Player[playerid][Name]) > 0 && strlen(compare) > 0) {
- return 1;
- }
- } while(idx != -1);
- return 0;
- }
- stock RemovePlayerWeapon( playerid, weaponid )
- {
- new
- plyWeapons[ 12 ], plyAmmo[ 12 ];
- for( new slot = 0; slot != 12; slot ++ )
- {
- new
- weap, ammo;
- GetPlayerWeaponData( playerid, slot, weap, ammo );
- if( weap != weaponid )
- {
- GetPlayerWeaponData( playerid, slot, plyWeapons[ slot ], plyAmmo[ slot ] );
- }
- }
- ResetPlayerWeapons( playerid );
- for( new slot = 0; slot != 12; slot ++ )
- {
- GivePlayerWeapon( playerid, plyWeapons[ slot ], plyAmmo[ slot ] );
- }
- }
- //================================= Textdraws ==================================
- LoadMainTextDraws()
- {
- WebTextTD = TextDrawCreate(98.5000000, 325.000000, "~y~~h~~h~ New Deathmatch - 1 Hit Deathmatch!");
- TextDrawFont(WebTextTD, 2);
- TextDrawLetterSize(WebTextTD, 0.230000, 1.200000);
- TextDrawBackgroundColor(WebTextTD, 8453905);
- TextDrawColor(WebTextTD, 0x000000FF);
- TextDrawSetOutline(WebTextTD, 1);
- TextDrawSetShadow(WebTextTD, 0);
- TextDrawSetProportional(WebTextTD, 1);
- TextDrawAlignment(WebTextTD, 2);
- RoundStatsTD = TextDrawCreate(315.0, 428.0, "_");
- TextDrawFont(RoundStatsTD, 2);
- TextDrawLetterSize(RoundStatsTD, 0.36 + 0.04, 1.70);
- TextDrawBackgroundColor(RoundStatsTD,0x00444433);
- TextDrawColor(RoundStatsTD,0x000000FF);
- TextDrawSetOutline(RoundStatsTD,1);
- TextDrawSetShadow(RoundStatsTD,0);
- TextDrawAlignment(RoundStatsTD,2);
- TextDrawSetProportional(RoundStatsTD, 1);
- BalanceTD = TextDrawCreate(575.000000, 28.000000, "_");
- TextDrawAlignment(BalanceTD, 2);
- TextDrawFont(BalanceTD, 2);
- TextDrawLetterSize(BalanceTD, 0.260000, 1.400000);
- TextDrawColor(BalanceTD,-65281);
- // TextDrawBackgroundColor(BalanceTD,0x00000044);
- TextDrawBackgroundColor(BalanceTD,0x00444433);
- TextDrawSetOutline(BalanceTD, 1);
- TextDrawSetShadow(BalanceTD, 0);
- ScoreTableTD[0] = TextDrawCreate(171.000000 - 20.00, 135.000000 + 30.00, "LD_POKE:cd9s");
- TextDrawLetterSize(ScoreTableTD[0], 0.000000, 0.000000);
- TextDrawTextSize(ScoreTableTD[0], 270.000000, 230.000000);
- TextDrawAlignment(ScoreTableTD[0], 1);
- TextDrawColor(ScoreTableTD[0], 0x00000099);
- TextDrawSetShadow(ScoreTableTD[0], 0);
- TextDrawSetOutline(ScoreTableTD[0], 0);
- TextDrawFont(ScoreTableTD[0], 4);
- ScoreTableTD[1] = TextDrawCreate(180.000000 - 20.00, 140.000000 + 30.00, "~g~~h~~h~#~n~~n~01~n~02~n~03~n~04~n~05~n~06~n~07~n~08~n~09~n~10~n~11~n~12~n~13~n~14~n~15");
- ScoreTableTD[2] = TextDrawCreate(200.000000 - 20.00, 140.000000 + 30.00, "~g~~h~~h~Name~n~");
- ScoreTableTD[3] = TextDrawCreate(310.000000 - 20.00, 140.000000 + 30.00, "~g~~h~~h~Kills~n~");
- ScoreTableTD[4] = TextDrawCreate(340.000000 - 20.00, 140.000000 + 30.00, "~g~~h~~h~Tode~n~");
- ScoreTableTD[5] = TextDrawCreate(390.000000 - 20.00, 140.000000 + 30.00, "~g~~h~~h~Schaden~n~");
- for(new t=1; t < sizeof(ScoreTableTD); t++)
- {
- TextDrawFont(ScoreTableTD[t], 1);
- TextDrawLetterSize(ScoreTableTD[t], 0.300000, 1.40000);
- TextDrawSetShadow(ScoreTableTD[t], 0);
- }
- }
- LoadLoginTextdraws(playerid)
- {
- LoginTD[playerid][0] = CreatePlayerTextDraw(playerid, 263.766967, 108.899925, "Anmeldung");
- PlayerTextDrawLetterSize(playerid, LoginTD[playerid][0], 0.480666, 2.458667);
- PlayerTextDrawAlignment(playerid, LoginTD[playerid][0], 1);
- PlayerTextDrawColor(playerid, LoginTD[playerid][0], -1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][0], 10);
- PlayerTextDrawSetOutline(playerid, LoginTD[playerid][0], 1);
- PlayerTextDrawBackgroundColor(playerid, LoginTD[playerid][0], 85);
- PlayerTextDrawFont(playerid, LoginTD[playerid][0], 3);
- PlayerTextDrawSetProportional(playerid, LoginTD[playerid][0], 1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][0], 10);
- LoginTD[playerid][1] = CreatePlayerTextDraw(playerid, 180.333343, 141.881423, "box");
- PlayerTextDrawLetterSize(playerid, LoginTD[playerid][1], 0.000000, 29.333353);
- PlayerTextDrawTextSize(playerid, LoginTD[playerid][1], 441.000000, 0.000000);
- PlayerTextDrawAlignment(playerid, LoginTD[playerid][1], 1);
- PlayerTextDrawColor(playerid, LoginTD[playerid][1], 16711935);
- PlayerTextDrawUseBox(playerid, LoginTD[playerid][1], 1);
- PlayerTextDrawBoxColor(playerid, LoginTD[playerid][1], -1378294167);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][1], 0);
- PlayerTextDrawSetOutline(playerid, LoginTD[playerid][1], 0);
- PlayerTextDrawBackgroundColor(playerid, LoginTD[playerid][1], 255);
- PlayerTextDrawFont(playerid, LoginTD[playerid][1], 1);
- PlayerTextDrawSetProportional(playerid, LoginTD[playerid][1], 1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][1], 0);
- LoginTD[playerid][2] = CreatePlayerTextDraw(playerid, 191.499786, 207.259460, "gib_dein_passwort_ein_um_fortzufahren");
- PlayerTextDrawLetterSize(playerid, LoginTD[playerid][2], 0.261999, 1.429926);
- PlayerTextDrawAlignment(playerid, LoginTD[playerid][2], 1);
- PlayerTextDrawColor(playerid, LoginTD[playerid][2], -1378294017);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][2], 1);
- PlayerTextDrawSetOutline(playerid, LoginTD[playerid][2], 1);
- PlayerTextDrawBackgroundColor(playerid, LoginTD[playerid][2], 255);
- PlayerTextDrawFont(playerid, LoginTD[playerid][2], 2);
- PlayerTextDrawSetProportional(playerid, LoginTD[playerid][2], 1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][2], 1);
- LoginTD[playerid][3] = CreatePlayerTextDraw(playerid, 241.066207, 156.159790, "Willkommen,_NAME!");
- PlayerTextDrawLetterSize(playerid, LoginTD[playerid][3], 0.400000, 1.600000);
- PlayerTextDrawAlignment(playerid, LoginTD[playerid][3], 1);
- PlayerTextDrawColor(playerid, LoginTD[playerid][3], -5963521);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][3], -285);
- PlayerTextDrawSetOutline(playerid, LoginTD[playerid][3], 1);
- PlayerTextDrawBackgroundColor(playerid, LoginTD[playerid][3], 255);
- PlayerTextDrawFont(playerid, LoginTD[playerid][3], 1);
- PlayerTextDrawSetProportional(playerid, LoginTD[playerid][3], 1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][3], -285);
- LoginTD[playerid][4] = CreatePlayerTextDraw(playerid, 178.933288, 133.826202, "LD_SPAC:white");
- PlayerTextDrawLetterSize(playerid, LoginTD[playerid][4], 0.000000, 0.000000);
- PlayerTextDrawTextSize(playerid, LoginTD[playerid][4], 263.000000, 7.000000);
- PlayerTextDrawAlignment(playerid, LoginTD[playerid][4], 1);
- PlayerTextDrawColor(playerid, LoginTD[playerid][4], -1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][4], 0);
- PlayerTextDrawSetOutline(playerid, LoginTD[playerid][4], 0);
- PlayerTextDrawBackgroundColor(playerid, LoginTD[playerid][4], 255);
- PlayerTextDrawFont(playerid, LoginTD[playerid][4], 4);
- PlayerTextDrawSetProportional(playerid, LoginTD[playerid][4], 0);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][4], 0);
- LoginTD[playerid][5] = CreatePlayerTextDraw(playerid, 192.999954, 366.711181, "box");
- PlayerTextDrawLetterSize(playerid, LoginTD[playerid][5], 0.000000, 3.033333);
- PlayerTextDrawTextSize(playerid, LoginTD[playerid][5], 287.000000, 0.000000);
- PlayerTextDrawAlignment(playerid, LoginTD[playerid][5], 1);
- PlayerTextDrawColor(playerid, LoginTD[playerid][5], -1);
- PlayerTextDrawUseBox(playerid, LoginTD[playerid][5], 1);
- PlayerTextDrawBoxColor(playerid, LoginTD[playerid][5], 146);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][5], 9);
- PlayerTextDrawSetOutline(playerid, LoginTD[playerid][5], -178);
- PlayerTextDrawBackgroundColor(playerid, LoginTD[playerid][5], 255);
- PlayerTextDrawFont(playerid, LoginTD[playerid][5], 1);
- PlayerTextDrawSetProportional(playerid, LoginTD[playerid][5], 1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][5], 9);
- LoginTD[playerid][6] = CreatePlayerTextDraw(playerid, 198.799728, 370.014953, "Anmelden");
- PlayerTextDrawLetterSize(playerid, LoginTD[playerid][6], 0.468665, 2.251259);
- PlayerTextDrawAlignment(playerid, LoginTD[playerid][6], 1);
- PlayerTextDrawColor(playerid, LoginTD[playerid][6], 16711935);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][6], 2);
- PlayerTextDrawSetOutline(playerid, LoginTD[playerid][6], 2);
- PlayerTextDrawBackgroundColor(playerid, LoginTD[playerid][6], 255);
- PlayerTextDrawFont(playerid, LoginTD[playerid][6], 3);
- PlayerTextDrawSetProportional(playerid, LoginTD[playerid][6], 1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][6], 2);
- PlayerTextDrawSetSelectable(playerid, LoginTD[playerid][6], true);
- LoginTD[playerid][7] = CreatePlayerTextDraw(playerid, 332.069183, 366.135467, "box");
- PlayerTextDrawLetterSize(playerid, LoginTD[playerid][7], 0.000000, 3.107347);
- PlayerTextDrawTextSize(playerid, LoginTD[playerid][7], 427.602600, 0.000000);
- PlayerTextDrawAlignment(playerid, LoginTD[playerid][7], 1);
- PlayerTextDrawColor(playerid, LoginTD[playerid][7], -1);
- PlayerTextDrawUseBox(playerid, LoginTD[playerid][7], 1);
- PlayerTextDrawBoxColor(playerid, LoginTD[playerid][7], 146);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][7], 0);
- PlayerTextDrawSetOutline(playerid, LoginTD[playerid][7], 0);
- PlayerTextDrawBackgroundColor(playerid, LoginTD[playerid][7], 255);
- PlayerTextDrawFont(playerid, LoginTD[playerid][7], 1);
- PlayerTextDrawSetProportional(playerid, LoginTD[playerid][7], 1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][7], 0);
- LoginTD[playerid][8] = CreatePlayerTextDraw(playerid, 336.599792, 369.155639, "Abbrechen");
- PlayerTextDrawLetterSize(playerid, LoginTD[playerid][8], 0.460999, 2.520889);
- PlayerTextDrawAlignment(playerid, LoginTD[playerid][8], 1);
- PlayerTextDrawColor(playerid, LoginTD[playerid][8], -2147483393);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][8], 0);
- PlayerTextDrawSetOutline(playerid, LoginTD[playerid][8], 2);
- PlayerTextDrawBackgroundColor(playerid, LoginTD[playerid][8], 255);
- PlayerTextDrawFont(playerid, LoginTD[playerid][8], 3);
- PlayerTextDrawSetProportional(playerid, LoginTD[playerid][8], 1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][8], 0);
- PlayerTextDrawSetSelectable(playerid, LoginTD[playerid][8], true);
- LoginTD[playerid][9] = CreatePlayerTextDraw(playerid, 205.531555, 243.132949, "box");
- PlayerTextDrawLetterSize(playerid, LoginTD[playerid][9], 0.000000, 2.733334);
- PlayerTextDrawTextSize(playerid, LoginTD[playerid][9], 415.999816, 0.000000);
- PlayerTextDrawAlignment(playerid, LoginTD[playerid][9], 1);
- PlayerTextDrawColor(playerid, LoginTD[playerid][9], -1);
- PlayerTextDrawUseBox(playerid, LoginTD[playerid][9], 1);
- PlayerTextDrawBoxColor(playerid, LoginTD[playerid][9], -1061109630);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][9], 0);
- PlayerTextDrawSetOutline(playerid, LoginTD[playerid][9], 0);
- PlayerTextDrawBackgroundColor(playerid, LoginTD[playerid][9], 255);
- PlayerTextDrawFont(playerid, LoginTD[playerid][9], 1);
- PlayerTextDrawSetProportional(playerid, LoginTD[playerid][9], 1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][9], 0);
- PlayerTextDrawSetSelectable(playerid, LoginTD[playerid][9], true);
- LoginTD[playerid][10] = CreatePlayerTextDraw(playerid, 209.633666, 242.855422, "--------------------------");
- PlayerTextDrawLetterSize(playerid, LoginTD[playerid][10], 0.553999, 2.375703);
- PlayerTextDrawAlignment(playerid, LoginTD[playerid][10], 1);
- PlayerTextDrawColor(playerid, LoginTD[playerid][10], 8388863);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][10], 0);
- PlayerTextDrawSetOutline(playerid, LoginTD[playerid][10], 0);
- PlayerTextDrawBackgroundColor(playerid, LoginTD[playerid][10], 255);
- PlayerTextDrawFont(playerid, LoginTD[playerid][10], 3);
- PlayerTextDrawSetProportional(playerid, LoginTD[playerid][10], 1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][10], 0);
- LoginTD[playerid][11] = CreatePlayerTextDraw(playerid, 228.766891, 81.833312, ""ServerName"");
- PlayerTextDrawLetterSize(playerid, LoginTD[playerid][11], 0.514333, 2.296888);
- PlayerTextDrawAlignment(playerid, LoginTD[playerid][11], 1);
- PlayerTextDrawColor(playerid, LoginTD[playerid][11], -2139094785);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][11], 0);
- PlayerTextDrawSetOutline(playerid, LoginTD[playerid][11], 2);
- PlayerTextDrawBackgroundColor(playerid, LoginTD[playerid][11], 255);
- PlayerTextDrawFont(playerid, LoginTD[playerid][11], 2);
- PlayerTextDrawSetProportional(playerid, LoginTD[playerid][11], 1);
- PlayerTextDrawSetShadow(playerid, LoginTD[playerid][11], 0);
- }
- LoadDigiTextdraws(playerid)
- {
- DigiHP[playerid] = TextDrawCreate(566.000000, 67.000000, "100");
- TextDrawBackgroundColor(DigiHP[playerid], 255);
- TextDrawFont(DigiHP[playerid], 1);
- TextDrawLetterSize(DigiHP[playerid], 0.340000, 0.799998);
- TextDrawColor(DigiHP[playerid], -6291201);
- TextDrawSetOutline(DigiHP[playerid], 1);
- TextDrawSetProportional(DigiHP[playerid], 1);
- DigiAP[playerid] = TextDrawCreate(566.000000, 45.000000, "100");
- TextDrawBackgroundColor(DigiAP[playerid], 255);
- TextDrawFont(DigiAP[playerid], 1);
- TextDrawLetterSize(DigiAP[playerid], 0.340000, 0.799998);
- TextDrawColor(DigiAP[playerid], 1778319615);
- TextDrawSetOutline(DigiAP[playerid], 1);
- TextDrawSetProportional(DigiAP[playerid], 1);
- }
- LoadStatisticsTextdraws(playerid)
- {
- TDEditor_PTD[playerid][0] = CreatePlayerTextDraw(playerid, 523.333374, 237.703811, "box");
- PlayerTextDrawLetterSize(playerid, TDEditor_PTD[playerid][0], 0.000000, 19.300001);
- PlayerTextDrawTextSize(playerid, TDEditor_PTD[playerid][0], 639.000000, 0.000000);
- PlayerTextDrawAlignment(playerid, TDEditor_PTD[playerid][0], 1);
- PlayerTextDrawColor(playerid, TDEditor_PTD[playerid][0], -1);
- PlayerTextDrawUseBox(playerid, TDEditor_PTD[playerid][0], 1);
- PlayerTextDrawBoxColor(playerid, TDEditor_PTD[playerid][0], -203);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][0], 0);
- PlayerTextDrawSetOutline(playerid, TDEditor_PTD[playerid][0], 0);
- PlayerTextDrawBackgroundColor(playerid, TDEditor_PTD[playerid][0], 255);
- PlayerTextDrawFont(playerid, TDEditor_PTD[playerid][0], 1);
- PlayerTextDrawSetProportional(playerid, TDEditor_PTD[playerid][0], 0);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][0], 0);
- TDEditor_PTD[playerid][1] = CreatePlayerTextDraw(playerid, 530.998291, 238.177795, "Statistiken");
- PlayerTextDrawLetterSize(playerid, TDEditor_PTD[playerid][1], 0.500333, 1.421630);
- PlayerTextDrawAlignment(playerid, TDEditor_PTD[playerid][1], 1);
- PlayerTextDrawColor(playerid, TDEditor_PTD[playerid][1], -2147483393);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][1], 0);
- PlayerTextDrawSetOutline(playerid, TDEditor_PTD[playerid][1], 1);
- PlayerTextDrawBackgroundColor(playerid, TDEditor_PTD[playerid][1], 255);
- PlayerTextDrawFont(playerid, TDEditor_PTD[playerid][1], 3);
- PlayerTextDrawSetProportional(playerid, TDEditor_PTD[playerid][1], 1);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][1], 0);
- TDEditor_PTD[playerid][2] = CreatePlayerTextDraw(playerid, 526.998962, 262.003112, "Kills:");
- PlayerTextDrawLetterSize(playerid, TDEditor_PTD[playerid][2], 0.407333, 1.678814);
- PlayerTextDrawAlignment(playerid, TDEditor_PTD[playerid][2], 1);
- PlayerTextDrawColor(playerid, TDEditor_PTD[playerid][2], -1523963137);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][2], 1);
- PlayerTextDrawSetOutline(playerid, TDEditor_PTD[playerid][2], 0);
- PlayerTextDrawBackgroundColor(playerid, TDEditor_PTD[playerid][2], 255);
- PlayerTextDrawFont(playerid, TDEditor_PTD[playerid][2], 2);
- PlayerTextDrawSetProportional(playerid, TDEditor_PTD[playerid][2], 1);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][2], 1);
- TDEditor_PTD[playerid][3] = CreatePlayerTextDraw(playerid, 526.000000, 286.503234, "Tode:");
- PlayerTextDrawLetterSize(playerid, TDEditor_PTD[playerid][3], 0.418333, 1.807407);
- PlayerTextDrawAlignment(playerid, TDEditor_PTD[playerid][3], 1);
- PlayerTextDrawColor(playerid, TDEditor_PTD[playerid][3], -1523963137);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][3], 1);
- PlayerTextDrawSetOutline(playerid, TDEditor_PTD[playerid][3], 0);
- PlayerTextDrawBackgroundColor(playerid, TDEditor_PTD[playerid][3], 255);
- PlayerTextDrawFont(playerid, TDEditor_PTD[playerid][3], 2);
- PlayerTextDrawSetProportional(playerid, TDEditor_PTD[playerid][3], 1);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][3], 1);
- TDEditor_PTD[playerid][4] = CreatePlayerTextDraw(playerid, 526.333251, 309.051849, "Score:");
- PlayerTextDrawLetterSize(playerid, TDEditor_PTD[playerid][4], 0.398666, 1.952592);
- PlayerTextDrawAlignment(playerid, TDEditor_PTD[playerid][4], 1);
- PlayerTextDrawColor(playerid, TDEditor_PTD[playerid][4], -1523963137);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][4], 1);
- PlayerTextDrawSetOutline(playerid, TDEditor_PTD[playerid][4], 0);
- PlayerTextDrawBackgroundColor(playerid, TDEditor_PTD[playerid][4], 255);
- PlayerTextDrawFont(playerid, TDEditor_PTD[playerid][4], 2);
- PlayerTextDrawSetProportional(playerid, TDEditor_PTD[playerid][4], 1);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][4], 1);
- TDEditor_PTD[playerid][5] = CreatePlayerTextDraw(playerid, 571.433288, 388.855682, "VIP");
- PlayerTextDrawLetterSize(playerid, TDEditor_PTD[playerid][5], 0.482000, 2.537481);
- PlayerTextDrawAlignment(playerid, TDEditor_PTD[playerid][5], 1);
- PlayerTextDrawColor(playerid, TDEditor_PTD[playerid][5], -65281);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][5], 84);
- PlayerTextDrawSetOutline(playerid, TDEditor_PTD[playerid][5], 3);
- PlayerTextDrawBackgroundColor(playerid, TDEditor_PTD[playerid][5], 255);
- PlayerTextDrawFont(playerid, TDEditor_PTD[playerid][5], 1);
- PlayerTextDrawSetProportional(playerid, TDEditor_PTD[playerid][5], 1);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][5], 84);
- TDEditor_PTD[playerid][6] = CreatePlayerTextDraw(playerid, 525.732910, 364.466613, "Rang:");
- PlayerTextDrawLetterSize(playerid, TDEditor_PTD[playerid][6], 0.255332, 2.077035);
- PlayerTextDrawAlignment(playerid, TDEditor_PTD[playerid][6], 1);
- PlayerTextDrawColor(playerid, TDEditor_PTD[playerid][6], -16776961);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][6], 1);
- PlayerTextDrawSetOutline(playerid, TDEditor_PTD[playerid][6], 0);
- PlayerTextDrawBackgroundColor(playerid, TDEditor_PTD[playerid][6], 255);
- PlayerTextDrawFont(playerid, TDEditor_PTD[playerid][6], 2);
- PlayerTextDrawSetProportional(playerid, TDEditor_PTD[playerid][6], 1);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][6], 1);
- TDEditor_PTD[playerid][7] = CreatePlayerTextDraw(playerid, 544.328186, 337.496093, "IM_DIENST");
- PlayerTextDrawLetterSize(playerid, TDEditor_PTD[playerid][7], 0.458666, 2.002369);
- PlayerTextDrawAlignment(playerid, TDEditor_PTD[playerid][7], 1);
- PlayerTextDrawColor(playerid, TDEditor_PTD[playerid][7], 65535);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][7], 0);
- PlayerTextDrawSetOutline(playerid, TDEditor_PTD[playerid][7], 1);
- PlayerTextDrawBackgroundColor(playerid, TDEditor_PTD[playerid][7], 255);
- PlayerTextDrawFont(playerid, TDEditor_PTD[playerid][7], 1);
- PlayerTextDrawSetProportional(playerid, TDEditor_PTD[playerid][7], 1);
- PlayerTextDrawSetShadow(playerid, TDEditor_PTD[playerid][7], 0);
- }
- ShowStatisticsTextdraws(playerid)
- {
- PlayerTextDrawShow(playerid, TDEditor_PTD[playerid][0]);
- PlayerTextDrawShow(playerid, TDEditor_PTD[playerid][1]);
- PlayerTextDrawShow(playerid, TDEditor_PTD[playerid][2]);
- PlayerTextDrawShow(playerid, TDEditor_PTD[playerid][3]);
- PlayerTextDrawShow(playerid, TDEditor_PTD[playerid][4]);
- PlayerTextDrawShow(playerid, TDEditor_PTD[playerid][6]);
- }
- HideStatisticsTextdraws(playerid)
- {
- PlayerTextDrawHide(playerid, TDEditor_PTD[playerid][0]);
- PlayerTextDrawHide(playerid, TDEditor_PTD[playerid][1]);
- PlayerTextDrawHide(playerid, TDEditor_PTD[playerid][2]);
- PlayerTextDrawHide(playerid, TDEditor_PTD[playerid][3]);
- PlayerTextDrawHide(playerid, TDEditor_PTD[playerid][4]);
- PlayerTextDrawHide(playerid, TDEditor_PTD[playerid][5]);
- PlayerTextDrawHide(playerid, TDEditor_PTD[playerid][6]);
- }
- ShowStatVIPTextDraw(playerid)
- {
- PlayerTextDrawShow(playerid, TDEditor_PTD[playerid][5]);
- }
- ShowLoginTextdraws(playerid)
- {
- PlayerTextDrawShow(playerid, LoginTD[playerid][0]);
- PlayerTextDrawShow(playerid, LoginTD[playerid][1]);
- PlayerTextDrawShow(playerid, LoginTD[playerid][2]);
- PlayerTextDrawShow(playerid, LoginTD[playerid][3]);
- PlayerTextDrawShow(playerid, LoginTD[playerid][4]);
- PlayerTextDrawShow(playerid, LoginTD[playerid][5]);
- PlayerTextDrawShow(playerid, LoginTD[playerid][6]);
- PlayerTextDrawShow(playerid, LoginTD[playerid][7]);
- PlayerTextDrawShow(playerid, LoginTD[playerid][8]);
- PlayerTextDrawShow(playerid, LoginTD[playerid][9]);
- PlayerTextDrawShow(playerid, LoginTD[playerid][11]);
- SelectTextDraw(playerid, 0x808080FF);
- }
- ShowLoginBars(playerid)
- {
- PlayerTextDrawShow(playerid, LoginTD[playerid][10]);
- }
- ShowOnDutyTextdraw(playerid)
- {
- PlayerTextDrawShow(playerid, TDEditor_PTD[playerid][7]);
- }
- HideOnDutyTextdraw(playerid)
- {
- PlayerTextDrawHide(playerid, TDEditor_PTD[playerid][7]);
- }
- LoadPlayerTextDraws(playerid)
- {
- /*
- AchTD = CreatePlayerTextDraw(playerid, 620, 350, "_");
- PlayerTextDrawBackgroundColor(playerid, AchTD, 0x00AAAA33);
- PlayerTextDrawFont(playerid, AchTD, 1);
- PlayerTextDrawLetterSize(playerid, AchTD, 0.250000, 1.100000);
- PlayerTextDrawColor(playerid, AchTD, 0x000000FF);
- PlayerTextDrawSetOutline(playerid, AchTD, 1);
- PlayerTextDrawAlignment(playerid, AchTD, 3);
- */
- Bar1 = CreatePlayerProgressBar(playerid, 497, 376, 140.500000, 1.700000, 0x00FFFF99, 250, BAR_DIRECTION_RIGHT);
- AchTD = CreatePlayerTextDraw(playerid, 495, 360, "_");
- PlayerTextDrawBackgroundColor(playerid, AchTD, 0x00AAAA33);
- PlayerTextDrawFont(playerid, AchTD, 1);
- PlayerTextDrawLetterSize(playerid, AchTD, 0.25, 1.2);
- PlayerTextDrawColor(playerid, AchTD, 0x000000FF);
- PlayerTextDrawSetOutline(playerid, AchTD, 1);
- PlayerTextDrawUseBox(playerid, AchTD, 1);
- PlayerTextDrawTextSize(playerid, AchTD, 635, 0);
- PlayerTextDrawBoxColor(playerid, AchTD, 0x00000022);
- AInfoTD = CreatePlayerTextDraw(playerid, 12, 200, "_");
- // PlayerTextDrawBackgroundColor(playerid, AInfoTD, 8453905);
- PlayerTextDrawBackgroundColor(playerid, AInfoTD, 0x0080FF22);
- PlayerTextDrawFont(playerid, AInfoTD, 1);
- PlayerTextDrawLetterSize(playerid, AInfoTD, 0.250000, 1.100000);
- PlayerTextDrawColor(playerid, AInfoTD, 0x000000FF);
- PlayerTextDrawSetOutline(playerid, AInfoTD, 1);
- HideTD = CreatePlayerTextDraw(playerid, 12, 280, "~l~Druecke ~g~~h~~h~~k~~VEHICLE_ENTER_EXIT~ ~l~um diese Info zu verbergen");
- PlayerTextDrawBackgroundColor(playerid, HideTD, 0x0080FF22);
- PlayerTextDrawFont(playerid, HideTD, 1);
- PlayerTextDrawLetterSize(playerid, HideTD, 0.250000, 1.100000);
- PlayerTextDrawColor(playerid, HideTD, 0x000000FF);
- PlayerTextDrawSetOutline(playerid, HideTD, 1);
- FPSPingPacket = CreatePlayerTextDraw(playerid,630, 1.4, "_");
- PlayerTextDrawBackgroundColor(playerid, FPSPingPacket, 0x00666644);
- PlayerTextDrawFont(playerid, FPSPingPacket, 2);
- PlayerTextDrawLetterSize(playerid, FPSPingPacket, 0.190000, 1.2000);
- PlayerTextDrawColor(playerid, FPSPingPacket, 0x000000FF);
- PlayerTextDrawSetOutline(playerid, FPSPingPacket, 1);
- PlayerTextDrawSetProportional(playerid, FPSPingPacket, 1);
- PlayerTextDrawSetShadow(playerid, FPSPingPacket,0);
- PlayerTextDrawAlignment(playerid, FPSPingPacket, 3);
- DoingDamage[0] = CreatePlayerTextDraw(playerid,140.0,372.0,"_");
- PlayerTextDrawFont(playerid, DoingDamage[0], 1);
- PlayerTextDrawLetterSize(playerid, DoingDamage[0], 0.18000, 0.9);
- PlayerTextDrawBackgroundColor(playerid, DoingDamage[0],0x00000044);
- PlayerTextDrawColor(playerid, DoingDamage[0], 16727295);
- PlayerTextDrawSetProportional(playerid, DoingDamage[0], 1);
- PlayerTextDrawSetOutline(playerid, DoingDamage[0],1);
- PlayerTextDrawSetShadow(playerid, DoingDamage[0],0);
- DoingDamage[1] = CreatePlayerTextDraw(playerid,140.0,382.0,"_");
- PlayerTextDrawFont(playerid, DoingDamage[1], 1);
- PlayerTextDrawLetterSize(playerid, DoingDamage[1], 0.18000, 0.9);
- PlayerTextDrawBackgroundColor(playerid, DoingDamage[1],0x00000044);
- PlayerTextDrawColor(playerid, DoingDamage[1], 16727295);
- PlayerTextDrawSetProportional(playerid, DoingDamage[1], 1);
- PlayerTextDrawSetOutline(playerid, DoingDamage[1],1);
- PlayerTextDrawSetShadow(playerid, DoingDamage[1],0);
- DoingDamage[2] = CreatePlayerTextDraw(playerid,140.0,392.0,"_");
- PlayerTextDrawFont(playerid, DoingDamage[2], 1);
- PlayerTextDrawLetterSize(playerid, DoingDamage[2], 0.18000, 0.9);
- PlayerTextDrawBackgroundColor(playerid, DoingDamage[2],0x00000044);
- PlayerTextDrawColor(playerid, DoingDamage[2], 16727295);
- PlayerTextDrawSetProportional(playerid, DoingDamage[2], 1);
- PlayerTextDrawSetOutline(playerid, DoingDamage[2],1);
- PlayerTextDrawSetShadow(playerid, DoingDamage[2],0);
- GettingDamaged[0] = CreatePlayerTextDraw(playerid,380.0,372.0,"_");
- PlayerTextDrawFont(playerid, GettingDamaged[0], 1);
- PlayerTextDrawLetterSize(playerid, GettingDamaged[0], 0.18000, 0.9);
- PlayerTextDrawBackgroundColor(playerid, GettingDamaged[0],0x00000044);
- PlayerTextDrawColor(playerid, GettingDamaged[0], 16727295);
- PlayerTextDrawSetProportional(playerid, GettingDamaged[0], 1);
- PlayerTextDrawSetOutline(playerid, GettingDamaged[0],1);
- PlayerTextDrawSetShadow(playerid, GettingDamaged[0],0);
- GettingDamaged[1] = CreatePlayerTextDraw(playerid,380.0,382.0,"_");
- PlayerTextDrawFont(playerid, GettingDamaged[1], 1);
- PlayerTextDrawLetterSize(playerid, GettingDamaged[1], 0.18000, 0.9);
- PlayerTextDrawBackgroundColor(playerid, GettingDamaged[1],0x00000044);
- PlayerTextDrawColor(playerid, GettingDamaged[1], 16727295);
- PlayerTextDrawSetProportional(playerid, GettingDamaged[1], 1);
- PlayerTextDrawSetOutline(playerid, GettingDamaged[1],1);
- PlayerTextDrawSetShadow(playerid, GettingDamaged[1],0);
- GettingDamaged[2] = CreatePlayerTextDraw(playerid,380.0,392.0,"_");
- PlayerTextDrawFont(playerid, GettingDamaged[2], 1);
- PlayerTextDrawLetterSize(playerid, GettingDamaged[2], 0.18000, 0.9);
- PlayerTextDrawBackgroundColor(playerid, GettingDamaged[2],0x00000044);
- PlayerTextDrawColor(playerid, GettingDamaged[2], 16727295);
- PlayerTextDrawSetProportional(playerid, GettingDamaged[2], 1);
- PlayerTextDrawSetOutline(playerid, GettingDamaged[2],1);
- PlayerTextDrawSetShadow(playerid, GettingDamaged[2],0);
- DeathText[0] = CreatePlayerTextDraw(playerid,322.000000, 346.000000, "_");
- PlayerTextDrawBackgroundColor(playerid, DeathText[0], 0x00000044);
- PlayerTextDrawFont(playerid, DeathText[0], 1);
- PlayerTextDrawLetterSize(playerid, DeathText[0], 0.250000, 1.2000);
- PlayerTextDrawColor(playerid, DeathText[0], 16711935);
- PlayerTextDrawSetOutline(playerid, DeathText[0], 1);
- PlayerTextDrawSetProportional(playerid, DeathText[0], 1);
- PlayerTextDrawSetShadow(playerid, DeathText[0], 0);
- PlayerTextDrawAlignment(playerid, DeathText[0], 2);
- DeathText[1] = CreatePlayerTextDraw(playerid,322, 356.000000, "_");
- PlayerTextDrawBackgroundColor(playerid, DeathText[1], 0x00000044);
- PlayerTextDrawFont(playerid, DeathText[1], 1);
- PlayerTextDrawLetterSize(playerid, DeathText[1], 0.250000, 1.2000);
- PlayerTextDrawColor(playerid, DeathText[1], 16711935);
- PlayerTextDrawSetOutline(playerid, DeathText[1], 1);
- PlayerTextDrawSetProportional(playerid, DeathText[1], 1);
- PlayerTextDrawSetShadow(playerid, DeathText[1], 0);
- PlayerTextDrawAlignment(playerid, DeathText[1], 2);
- ScoreTD = CreatePlayerTextDraw(playerid, 550.000000, 100.000000, "_");
- PlayerTextDrawAlignment(playerid, ScoreTD, 2);
- PlayerTextDrawFont(playerid, ScoreTD, 3);
- PlayerTextDrawLetterSize(playerid, ScoreTD, 0.700000, 1.900000);
- PlayerTextDrawColor(playerid, ScoreTD,-65281);
- PlayerTextDrawBackgroundColor(playerid, ScoreTD,0x00000044);
- PlayerTextDrawSetOutline(playerid, ScoreTD, 1);
- PlayerTextDrawSetShadow(playerid, ScoreTD, 0);
- Ann1TD = CreatePlayerTextDraw(playerid, 320.0, 100.0, "_");
- PlayerTextDrawAlignment(playerid, Ann1TD, 2);
- PlayerTextDrawFont(playerid, Ann1TD, 2);
- PlayerTextDrawLetterSize(playerid, Ann1TD, 0.6, 2.0);
- PlayerTextDrawColor(playerid, Ann1TD, -16776961);
- PlayerTextDrawBackgroundColor(playerid, Ann1TD, 255);
- PlayerTextDrawSetOutline(playerid, Ann1TD, 0);
- PlayerTextDrawSetShadow(playerid, Ann1TD, 1);
- Ann2TD = CreatePlayerTextDraw(playerid, 320.0, 118.0, "_");
- PlayerTextDrawAlignment(playerid, Ann2TD, 2);
- PlayerTextDrawFont(playerid, Ann2TD, 2);
- PlayerTextDrawLetterSize(playerid, Ann2TD, 0.5, 2.0);
- PlayerTextDrawColor(playerid, Ann2TD, -16777063);
- PlayerTextDrawBackgroundColor(playerid, Ann2TD, 255);
- PlayerTextDrawSetOutline(playerid, Ann2TD, 0);
- PlayerTextDrawSetShadow(playerid, Ann2TD, 1);
- BlackBox = TextDrawCreate( 0.0000, 0.0000, "~n~");
- TextDrawColor(BlackBox, 0x000000FF);
- TextDrawLetterSize(BlackBox, 50.0000, 50.0000);
- TextDrawUseBox(BlackBox, 1);
- TextDrawBoxColor(BlackBox, 0x000000FF);
- TextDrawFont(BlackBox, 0);
- TextDrawTextSize(BlackBox, 650.0000, 500.0000);
- TextDrawSetShadow(BlackBox, 0);
- TextDrawSetProportional(BlackBox, 0);
- WillkommenText = TextDrawCreate(50, 105, "Willkommen auf dem New Deathmatch Deathmatch Server!");
- TextDrawFont(WillkommenText , 3);
- TextDrawLetterSize(WillkommenText , 0.54, 2.8);
- TextDrawColor(WillkommenText , 0xFF0000FF);
- TextDrawSetOutline(WillkommenText , 1);
- TextDrawSetProportional(WillkommenText , 1);
- TextDrawSetShadow(WillkommenText , 1);
- }
- ACChecks()
- {
- new iString[160];
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i) && Player[i][Spawned] == true && Player[i][Level] < 3)
- {
- /*
- //Animation
- new animlib[32];
- new animname[32];
- GetAnimationName(GetPlayerAnimationIndex(i),animlib,32,animname,32);
- format(iString, sizeof(iString), "Animation: %s %s --- %d", animlib, animname, GetPlayerAnimationIndex(i));
- SendACWarning(i, iString);
- */
- //jetpack
- if(Player[i][SafeJetpack] == false && GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK && Flying[i] == false)
- {
- ACWarnsCount++;
- SendACWarning(i, "Jetpack");
- format(iString,sizeof(iString), "ANTICHEAT: %s wurde vom AntiCheat gekickt. [Jetpack] [ID: %d]",GetName(i),ACWarnsCount);
- SendClientMessage(i, AC_COLOR, iString);
- format(iString,sizeof(iString), "%s [Jetpack]",GetName(i));
- ACLog(iString);
- SetTimerEx("KickTimer", 200, false, "i", i);
- }
- //weaponhacks
- new weaponid = GetPlayerWeapon(i);
- if(Player[i][SafeGun] == false && weaponid != 0 && weaponid != DEAGLE && weaponid != SHOTGUN && weaponid != SPAS && weaponid != MP5 && weaponid != AK47 && weaponid != M4 && weaponid != RIFLE && weaponid != SNIPER && weaponid != GRENADE)
- {
- ACWarnsCount++;
- format(iString, sizeof(iString), "Waffen Hack: %s", WeaponNames[weaponid]);
- SendACWarning(i, iString);
- format(iString,sizeof(iString), "ANTICHEAT: %s wurde vom AntiCheat gekickt. [Waffen Hack] [ID: %d]",GetName(i),ACWarnsCount);
- SendClientMessage(i, AC_COLOR, iString);
- format(iString,sizeof(iString), "%s [WaffenHack: %s]", GetName(i),WeaponNames[weaponid]);
- ACLog(iString);
- SetTimerEx("KickTimer", 200, false, "i", i);
- }
- //ammohack
- new Weapon[13], Ammo[13];
- for(new k = 0; k < 13; k++) GetPlayerWeaponData(i, k, Weapon[k], Ammo[k]);
- if(Player[i][VIP] == 1 && Player[i][SafeGun] == false)
- {
- if(Ammo[2] > 200 || Ammo[3] > 200 || Ammo[4] > 200 || Ammo[5] > 400 || Ammo[6] > 200 || Ammo[8] > 2)
- {
- ACWarnsCount++;
- SendACWarning(i, "Ammo Hack");
- format(iString,sizeof(iString), "ANTICHEAT: %s wurde vom AntiCheat gekickt. [Ammo Hack] [ID: %d]",GetName(i),ACWarnsCount);
- SendClientMessage(i, AC_COLOR, iString);
- format(iString,sizeof(iString), "%s [Ammo Hack] [ID: %d]",GetName(i), ACWarnsCount);
- ACLog(iString);
- SetTimerEx("KickTimer", 200, false, "i", i);
- }
- }
- else if(Player[i][VIP] == 0 && Player[i][SafeGun] == false)
- {
- if(Ammo[2] > 100 || Ammo[3] > 100 || Ammo[4] > 100 || Ammo[5] > 200 || Ammo[6] > 100 || Ammo[8] > 1)
- {
- ACWarnsCount++;
- SendACWarning(i, "Munitions Hack");
- format(iString,sizeof(iString), "ANTICHEAT: %s wurde vom AntiCheat gekickt. [Ammo Hack] [ID: %d]",GetName(i),ACWarnsCount);
- SendClientMessage(i, AC_COLOR, iString);
- format(iString,sizeof(iString), "%s [Ammo Hack] [ID: %d]",GetName(i), ACWarnsCount);
- ACLog(iString);
- SetTimerEx("KickTimer", 200, false, "i", i);
- }
- }
- //armorhack
- new Float:AP;
- GetPlayerArmour(i, AP);
- if(AP > 25)
- {
- ACWarnsCount++;
- SendACWarning(i, "Rüstungs Hack");
- format(iString,sizeof(iString), "ANTICHEAT: %s wurde vom AntiCheat gekickt. [Rüstungs Hack] [ID: %d]",GetName(i),ACWarnsCount);
- SendClientMessage(i, AC_COLOR, iString);
- format(iString,sizeof(iString), "%s [Rüstungs Hack] [ID: %d]",GetName(i), ACWarnsCount);
- ACLog(iString);
- SetTimerEx("KickTimer", 200, false, "i", i);
- }
- //airbreak
- if(Flying[i] == false && GetPlayerAnimationIndex(i) == 958 || GetPlayerAnimationIndex(i) == 959 || GetPlayerAnimationIndex(i) == 961 || GetPlayerAnimationIndex(i) == 962)
- {
- ACWarnsCount++;
- SendACWarning(i, "Airbreak");
- format(iString,sizeof(iString), "ANTICHEAT: Cheat/Hack erkannt. [Airbreak] [ID: %d]",ACWarnsCount);
- SendClientMessage(i, AC_COLOR, iString);
- format(iString,sizeof(iString), "%s [Airbreak] [ID: %d]",GetName(i), ACWarnsCount);
- ACLog(iString);
- Player[i][ACWarnings]++;
- }
- //speedhack
- new Float:V[3], Float:SumV;
- GetPlayerVelocity(i, V[0], V[1], V[2]);
- if(V[0] > 0 && V[1] > 0) SumV = V[0] + V[1];
- if(V[0] < 0 && V[1] < 0) SumV = V[0] + V[1];
- if(V[0] > 0 && V[1] < 0) SumV = V[0] - V[1];
- if(V[0] < 0 && V[1] > 0) SumV = V[1] - V[0];
- if(SumV > 0.44 || SumV < -0.44 && Flying[i] == false && Player[i][SafeJetpack] == false)
- {
- ACWarnsCount++;
- format(iString, sizeof(iString), "Speedhack/Macros/Slidebug -- Geschwindigkeit: %.5f", SumV);
- SendACWarning(i, iString);
- format(iString,sizeof(iString), "ANTICHEAT: Cheat/Hack erkannt. [Speedhack/Macros/Slidebug] [ID: %d]",ACWarnsCount);
- SendClientMessage(i, AC_COLOR, iString);
- format(iString,sizeof(iString), "%s [SpeedHack/Macros/Slidebug -- Geschwindigkeit: %.5f] [ID: %d]",GetName(i),SumV,ACWarnsCount);
- ACLog(iString);
- Player[i][ACWarnings]++;
- }
- }
- }
- }
- public OnPlayerPickUpPickup(playerid, pickupid){
- if(pickupid == BCID){
- SendClientMessage(playerid, -1, "PICKUP: Du hast 50 Score gefunden.");
- GivePlayerScore(playerid, 50);
- BCID = -1;
- }
- new iString[80];
- if(pickupid == pickup)
- {
- if(Player[playerid][Level] == 0) return 0;
- SendClientMessage(playerid, COLOR_GREEN, "Willkommen in der Admin Villa!");
- format(iString,sizeof(iString),"%s hat die Adminvilla betreten.",GetName(playerid));
- SendAdminMessage(1, iString);
- SetPlayerInterior(playerid, 5);
- SetPlayerPos(playerid,1226.2805,-809.9200,1084.0078);
- }
- if(pickupid == exitpickup)
- {
- if(Player[playerid][Level] == 0) return 0;
- format(iString,sizeof(iString),"%s hat die Adminvilla verlassen.",GetName(playerid));
- SendAdminMessage(1, iString);
- SetPlayerInterior(playerid, 0);
- SetPlayerPos(playerid,775.8594,-1016.0732,26.3594);
- }
- if(pickupid == safepickup)
- {
- if(Player[playerid][UsedSafe] == true) return SendClientMessage(playerid, COLOR_DARKGREEN, "SAFE: Du hast den Safe bereits benutzt. Du kannst ihn nur alle 30 Minuten benutzen.");
- if(Player[playerid][Level] == 0) return 0;
- GiveScore(playerid, 100);
- Player[playerid][UsedSafe] = true;
- SendClientMessage(playerid, COLOR_DARKGREEN, "SAFE: Du hast den Safe geleert und 100 Punkte erhalten.");
- SetTimerEx("UseSafe",1800000, 0, "i",playerid);
- }
- return 1;
- }
- forward UseSafe(playerid);
- public UseSafe(playerid)
- {
- Player[playerid][UsedSafe] = false;
- SendClientMessage(playerid, COLOR_DARKGREEN, "SAFE: Der Safe wurde wieder für dich aufgefüllt.");
- return 1;
- }
- forward OnRandomMessageChange();
- public OnRandomMessageChange()
- {
- new rand = random(sizeof(gRandomMessage));
- SendClientMessageToAll(COLOR_KHAKI, " ");
- SendClientMessageToAll(COLOR_KHAKI, gRandomMessage[rand]);
- SendClientMessageToAll(COLOR_KHAKI, " ");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement