Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <dini>
- #include <dutils>
- #include <dudb>
- #include <MD5>
- #include <ocmd>
- #include <sscanf>
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- #define Blau 0x0091FFFF
- #define Weiß 0xFFFFFFFF
- #define Grau 0xB4B4B4FF
- #define LBlau 0x00CDFFFF
- #define Rot 0xFF4600FF
- #define Grün 0x00FF50FF
- #define Kick_color 0xFF5A00FF
- #define fcommand_color 0x00FFAAFF
- #define achat_color 0xFFFF00FF
- #define hinweis_color 0xFF8C00FF
- #define keinadmin_color 0x00FF78FF
- #define hinweis_color2 0x00680078
- #define rs_color 0x969696FF
- #define REGISTER 1
- #define LOGIN 2
- //Enums
- enum SpielerDaten
- {
- Adminlevel,
- Score
- };
- new sSpieler[MAX_PLAYERS][SpielerDaten];
- forward KickPublic(playerid);
- main()
- {
- print("\n----------------------------------");
- print(" Dieser Gamemode ist von Jake");
- print("----------------------------------\n");
- }
- // -------------------- KickWithMessage --------------------
- forward KickPublic(playerid);
- public KickPublic(playerid)
- {
- Kick(playerid);
- return 1;
- }
- stock KickWithMessage(playerid, color, message[])
- {
- SendClientMessage(playerid, color, message);
- SetTimerEx("KickPublic", 100, 0, "d", playerid);
- }
- // -------------------- KickWithMessage - Ende --------------------
- // -------------------- WelcomeMessage --------------------
- forward WelcomePuplic(playerid);
- public WelcomePuplic(playerid)
- {
- PlayAudioStreamForPlayer(playerid, "http://www.bloody-basdards.de/sounds/login.mp3");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"* Herzlich Willkommen auf I Love DM Reloaded!");
- return 1;
- }
- stock WelcomeMessage(playerid)
- {
- SetTimerEx("WelcomePuplic", 200, 0, "d", playerid);
- }
- // -------------------- WelcomeMessage - Ende --------------------
- // -------------------- RestartMessage --------------------
- forward RestartPuplic(playerid);
- public RestartPuplic(playerid)
- {
- SendRconCommand("gmx");
- SetPlayerColor(playerid,0x8C8C8CFF);
- return 1;
- }
- stock RestartMessage(playerid)
- {
- SetTimerEx("RestartPuplic", 2000, 0, "d", playerid);
- }
- // -------------------- KickWithMessage - Ende --------------------
- public OnGameModeInit()
- {
- SetGameModeText("I Love DM v1.0");
- ShowPlayerMarkers(0);
- AddPlayerClass(1, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 24, 999);
- AddPlayerClass(2, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 24, 999);
- AddPlayerClass(3, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 24, 999);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new Spieler[64];
- new sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- new string[50];
- format(string, sizeof(string),"* %s [%d] hat den Server betreten.", sName, playerid);
- SendClientMessageToAll(hinweis_color2, string);
- SetPlayerColor(playerid,0x8C8C8CFF);
- format(Spieler,sizeof(Spieler),"Spieler/%s.txt",sName);
- WelcomeMessage(playerid);
- if(dini_Exists(Spieler))
- {
- ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSWORD,"Account Login","Dein Account wurde gefunden, bitte benutze dein Passwort zum einloggen.","Login","Ausloggen");
- }
- else
- {
- ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_PASSWORD,"Account Erstellen","Bitte wähle ein Passwort um dir einen Account zu erstellen!","Erstellen","Ausloggen");
- }
- return 0;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new Spieler[64];
- new sName[MAX_PLAYER_NAME];
- new string[50];
- GetPlayerName(playerid,sName,sizeof(sName));
- format(Spieler,sizeof(Spieler),"Spieler/%s.txt",sName);
- format(string, sizeof(string),"* %s [%d] hat den Server verlassen.",sName, playerid);
- SendClientMessageToAll(hinweis_color2, string);
- SpielerSpeichern(playerid);
- return 1;
- }
- public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
- {
- PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
- SendDeathMessage(killerid, playerid, reason);
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- //Befehle mit DCMD
- dcmd(makeadmin, 9, cmdtext);
- if (strcmp("/ahelp", cmdtext, true, 9) == 0)
- {
- if(IstSpielerAdmin(playerid, 0))
- {
- new Spieler[64];
- new sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- format(Spieler,sizeof(Spieler),"Spieler/%s.txt",sName);
- SendClientMessageToAll(keinadmin_color,"* Du bist kein Admin!");
- }
- if(IstSpielerAdmin(playerid, 1))
- {
- new Spieler[64];
- new sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- format(Spieler,sizeof(Spieler),"Spieler/%s.txt",sName);
- SendClientMessageToAll(0x0055FFFF,"** Supporter: /ahelp");
- }
- if(IstSpielerAdmin(playerid, 2))
- {
- new Spieler[64];
- new sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- format(Spieler,sizeof(Spieler),"Spieler/%s.txt",sName);
- SendClientMessageToAll(0x0055FFFF,"** Admin: /ahelp | /veh");
- }
- if(IstSpielerAdmin(playerid, 3))
- {
- new Spieler[64];
- new sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- format(Spieler,sizeof(Spieler),"Spieler/%s.txt",sName);
- SendClientMessageToAll(0x0055FFFF,"** Head Admin: /restart | /makeadmin | /ahelp");
- }
- return 1;
- }
- if (strcmp("/restart", cmdtext, true, 10) == 0)
- {
- if(IstSpielerAdmin(playerid, 3))
- {
- new Spieler[64];
- new sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- format(Spieler,sizeof(Spieler),"Spieler/%s.txt",sName);
- SendClientMessageToAll(rs_color,"");
- SendClientMessageToAll(rs_color,"");
- SendClientMessageToAll(rs_color,"");
- SendClientMessageToAll(rs_color,"");
- SendClientMessageToAll(rs_color,"");
- SendClientMessageToAll(rs_color,"");
- SendClientMessageToAll(rs_color,"");
- SendClientMessageToAll(rs_color,"");
- SendClientMessageToAll(rs_color,"");
- SendClientMessageToAll(rs_color,"");
- SendClientMessageToAll(rs_color,"");
- SendClientMessageToAll(rs_color,"* Server wird neugestartet!");
- RestartMessage(playerid);
- }
- else
- {
- SendClientMessage(playerid,keinadmin_color,"* Du bist kein Admin!");
- }
- return 1;
- }
- return SendClientMessage(playerid,0xFFFFFFFF,"* Diesen Command gibt es nicht. Bitte nutze /help!");
- }
- //DCMD
- dcmd_makeadmin(playerid, params[])
- {
- new pid,level;
- if(sscanf(params,"ud", pid, level))
- {
- return SendClientMessage(playerid, fcommand_color,"* Schreibe: /makeadmin [ID] [Level]");
- }
- if(IstSpielerAdmin(playerid, 3))
- {
- if(pid == INVALID_PLAYER_ID)
- {
- return SendClientMessage(playerid, fcommand_color, "* Ungültiger Spieler");
- }
- if(IstSpielerAdmin(pid,level))
- {
- return SendClientMessage(playerid, fcommand_color, "* Der Spieler hat schon das Angegebene Adminlevel");
- }
- else
- {
- sSpieler[pid][Adminlevel] = level;
- SendClientMessage(pid, hinweis_color, "* Du wurdest als Teammitglied befördert!");
- SendClientMessage(playerid, hinweis_color, "* Du hast den Spieler befördert!");
- }
- }
- else
- {
- return SendClientMessage(playerid,keinadmin_color,"* Du bist kein Admin!");
- }
- return 1;
- }
- //--------- OCMD ---------
- ocmd:veh(playerid,params[])
- {
- new ModelID, color[2],Float:VehPos[4], vehicleid;
- if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return SendClientMessage(playerid,hinweis_color,"* Du bist bereits in einem Car!");
- if(sscanf(params, "ddd",ModelID,color[0],color[1])) return SendClientMessage(playerid,fcommand_color, "* Schreibe: /veh [Car ID] [Farbe 1] [Farbe 2]");
- if(ModelID < 400 || ModelID > 611) return SendClientMessage(playerid,hinweis_color, "* Es muss eine Fahrzeug ID zwischen 411 und 611 sein!");
- if(color[0] < 0 || color[0] > 255 || color[1] < 0 || color[1] > 255) return SendClientMessage(playerid,hinweis_color, "* Die Farben müssen zwischen 0 und 255 sein!");
- if(IstSpielerAdmin(playerid, 2))
- {
- GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
- GetPlayerFacingAngle(playerid, VehPos[3]);
- vehicleid = CreateVehicle(ModelID,VehPos[0],VehPos[1],VehPos[2],VehPos[3],color[0],color[1],-1);
- LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
- SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
- SetVehicleNumberPlate(vehicleid,"I LOVE DM");
- SetVehicleToRespawn(vehicleid);
- PutPlayerInVehicle(playerid, vehicleid, 0);
- SendClientMessage(playerid,hinweis_color,"* Dein gewünschtes Auto wurde gespawnt!");
- }
- else return SendClientMessage(playerid, keinadmin_color, "* Du bist kein Admin!");
- return 1;
- }
- //--------- OCMD ---------
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == LOGIN)
- {
- if(response == 0)
- {
- KickWithMessage(playerid, Kick_color,"* Du hast den Login Vorgang abgebrochen!");
- return 1;
- }
- if(response == 1)
- {
- Login(playerid,MD5_Hash(inputtext));
- return 1;
- }
- }
- if(dialogid == REGISTER)
- {
- if(response == 0)
- {
- KickWithMessage(playerid, Kick_color,"* Du hast den Registrierungs Vorgang abgebrochen!");
- return 1;
- }
- if(response == 1)
- {
- if(!strlen(inputtext))
- {
- SendClientMessage(playerid,hinweis_color,"* Bitte geben Sie ein Passwort ein!");
- ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Login - System","Bitte wähle ein Passwort um dir einen Account zu erstellen","Erstellen","Ausloggen");
- }
- Register(playerid,MD5_Hash(inputtext));
- return 1;
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- //stocks
- stock Register(playerid,key[])
- {
- new Spieler[64];
- new sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- format(Spieler,sizeof(Spieler),"Spieler/%s.txt",sName);
- dini_Create(Spieler);
- dini_Set(Spieler,"Passwort",key);
- dini_IntSet(Spieler,"Score",0);
- dini_IntSet(Spieler,"Adminlevel",0);
- PlayAudioStreamForPlayer(playerid, "http://www.bloody-basdards.de/sounds/info.mp3");
- SetPlayerColor(playerid,0xFFFFFFFF);
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"* Du hast dich erfolgreich eingeloggt!");
- SendClientMessage(playerid,hinweis_color,"* Nun viel Spass auf I Love DM!");
- SendClientMessage(playerid,hinweis_color,"* Deathmatch Arenen findest du unter /arenen!");
- SendClientMessage(playerid,hinweis_color,"* Bei Fragen wende dich an einen Administrator.");
- SendClientMessage(playerid,hinweis_color,"* Du hast dich erfolgreich registriert. Viel Spass!");
- SpielerReset(playerid);
- return 1;
- }
- stock Login(playerid,key[])
- {
- new Spieler[64];
- new sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- format(Spieler,sizeof(Spieler),"Spieler/%s.txt",sName);
- if(!strcmp(key,dini_Get(Spieler,"Passwort"),true))
- {
- PlayAudioStreamForPlayer(playerid, "http://www.bloody-basdards.de/sounds/info.mp3");
- SetPlayerColor(playerid,0xFFFFFFFF);
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"* Du hast dich erfolgreich eingeloggt!");
- SendClientMessage(playerid,hinweis_color,"");
- SendClientMessage(playerid,hinweis_color,"* Nun viel Spass auf I Love DM!");
- SendClientMessage(playerid,hinweis_color,"* Deathmatch Arenen findest du unter /arenen!");
- SendClientMessage(playerid,hinweis_color,"* Bei Fragen wende dich an einen Administrator.");
- SpielerLaden(playerid);
- }
- else
- {
- KickWithMessage(playerid,Kick_color," * Du wurdest vom Server gekickt! Grund: Falsches Passwort");
- }
- return 1;
- }
- stock SpielerSpeichern(playerid)
- {
- new Spieler[64];
- new sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- format(Spieler,sizeof(Spieler),"Spieler/%s.txt",sName);
- if(dini_Exists(Spieler))
- {
- dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
- dini_IntSet(Spieler,"Score",sSpieler[playerid][Score]);
- }
- return 1;
- }
- stock SpielerLaden(playerid)
- {
- new Spieler[64];
- new sName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,sName,sizeof(sName));
- format(Spieler,sizeof(Spieler),"Spieler/%s.txt",sName);
- if(dini_Exists(Spieler))
- {
- SetPlayerScore(playerid, dini_Int(Spieler,"Score"));
- sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
- sSpieler[playerid][Score] = dini_Int(Spieler,"Score");
- }
- return 1;
- }
- stock SpielerReset(playerid)
- {
- sSpieler[playerid][Adminlevel] = 0;
- sSpieler[playerid][Score] = 0;
- }
- //adminsystem
- stock IstSpielerAdmin(playerid,level)
- {
- if(sSpieler[playerid][Adminlevel] >= level) return 1;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement