Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /** Adminsystem by Barrie **/
- #include <a_samp>
- #include <ocmd>
- /* /adminmenu, um ins Adminmenu zu gelangen.
- "Server Restart" ist funktionstüchtig.
- "Start Event" und "Respawn all vehicles" sind nur Ideen von mir die vielleicht ganz nett wären.
- Das "SpielerAdminMenu" (oder wie auch immer ich das nennen soll) wird aufgerufen in dem man einen Spieler anklickt. */
- enum sDaten
- {
- aLevel,
- gebannt
- }
- new spieler[MAX_PLAYERS][sDaten];
- #define dialog_adminmenu 1
- #define dialog_adminkick 2
- #define dialog_adminban 3
- #define dialog_admingoto 4
- #define dialog_admingethere 5
- #define dialog_adminmenu2 6
- #define dialog_serverrestart 7
- new clickedID;
- new isViewing[MAX_PLAYERS] = 0;
- new gmxtime;
- forward ServerRestart();
- main()
- {
- print("\n----------------------------------");
- print(" adminsystem.");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- SetGameModeText("Blank Script");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- 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;
- }
- ocmd:adminmenu(playerid,params[])
- {
- if(spieler[playerid][aLevel] == 1)
- {
- ShowPlayerDialog(playerid,dialog_adminmenu2,DIALOG_STYLE_LIST,"Adminmenu - Server","Serverrestart\nStart Event\nRespawn all vehicles","Wählen","Abbrechen");
- }
- else{SendClientMessage(playerid,-1,"Du bist kein Admin.");}
- return 1;
- }
- ocmd:admin(playerid,params[])
- {
- spieler[playerid][aLevel] = 1;
- SendClientMessage(playerid,-1,"Du kannst jetzt die Befehle benutzen.");
- return 1;
- }
- ocmd:stopviewing(playerid,params[])
- {
- if(isViewing[playerid] == 1)
- {
- new str[128];
- format(str,sizeof(str),"Du hast aufgehört %s zu beobachten",getPlayerName(clickedID));
- SetCameraBehindPlayer(playerid);
- isViewing[playerid] = 0;
- clickedID = 0;
- return 1;
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- if(spieler[playerid][gebannt] == 1)return Kick(playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/mycommand", cmdtext, true, 10) == 0)
- {
- // Do something here
- return 1;
- }
- return 0;
- }
- 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[])
- {
- switch(dialogid)
- {
- case dialog_adminmenu2:
- {
- if(response == 1)
- {
- if(listitem == 0)
- {
- ShowPlayerDialog(playerid,dialog_serverrestart,DIALOG_STYLE_INPUT,"Adminmenu - Server Restart","Gebe ein in wie vielen Sekunden der Server restartet werden soll:","Restart","Abbrechen");
- return 1;
- }
- }
- }
- case dialog_serverrestart:
- {
- if(response == 1)
- {
- new str[128];
- format(str,sizeof(str),"Der Server wird in %i Sekunden restartet!",strval(inputtext));
- SendClientMessageToAll(-1,str);
- gmxtime = strval(inputtext);
- SetTimer("ServerRestart",1000,true);
- return 1;
- }
- }
- case dialog_adminkick:
- {
- if(response == 1)
- {
- new str[128];
- format(str,sizeof(str),"%s wurde von Admin %s gekickt! Grund: %s",getPlayerName(clickedID),getPlayerName(playerid),inputtext);
- Kick(clickedID);
- SendClientMessageToAll(-1,str);
- clickedID = 0;
- return 1;
- }
- else{clickedID = 0;}
- }
- case dialog_adminban:
- {
- if(response == 1)
- {
- new str[128];
- format(str,sizeof(str),"%s wurde von Admin %s gebannt! Grund: %s",getPlayerName(clickedID),getPlayerName(playerid),inputtext);
- spieler[clickedID][gebannt] = 1;
- Ban(clickedID);
- SendClientMessageToAll(-1,str);
- clickedID = 0;
- return 1;
- }
- else{clickedID = 0;}
- }
- case dialog_admingoto:
- {
- if(response == 1)
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(clickedID,x,y,z);
- SetPlayerPos(playerid,x,y,z);
- SendClientMessage(playerid,-1,"Erfolgreich teleportiert");
- clickedID = 0;
- return 1;
- }
- else{clickedID = 0;}
- }
- case dialog_admingethere:
- {
- if(response == 1)
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid,x,y,z);
- SetPlayerPos(playerid,x,y,z);
- SendClientMessage(playerid,-1,"Erfolgreich teleportiert");
- clickedID = 0;
- return 1;
- }
- }
- case dialog_adminmenu:
- {
- if(response == 1)
- {
- if(listitem == 0)
- {
- new str[200];
- format(str,sizeof(str),"Gebe ein Grund an warum du %s kicken möchtest:",getPlayerName(clickedID));
- ShowPlayerDialog(playerid,dialog_adminkick,DIALOG_STYLE_INPUT,"Adminmenu - Kick",str,"Kick","Abbrechen");
- return 1;
- }
- if(listitem == 1)
- {
- new str[200];
- format(str,sizeof(str),"Gebe ein Grund an warum du %s bannen möchtest:",getPlayerName(clickedID));
- ShowPlayerDialog(playerid,dialog_adminban,DIALOG_STYLE_INPUT,"Adminmenu - Ban",str,"Kick","Abbrechen");
- }
- if(listitem == 2)
- {
- if(isViewing[playerid] == 0)
- {
- SendClientMessage(playerid,-1,"Gebe /stopviewing ein um aufzuhören.");
- isViewing[playerid] = 1;
- SetCameraBehindPlayer(clickedID);
- return 1;
- }
- }
- if(listitem == 3)
- {
- new str[200];
- format(str,sizeof(str),"Möchtest du dich wirklich zu %s teleportieren?",getPlayerName(clickedID));
- ShowPlayerDialog(playerid,dialog_admingoto,DIALOG_STYLE_MSGBOX,"Adminmenu - GoTo",str,"Ja","Nein");
- return 1;
- }
- if(listitem == 4)
- {
- new str[200];
- format(str,sizeof(str),"Möchtest du wirklich %s zu dir teleportieren?",getPlayerName(clickedID));
- ShowPlayerDialog(playerid,dialog_admingethere,DIALOG_STYLE_MSGBOX,"Adminmenu - GetHere",str,"Ja","Nein");
- return 1;
- }
- if(listitem == 5)
- {
- new str[128], str2[128];
- format(str2,sizeof(str2),"Admin %s hat dich gefreezt",getPlayerName(playerid));
- format(str,sizeof(str),"Du hast %s gefreezt",getPlayerName(clickedID));
- SendClientMessage(playerid,-1,str);
- SendClientMessage(clickedID,-1,str2);
- FreezePlayer(clickedID);
- clickedID = 0;
- return 1;
- }
- if(listitem == 6)
- {
- new str[128], str2[128];
- format(str2,sizeof(str2),"Admin %s hat dich unfreezt",getPlayerName(playerid));
- format(str,sizeof(str),"Du hast %s unfreezt",getPlayerName(clickedID));
- SendClientMessage(playerid,-1,str);
- SendClientMessage(clickedID,-1,str2);
- UnfreezePlayer(clickedID);
- clickedID = 0;
- return 1;
- }
- }
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- clickedID = clickedplayerid;
- if(spieler[playerid][aLevel] == 1)
- {
- ShowPlayerDialog(playerid,dialog_adminmenu,DIALOG_STYLE_LIST,"Adminmenu","Kick\nBan\nView\nGoTo\nGetHere\nFreeze\nUnfreeze","Wählen","Abbrechen");
- }
- return 1;
- }
- public ServerRestart()
- {
- new gametext[20];
- format(gametext,sizeof(gametext),"Serverrestart in %i",gmxtime);
- gmxtime -= 1;
- GameTextForAll(gametext,1000,6);
- if(gmxtime == 0)return SendRconCommand("gmx");
- return 1;
- }
- stock getPlayerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- stock FreezePlayer(playerid)
- {
- TogglePlayerControllable(playerid,0);
- return 1;
- }
- stock UnfreezePlayer(playerid)
- {
- TogglePlayerControllable(playerid,1);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment