Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Script by Splexlps
- //Selfmade.
- //Includ
- #include <a_samp>
- #include <a_mysql>
- #include <ocmd>
- //#include <dini>
- #include <foXban>
- #include <time>
- #include <water>
- #include <desk>
- //#include <AC>
- //defines
- //Define mysql
- #define DB_HOST "5.62.120.15"
- #define DB_NAME "ni122612_2_DB"
- #define DB_NUTZERNAME "ni122612_2_DB"
- #define DB_PASSWORD "RfiznLOj"
- /*
- #define DB_HOST "127.0.0.1"
- #define DB_NAME "ni122612_2_DB"
- #define DB_NUTZERNAME "root"
- #define DB_PASSWORD ""
- */
- //new dbhandle
- //mysql-ende
- //Register-Login defines
- #define DIALOG_REGISTER_MYSQL 1
- #define DIALOG_LOGIN_MYSQL 2
- //Register-Login defines ende
- //Admin klickt auf einen Player
- #define DIALOG_CLICK_FROM_ADMIN 3
- #define DIALOG_KICKINPUT 4
- #define DIALOG_BANINPUT 5
- #define DIALOG_TBANZEITINPUT 6
- #define DIALOG_TBANGRUNDINPUT 7
- #define DIALOG_ADMIN_TP 8
- #define DIALOG_BANKMENU 9
- //allgemeine systeme
- #define SCM SendClientMessage
- #define SCMA SendClientMessageToAll
- #define MAX_STREAM_NAME_DISTANCE 17.5
- //ende
- //Farben
- #define CL_WHITE 0xFFFFFFFF
- #define CL_GRAU 0xB4B4B4FF
- #define CL_KNALLROT 0xD70000FF
- #define CL_DGRÜN 0x55FF00FF
- #define CL_HROT 0xFF0073FF
- #define CL_GELB 0xFFFA00FF
- #define CL_HGRÜN 0x00FFB4FF
- #define CL_VIP 0xFF8200FF
- #define CL_SC_ORANGE 0xFFFA00FF
- #define CL_ANSAGE_ADMINS 0xDC00FFFF
- #define CL_ADMINCHAT 0xFF3C00FF
- //Farben ende
- //new´s
- new dbhandle;
- new clickedid[MAX_PLAYERS];
- new gBadName[] = {
- "[GRP]",
- "scheissserver",
- "",
- "Nils",
- "Sonny",
- "Kempfer",
- "24hero",
- "",
- "server",
- "[FUN4RL]",
- "nix",
- "trojana",
- "Virus",
- "GRP",
- "lol",
- "scheiss",
- "[",
- "]",
- "User",
- "VIP",
- "Supporter",
- "Moderator",
- "Super-Moderator",
- "Administrator",
- "Server Manager",
- "stelv. Projektleitung",
- "Projektleitung"};
- //restart
- new GLOBAL_RESTART_TIMER=0;
- //LS-PD-Tor oben
- new LSPD_TOR;
- //CNN Tor
- new CNN_TOR;
- //Registrierung an/aus
- new register_status = 1;
- //3DTextLabels
- new Text3D:aDuty[MAX_PLAYERS];
- //spectate
- new Spectatestatus[MAX_PLAYERS];
- //introstatus
- new introstatus;
- // Uhr & Datum Textdraw's
- new Text: Clock, Text: Date;
- //new´s ende
- //forwards
- forward UserCheck(playerid);
- forward RestartTimer(playerid);
- forward PasswordCheck(playerid);
- forward clock();
- forward check3();
- //forward Background();
- //forward BackgroundTimer();
- forward KickTimer(playerid);
- forward stopintro(playerid);
- forward Lebensystem();
- forward PlayerCarsLoad(playerid);
- forward CarSavedDB(insertid);
- //forwards ende
- //enums
- enum playerInfo{
- eingeloggt,
- db_id,
- level,
- geld,
- bankgeld,
- skin,
- //adminstrativ
- baned,
- alevel,
- aduty
- //Fraktionen
- //XYZ
- }
- enum buildingsEnum{
- Float:b_x,
- Float:b_y,
- Float:b_z,
- Float:b_ix,
- Float:b_iy,
- Float:b_iz,
- b_interior
- }
- enum carInfo{
- SID,
- DB_ID,
- modelID,
- besitzer[MAX_PLAYER_NAME],
- Float:carx,
- Float:cary,
- Float:carz,
- Float:carrota,
- kennzeichen[128],
- Farbe1,
- Farbe2,
- respawnt
- }
- new sInfo[MAX_PLAYERS][playerInfo];
- new cInfo[MAX_PLAYERS][carInfo];
- new bInfo[][buildingsEnum] = {
- //{243.0825,-178.3224,1.5822,285.3642,-41.5576,1001.5156,1}, //Ammunation
- //{212.1142,-202.1886,1.5781,372.4523,-133.5244,1001.4922,5},//Pizzaladen
- //{X,Y,Z,XI,YI,ZI,Interior}
- {1368.9996,-1279.7084,13.5469,285.3843,-41.7290,1001.5156,1},//LS-Ammu
- {1006.3157,-3964.0361,2.7000,1710.433715,-1669.379272,20.225049,18},//Adminbase Interior
- //{},//Bankmenu i
- {1459.4253,-1009.9205,26.8438,2315.952880,-1.618174,26.742187,0},//Bank LS
- {}
- };
- //enums ende
- static const a_rang[][] =
- {"User",
- "VIP",
- "Supporter",
- "Moderator",
- "Super-Moderator",
- "Administrator",
- "Server Manager",
- "stelv. Projektleitung",
- "Projektleitung"}; //Oben ins Script
- new pBanner[MAX_PLAYERS][MAX_PLAYER_NAME];
- #define MAX_SERVER_NAMES 1
- new server_name;
- new server_names[MAX_SERVER_NAMES][] = {
- {"GermanRoleplay[OPEN-BETA] "}
- };
- main()
- {
- print("\n----------------------------------");
- print("GRP Reallife");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- ClockDate();
- print("Gamemode GermanRoleplay wird geladen...");
- SetGameModeText("GRP GermanRoleplay");
- dbhandle = mysql_connect(DB_HOST,DB_NUTZERNAME,DB_NAME,DB_PASSWORD);
- SendRconCommand("password ");
- if(mysql_errno() != 0)
- {
- print("Keine Verbindung zur Datenbank.");
- print("Keine Verbindung zur Datenbank.");
- print("Keine Verbindung zur Datenbank.");
- SendRconCommand("hostname DB-Verbindungsfehler");
- SendRconCommand("password null");
- return 1;
- }
- if(mysql_errno() == 0) print("Verbindung zur Datenbank erfolgreich hergestellt !");
- //Gebäude laden
- for(new i=0; i<sizeof(bInfo); i++)
- {
- CreatePickup(1239,1,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]);
- CreatePickup(1239,1,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz],i);
- Create3DTextLabel("Zum Betreten /enter oder die Leertaste betätigen. ",CL_WHITE,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]+1,8,0);
- Create3DTextLabel("Zum Verlassen /exit oder die Leertaste betätigen. ",CL_WHITE,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]+1,8.0,i);
- //bank
- CreatePickup(1239,1,2345.952880,-1.618174,26.742187,0);
- Create3DTextLabel("Um das Bankmenu aufzurufen /bankmenu 3",CL_WHITE,2345.952880,-1.618174,26.742187,8,0);
- //Virtual welt 1
- CreatePickup(1239,1,2345.952880,-1.618174,26.742187,1);
- Create3DTextLabel("Um das Bankmenu aufzurufen /bankmenu 1",CL_WHITE,2345.952880,-1.618174,26.742187,8,1);
- //Virtual welt 2
- CreatePickup(1239,1,2345.952880,-1.618174,26.742187,2);
- Create3DTextLabel("Um das Bankmenu aufzurufen /bankmenu 2",CL_WHITE,2345.952880,-1.618174,26.742187,8,2);
- //Virtual welt 3
- CreatePickup(1239,1,2345.952880,-1.618174,26.742187,3);
- Create3DTextLabel("Um das Bankmenu aufzurufen /bankmenu 3",CL_WHITE,2345.952880,-1.618174,26.742187,8,3);
- printf("%i",i);
- //ende
- }
- //ShowPlayerMarkers(PLAYER_MARKERS_MODE_OFF);
- DisableInteriorEnterExits();
- EnableStuntBonusForAll(0);
- LoadObjects();
- check3();
- SetTimer("Lebensystem",30000,1);//OnGameModeInit
- AddPlayerClass(0,1104.6141,-1440.3604,15.7969,269.9753, 0, 0, 0, 0, 0, 0);
- print("Gamemode GRP-Reallife erfolgreich geladen !");
- SendRconCommand("password ");
- return SendRconCommand("password ");
- }
- public OnGameModeExit()
- {
- SendRconCommand("password ");
- mysql_close(dbhandle);
- print("MYSQL Verbindung Geschlossen.\n Gamemode unloaded !");
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SpawnPlayer(playerid);
- SetPlayerPos(playerid, 1108.6141,-1440.3604,15.7969);
- SetPlayerFacingAngle( playerid,90);
- SetPlayerCameraPos(playerid, 1104.6141,-1440.3604,15.7969);
- SetPlayerCameraLookAt(playerid, 1104.6141,-1440.3604,15.7969);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- if(IsPlayerNPC(playerid)) return 1;
- SetPlayerColor(playerid,CL_GRAU);
- TogglePlayerControllable(playerid,0);
- introstart(playerid);
- //Register-System-MYSQL
- new name[MAX_PLAYER_NAME],query[128];
- GetPlayerName(playerid,name,sizeof(name));
- format(query,sizeof(query),"SELECT DB_ID FROM Benutzer WHERE NAME='%s'",name);
- mysql_function_query(dbhandle,query,true,"UserCheck","i",playerid);
- TextDrawShowForPlayer(playerid, Date);
- return 1;
- }
- public UserCheck(playerid)
- {
- new num_rows,num_fields;
- cache_get_data(num_rows,num_fields,dbhandle);
- if(num_rows==0)
- { //Registrierung
- if(register_status == 1)
- {
- new string[255];
- if(!strfind(SpielerName(playerid),gBadName,true))
- {
- SendClientMessage(playerid,CL_HGRÜN,"Du wurdest gekickt weil du einen nicht erlaubten Namen hast. Oder du hast nicht erlaubte Zeichen im Namen.");
- format(string, sizeof(string), "ADMCMD: %s wurde vom Server gekickt. Grund: Unerlaubter Name", SpielerName(playerid)); //macht einen String, %s ist der Name anderes Bsp. %d ist eine Zahl^^
- SendClientMessageToAll(CL_KNALLROT,string);
- KickPlayer(playerid);
- return 0;
- }
- ShowPlayerDialog(playerid,DIALOG_REGISTER_MYSQL,DIALOG_STYLE_INPUT,"Registrierung auf German RolePlay","Bitte Registriere dich mit deinem Passwort.","Register","Close");
- //Dein Register Zeugs
- }
- else if(register_status == 0)
- {
- SendClientMessage(playerid,-1,"Die Registrierung ist abgeschaltet");
- KickPlayer(playerid);
- }
- }
- else
- {//Login
- ShowPlayerDialog(playerid,DIALOG_LOGIN_MYSQL,DIALOG_STYLE_PASSWORD,"Login auf GermanRolePlay [BETA] ","Bitte Logge dich mit deinem Passwort ein. ","Login","Close");
- }
- return 1;
- }
- saveplayer(playerid)
- {
- if(sInfo[playerid][eingeloggt]==0) return 1;
- //Speichern level,money,(alevel)
- new query[128];
- sInfo[playerid][geld] = GetPlayerMoney(playerid);
- format(query,sizeof(query),"UPDATE Benutzer SET LEVEL='%i', GELD='%i',ALEVEL=%i,BANED='%i',SKIN='%i' WHERE DB_ID='%i' ",sInfo[playerid][level],sInfo[playerid][geld],sInfo[playerid][alevel],sInfo[playerid][baned],sInfo[playerid][skin],sInfo[playerid][db_id]);
- mysql_function_query(dbhandle,query,false,"","");
- return 1;
- }
- resetplayer(playerid)
- {
- sInfo[playerid][eingeloggt] = 0;
- sInfo[playerid][level] = 0;
- sInfo[playerid][geld] = 0;
- sInfo[playerid][skin] = 0;
- sInfo[playerid][db_id] = 0;
- sInfo[playerid][alevel]= 0;
- sInfo[playerid][baned] = 0;
- sInfo[playerid][aduty] = 0;
- cInfo[playerid][SID] = 0;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SetPlayerColor(playerid,CL_GRAU);
- saveplayer(playerid);
- resetplayer(playerid);
- switch(reason)
- {
- case 0: return 1;
- case 1: return 1;
- case 2: return 1;
- }
- //Spielerautos löschen
- for(new i=0; i<sizeof(cInfo); i++)
- {
- if(cInfo[i][SID]==0)continue;
- if(cInfo[i][besitzer] != sInfo[playerid][db_id])continue;
- new query[289];
- format(query,sizeof(query),"UPDATE Spielerautos SET X='%f',Y='%f',Z='%f',ROTATION='%f' WHERE DB_ID='%i'",cInfo[i][carx],cInfo[i][cary],cInfo[i][carz],cInfo[i][carrota],cInfo[i][DB_ID]);
- mysql_function_query(dbhandle,query,false,"","");
- DestroyVehicle(cInfo[i][SID]);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetPlayerColor(playerid,CL_WHITE);
- SetPlayerHealth(playerid,100);
- clock();
- static states;
- introstop(playerid);
- SetPlayerSkin(playerid,sInfo[playerid][skin]);
- if(sInfo[playerid][alevel]>=2)
- {
- if(states==0)return states=1,SendClientMessage(playerid,CL_WHITE,"INFO: Du Spawnst an der Adminbase. Gehe Admin-On-Duty mit /aduty."),SetPlayerPos(playerid,1022.8530,-3960.8057,2.7001);
- SetPlayerPos(playerid,1022.8530,-3960.8057,2.7001);
- return 1;
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(Spectatestatus[playerid]==1)return 0;
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/schnellgmx", cmdtext, true, 10) == 0)
- {
- if(sInfo[playerid][alevel]>=7)
- {
- SendRconCommand("gmx");
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- return SendClientMessage(playerid,-1,"Befehl nicht gefunden. Für Hilfe /help oder /admin ");
- }
- //--------------------------------OCMD--------------------------------------------------------
- //Ownerbefehle
- createplayercar(playerid,model,Float:x,Float:y,Float:z,Float:rota,Farb1,Farb2,respawn)
- {
- for(new i=0; i<sizeof(cInfo); i++)
- {
- if(cInfo[i][SID] !=0)
- continue;
- cInfo[i][besitzer] = sInfo[playerid][db_id];
- cInfo[i][modelID] = model;
- cInfo[i][carx] = x;
- cInfo[i][cary] = y;
- cInfo[i][carz] = z;
- cInfo[i][carrota] = rota;
- cInfo[i][Farbe1] = Farb1;
- cInfo[i][Farbe2] = Farb2;
- cInfo[i][SID]= CreateVehicle(model,x,y,z,rota,Farb1,Farb2,respawn);
- SaveCarToDB(playerid,i,model,Farb1,Farb2,respawn);
- return 1;
- }
- return 1;
- }
- ocmd:playercspawn(playerid,params[])
- {
- if(sInfo[playerid][alevel]>=7)
- {
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- {
- new pID,vID,Float:x,Float:y,Float:z,Float:rota;
- new Farb1,Farb2,respawn;
- if(sscanf(params,"uiiii",pID,vID,Farb1,Farb2,respawn))return SendClientMessage(playerid,CL_WHITE,"ERROR: /cspawn [id][vID][farb1][farb2][respawn(-1 nein), 1->ja]");
- GetPlayerPos(pID,x,y,z);
- GetPlayerFacingAngle(pID,rota);
- createplayercar(pID,vID,Float:x,Float:y,Float:z,Float:rota,Farb1,Farb2,respawn);
- SendClientMessage(playerid,CL_HROT,"Du hast den befehl benutzt.");
- return 1;
- }
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- ocmd:carupdate(playerid,params[])
- {
- if(sInfo[playerid][alevel]>=6)
- {
- if(sInfo[playerid][aduty]==1)
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- for(new i=0; i<sizeof(cInfo); i++)
- {
- if(cInfo[i][SID]==0)continue;
- if(cInfo[i][besitzer] != sInfo[playerid][db_id])continue;
- new query[289];
- format(query,sizeof(query),"UPDATE Spielerautos SET X='%f',Y='%f',Z='%f',ROTATION='%f' WHERE DB_ID='%i'",cInfo[i][carx],cInfo[i][cary],cInfo[i][carz],cInfo[i][carrota],cInfo[i][DB_ID]);
- DestroyVehicle(cInfo[i][SID]);
- mysql_function_query(dbhandle,query,false,"","");
- SendAdminAnsage("Du hast das fahrzeug geupdatet und gelöscht.");
- }
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du bist in keinem Fahrzeug!");
- return 1;
- }
- SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- ocmd:cspawn(playerid,params[])
- {
- if(sInfo[playerid][alevel]>=7)
- {
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- {
- new vID;
- //Hier kannst du jetzt wie oben reinschreiben was passiert wenn man diesen Befehl aufruft.
- if(sscanf(params,"i",vID))return SendClientMessage(playerid,CL_WHITE,"Aussage: /cspawn Fahrzeug--->[ID]"); //Hier wird das was der Spieler hinter dem Befehl eingegeben hat in Variablen getrennt. In unserem Fall in "vID"
- new Float:X,Float:Y,Float:Z,Float:ROTA;
- GetPlayerPos(playerid,X,Y,Z);
- GetPlayerFacingAngle(playerid,ROTA);
- new vehicle;
- vehicle=CreateVehicle(vID,X,Y,Z,ROTA,-1,-1,0); //Farbe -1 bedeutet Random. Also zufällige Farbe.ok
- PutPlayerInVehicle(playerid,vehicle,0); //Die 0 steht für die Sitz ID. 0 = Fahrer :)ok//frage?
- return 1;
- }
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- ocmd:makeadmin(playerid,params[])
- {
- if(sInfo[playerid][alevel]<=4)return SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- new pID,a_level;
- if(sscanf(params,"ui",pID,a_level))return SendClientMessage(playerid,CL_GRAU,"Du musst die Spieler ID und das Adminlevel angeben!\n /makeadmin [ID][ALEVEL]");
- if(a_level<0||a_level>9)return SendClientMessage(playerid,CL_HROT,"Bitte gültiges Admin-Level angeben. (0-8) ");
- sInfo[pID][alevel] = a_level;
- saveplayer(playerid);
- new nachrichtspieler[281];
- format(nachrichtspieler,sizeof(nachrichtspieler),"Du hast von der Server Leitung das Adminlevel %s erhalten. Der Admin heisst: %s .",a_rang[a_level],SpielerName(playerid));
- SendClientMessage(pID,CL_HGRÜN,nachrichtspieler);
- new s[128];
- format(s,sizeof(s),"Du hast %s das Adminlevel %s gegeben!",SpielerName(pID),a_rang[a_level]);
- SendClientMessage(playerid,CL_HGRÜN,s);
- return 1;
- }
- ocmd:gmx(playerid,params[])
- {
- if(sInfo[playerid][alevel]<6)return SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- if(GLOBAL_RESTART_TIMER>=5)return SendClientMessage(playerid,CL_KNALLROT,"Der Server wird bereits gerestartet!");
- SetTimer("RestartTimer",10000,false);
- GLOBAL_RESTART_TIMER=120;
- GameTextForAll("~r~Jetzt kommt ein Server Restart! ~n~ ~r~GMX",120000,4);
- SendClientMessageToAll(CL_WHITE,"---------------------------------------------------------------------------------");
- SendClientMessageToAll(CL_HROT,"Achtung Jetzt kommt ein GMX!");
- SendClientMessageToAll(CL_HROT,"Achtung Jetzt kommt ein GMX!");
- SendClientMessageToAll(CL_HROT,"Achtung Jetzt kommt ein GMX!");
- SendClientMessageToAll(CL_HROT,"Achtung Jetzt kommt ein GMX!");
- SendClientMessageToAll(CL_WHITE,"---------------------------------------------------------------------------------");
- return 1;
- }
- //Adminbefehle
- ocmd:entercar(playerid,params[])
- {
- new VID,Place;
- if(sInfo[playerid][alevel] >= 4)
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- {
- if(sscanf(params,"ii",VID,Place)) return SendClientMessage(playerid,CL_HROT,"Benutzung: /entercar [FahrzeugID] [Platz] (0-Fahrer,1-Beifahrer)");
- PutPlayerInVehicle(playerid,VID,Place);
- SendClientMessage(playerid, CL_HGRÜN, "Du hast dich in das Auto gesetzt");
- return 1;
- }
- }
- ocmd:acar(playerid,params[])
- {
- new vID;
- new Float:X,Float:Y,Float:Z,Float:ROTA,FARB1,FARB2;
- static vehicle[MAX_PLAYERS];
- static acarexist[MAX_PLAYERS];
- new Text3D:VehicleAdminName[MAX_PLAYERS];
- if(sInfo[playerid][alevel] >= 2)
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- {
- if(acarexist[playerid] == 1)
- {
- SendClientMessage(playerid,CL_HGRÜN,"Admin-Car gelöscht");
- DestroyVehicle(vehicle[playerid]);
- Delete3DTextLabel(VehicleAdminName[playerid]);
- acarexist[playerid] = 0;
- return 1;
- }
- else if(acarexist[playerid]==0)
- {
- if(sscanf(params,"iii",vID,FARB1,FARB2))return SendClientMessage(playerid,CL_KNALLROT,"INFO: /acar Fahrzeug--->[ID] Farbe 1 Farbe 2"); //Hier wird das was der Spieler hinter dem Befehl eingegeben hat in Variablen getrennt. In unserem Fall in "vID"
- new str[128];
- new a_level;
- GetPlayerPos(playerid,X,Y,Z);
- GetPlayerFacingAngle(playerid,ROTA);
- vehicle[playerid] = CreateVehicle(vID,X,Y,Z,ROTA,FARB1,FARB2,0); //Farbe -1 bedeutet Random. Also zufällige Farbe.ok
- PutPlayerInVehicle(playerid,vehicle[playerid],0); //Die 0 steht für die Sitz ID. 0 = Fahrer :)ok//frage?
- a_level=sInfo[playerid][alevel];
- format(str,sizeof(str),"%s Car von %s",a_rang[a_level],SpielerName(playerid));
- VehicleAdminName[playerid] = Create3DTextLabel(str,CL_HGRÜN,X,Y,Z,MAX_STREAM_NAME_DISTANCE,GetPlayerVirtualWorld(playerid),1);
- Attach3DTextLabelToVehicle(VehicleAdminName[playerid],vehicle[playerid],0,-1.3,0.7);//30.0,40.0,50.0
- SetVehicleNumberPlate(vehicle[playerid],"GRP-ADMIN");//------>hier gehts nicht
- SetVehicleToRespawn(vehicle[playerid]);
- SendClientMessage(playerid,CL_HGRÜN,"Admin-Car erstellt ");
- PutPlayerInVehicle(playerid,vehicle[playerid],0);
- acarexist[playerid] = 1;
- return 1;
- }
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- ocmd:aa(playerid,params[])
- {
- if(sInfo[playerid][alevel]<=6)return SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- new text[200],sname[MAX_PLAYER_NAME],string[128];
- GetPlayerName(playerid,sname,sizeof(sname));
- if(sscanf(params,"s",text)) return SendClientMessage(playerid,CL_KNALLROT,"Benutzung: /aa [Text]");
- {
- if(sInfo[playerid][alevel]==7)
- {
- format(string,sizeof(string),"******************************\nLevel 7 - Stelv. Projektleitung {FAFAFA}%s:{E600FF} %s\n******************************", sname,text);
- SendAdminAnsage(string);
- return 1;
- }
- else if(sInfo[playerid][alevel]==8)
- {
- format(string,sizeof(string),"******************************\nLevel 8 - Projektleitung {FAFAFA}%s:{E600FF} %s\n******************************", sname,text);
- SendAdminAnsage(string);
- return 1;
- }
- return 1;
- }
- }
- ocmd@2:ac,adminchat(playerid,params[])
- {
- if(sInfo[playerid][alevel] >= 2)
- {
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- {
- new text[200],sname[MAX_PLAYER_NAME],string[128],a_level;
- a_level = sInfo[playerid][alevel]; //a_rang[a_level]
- GetPlayerName(playerid,sname,sizeof(sname));
- if(sscanf(params,"s",text)) return SendClientMessage(playerid,CL_KNALLROT,"Benutzung: /adminchat (/ac) [Text]");
- format(string, sizeof(string), " Level: %i -----> %s %s: %s",sInfo[playerid][alevel],a_rang[a_level],sname,text);
- SendMessageToAdmins(string);
- return 1;
- }
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- ocmd:unban(playerid,params[])
- {
- if(sInfo[playerid][alevel]>=5)
- {
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- if(sInfo[playerid][alevel]<5)return SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- new name[128],query[128],string[128];
- if(sscanf(params,"s",name))return SendClientMessage(playerid,CL_HGRÜN,"Info: /unban [SpielerName] versuche es erneut.");
- {
- format(query,sizeof(query),"UPDATE `Benutzer` SET `BANED` = '0' WHERE `Name` = '%s' AND `BANED` = 1 LIMIT 1 ",name);
- mysql_function_query(dbhandle,query,false,"","");
- format(string,sizeof(string),"Der Spieler %s wurde von %s geunbannt!",name,SpielerName(playerid));
- SendAdminAnsage(string);
- print(string);
- return 1;
- }
- }
- return 1;
- }
- ocmd:tban(playerid,params[])
- {
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- new pID,pIdName[MAX_PLAYER_NAME],pName[MAX_PLAYER_NAME],banTime,reason[64],string[128];
- if(sInfo[playerid][alevel]>=3)
- {
- if(sscanf(params,"uds",pID,banTime,reason)) { return SendClientMessage(playerid,0xADC7E7FF,"Benutze: /tban [playerid] [time(min)] [reason]"); }
- if(!IsPlayerConnected(pID)) { return SendClientMessage(playerid,0xADC7E7FF,"Falsche ID oder ID die nicht Connectet ist!"); }
- if(banTime < 1) { return SendClientMessage(playerid,0xADC7E7FF,"Minimale Zeit: 1 Minute. "); }
- GetPlayerName(pID,pIdName,sizeof(pIdName));
- new a_level;
- a_level = sInfo[playerid][alevel];
- GetPlayerName(playerid,pName,sizeof(pName));
- format(string,sizeof(string),"[ADMCMD][TIMEBAN]: %s : %s timebannte %s für %d Minuten. Grund: %s",a_rang[a_level],pName,pIdName,banTime,reason);
- SendClientMessageToAll(0xADC7E7FF,string);
- printf("AdmCmd(TIMEBAN): Admin: %s(%i) - Timebanned Player: %s(%i) - Timeban Reason: %s",pName,playerid,pIdName,pID,reason);
- pBanner[pID] = pName;
- TBan(pID,banTime);
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- ocmd:tunban(playerid,params[])
- {
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- new pName[MAX_PLAYER_NAME],pIdName[MAX_PLAYER_NAME],string[129];
- if(sInfo[playerid][alevel]>=5)
- {
- if(sInfo[playerid][aduty]==0)return 1;
- if(sscanf(params,"s",pIdName)) { return SendClientMessage(playerid,0xADC7E7FF,"Benutze: /tunban [Vollen Spielernamen]"); }
- GetPlayerName(playerid,pName,sizeof(pName));
- if(BanFileExist(pIdName))
- {
- TUnban(pIdName);
- format(string,sizeof(string),"AdmCmd[UNTIMEBAN]: Admin: %s(%i) - enntbannte getimebannten Spieler: %s .",pName,playerid,pIdName);
- SendClientMessageToAll(CL_HGRÜN,string);
- printf("AdmCmd(UNTIMEBAN): Admin: %s(%i) - untimebanned Spieler: %s",pName,playerid,pIdName);
- return 1;
- }
- else
- {
- return SendClientMessage(playerid,0xADC7E7FF,"Error: Falscher Name");
- }
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- ocmd:register(playerid,params[])
- {
- if(sInfo[playerid][alevel]>=4)return SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- if(register_status==1)
- {
- register_status = 0;
- SendMessageToAdmins("Registrierung ist nun Deaktiviert.");
- return 1;
- }
- else if(register_status==0)
- {
- register_status = 1;
- SendMessageToAdmins("Registrierung ist nun Aktiviert.");
- return 1;
- }
- return 1;
- }
- ocmd@2:clearchat,cc(playerid,params[])
- {
- if(sInfo[playerid][alevel]>=3)
- {
- if(sInfo[playerid][aduty]==1)
- {
- for(new i=0;i<100;i++)
- {
- SendClientMessageToAll(CL_WHITE," ");
- continue;
- }
- return 1;
- }
- SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- return 1;
- }
- SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du hast keine Berechtigung diesen Befehl zu nutzen!");
- return 1;
- }
- ocmd:spectate(playerid,params[])
- {
- if(sInfo[playerid][alevel]>=3)
- {
- if(sInfo[playerid][aduty]==1)
- {
- new pID;
- if(sscanf(params,"i",pID)) return SendClientMessage(playerid,CL_KNALLROT,"Benutzung: /spectate [playerid]");
- Spectatestatus[playerid]=1;
- TogglePlayerSpectating(playerid,1);
- PlayerSpectatePlayer(playerid,pID);
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du bist nicht Aduty.");
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- ocmd@2:stopspectate,stopspec(playerid,params[])
- {
- if(Spectatestatus[playerid]==1)
- {
- if(sInfo[playerid][alevel]>=2)
- {
- TogglePlayerSpectating(playerid, 0);
- Spectatestatus[playerid]=0;
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du bist nicht im Spectatemodus (Beobachtungsmodus) !");
- return 1;
- }
- ocmd:acarrespawn(playerid)
- {
- if(sInfo[playerid][alevel]>=4)
- {
- for(new i = 1; i <= MAX_VEHICLES; i++)
- {
- SetVehicleToRespawn(i);
- }
- SendClientMessageToAll(CL_HROT,"Alle Cars respawnt.");
- }
- SendClientMessageToAll(CL_HROT,"ERROR; Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- ocmd:spawn(playerid,params[])
- {
- new pID;
- if(sInfo[playerid][alevel]>=3)
- {
- if(sscanf(params,"i",pID)) return SendClientMessage(playerid,CL_KNALLROT,"Benutzung: /spawn [playerid]");
- SpawnPlayer(pID);
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- ocmd:setskin(playerid,params[])
- {
- if(sInfo[playerid][alevel]>=3)
- {
- new skins,pID,string[128];
- if(sscanf(params,"ui",pID,skins)) return SendClientMessage(playerid,CL_KNALLROT,"Benutzung: /setskin [playerid][Skin]");
- SetPlayerSkin(pID,skins);
- format(string,sizeof(string),"ADMCMD: Du hast %s den Skin %i gesetzt.",SpielerName(pID),skins);
- SendClientMessage(playerid,CL_HROT,string);
- format(string,sizeof(string),"ADMCMD: Du hast von %s den Skin %i bekommen.",SpielerName(playerid),skins);
- SendClientMessage(playerid,CL_HROT,string);
- sInfo[pID][skin]=skins;
- return 1;
- }
- return 1;
- }
- //Supporterbefehle
- ocmd@2:supporterchat,sc(playerid,params[])
- {
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- if(sInfo[playerid][alevel] >= 2)
- {
- new text[200],sname[MAX_PLAYER_NAME],string[128];
- GetPlayerName(playerid,sname,sizeof(sname));
- if(sscanf(params,"s",text)) return SendClientMessage(playerid,CL_KNALLROT,"Benutzung: /supporterchat (/sc) [Text]");
- if(sInfo[playerid][alevel] == 1)
- {
- return 1;
- }
- else if (sInfo[playerid][alevel] == 2)
- {
- format(string,sizeof(string), "Level 2 - Supporter %s: %s",sname,text);
- SendSupMessage(string);
- }
- else if (sInfo[playerid][alevel] == 3 || sInfo[playerid][alevel] == 4 )
- {
- format(string, sizeof(string), "Level 3/4 - Moderator/Super Moderator %s: %s", sname,text);
- SendSupMessage(string);
- }
- else if (sInfo[playerid][alevel] == 5)
- {
- format(string, sizeof(string), "Level 5 - Administrator %s: %s", sname,text);
- SendSupMessage(string);
- }
- else if (sInfo[playerid][alevel] == 6)
- {
- format(string, sizeof(string), "Level 6 - Server Manager %s: %s", sname,text);
- SendSupMessage(string);
- }
- else if (sInfo[playerid][alevel] == 7)
- {
- format(string, sizeof(string), "Level 7 - Stelv. Projektleitung %s: %s", sname,text);
- }
- else if (sInfo[playerid][alevel] == 8)
- {
- format(string, sizeof(string), "Level 8 - Projektleitung %s: %s", sname,text);
- SendSupMessage(string);
- }
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- ocmd:tp(playerid,params[])
- {
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
- if(sInfo[playerid][alevel]>=2)
- {
- ShowPlayerDialog(playerid,DIALOG_ADMIN_TP,DIALOG_STYLE_LIST,"Teleport Menü","Adminbase\nLSPD\nBank-LS\nCNN-Dach\nCNN-Unten","Teleporten","Abbrechen");
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- ocmd:aduty(playerid,params[])
- {
- new string[128];
- Delete3DTextLabel(aDuty[playerid]);
- if(sInfo[playerid][alevel]<2)return SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- if(sInfo[playerid][aduty]==0)
- {
- format(string,128,"%s: %s{FFFFFF} ist nun im Admindienst!",a_rang[sInfo[playerid][alevel]],SpielerName(playerid));
- SendClientMessageToAll(CL_KNALLROT,string);
- SetPlayerColor(playerid,CL_KNALLROT);
- SendClientMessage(playerid,CL_HGRÜN,"Du bist im Admindienst");
- switch(sInfo[playerid][alevel])
- {
- case 2: aDuty[playerid] = Create3DTextLabel("[GRP]Supporter",CL_KNALLROT,30.0,40.0,50.0,MAX_STREAM_NAME_DISTANCE,GetPlayerVirtualWorld(playerid),1);
- case 3: aDuty[playerid] = Create3DTextLabel("[GRP]Moderator",CL_KNALLROT,30.0,40.0,50.0,MAX_STREAM_NAME_DISTANCE,GetPlayerVirtualWorld(playerid),1);
- case 4: aDuty[playerid] = Create3DTextLabel("[GRP]Super-Moderator",CL_KNALLROT,30.0,40.0,50.0,MAX_STREAM_NAME_DISTANCE,GetPlayerVirtualWorld(playerid),1);
- case 5: aDuty[playerid] = Create3DTextLabel("[GRP]Administrator",CL_KNALLROT,30.0,40.0,50.0,MAX_STREAM_NAME_DISTANCE,GetPlayerVirtualWorld(playerid),1);
- case 6: aDuty[playerid] = Create3DTextLabel("[GRP]Server-Manager",CL_KNALLROT,30.0,40.0,50.0,MAX_STREAM_NAME_DISTANCE,GetPlayerVirtualWorld(playerid),1);
- case 7: aDuty[playerid] = Create3DTextLabel("[GRP]Co-Projektleitung",CL_KNALLROT,30.0,40.0,50.0,MAX_STREAM_NAME_DISTANCE,GetPlayerVirtualWorld(playerid),1);
- case 8: aDuty[playerid] = Create3DTextLabel("[GRP]Projektleitung",CL_KNALLROT,30.0,40.0,50.0,MAX_STREAM_NAME_DISTANCE,GetPlayerVirtualWorld(playerid),1);
- }
- Attach3DTextLabelToPlayer(aDuty[playerid],playerid,0.0,0.0,0.3);
- sInfo[playerid][aduty]=1;
- }
- else if(sInfo[playerid][aduty]==1)
- {
- Delete3DTextLabel(aDuty[playerid]);
- SetPlayerColor(playerid,CL_WHITE);
- SendClientMessage(playerid,CL_HGRÜN,"Du bist nun aus dem Admindienst");
- sInfo[playerid][aduty]=0;
- }
- return 1;
- }
- //VIP
- ocmd:vip(playerid,params[])
- {
- if(sInfo[playerid][alevel] ==1 || sInfo[playerid][alevel]>=6)
- {
- new text[200],sname[MAX_PLAYER_NAME],string[128],a_level;
- a_level = sInfo[playerid][alevel];
- GetPlayerName(playerid,sname,sizeof(sname));
- if(sscanf(params,"s",text)) return SendClientMessage(playerid,CL_KNALLROT,"Benutzung: /vip [Text]");
- format(string, sizeof(string), " Level: %i -----> %s %s: %s",sInfo[playerid][alevel],a_rang[a_level],sname,text);
- VIPMessage(string);
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- //Allgemeine User befehle
- ocmd:enter(playerid,params[])
- {
- for(new i=0; i<sizeof(bInfo); i++)
- {
- if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]))continue;
- SetPlayerPos(playerid,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]);
- SetPlayerInterior(playerid,bInfo[i][b_interior]);
- SetPlayerVirtualWorld(playerid,i);
- return 1;
- }
- return 1;
- }
- ocmd:exit(playerid,params[])
- {
- for(new i=0; i<sizeof(bInfo); i++)
- {
- if(GetPlayerVirtualWorld(playerid)!=i)continue;
- if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]))continue;
- SetPlayerPos(playerid,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]);
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid,0);
- return 1;
- }
- return 1;
- }
- ocmd:admin(playerid,params[])
- {
- new str[128];
- SendClientMessage(playerid,CL_HROT,"------------------Admins Online------------------");
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(sInfo[i][eingeloggt]==1)
- {
- switch(sInfo[i][alevel])
- {
- case 0://User
- {
- }
- case 1://VIP
- {
- }
- case 2://Supporter
- {
- format(str, sizeof(str), "%s ist Supporter.",SpielerName(i));
- SendClientMessage(playerid,CL_HGRÜN,str);
- }
- case 3://Moderator
- {
- format(str, sizeof(str), "%s ist Moderator.",SpielerName(i));
- SendClientMessage(playerid,CL_HGRÜN,str);
- }
- case 4://Super Moderator
- {
- format(str, sizeof(str), "%s ist Super-Moderator.",SpielerName(i));
- SendClientMessage(playerid,CL_HGRÜN,str);
- }
- case 5://Admin
- {
- format(str, sizeof(str), "%s ist Administrator .",SpielerName(i));
- SendClientMessage(playerid,CL_HGRÜN,str);
- }
- case 6://Server Manager
- {
- format(str, sizeof(str), "%s ist Server Manager.",SpielerName(i));
- SendClientMessage(playerid,CL_HGRÜN,str);
- }
- case 7://Co-Projektleitung
- {
- format(str, sizeof(str), "%s ist CO-Projektleiter.",SpielerName(i));
- SendClientMessage(playerid,CL_HGRÜN,str);
- }
- case 8://Projektleitung
- {
- format(str, sizeof(str), "%s ist Projektleiter.",SpielerName(i));
- SendClientMessage(playerid,CL_HGRÜN,str);
- }
- }
- }
- }
- SendClientMessage(playerid,CL_HROT,"------------------Admins Online------------------");
- return 1;
- }
- ocmd:help(playerid,params[])
- {
- SendClientMessage(playerid,CL_WHITE,"-----------------------------------------------Hilfe-----------------------------");
- if(sInfo[playerid][alevel]>=0)
- {
- SendClientMessage(playerid,CL_HGRÜN," Allgemeine Befehle: /admin /enter /exit /help ");
- }
- if(sInfo[playerid][alevel]>=1)
- {
- //SendClientMessage(playerid,CL_HGRÜN,"");
- SendClientMessage(playerid,CL_HGRÜN," VIP-Befehle: /vip (VIP Chat) ");
- }
- if(sInfo[playerid][alevel]>=2)
- {
- //SendClientMessage(playerid,CL_HGRÜN,"");
- SendClientMessage(playerid,CL_HGRÜN," Supporter-Befehle: /sc (Supporterchat) /acar [Vehicle-ID] /tp(Menü) ");
- }
- if(sInfo[playerid][alevel]>=3)
- {
- //SendClientMessage(playerid,CL_HGRÜN,"");
- SendClientMessage(playerid,CL_HGRÜN," Moderator-Befehle: /ac (Adminchat) /tban[ID][Zeit][Grund] ");
- }
- if(sInfo[playerid][alevel]>=4)
- {
- //SendClientMessage(playerid,CL_HGRÜN,"");
- SendClientMessage(playerid,CL_HGRÜN," Super-Moderator-Befehle: /enter [Vehicle-ID][Platz] /tunban[SpielerName] ");
- }
- if(sInfo[playerid][alevel]>=5)
- {
- //SendClientMessage(playerid,CL_HGRÜN,"");
- SendClientMessage(playerid,CL_HGRÜN," Administrator-Befehle: /unban[SpielerName] ");
- }
- if(sInfo[playerid][alevel]>=6)
- {
- //SendClientMessage(playerid,CL_HGRÜN,"");
- SendClientMessage(playerid,CL_HGRÜN," Server-Manager-Befehle: /gmx /register(schaltet die registrierung an/aus) ");
- }
- if(sInfo[playerid][alevel]>=7)
- {
- //SendClientMessage(playerid,CL_HGRÜN,"");
- SendClientMessage(playerid,CL_HGRÜN," Stelv. Projektleitungs-Befehle: /makeadmin /cspawn [Vehicle-ID] /aa (Admin-Ansage)[Text] ");
- }
- if(sInfo[playerid][alevel]==8)
- {
- //SendClientMessage(playerid,CL_HGRÜN,"");
- SendClientMessage(playerid,CL_HGRÜN," Projektleitungs-Befehle: ");
- }
- SendClientMessage(playerid,CL_HGRÜN,"");
- SendClientMessage(playerid,CL_WHITE,"-------------------------------------------Hilfe-----------------------------");
- return 1;
- }
- //Fraktionsbefehle
- ocmd:mv(playerid,params[])
- {
- if(IsPlayerInRangeOfPoint(playerid, 7.0,1584.6, -1638, 12.3 ))//LSPD
- {
- static status;
- if(status == 0)
- {
- MoveObject(LSPD_TOR,1592.3, -1638,12.3,1.9);
- SendClientMessage(playerid,CL_WHITE,"Tor geöffnet.");
- status = 1;
- return 1;
- }
- else if(status == 1)
- {
- MoveObject(LSPD_TOR,1584.6, -1638, 12.3,1.9);
- SendClientMessage(playerid,CL_WHITE,"Tor geschlossen.");
- status = 0;
- return 1;
- }
- }
- else if(IsPlayerInRangeOfPoint(playerid,7,1786, -1305.7, 133.4))
- {
- static status;
- if(status ==0)
- {
- MoveObject(CNN_TOR,1786, -1305.7, 138.2,1.9);
- SendClientMessage(playerid,CL_ADMINCHAT,"Tor ist nun offen.");
- return status=1;
- }
- else
- {
- MoveObject(CNN_TOR,1786, -1305.7, 133.4,1.9);
- SendClientMessage(playerid,CL_ADMINCHAT,"Tor ist nun geschlossen.");
- status = 0;
- return 1;
- }
- }
- //else if
- return 1;
- }
- //Neue Befehle
- ocmd:givegun(playerid,params[])
- {
- if(sInfo[playerid][alevel]<4)return 1;
- new pID,weapon,munition;
- if(sscanf(params,"uii",pID,weapon,munition)) return SendClientMessage(playerid,CL_KNALLROT,"Benutzung: /givegun [playerid][weapon id][munition]");
- GivePlayerWeapon(pID,weapon,munition);
- return 1;
- }
- ocmd:bankmenu(playerid,params[])
- {
- if(IsPlayerInRangeOfPoint(playerid,2,2309.3765,-8.3644,26.7422))
- {
- ShowPlayerDialog(playerid,DIALOG_BANKMENU,DIALOG_STYLE_LIST,"Bankmenu","Kontostand\nAbheben\nZuzahlen\nKredit aufnehmen\nKredit bezahlen\nAusrauben","OK","abbrechen");
- return 1;
- }
- SCM(playerid,CL_GELB,"INFO: Du bist nicht in der nähe der Bank oder eines Bankautomaten!");
- return 1;
- }
- //------------------------------OCMD_ENDE-----------------------------------------------------
- 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)
- {
- if(newkeys & KEY_SPRINT)
- {
- if(GetPlayerVirtualWorld(playerid) == 0)
- {
- ocmd_enter(playerid,"");
- return 1;
- }
- else
- {
- ocmd_exit(playerid,"");
- return 1;
- }
- }
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 0;
- }
- 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[])
- {
- //MYSQL REGISTRIEREN
- if(dialogid==DIALOG_REGISTER_MYSQL)
- {
- if(response)
- {
- //Klick auf Register
- new name[MAX_PLAYER_NAME],query[128],passwort[128];
- GetPlayerName(playerid,name,sizeof(name));
- if(strlen(inputtext)>=4)
- {
- //wenn grösser= 4 Zeichen-Registrieren in der DB
- mysql_escape_string(inputtext,passwort,dbhandle);
- format(query,sizeof(query),"INSERT INTO Benutzer (NAME, PASSWORD,LEVEL,GELD) VALUES ('%s',MD5('%s'),'1','10500')",name,passwort);
- mysql_function_query(dbhandle,query,false,"","");
- SetPlayerScore(playerid,1);
- printf("Name:%s Kennwort: %s ",name,passwort);
- }
- else
- {
- //wenn weniger
- SendClientMessage(playerid,CL_KNALLROT,"Neuer Versuch !");
- SendClientMessage(playerid,CL_KNALLROT,"Gib dein Passwort ein! Es muss mehr als 3 Zeichen haben !");
- ShowPlayerDialog(playerid,DIALOG_REGISTER_MYSQL,DIALOG_STYLE_INPUT,"Registrierung auf GermanRoleplay","Bitte Registriere dich mit deinem Passwort.","Register","Close");
- }
- }
- else
- {
- //Abbruch der Registrierung
- SendClientMessage(playerid,CL_KNALLROT,"Du hast die Registrierung per Button abgebrochen.");
- KickPlayer(playerid);
- }
- return 1;
- }
- //MYSQL LOGIN
- if(dialogid==DIALOG_LOGIN_MYSQL)
- {
- if(response)
- {
- new name[MAX_PLAYER_NAME],query[128],passwort[128];
- GetPlayerName(playerid,name,sizeof(name));
- if(strlen(inputtext)>0)
- {
- //Wenn Passwort richtig
- mysql_escape_string(inputtext,passwort,dbhandle);
- format(query,sizeof(query),"SELECT * FROM Benutzer WHERE NAME='%s' AND PASSWORD=MD5('%s')",name,passwort);
- mysql_function_query(dbhandle,query,true,"PasswordCheck","i",playerid);
- }
- else
- {
- //Wenn kein passwort
- SendClientMessage(playerid,CL_KNALLROT,"Gib dein Passwort ein!");
- ShowPlayerDialog(playerid,DIALOG_LOGIN_MYSQL,DIALOG_STYLE_PASSWORD,"Login auf GermanRoleplay ","Bitte Logge dich mit deinem Passwort ein. ","Login","Close");
- }
- }
- else
- {
- SendClientMessage(playerid,CL_KNALLROT,"Du hast den Login bei GermanRoleplay Abgebrochen !");
- KickPlayer(playerid);
- }
- return 1;
- }
- if(dialogid==DIALOG_CLICK_FROM_ADMIN)
- {
- switch(listitem)
- {
- case 0:
- {//goto
- if(sInfo[playerid][aduty]==0)return 1;
- if(sInfo[playerid][alevel]>=3)
- {
- new Float:X,Float:Y,Float:Z;
- if(sInfo[playerid][alevel]<sInfo[clickedid[playerid]][alevel])return SendClientMessage(playerid,CL_KNALLROT,"Du kannst dich nicht zu einem Höheren Teammitglied Teleportieren.");
- GetPlayerPos(clickedid[playerid],Float:X,Float:Y,Float:Z);//new Float:X,Float:Y,Float:Z;
- SetPlayerInterior(playerid,GetPlayerInterior(clickedid[playerid]));
- SetPlayerPos(playerid,Float:X+1,Float:Y,Float:Z);
- new nachricht[129];
- format(nachricht,sizeof(nachricht),"ADMCMD: Du hast dich zu %s Teleportiert.",SpielerName(clickedid[playerid]));
- SendClientMessage(playerid,CL_HROT,nachricht);
- format(nachricht,sizeof(nachricht),"ADMCMD: Admin %s hat sich zu dir Teleportiert. ",SpielerName(playerid));
- SendClientMessage(clickedid[playerid],CL_HROT,nachricht);
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- case 1:
- {//gethere
- if(sInfo[playerid][aduty]==0)return 1;
- if(sInfo[playerid][alevel]>=3)
- {
- new Float:X,Float:Y,Float:Z,pID = clickedid[playerid];
- GetPlayerPos(playerid,Float:X,Float:Y,Float:Z);
- SetPlayerInterior(pID,GetPlayerInterior(playerid));
- SetPlayerPos(pID,Float:X+1,Float:Y,Float:Z);
- new nachricht[129];
- format(nachricht,sizeof(nachricht),"ADMCMD: Du wurdest zu %s Teleportiert.",SpielerName(playerid));
- SendClientMessage(pID,CL_HROT,nachricht);
- new nachricht2[127];
- format(nachricht2,sizeof(nachricht2),"ADMCMD: Du hast %s zu dir Teleportiert. ",SpielerName(pID));
- SendClientMessage(playerid,CL_HROT,nachricht2);
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- case 2:
- {//Kick
- if(sInfo[playerid][alevel]>=2)return ShowPlayerDialog(playerid,DIALOG_KICKINPUT,DIALOG_STYLE_INPUT,"Gebe einen Grund an:","Um den Spieler Kicken zu können, musst du zunächst einen Grund angeben!","Kicken","Abbrechen");
- return 1;
- }
- case 3:
- {//ban
- if(sInfo[playerid][alevel]>=4)return ShowPlayerDialog(playerid,DIALOG_BANINPUT,DIALOG_STYLE_INPUT,"Gebe einen Grund an:","Um den Spieler Bannen zu können, musst du zunächst einen Grund angeben!","Kicken","Abbrechen");
- return 1;
- }
- case 4://TBan
- {
- if(sInfo[playerid][alevel]>=3)
- {
- return ShowPlayerDialog(playerid,DIALOG_TBANZEITINPUT,DIALOG_STYLE_INPUT,"Gebe eine Zeit in Minuten an:","Um den Spieler Timebannen zu können, musst du zunächst die Zeit in Minuten angeben! Minimum: 1Minute","Bestätigen","Abbrechen");
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- case 5:
- {//Heal
- if(sInfo[playerid][alevel]>=3)
- {
- new string[128],pID=clickedid[playerid],nachricht[127];
- SetPlayerHealth(clickedid[playerid],100);
- format(string,sizeof(string),"ADMCMD: Du hast von dem Admin %s volles Leben erhalten ! ",SpielerName(playerid));
- SendClientMessage(pID,CL_HGRÜN,string);
- format(nachricht,sizeof(nachricht),"ADMCMD: Du hast %s gehealt ! ",SpielerName(clickedid[playerid]));
- SendClientMessage(playerid,CL_HGRÜN,nachricht);
- return 1;
- }
- SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
- return 1;
- }
- case 6:
- {//Spectate Beobachten
- new string[128];
- format(string,sizeof(string),"Du beobachtest %s. Benutze /Stopspectate um den Beobachtungsmodus zu beenden.",SpielerName(clickedid[playerid]));
- TogglePlayerSpectating(playerid, 1);
- PlayerSpectatePlayer(playerid, clickedid[playerid]);
- SendClientMessage(playerid,CL_HGRÜN,string);
- Spectatestatus[playerid]=1;
- return 1;
- }
- }
- return 1;
- }
- if(dialogid == DIALOG_KICKINPUT)
- {
- if(!response) return 1;
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_KICKINPUT,DIALOG_STYLE_INPUT,"Gebe einen Grund an:","Um den Spieler Kicken zu können, musst du zunächst einen Grund angeben!","Kicken","Abbrechen");
- new kicktext[200];
- format(kicktext, 200, "ADMCMD: %s wurde von %s vom Server gekickt! Grund: %s", SpielerName(clickedid[playerid]),SpielerName(playerid),inputtext);
- SendClientMessageToAll(CL_KNALLROT, kicktext);
- KickPlayer(clickedid[playerid]);
- return 1;
- }
- if(dialogid == DIALOG_BANINPUT)
- {
- if(!response) return 1;
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_KICKINPUT,DIALOG_STYLE_INPUT,"Gebe einen Grund an:","Um den Spieler Bannen zu können, musst du zunächst einen Grund angeben!","Kicken","Abbrechen");
- new kicktext[200];
- format(kicktext, 200, "ADMCMD: %s wurde von %s vom Server gebannt! Grund: %s", SpielerName(clickedid[playerid]),SpielerName(playerid),inputtext);
- SendClientMessageToAll(CL_KNALLROT, kicktext);
- sInfo[clickedid[playerid]][baned] = 1;
- KickPlayer(clickedid[playerid]);
- return 1;
- }
- if(dialogid == DIALOG_TBANZEITINPUT)
- {
- //DIALOG_TBANZEITINPUT
- if(!response) return 1;
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_TBANZEITINPUT,DIALOG_STYLE_INPUT,"Gebe eine Zeit in Minuten an:","Um den Spieler Timebannen zu können, musst du zunächst die Zeit in Minuten angeben! Minimum: 1Minute","Begründen","Abbrechen");
- new TBanZeit = strval(inputtext);
- printf("Zeit %d", TBanZeit);
- if(TBanZeit < 1)
- {
- SendClientMessage(playerid,0xADC7E7FF,"Minimale Zeit: 1 Minute. ");
- return ShowPlayerDialog(playerid,DIALOG_TBANZEITINPUT,DIALOG_STYLE_INPUT,"Gebe eine Zeit in Minuten an:","Um den Spieler Timebannen zu können, musst du zunächst die Zeit in Minuten angeben! Minimum: 1Minute","Begründen","Abbrechen");
- }
- SetPVarInt(playerid, "TBanZeit", TBanZeit);
- ShowPlayerDialog(playerid,DIALOG_TBANGRUNDINPUT,DIALOG_STYLE_INPUT,"Timeban Grund für den Spieler.","Gebe den Timeban Grund ein.","Bestätigen","Abbrechen");//SpielerName(clickedid[playerid]));
- return 1;
- }
- if(dialogid == DIALOG_TBANGRUNDINPUT)
- {
- if(!response) return 1;
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_TBANGRUNDINPUT,DIALOG_STYLE_INPUT,"Timeban Grund für den Spieler.","Gebe den Timeban Grund ein.","Grund bestätigen","Abbrechen");//SpielerName(clickedid[playerid]));
- new pIdName[MAX_PLAYER_NAME],pName[MAX_PLAYER_NAME],string[144];
- GetPlayerName(clickedid[playerid],pIdName,sizeof(pIdName));
- new TBanZeit = GetPVarInt(playerid, "TBanZeit");
- printf("Zeit %i Grund %i",TBanZeit,inputtext);
- new a_level;
- a_level = sInfo[playerid][alevel];
- GetPlayerName(playerid,pName,sizeof(pName));
- format(string,sizeof(string),"[ADMCMD][TIMEBAN]: %s : %s timebannte %s für %d Minuten. Grund: %s",a_rang[a_level],pName,pIdName,TBanZeit,inputtext);
- SendClientMessageToAll(CL_KNALLROT,string);
- printf("AdmCmd(TIMEBAN): Admin: %s(%i) - Timebanned Player: %s(%i) - Timeban Reason: %s",pName,playerid,pIdName,clickedid[playerid],inputtext);
- pBanner[clickedid[playerid]] = pName;
- TBan(clickedid[playerid],TBanZeit);
- return 1;
- }
- if(dialogid == DIALOG_ADMIN_TP)
- {
- if(response)
- {
- switch(listitem)
- {
- case 0://Adminbase
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- SetVehiclePos(vehicleid,1319.2, -3910.6, 3.6);
- }
- else
- {
- SetPlayerPos(playerid,1319.2, -3910.6, 2.6);
- return 1;
- }
- }
- case 1://LSPD
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- SetVehiclePos(vehicleid,1594.4666,-1632.1726,15.4857);
- }
- else
- {
- SetPlayerPos(playerid,1594.4666,-1632.1726,14.4857);
- return 1;
- }
- }
- case 2://bank LS
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- if(GetPlayerInterior(playerid)==0)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- SetVehiclePos(vehicleid,1459.4891,-1012.1659,26.8438);
- return 1;
- }
- return SCM(playerid,CL_HGRÜN,"INFO: Du kannst dich nicht aus einem Interior Teleporten");
- }
- else
- {
- SetPlayerInterior(playerid,0);
- SetPlayerPos(playerid,1459.4891,-1012.1659,26.8438);
- return 1;
- }
- }
- case 3://SAM-AG/CNN-DACH
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- SetVehiclePos(vehicleid,1773.8978,-1302.5413,131.7344);
- }
- else
- {
- SetPlayerPos(playerid,1773.8978,-1302.5413,131.7344);
- return 1;
- }
- }
- case 4://SAM-AG/cnn-Unten
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- SetVehiclePos(vehicleid,1780.8357,-1303.1746,14.5516);
- }
- else
- {
- SetPlayerPos(playerid,1780.8357,-1303.1746,13.5516);
- return 1;
- }
- }
- }
- }
- }
- if(dialogid == DIALOG_BANKMENU)
- {
- if(response == 1)
- {
- new str[128];
- switch(listitem)
- {
- case 0://Kontostand
- {
- format(str,sizeof(str),"Dein Kontostand: %i$",sInfo[playerid][bankgeld]);
- SendClientMessage(playerid,CL_DGRÜN,str);
- return 1;
- }
- case 1://
- {
- //showDialog
- return 1;
- }
- }
- return 1;
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- if(sInfo[playerid][alevel]==0)return 1;
- new name[MAX_PLAYER_NAME];
- GetPlayerName(clickedplayerid,name,sizeof(name));
- if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"Du bist nicht Admin Duty!");
- ShowPlayerDialog(playerid,DIALOG_CLICK_FROM_ADMIN,DIALOG_STYLE_LIST,name,"Goto\nGethere\nKick\nBan\nTimeban\nHealth\nBeobachten","OK","Abbrechen");
- clickedid[playerid] = clickedplayerid;
- return 1;
- }
- public PasswordCheck(playerid)
- {
- new num_fields,num_rows;
- cache_get_data(num_rows,num_fields,dbhandle);
- if(num_rows==1)
- {
- //passwort richtig=Daten Laden
- //Datenbank id auslesen und eingeloggt auf =1 setzen
- sInfo[playerid][baned] = cache_get_field_content_int(0,"BANED",dbhandle);
- if(sInfo[playerid][baned]==1)
- {
- SendClientMessage(playerid,CL_KNALLROT,"Du bist gebannt. Melde dich im Forum unter Entbannungsanträge oder im TS³.");
- KickPlayer(playerid);
- return 1;
- }
- new a_level;
- sInfo[playerid][eingeloggt] = 1;
- sInfo[playerid][db_id] = cache_get_field_content_int(0,"DB_ID",dbhandle);
- //Adminlevel
- sInfo[playerid][alevel] = cache_get_field_content_int(0,"ALEVEL",dbhandle);
- //Level
- sInfo[playerid][level] = cache_get_field_content_int(0,"LEVEL",dbhandle);
- SetPlayerScore(playerid,sInfo[playerid][level]);
- //Geld
- sInfo[playerid][geld] = cache_get_field_content_int(0,"GELD",dbhandle);
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid,cache_get_field_content_int(0,"GELD",dbhandle));
- //Skin
- sInfo[playerid][skin] = cache_get_field_content_int(0,"SKIN",dbhandle);
- SetPlayerSkin(playerid,sInfo[playerid][skin]);
- //fahrzeuge laden
- loadcars(playerid);
- //Eingeloggt-Nachricht
- SendClientMessage(playerid,CL_WHITE,"Du hast dich erfolgreich eingeloggt");
- //SpawnPlayer(playerid);
- new nachricht[128];
- if(sInfo[playerid][alevel]<2)
- {
- format(nachricht,sizeof(nachricht),"JOIN: Spieler %s hat den Server betreten !",SpielerName(playerid));
- SendClientMessageToAll(CL_KNALLROT,nachricht);
- TogglePlayerControllable(playerid,1);
- SpawnPlayer(playerid);
- return 1;
- }
- a_level = sInfo[playerid][alevel];
- format(nachricht,sizeof(nachricht),"%ss-Join: %s %s hat den Server betreten !",a_rang[a_level],a_rang[a_level],SpielerName(playerid));
- SendClientMessageToAll(CL_KNALLROT,nachricht);
- SpawnPlayer(playerid);
- return 1;
- }
- else
- {
- //Passwort Falsch
- SendClientMessage(playerid,CL_KNALLROT,"Dein Passwort Stimmt nicht!");
- ShowPlayerDialog(playerid,DIALOG_LOGIN_MYSQL,DIALOG_STYLE_PASSWORD,"Login auf GermanRoleplay ","Bitte Logge dich mit deinem Passwort ein. ","Login","Close");
- }
- return 1;
- }
- public CarSavedDB(insertid)
- {
- cInfo[insertid][DB_ID] = cache_insert_id(dbhandle);
- return 1;
- }
- public PlayerCarsLoad(playerid)
- {
- new num_rows,num_fields;
- cache_get_data(num_rows,num_fields,dbhandle);
- if(num_rows==0)return SendClientMessage(playerid,-1,"Du besitzt keine Fahrzeuge!");
- for(new i=0; i<num_rows; i++)
- {
- new id=freecarid();
- new schild[128];
- cInfo[id][modelID] = cache_get_field_content_int(i,"MODEL",dbhandle);
- cInfo[id][besitzer] = cache_get_field_content_int(i,"BESITZER",dbhandle);
- cInfo[id][DB_ID] = cache_get_field_content_int(i,"DB_ID",dbhandle);
- cInfo[id][carx] = cache_get_field_content_int(i,"X",dbhandle);
- cInfo[id][cary] = cache_get_field_content_int(i,"Y",dbhandle);
- cInfo[id][carz] = cache_get_field_content_int(i,"Z",dbhandle);
- cInfo[id][carrota] = cache_get_field_content_int(i,"ROTATION",dbhandle);
- cInfo[id][Farbe1] = cache_get_field_content_int(i,"FARBE1",dbhandle);
- cInfo[id][Farbe2] = cache_get_field_content_int(i,"FARBE2",dbhandle);
- cInfo[id][respawnt] = cache_get_field_content_int(i,"RESPAWN",dbhandle);
- cInfo[id][SID] = CreateVehicle(cInfo[id][modelID],cInfo[id][carx],cInfo[id][cary],cInfo[id][carz],cInfo[id][carrota],cInfo[id][Farbe1],cInfo[id][Farbe2],cInfo[id][respawnt]);
- cache_get_field_content(i,"KENNZEICHEN",schild,dbhandle);
- if(strlen(schild)>=1)
- {
- if(strlen(schild)<=4)
- {
- SetVehicleNumberPlate(cInfo[id][SID],schild);
- return 1;
- }
- return 1;
- }
- return 1;
- }
- return 1;
- }
- public Lebensystem()
- {// Irgendwo im Script
- new Float:health;
- for(new i,l=GetMaxPlayers(); i<l; i++) if(IsPlayerConnected(i))if(sInfo[i][eingeloggt]) GetPlayerHealth(i,health),SetPlayerHealth(i,health-1);
- }
- public check3()
- {
- new string[128];
- if(server_name >= MAX_SERVER_NAMES-1) {server_name = -1; }
- if(server_name < MAX_SERVER_NAMES-1) { server_name++; }
- format(string ,sizeof(string),"hostname %s",server_names[server_name]);
- SendRconCommand(string);
- return 1;
- }
- public clock ()
- {
- new hour,minute,second;
- new string[9];
- gettime(hour,minute,second);
- format(string, sizeof string, "%02d:%02d:%02d", hour, minute, second);
- TextDrawSetString(Clock, string);
- TextDrawShowForAll(Clock);
- return 1;
- }
- //Stocks
- stock ClockDate()
- {
- Clock = TextDrawCreate(543.0, 35.0, "_"); // Koordinaten, wo die Uhr angezeigt wird //24.0
- TextDrawLetterSize(Clock, 0.4, 1.4);
- TextDrawFont(Clock, 3); // Uhrschrift
- TextDrawSetOutline(Clock, 2);
- TextDrawShowForAll(Clock);
- SetTimer("clock",1000,true);
- new day,month,year;
- new string[30];
- getdate(year, month, day);
- format(string, sizeof string, "%02d/%s%02d/%s%d", day, ((month < 10) ? ("") : ("")), month, (year < 10) ? ("") : (""), year);
- Date = TextDrawCreate(544.0, 50.0, string); // Koordinaten, wo die Uhr angezeigt wird
- TextDrawLetterSize(Date, 0.4, 1.4);
- TextDrawFont(Date, 3); // Uhrschrift
- TextDrawSetOutline(Date, 2);
- return 1;
- }
- stock SendMessageToAdmins(text[])
- {
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(sInfo[i][alevel] >= 3)
- {
- SendClientMessage(i,CL_ADMINCHAT,text);
- }
- }
- }
- stock SendAdminAnsage(text[])
- {
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(sInfo[i][alevel] >= 2)
- {
- SendClientMessage(i,CL_ANSAGE_ADMINS,text);
- }
- }
- }
- stock SendSupMessage(text[])
- {
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(sInfo[i][alevel] >= 2)
- {
- SendClientMessage(i,CL_SC_ORANGE,text);
- }
- }
- }
- stock VIPMessage(text[])
- {
- for(new i = 0; i<MAX_PLAYERS; i++)
- {
- if(sInfo[i][alevel]==1 || sInfo[i][alevel]>=7)
- {
- SendClientMessage(i,CL_VIP,text);
- }
- }
- }
- stock KickPlayer(playerid)
- {
- SetTimerEx("KickTimer",15,false,"i",playerid);
- return 1;
- }
- stock SpielerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- stock introstart(playerid)
- {
- if(introstatus==1)return 1;
- PlayAudioStreamForPlayer(playerid,"http://marsrl.de/Intro22.mp3");
- introstatus = 1;
- for(new i=0;i<100;i++)
- {
- SendClientMessage(playerid,CL_WHITE," ");
- }
- return 1;
- }
- stock introstop(playerid)
- {
- return SetTimerEx("stopintro", 530000, false, "i", playerid);
- }
- stock loadstat(playerid)
- {
- new str[128];
- format(str,sizeof(str),"~n~Level: %i~n~Geld: %i$~n~Kontostand: %i$~n~Payday: X/60 Minuten~n~",sInfo[playerid][level],sInfo[playerid][geld],sInfo[playerid][bankgeld]);
- Statistik1 = TextDrawCreate(495 ,113.8 ,str);
- TextDrawLetterSize(Statistik1,0.3,1.3);
- TextDrawColor(Statistik1 , CL_DGRÜN);
- TextDrawFont(Statistik1 , 1);
- TextDrawSetOutline(Statistik1 , true);
- TextDrawSetProportional(Statistik1 , true);
- TextDrawSetShadow(Statistik1 , 1);
- TextDrawShowForPlayer(playerid,Statistik1);
- SetTimerEx("Statistikupdate",500,1,"i",playerid);
- return 1;
- }
- stock Statistik(playerid)
- {
- Statistiken = TextDrawCreate(495 ,113.8 ,"Statistiken");
- TextDrawFont(Statistiken , 1);
- TextDrawLetterSize(Statistiken , 0.5, 1.5);
- TextDrawColor(Statistiken , CL_GELB);
- TextDrawSetOutline(Statistiken , true);
- TextDrawSetProportional(Statistiken , true);
- TextDrawSetShadow(Statistiken , 1);
- TextDrawShowForPlayer(playerid,Statistiken);
- return 1;
- }
- stock LoadObjects()
- {
- //LSPD Tor
- LSPD_TOR = CreateObject(969, 1584.6, -1638, 12.4, 0, 0, 0);
- //SAM AG DACH
- CreateObject(980, 1817.3, -1318.9, 133.5, 0, 0, 0);
- CreateObject(980, 1828.8, -1318.9, 133.5, 0, 0, 0);
- CreateObject(980, 1834.6, -1313.1, 133.5, 0, 0, 268.5);
- CreateObject(980, 1835, -1301.6, 133.5, 0, 0, 268.495);
- CreateObject(980, 1835.4, -1290.1, 133.5, 0, 0, 268.495);
- CreateObject(980, 1835.7, -1278.6, 133.5, 0, 0, 268.495);
- CreateObject(980, 1835.8, -1275.1, 133.5, 0, 0, 268.495);
- CreateObject(980, 1830.3, -1269.5, 133.5, 0, 0, 180.495);
- CreateObject(980, 1818.8, -1269.7, 133.5, 0, 0, 180.494);
- CreateObject(980, 1813.3, -1275.2, 133.5, 0, 0, 252.244);
- CreateObject(980, 1811.7, -1286.4, 133.5, 0, 0, 271.741);
- CreateObject(980, 1806.3, -1293.3, 133.5, 0, 0, 191.736);
- CreateObject(980, 1795, -1295.3, 133.5, 0, 0, 188.233);
- CreateObject(980, 1783.6, -1296.6, 133.5, 0, 0, 184.979);
- CreateObject(980, 1783.6, -1296.6, 133.5, 0, 0, 184.977);
- CreateObject(980, 1777.9, -1302.8, 133.5, 0, 0, 270.972);
- CreateObject(980, 1811.4, -1313.2, 133.5, 0, 0, 270.967);
- CreateObject(980, 1805.6, -1307.1, 133.5, 0, 0, 355.722);
- CreateObject(3749, 1786.1, -1306.5, 136.2, 0, 0, 0);
- CreateObject(3049, 1799.9, -1306.7, 133, 0, 0, 0);
- CreateObject(3049, 1792, -1308.6, 133, 0, 0, 84);
- CreateObject(3049, 1791.5, -1313, 133, 0, 0, 359.246);
- CreateObject(3049, 1787.2, -1312.9, 133, 0, 0, 0.242);
- CreateObject(3049, 1782.8, -1312.9, 133, 0, 0, 0.242);
- CreateObject(3049, 1778.3, -1312.9, 133, 0, 359.75, 346.242);
- CreateObject(3049, 1774, -1311.8, 133, 0, 359.747, 311.24);
- CreateObject(3049, 1771.1, -1308.4, 133, 0, 0, 279.25);
- CreateObject(3049, 1770.4, -1304.1, 133, 0, 0, 271.495);
- CreateObject(3049, 1770.3, -1299.7, 133, 0, 0, 181.494);
- CreateObject(3049, 1773.4, -1299.6, 133, 0, 0, 181.489);
- CNN_TOR=CreateObject(980, 1786, -1305.7, 133.4, 0, 0, 0);
- //Adminbase
- CreateObject(4867, 1319.2, -3910.6, 1.7, 0, 0, 358.248);
- CreateObject(4867, 1106.8, -3904.2, 1.7, 0, 0, 358.248);
- CreateObject(4867, 895.2002, -3897.7, 1.6, 0, 0, 358.248);
- CreateObject(8251, 1079.2, -3924.5, 5, 0, 359.247, 88.248);
- CreateObject(8251, 1104.4, -3925.3, 4.9, 0, 359.242, 88.248);
- CreateObject(8251, 1129.4, -3926.1, 5.2, 0, 359.242, 88.248);
- CreateObject(4113, 1006.6, -3977.7, 36.1, 0, 359.498, 11.492);
- CreateObject(4726, 816.3, -3837.4, 0.4, 0, 0, 0);
- CreateObject(8172, 708.3, -3880.7, 1.6, 0, 0, 268);
- CreateObject(2933, 981, -3991.3, 3.3, 0, 0, 0);
- CreateObject(2933, 972.2, -3991.3, 3.3, 0, 0, 0);
- CreateObject(2933, 963.5, -3991.1, 3.3, 0, 0.25, 358.25);
- CreateObject(2933, 954.8, -3990.8, 3.3, 0, 0.25, 357.495);
- CreateObject(2933, 946.1, -3990.4, 3.3, 0, 0.247, 357.49);
- CreateObject(2933, 937.4, -3990, 3.3, 0, 0.247, 357.49);
- CreateObject(2933, 928.7, -3989.6, 3.3, 0, 0.247, 357.49);
- CreateObject(2933, 920, -3989.2, 3.3, 0, 0.247, 357.49);
- //Weiteres
- print("Objecte geladen!");
- return 1;
- }
- //freie funktionen
- freecarid()
- {
- for(new i=0; i<sizeof(cInfo); i++)
- {
- if(cInfo[i][SID]==0)return i;
- }
- return 0;
- }
- loadcars(playerid)
- {
- new query[200];
- format(query,sizeof(query),"SELECT * FROM Spielerautos WHERE BESITZER='%i'",sInfo[playerid][db_id]);
- mysql_function_query(dbhandle,query,true,"PlayerCarsLoad","i",playerid);
- return 1;
- }
- SaveCarToDB(playerid,i,modelid,farb1,farb2,respawn)
- {
- new query[200];
- new Float:rotation;
- GetVehicleZAngle(modelid,Float:rotation);//-->da muss hin wo es gepeichert wird
- format(query,sizeof(query),"INSERT INTO Spielerautos(BESITZER,MODEL,X,Y,Z,ROTATION,FARBE1,FARBE2,RESPAWN,KENNZEICHEN)VALUES('%i','%i','%f','%f','%f','%f','%i','%i','%i','%s')",sInfo[playerid][db_id],modelid,cInfo[i][carx],cInfo[i][cary],cInfo[i][carz],cInfo[i][carrota],farb1,farb2,respawn,cInfo[i][kennzeichen]);
- mysql_function_query(dbhandle,query,true,"CarSavedDB","i",i);
- return 1;
- }
- stock sscanf(sstring[], format[], {Float,_}:...)
- {
- #if defined isnull
- if (isnull(sstring))
- #else
- if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
- #endif
- {
- return format[0];
- }
- #pragma tabsize 4
- new
- formatPos = 0,
- sstringPos = 0,
- paramPos = 2,
- paramCount = numargs(),
- delim = ' ';
- while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
- {
- sstringPos++;
- }
- while (paramPos < paramCount && sstring[sstringPos])
- {
- switch (format[formatPos++])
- {
- case '\0':
- {
- return 0;
- }
- case 'i', 'd':
- {
- new
- neg = 1,
- num = 0,
- ch = sstring[sstringPos];
- if (ch == '-')
- {
- neg = -1;
- ch = sstring[++sstringPos];
- }
- do
- {
- sstringPos++;
- if ('0' <= ch <= '9')
- {
- num = (num * 10) + (ch - '0');
- }
- else
- {
- return -1;
- }
- }
- while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num * neg);
- }
- case 'h', 'x':
- {
- new
- num = 0,
- ch = sstring[sstringPos];
- do
- {
- sstringPos++;
- 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 = sstring[sstringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num);
- }
- case 'c':
- {
- setarg(paramPos, 0, sstring[sstringPos++]);
- }
- case 'f':
- {
- new changestr[16], changepos = 0, strpos = sstringPos;
- while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
- {
- changestr[changepos++] = sstring[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(sstring, format[formatPos], false, sstringPos)) == -1)
- {
- if (format[end + 1])
- {
- return -1;
- }
- return 0;
- }
- format[end] = '\'';
- sstringPos = ch + (end - formatPos);
- formatPos = end + 1;
- }
- case 'u':
- {
- new
- end = sstringPos - 1,
- id = 0,
- bool:num = true,
- ch;
- while ((ch = sstring[++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
- sstring[end] = '\0';
- num = false;
- new
- name[MAX_PLAYER_NAME];
- id = end - sstringPos;
- foreach (Player, playerid)
- {
- GetPlayerName(playerid, name, sizeof (name));
- if (!strcmp(name, sstring[sstringPos], true, id))
- {
- setarg(paramPos, 0, playerid);
- num = true;
- break;
- }
- }
- if (!num)
- {
- setarg(paramPos, 0, INVALID_PLAYER_ID);
- }
- sstring[end] = ch;
- #if defined __SSCANF_FOREACH__
- #undef foreach
- #undef __SSCANF_FOREACH__
- #endif
- }
- sstringPos = end;
- }
- case 's', 'z':
- {
- new
- i = 0,
- ch;
- if (format[formatPos])
- {
- while ((ch = sstring[sstringPos++]) && ch != delim)
- {
- setarg(paramPos, i++, ch);
- }
- if (!i)
- {
- return -1;
- }
- }
- else
- {
- while ((ch = sstring[sstringPos++]))
- {
- setarg(paramPos, i++, ch);
- }
- }
- sstringPos--;
- setarg(paramPos, i, '\0');
- }
- default:
- {
- continue;
- }
- }
- while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
- {
- sstringPos++;
- }
- while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
- {
- sstringPos++;
- }
- paramPos++;
- }
- do
- {
- if ((delim = format[formatPos++]) > ' ')
- {
- if (delim == '\'')
- {
- while ((delim = format[formatPos++]) && delim != '\'') {}
- }
- else if (delim != 'z')
- {
- return delim;
- }
- }
- }
- while (delim > ' ');
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement