Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define MAX_FRAKTIONEN 10
- enum FraktionsDatenEnum {
- f_ID,
- f_Name[32],
- f_Abkuerzung[8],
- f_Geld,
- f_Max_Fahrzeuge,
- f_Fahrzeuge,
- f_FahrzeugFarbe1,
- f_FahrzeugFarbe2,
- f_RangName1[25],
- f_RangName2[25],
- f_RangName3[25],
- f_RangName4[25],
- f_RangName5[25],
- f_RangName6[25],
- Float:f_PickupX_In,
- Float:f_PickupY_In,
- Float:f_PickupZ_In,
- Float:f_PickupR_In,
- Float:f_PickupX_Out,
- Float:f_PickupY_Out,
- Float:f_PickupZ_Out,
- Float:f_PickupR_Out,
- Float:f_SpawnX_In,
- Float:f_SpawnY_In,
- Float:f_SpawnZ_In,
- Float:f_SpawnR_In,
- Float:f_SpawnX_Out,
- Float:f_SpawnY_Out,
- Float:f_SpawnZ_Out,
- Float:f_SpawnR_Out,
- f_Int,
- f_VWorld,
- f_Pickup_In,
- f_Pickup_Out
- };
- enum PlayerDatenEnum {
- bool:pLogged,
- pName[MAX_PLAYER_NAME],
- pFraktion,
- pRang
- }
- enum {
- DIALOG_FL,
- DIALOG_FRAKTION_BEARBEITEN_1,
- DIALOG_FRAKTION_BEARBEITEN_2,
- DIALOG_FRAKTION_BEARBEITEN_3,
- DIALOG_FRAKTION_BEARBEITEN_4,
- DIALOG_FRAK_INVITE
- }
- forward LadeFraktionsDaten();
- new fInfo[MAX_FRAKTIONEN][FraktionsDatenEnum];
- new pInfo[MAX_PLAYERS][PlayerDatenEnum];
- public OnGameModeInit()
- {
- new string[256];
- mysql_format(handle, string, sizeof(string), "SELECT * FROM `fraktionen`");
- mysql_pquery(handle, string, "LadeFraktionsDaten");
- }
- public LadeFraktionsDaten()
- {
- new rows;
- cache_get_row_count(rows);
- if(rows == 0)
- {
- printf("- Es konnten keine Fraktionen gefunden werden!");
- return 1;
- }
- new var, string[128];
- for(new i; i<rows; i++)
- {
- cache_get_value_name_int(i, "id", fInfo[i][f_ID]);
- fInfo[i][f_VWorld] = fInfo[i][f_ID] + 100;
- cache_get_value_name_int(i, "Geld", fInfo[i][f_Geld]);
- cache_get_value_name_int(i, "Max_Fahrzeuge", fInfo[i][f_Max_Fahrzeuge]);
- cache_get_value_name_int(i, "Fahrzeuge", fInfo[i][f_Fahrzeuge]);
- cache_get_value_name_int(i, "Interior", fInfo[i][f_Int]);
- cache_get_value_name_int(i, "FahrzeugFarbe1", fInfo[i][f_FahrzeugFarbe1]);
- cache_get_value_name_int(i, "FahrzeugFarbe2", fInfo[i][f_FahrzeugFarbe2]);
- cache_get_value_name_float(i, "SpawnX_In", fInfo[i][f_SpawnX_In]);
- cache_get_value_name_float(i, "SpawnY_In", fInfo[i][f_SpawnY_In]);
- cache_get_value_name_float(i, "SpawnZ_In", fInfo[i][f_SpawnZ_In]);
- cache_get_value_name_float(i, "SpawnR_In", fInfo[i][f_SpawnR_In]);
- cache_get_value_name_float(i, "SpawnX_Out", fInfo[i][f_SpawnX_Out]);
- cache_get_value_name_float(i, "SpawnY_Out", fInfo[i][f_SpawnY_Out]);
- cache_get_value_name_float(i, "SpawnZ_Out", fInfo[i][f_SpawnZ_Out]);
- cache_get_value_name_float(i, "SpawnR_Out", fInfo[i][f_SpawnR_Out]);
- cache_get_value_name_float(i, "PickupX_In", fInfo[i][f_PickupX_In]);
- cache_get_value_name_float(i, "PickupY_In", fInfo[i][f_PickupY_In]);
- cache_get_value_name_float(i, "PickupZ_In", fInfo[i][f_PickupZ_In]);
- cache_get_value_name_float(i, "PickupX_Out", fInfo[i][f_PickupX_Out]);
- cache_get_value_name_float(i, "PickupY_Out", fInfo[i][f_PickupY_Out]);
- cache_get_value_name_float(i, "PickupZ_Out", fInfo[i][f_PickupZ_Out]);
- cache_get_value_name(i, "Name", string, sizeof(string));
- format(fInfo[i][f_Name], sizeof(string), string);
- cache_get_value_name(i, "Abkürzung", string, sizeof(string));
- format(fInfo[i][f_Abkuerzung], sizeof(string), string);
- cache_get_value_name(i, "RangName1", string, sizeof(string));
- format(fInfo[i][f_RangName1], sizeof(string), string);
- cache_get_value_name(i, "RangName2", string, sizeof(string));
- format(fInfo[i][f_RangName2], sizeof(string), string);
- cache_get_value_name(i, "RangName3", string, sizeof(string));
- format(fInfo[i][f_RangName3], sizeof(string), string);
- cache_get_value_name(i, "RangName4", string, sizeof(string));
- format(fInfo[i][f_RangName4], sizeof(string), string);
- cache_get_value_name(i, "RangName5", string, sizeof(string));
- format(fInfo[i][f_RangName5], sizeof(string), string);
- cache_get_value_name(i, "RangName6", string, sizeof(string));
- format(fInfo[i][f_RangName6], sizeof(string), string);
- if(fInfo[i][f_PickupX_In] != 0)
- {
- fInfo[i][f_Pickup_In] = CreateDynamicPickup(1559, 1, fInfo[i][f_PickupX_In], fInfo[i][f_PickupY_In], fInfo[i][f_PickupZ_In], fInfo[i][f_VWorld], fInfo[i][f_Int]);
- fInfo[i][f_Pickup_Out] = CreateDynamicPickup(1559, 1, fInfo[i][f_PickupX_Out], fInfo[i][f_PickupY_Out], fInfo[i][f_PickupZ_Out], 0, 0);
- format(string, sizeof(string), "%s-Gebäude\nZum Verlassen 'Enter'", fInfo[i][f_Name]);
- CreateDynamic3DTextLabel(string, COLOR_WHITE, fInfo[i][f_PickupX_In], fInfo[i][f_PickupY_In], fInfo[i][f_PickupZ_In], 10, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, fInfo[i][f_VWorld], fInfo[i][f_Int]);
- format(string, sizeof(string), "%s-Gebäude\nZum Betreten 'Enter'", fInfo[i][f_Name]);
- CreateDynamic3DTextLabel(string, COLOR_WHITE, fInfo[i][f_PickupX_Out], fInfo[i][f_PickupY_Out], fInfo[i][f_PickupZ_Out], 10, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, 0, 0);
- }
- var++;
- }
- printf("- Es wurden erfolgreich %d Fraktionen geladen!", var);
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newinteriorid, oldinteriorid)
- {
- for(new x; x<sizeof(fInfo); x++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.5, fInfo[x][f_PickupX_Out], fInfo[x][f_PickupY_Out], fInfo[x][f_PickupZ_Out])) // Spieler ist draußen -> Geht rein
- {
- if(pInfo[playerid][pFraktion] != fInfo[x][f_ID])
- {
- new string[128];
- format(string, sizeof(string), "[SERVER]{FFFFFF} Du bist nicht in der Fraktion '%s'!", fInfo[x][f_Name]);
- SendClientMessage(playerid, COLOR_RED, string);
- return 1;
- }
- SetPlayerPos(playerid, fInfo[x][f_SpawnX_In], fInfo[x][f_SpawnY_In], fInfo[x][f_SpawnZ_In]);
- SetPlayerFacingAngle(playerid, fInfo[x][f_SpawnR_In]);
- SetPlayerVirtualWorld(playerid, fInfo[x][f_VWorld]);
- SetPlayerInterior(playerid, fInfo[x][f_Int]);
- pInfo[playerid][pPos_X] = fInfo[x][f_SpawnX_In];
- pInfo[playerid][pPos_Y] = fInfo[x][f_SpawnY_In];
- pInfo[playerid][pPos_Z] = fInfo[x][f_SpawnZ_In];
- pInfo[playerid][pPos_R] = fInfo[x][f_SpawnR_In];
- pInfo[playerid][pInt] = fInfo[x][f_Int];
- pInfo[playerid][pVWorld] = fInfo[x][f_VWorld];
- SetCameraBehindPlayer(playerid);
- return 1;
- }
- if(IsPlayerInRangeOfPoint(playerid, 2.5, fInfo[x][f_PickupX_In], fInfo[x][f_PickupY_In], fInfo[x][f_PickupZ_In])) // Spieler ist innen -> Geht raus
- {
- if(pInfo[playerid][pInt] != 0 && pInfo[playerid][pVWorld] == fInfo[x][f_VWorld])
- SetPlayerPos(playerid, fInfo[x][f_SpawnX_Out], fInfo[x][f_SpawnY_Out], fInfo[x][f_SpawnZ_Out]);
- SetPlayerFacingAngle(playerid, fInfo[x][f_SpawnR_Out]);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerInterior(playerid, 0);
- pInfo[playerid][pPos_X] = fInfo[x][f_SpawnX_Out];
- pInfo[playerid][pPos_Y] = fInfo[x][f_SpawnY_Out];
- pInfo[playerid][pPos_Z] = fInfo[x][f_SpawnZ_Out];
- pInfo[playerid][pPos_R] = fInfo[x][f_SpawnR_Out];
- pInfo[playerid][pInt] = 0;
- pInfo[playerid][pVWorld] = 0;
- SetCameraBehindPlayer(playerid);
- return 1;
- }
- }
- return 1;
- }
- stock SendFrakMessage(FraktionsID, Farbe, Nachricht[])
- {
- for(new i; i<MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- if(!pInfo[i][pLogged]) continue;
- if(pInfo[i][pFraktion] != FraktionsID) continue;
- SendClientMessageEx(i, Farbe, Nachricht);
- }
- return 1;
- }
- stock GetFraktionsRang(playerid)
- {
- new Rang[26], fID = pInfo[playerid][pFraktion];
- switch(pInfo[playerid][pRang])
- {
- case 1: { format(Rang, sizeof(Rang), fInfo[fID][f_RangName1]); }
- case 2: { format(Rang, sizeof(Rang), fInfo[fID][f_RangName2]); }
- case 3: { format(Rang, sizeof(Rang), fInfo[fID][f_RangName3]); }
- case 4: { format(Rang, sizeof(Rang), fInfo[fID][f_RangName4]); }
- case 5: { format(Rang, sizeof(Rang), fInfo[fID][f_RangName5]); }
- case 6: { format(Rang, sizeof(Rang), fInfo[fID][f_RangName6]); }
- default: { format(Rang, sizeof(Rang), "-"); }
- }
- return Rang;
- }
- ocmd:f(playerid, params[])
- {
- if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
- if(!pInfo[playerid][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst dafür eine Fraktion!");
- new string[512], fID = pInfo[playerid][pFraktion], Nachricht[256];
- if(sscanf(params, "s[256]", Nachricht)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /f [Nachricht]");
- for(new i; i<MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- if(!pInfo[i][pLogged]) continue;
- if(fID != pInfo[i][pFraktion] && !pInfo[i][pBigEars]) continue;
- if(pInfo[i][pBigEars] && fID != pInfo[i][pFraktion]) format(string, sizeof(string), "[F-Chat %s]{FFFFFF} %s %s sagt: %s", fInfo[fID][f_Abkuerzung], GetFraktionsRang(playerid), SpielerName(playerid), Nachricht);
- else format(string, sizeof(string), "(( ** %s %s sagt: %s ** ))", GetFraktionsRang(playerid), SpielerName(playerid), Nachricht);
- SendClientMessage(i, COLOR_FRAKTION, string);
- }
- format(string, sizeof(string), "[F-Chat %s]{FFFFFF} %s %s sagt: %s", fInfo[fID][f_Abkuerzung], GetFraktionsRang(playerid), SpielerName(playerid), Nachricht);
- Log("fraktions_log", string);
- return 1;
- }
- ocmd:setrang(playerid, params[])
- {
- if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
- if(!pInfo[playerid][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst dafür eine Fraktion!");
- if(pInfo[playerid][pRang] < 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst mindestens Rang 5!");
- new pID, Rang;
- if(sscanf(params, "ud", pID, Rang)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /setrang [ID/Name] [Rang]");
- if(!pInfo[pID][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht eingeloggt!");
- if(Rang < 1 || Rang > 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Rang muss zwischen 1 und 5 liegen!");
- if(playerid == pID) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du kann deinen eigenen Rang nicht verändern!");
- if(pInfo[pID][pRang] == Rang) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler hat bereits den besagten Rang!");
- if(pInfo[playerid][pFraktion] != pInfo[pID][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht in deiner Fraktion!");
- if(pInfo[playerid][pRang] == 5 && Rang == 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Nur der Leiter einer Fraktion kann Co-/Leiter bestimmen!");
- if(pInfo[playerid][pRang] == 5 && pInfo[pID][pRang] >= 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Nur der Leiter einer Fraktion kann Co-/Leiter bearbeiten!");
- if(pInfo[pID][pRang] == 6) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du kannst keinem Leiter die Rechte entziehen!");
- new Status[12], string[256];
- if(Rang > pInfo[pID][pRang]) format(Status, sizeof(Status), "befördert");
- else format(Status, sizeof(Status), "degradiert");
- pInfo[pID][pRang] = Rang;
- format(string, sizeof(string), "[Fraktion]{FFFFFF} %s %s hat %s zum %s %s!", GetFraktionsRang(playerid), SpielerName(playerid), SpielerName(pID), GetFraktionsRang(pID), Status);
- SendFrakMessage(pInfo[playerid][pFraktion], COLOR_FRAKTION, string);
- format(string, sizeof(string), "%s %s hat %s zum %s %s (%s)!", GetFraktionsRang(playerid), SpielerName(playerid), SpielerName(pID), GetFraktionsRang(pID), Status, fInfo[pInfo[playerid][pFraktion]][f_Name]);
- Log("fraktions_log", string);
- return 1;
- }
- ocmd@2:rauswerfen,uninvite(playerid, params[])
- {
- if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
- if(!pInfo[playerid][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst dafür eine Fraktion!");
- if(pInfo[playerid][pRang] < 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst mindestens Rang 5!");
- new pID;
- if(sscanf(params, "u", pID)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /rauswerfen [ID/Name]");
- if(!pInfo[pID][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht eingeloggt!");
- if(pInfo[pID][pFraktion] != pInfo[playerid][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht in deiner Fraktion!");
- if(pInfo[pID][pRang] > 4 && pInfo[playerid][pRang] != 6) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Um einen Co-Leiter rauszuwerfen, muss du Leiter sein!");
- if(pInfo[pID][pRang] == 6) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Einen Leiter kann nur ein Admin rauswerfen!");
- pInfo[pID][pEingeladen] = false;
- pInfo[pID][pEinladerFraktion] = 0;
- pInfo[pID][pFraktion] = 0;
- pInfo[pID][pRang] = 0;
- new string[256];
- format(string, sizeof(string), "[Fraktion] %s wurde von %s %s aus der Fraktion geworfen!", SpielerName(pID), GetFraktionsRang(playerid), SpielerName(playerid));
- SendFrakMessage(pInfo[playerid][pFraktion], COLOR_FRAKTION, string);
- format(string, sizeof(string), "[Fraktion] Du wurdest von %s %s aus der Fraktion geworfen!", GetFraktionsRang(playerid), SpielerName(playerid));
- SendClientMessage(pID, COLOR_FRAKTION, string);
- format(string, sizeof(string), "[Fraktion] %s wurde von %s %s aus der Fraktion (%s) geworfen!", SpielerName(pID), GetFraktionsRang(playerid), SpielerName(playerid), fInfo[pInfo[playerid][pFraktion]][f_Name]);
- Log("fraktions_log", string);
- return 1;
- }
- ocmd@2:einladen,invite(playerid, params[])
- {
- if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
- if(!pInfo[playerid][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst dafür eine Fraktion!");
- if(pInfo[playerid][pRang] < 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst mindestens Rang 5!");
- new pID;
- if(sscanf(params, "u", pID)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /einladen [ID/Name]");
- if(!pInfo[pID][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht eingeloggt!");
- if(pInfo[pID][pFraktion] != 0) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist bereits in einer Fraktion!");
- if(pInfo[pID][pEingeladen]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler wurde bereits in eine Fraktion eingeladen!");
- new string[256];
- pInfo[pID][pEingeladen] = true;
- pInfo[pID][pEinladerFraktion] = pInfo[playerid][pFraktion];
- format(string, sizeof(string), "{FFFFFF}Du wurdest von %s %s in die Fraktion (%s) eingeladen!\nMöchtest du Mitglied dieser Fraktion werden?", GetFraktionsRang(playerid), SpielerName(playerid), fInfo[pInfo[playerid][pFraktion]][f_Name]);
- ShowPlayerDialog(pID, DIALOG_FRAK_INVITE, DIALOG_STYLE_MSGBOX, "{FFFFFF}Fraktionseinladung", string, "{FFFFFF}Annehmen", "{FFFFFF}Ablehnen");
- format(string, sizeof(string), "[Fraktion]{FFFFFF} %s %s hat %s in die Fraktion eingeladen!", GetFraktionsRang(playerid), SpielerName(playerid), SpielerName(pID));
- SendFrakMessage(pInfo[playerid][pFraktion], COLOR_FRAKTION, string);
- format(string, sizeof(string), "[Fraktion]{FFFFFF} %s %s hat %s in die Fraktion (%s) eingeladen!", GetFraktionsRang(playerid), SpielerName(playerid), SpielerName(pID), fInfo[pInfo[playerid][pFraktion]][f_Name]);
- Log("fraktions_log", string);
- return 1;
- }
- ocmd:makezivi(playerid, params[])
- {
- if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
- if(pInfo[playerid][pAdmin] < 1 || pInfo[playerid][pAdmin] > 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du verfügst nicht die nötigen Berechtiungen!");
- new string[256], pID;
- if(!Adminduty[playerid])
- {
- format(string, sizeof(string), "[SERVER]{FFFFFF} Du bist nicht als %s im Dienst!", GetAdminRang(playerid));
- SendClientMessage(playerid, COLOR_RED, string);
- return 1;
- }
- if(sscanf(params, "u", pID)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /makezivi [ID/Name]");
- if(!pInfo[pID][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht eingeloggt!");
- if(pInfo[playerid][pFraktion] == 0) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist in keiner Fraktion!");
- format(string, sizeof(string), "[Adm-Cmd]{FFFFFF} %s %s hat %s aus der Fraktion geschmissen!", GetAdminRang(playerid), SpielerName(playerid), SpielerName(pID));
- SendAdminMessage(string);
- format(string, sizeof(string), "%s Alte Fraktion: %s", string, fInfo[pInfo[pID][pFraktion]][f_Name]);
- Log("admin_log", string);
- format(string, sizeof(string), "[Adm-Cmd]{FFFFFF} %s %s hat dich aus der Fraktion geschmissen!", GetAdminRang(playerid), SpielerName(playerid));
- SendClientMessage(pID, COLOR_RED, string);
- pInfo[pID][pFraktion] = 0;
- pInfo[pID][pRang] = 0;
- SpielerSpeichern(pID);
- return 1;
- }
- ocmd:asetrang(playerid, params[])
- {
- if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
- if(pInfo[playerid][pAdmin] < 1 || pInfo[playerid][pAdmin] > 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du verfügst nicht die nötigen Berechtiungen!");
- new string[256];
- if(!Adminduty[playerid])
- {
- format(string, sizeof(string), "[SERVER]{FFFFFF} Du bist nicht als %s im Dienst!", GetAdminRang(playerid));
- SendClientMessage(playerid, COLOR_RED, string);
- return 1;
- }
- new pID, Rang;
- if(sscanf(params, "ud", pID, Rang)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /asetrang [ID/Name] [Rang]");
- if(!pInfo[pID][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht eingeloggt!");
- if(Rang < 1 || Rang > 6) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Rang muss zwischen 1 und 6 liegen!");
- if(pInfo[pID][pRang] == Rang) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler hat bereits den besagten Rang!");
- new Status[12];
- if(Rang > pInfo[pID][pRang]) format(Status, sizeof(Status), "befördert");
- else format(Status, sizeof(Status), "degradiert");
- pInfo[pID][pRang] = Rang;
- format(string, sizeof(string), "[Adm-Cmd]{FFFFFF} %s %s hat %s zum %s %s!", GetAdminRang(playerid), SpielerName(playerid), SpielerName(pID), GetFraktionsRang(pID), Status);
- SendFrakMessage(pInfo[playerid][pFraktion], COLOR_RED, string);
- SendAdminMessage(string);
- format(string, sizeof(string), "%s %s hat %s zum %s %s (%s)!", GetAdminRang(playerid), SpielerName(playerid), SpielerName(pID), GetFraktionsRang(pID), Status, fInfo[pInfo[pID][pFraktion]][f_Name]);
- Log("admin_log", string);
- return 1;
- }
- ocmd:setfraktion(playerid, params[])
- {
- if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
- if(pInfo[playerid][pAdmin] < 1 || pInfo[playerid][pAdmin] > 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du verfügst nicht die nötigen Berechtiungen!");
- new string[128], pID, fID;
- if(!Adminduty[playerid])
- {
- format(string, sizeof(string), "[SERVER]{FFFFFF} Du bist nicht als %s im Dienst!", GetAdminRang(playerid));
- SendClientMessage(playerid, COLOR_RED, string);
- return 1;
- }
- if(sscanf(params, "ud", pID, fID)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /setfraktion [ID/Name] [Fraktions-ID]");
- if(!pInfo[pID][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht eingeloggt!");
- if(!IsValidFraktion(fID)) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Diese Fraktion existiert nicht!");
- if(fID == pInfo[pID][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist bereits in der Fraktion!");
- format(string, sizeof(string), "[Adm-Cmd]{FFFFFF} %s %s hat %s in die Fraktion %s gesetzt!", GetAdminRang(playerid), SpielerName(playerid), SpielerName(pID), fInfo[GetFraktionsID(fID)][f_ID]);
- SendAdminMessage(string);
- SendFrakMessage(fID, COLOR_RED, string);
- Log("admin_log", string);
- format(string, sizeof(string), "[Adm-Cmd]{FFFFFF} %s %s hat dich in die Fraktion %s gesetzt!", GetAdminRang(playerid), SpielerName(playerid), fInfo[GetFraktionsID(fID)][f_ID]);
- SendClientMessage(pID, COLOR_RED, string);
- pInfo[pID][pFraktion] = fID;
- pInfo[pID][pRang] = 1;
- SpielerSpeichern(pID);
- return 1;
- }
- ocmd@2:fl,fraktionsliste(playerid, params[])
- {
- if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
- if(pInfo[playerid][pAdmin] < 1 || pInfo[playerid][pAdmin] > 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du verfügst nicht die nötigen Berechtiungen!");
- new string[512], var;
- if(!Adminduty[playerid])
- {
- format(string, sizeof(string),"[SERVER]{FFFFFF} Du bist nicht als %s im Dienst!", GetAdminRang(playerid));
- SendClientMessage(playerid, COLOR_RED, string);
- return 1;
- }
- for(new i = 1; i<MAX_FRAKTIONEN; i++)
- {
- if(fInfo[i][f_ID] == 0) continue;
- if(var == 0) format(string, sizeof(string), "{FFFFFF}%d - %s (Abk.: %s)\n", fInfo[i][f_ID], fInfo[i][f_Name], fInfo[i][f_Abkuerzung]);
- else format(string, sizeof(string), "%s%d - %s (Abk.: %s)\n", string, fInfo[i][f_ID], fInfo[i][f_Name], fInfo[i][f_Abkuerzung]);
- var++;
- }
- ShowPlayerDialog(playerid, DIALOG_FL, DIALOG_STYLE_LIST, "{FFFFFF}Fraktionsliste", string, "{FFFFFF}Schließen", "");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement