Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Dynamisches Fraktionsystem by aviPhunk
- */
- #include <a_samp>
- #include <a_mysql>
- #include <a_http>
- #include <dini>
- //#include <zcmd>
- #include <sscanf>
- #include <MD5>
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- #define SCHWARZ 0x000000FF
- #define WEIS 0xFFFFFFFF
- #define GELB 0xFFFF00FF
- #define HELLBLAU 0x0069FFFF
- #define BLAU 0x000FFFFF
- #define ROT 0x000FFFFF
- #define ORANGE 0xFF5219FF
- #define DIALOG_REGISTER 1
- #define DIALOG_LOGIN 2
- #define DIA_FRAK_LIST 100
- #define DIA_FRAK_RANKLIST 101
- #define DIA_FRAK_EDITRANK 102
- #define DIA_FRAK_SKINCHANGE 103
- enum SpielerDateiInfos
- {
- Fraktion,
- Rank,
- }
- new SpielerInfo[MAX_PLAYERS][SpielerDateiInfos];
- enum _Car {
- cOwner,
- cDbID,
- }
- new Car[MAX_VEHICLES][_Car];
- /*=======================[ Fraktionssystem Einstellungen ]=======================*/
- #define MAX_FRAK 20 // Anpassen wenn mehr als 20 Fraktionen benötigt werden
- new FRAK_PICKUP = 1; // Soll ein Pickup am Spawnpunkt der Fraktion angezeigt werden? (1 = Ja | 0 = Nein)
- /*===============================================================================*/
- enum _FrakSystem {
- fDbID,
- fName[56],
- Float:fSpawnX,
- Float:fSpawnY,
- Float:fSpawnZ,
- Float:fSpawnRot,
- fCopFrak,
- fPickupID,
- Text3D:fTextID,
- bool:fCreated
- }
- new FrakSystem[MAX_FRAK][_FrakSystem];
- new FrakRank[MAX_FRAK][6][128];
- new ExistFraks;
- public OnFilterScriptInit()
- {
- mysql_connect("localhost","root","Dynamisches Fraktionsystem","root"); mysql_debug(1);
- if(!mysql_ping()){print("[ERROR] -> Kein Datenbankzugriff - Die Verbindung ist Tot!");}
- //---[Fraktionssystem]
- for(new veh; veh < MAX_VEHICLES; veh++){Car[veh][cOwner] = -1;}
- new result[128],fID;
- mysql_query("SELECT * FROM fraktionen"); mysql_store_result();
- while(mysql_retrieve_row())
- {
- mysql_fetch_field_row(result,"ID"); FrakSystem[fID][fDbID] = strval(result);
- mysql_fetch_field_row(result,"Name"); format(FrakSystem[fID][fName],56,"%s",result);
- mysql_fetch_field_row(result,"SpawnX"); FrakSystem[fID][fSpawnX] = floatstr(result);
- mysql_fetch_field_row(result,"SpawnY"); FrakSystem[fID][fSpawnY] = floatstr(result);
- mysql_fetch_field_row(result,"SpawnZ"); FrakSystem[fID][fSpawnZ] = floatstr(result);
- mysql_fetch_field_row(result,"SpawnRot"); FrakSystem[fID][fSpawnRot] = floatstr(result);
- mysql_fetch_field_row(result,"CopFrak"); FrakSystem[fID][fCopFrak] = strval(result);
- FrakSystem[fID][fCreated] = true;
- if(FRAK_PICKUP == 1)
- {
- FrakSystem[fID][fPickupID] = CreatePickup(1314,1,FrakSystem[fID][fSpawnX],FrakSystem[fID][fSpawnY],FrakSystem[fID][fSpawnZ],-1);
- format(result,sizeof(result),"[Fraktionsspawn]\n%s",FrakSystem[fID][fName]);
- FrakSystem[fID][fTextID] = Create3DTextLabel(result,WEIS,FrakSystem[fID][fSpawnX],FrakSystem[fID][fSpawnY],FrakSystem[fID][fSpawnZ],15.0,0,0);
- }
- printf("> Fraktion '%s' (ID: %d) Erfolgreich Geladen!",FrakSystem[fID][fName],FrakSystem[fID][fDbID]);
- fID++; ExistFraks++;
- }
- mysql_free_result();
- mysql_query("SELECT * FROM fraktionen_ranks"); mysql_store_result();
- while(mysql_retrieve_row())
- {
- mysql_fetch_field_row(result,"Fraktion"); fID = GetFrakByDB(strval(result));
- mysql_fetch_field_row(result,"Rank1"); format(FrakRank[fID][0],128,"%s",result);
- mysql_fetch_field_row(result,"Rank2"); format(FrakRank[fID][1],128,"%s",result);
- mysql_fetch_field_row(result,"Rank3"); format(FrakRank[fID][2],128,"%s",result);
- mysql_fetch_field_row(result,"Rank4"); format(FrakRank[fID][3],128,"%s",result);
- mysql_fetch_field_row(result,"Rank5"); format(FrakRank[fID][4],128,"%s",result);
- mysql_fetch_field_row(result,"Rank6"); format(FrakRank[fID][5],128,"%s",result);
- }
- mysql_query("SELECT * FROM fraktionen_cars"); mysql_store_result();
- while(mysql_retrieve_row())
- {
- new Float:coord[4],color[2],model,owner,dbid;
- mysql_fetch_field_row(result,"ID"); dbid = strval(result);
- mysql_fetch_field_row(result,"Model"); model = strval(result);
- mysql_fetch_field_row(result,"Owner"); owner = strval(result);
- mysql_fetch_field_row(result,"X"); coord[0] = floatstr(result);
- mysql_fetch_field_row(result,"Y"); coord[1] = floatstr(result);
- mysql_fetch_field_row(result,"Z"); coord[2] = floatstr(result);
- mysql_fetch_field_row(result,"Rot"); coord[3] = floatstr(result);
- mysql_fetch_field_row(result,"Color1"); color[0] = strval(result);
- mysql_fetch_field_row(result,"Color2"); color[1] = strval(result);
- new veh = AddStaticVehicleEx(model,coord[0],coord[1],coord[2],coord[3],color[0],color[1],-1);
- Car[veh][cOwner] = owner;
- Car[veh][cDbID] = dbid;
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- mysql_close();
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnPlayerConnect(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[])
- {
- dcmd(createfrak,10,cmdtext);
- dcmd(setfrakspawn,12,cmdtext);
- dcmd(setfrakname,11,cmdtext);
- dcmd(togfrakcop,10,cmdtext);
- dcmd(showfraks,9,cmdtext);
- dcmd(addfrakcar,10,cmdtext);
- dcmd(delfrakcar,10,cmdtext);
- dcmd(parkfrakcar,11,cmdtext);
- dcmd(addfrakskin,11,cmdtext);
- dcmd(delfrakskin,11,cmdtext);
- dcmd(skinchange,10,cmdtext);
- dcmd(showranks,9,cmdtext);
- dcmd(f,1,cmdtext);
- dcmd(makeleader,10,cmdtext);
- dcmd(setrank,7,cmdtext);
- dcmd(invite,6,cmdtext);
- dcmd(uninvite,8,cmdtext);
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIA_FRAK_LIST)
- {
- if(response)
- {
- new string[128],qs[256];
- format(string,sizeof(string),"fraklist_%d",listitem);
- new dbid = GetPVarInt(playerid,string);
- format(string,sizeof(string),"fraklist_%d_frakid",listitem);
- new fID = GetPVarInt(playerid,string);
- FrakSystem[fID][fCreated] = false;
- format(string,sizeof(string),"** Du hast die Fraktion '%s' Erfolgreich Gelöscht!",FrakSystem[fID][fName]);
- SendClientMessage(playerid,WEIS,string);
- format(qs,sizeof(qs),"DELETE FROM fraktionen WHERE ID = '%d'",dbid);
- mysql_query(qs); mysql_free_result();
- for(new pID; pID < MAX_PLAYERS; pID++)
- {
- if(IsPlayerConnected(pID) && SpielerInfo[pID][Fraktion] == fID)
- {
- SendClientMessage(playerid,WEIS,"** Deine Fraktion wurde Aufgelöst!");
- SpielerInfo[playerid][Fraktion] = 0;
- }
- }
- for(new veh; veh < MAX_VEHICLES; veh++)
- {
- if(Car[veh][cOwner] == fID)
- {
- DestroyVehicle(veh);
- Car[veh][cOwner] = -1;
- }
- }
- }
- }
- else if(dialogid == DIA_FRAK_RANKLIST)
- {
- if(response)
- {
- SetPVarInt(playerid,"edit_rank",listitem+1);
- ShowPlayerDialog(playerid,DIA_FRAK_EDITRANK,DIALOG_STYLE_INPUT,"Ranknamen Ändern","Gib den neuen Ranknamen ein:","Weiter","Abbrechen");
- }
- }
- else if(dialogid == DIA_FRAK_EDITRANK)
- {
- if(response)
- {
- if(strlen(inputtext) < 56)
- {
- new fID = SpielerInfo[playerid][Fraktion];
- new rank = GetPVarInt(playerid,"edit_rank");
- format(FrakRank[fID][rank-1],56,"%s",inputtext);
- new qs[128];
- if(rank == 1){format(qs,sizeof(qs),"UPDATE fraktionen_ranks SET `Rank1` = '%s' WHERE `Fraktion` = '%d'",inputtext,FrakSystem[fID][fDbID]); mysql_query(qs); mysql_free_result();}
- else if(rank == 2){format(qs,sizeof(qs),"UPDATE fraktionen_ranks SET `Rank2` = '%s' WHERE `Fraktion` = '%d'",inputtext,FrakSystem[fID][fDbID]); mysql_query(qs); mysql_free_result();}
- else if(rank == 3){format(qs,sizeof(qs),"UPDATE fraktionen_ranks SET `Rank3` = '%s' WHERE `Fraktion` = '%d'",inputtext,FrakSystem[fID][fDbID]); mysql_query(qs); mysql_free_result();}
- else if(rank == 4){format(qs,sizeof(qs),"UPDATE fraktionen_ranks SET `Rank4` = '%s' WHERE `Fraktion` = '%d'",inputtext,FrakSystem[fID][fDbID]); mysql_query(qs); mysql_free_result();}
- else if(rank == 5){format(qs,sizeof(qs),"UPDATE fraktionen_ranks SET `Rank5` = '%s' WHERE `Fraktion` = '%d'",inputtext,FrakSystem[fID][fDbID]); mysql_query(qs); mysql_free_result();}
- else if(rank == 6){format(qs,sizeof(qs),"UPDATE fraktionen_ranks SET `Rank6` = '%s' WHERE `Fraktion` = '%d'",inputtext,FrakSystem[fID][fDbID]); mysql_query(qs); mysql_free_result();}
- SendClientMessage(playerid,WEIS,"** Du hast den Ranknamen Erfolgreich geändert!");
- }
- else {
- SendClientMessage(playerid,ROT,"** Der Rankname ist zu lang!");
- ShowPlayerDialog(playerid,DIA_FRAK_EDITRANK,DIALOG_STYLE_INPUT,"Ranknamen Ändern","Gib den neuen Ranknamen ein:","Weiter","Abbrechen");
- }
- }
- }
- else if(dialogid == DIA_FRAK_SKINCHANGE)
- {
- if(response)
- {
- new string[128]; format(string,sizeof(string),"skinchange_%d",listitem);
- new skin = GetPVarInt(playerid,string);
- SetPlayerSkin(playerid,skin);
- SendClientMessage(playerid,WEIS,"** Du hast deinen Skin geändert!");
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- //Funktionen:Allgemein
- stock GetName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- stock IsFrakNameTaken(name[])
- {
- new qs[128];
- format(qs,sizeof(qs),"SELECT * FROM fraktionen WHERE Name = '%s'",name);
- mysql_query(qs); mysql_store_result();
- if(mysql_num_rows() > 0){mysql_free_result(); return 1;}
- else{mysql_free_result(); return 0;}
- }
- stock SaveFraktion(fID)
- {
- new qs[128];
- format(qs,sizeof(qs),"UPDATE fraktionen SET `Name` = '%s' WHERE `ID` = '%d'",FrakSystem[fID][fName],FrakSystem[fID][fDbID]); mysql_query(qs); mysql_free_result();
- format(qs,sizeof(qs),"UPDATE fraktionen SET `SpawnX` = '%f' WHERE `ID` = '%d'",FrakSystem[fID][fSpawnX],FrakSystem[fID][fDbID]); mysql_query(qs); mysql_free_result();
- format(qs,sizeof(qs),"UPDATE fraktionen SET `SpawnY` = '%f' WHERE `ID` = '%d'",FrakSystem[fID][fSpawnY],FrakSystem[fID][fDbID]); mysql_query(qs); mysql_free_result();
- format(qs,sizeof(qs),"UPDATE fraktionen SET `SpawnZ` = '%f' WHERE `ID` = '%d'",FrakSystem[fID][fSpawnZ],FrakSystem[fID][fDbID]); mysql_query(qs); mysql_free_result();
- format(qs,sizeof(qs),"UPDATE fraktionen SET `SpawnRot` = '%f' WHERE `ID` = '%d'",FrakSystem[fID][fSpawnRot],FrakSystem[fID][fDbID]); mysql_query(qs); mysql_free_result();
- format(qs,sizeof(qs),"UPDATE fraktionen SET `Copfrak` = '%d' WHERE `ID` = '%d'",FrakSystem[fID][fCopFrak],FrakSystem[fID][fDbID]); mysql_query(qs); mysql_free_result();
- }
- stock IsACop(playerid)
- {
- if(SpielerInfo[playerid][Fraktion] == 0){return 0;}
- else {return FrakSystem[SpielerInfo[playerid][Fraktion]][fCopFrak];}
- }
- stock SendFraktionMessage(fID,text[])
- {
- for(new pID; pID < MAX_PLAYERS; pID++)
- {
- if(SpielerInfo[pID][Fraktion] == fID)
- {
- SendClientMessage(pID,BLAU,text);
- }
- }
- }
- stock GetFrakByDB(dbid)
- {
- for(new fID; fID < MAX_FRAK; fID++)
- {
- if(FrakSystem[fID][fCreated] == true && FrakSystem[fID][fDbID] == dbid)
- {
- return fID;
- }
- }
- return -1;
- }
- stock GetFraktionRank(playerid)
- {
- return FrakRank[SpielerInfo[playerid][Fraktion]][SpielerInfo[playerid][Rank]-1];
- }
- stock HasFrakSkin(sID)
- {
- new qs[128]; format(qs,sizeof(qs),"SELECT * FROM fraktionen_skins WHERE Skin = '%d'",sID);
- mysql_query(qs); mysql_store_result();
- if(mysql_num_rows() > 0){mysql_free_result(); return 1;}
- else{mysql_free_result(); return 0;}
- }
- dcmd_createfrak(playerid, params[])
- {
- new fname[56];
- if(sscanf(params,"s",fname))return SendClientMessage(playerid,ROT,"** Benutze: /createfrak [Fraktionsname]");
- if(IsFrakNameTaken(fname))return SendClientMessage(playerid,ROT,"** Dieser Name wird bereits verwendet!");
- else {
- new qs[256],Float:coord[4],result[128],fID;
- GetPlayerPos(playerid,coord[0],coord[1],coord[2]); GetPlayerFacingAngle(playerid,coord[3]);
- format(qs,sizeof(qs),"INSERT INTO fraktionen (Name,SpawnX,SpawnY,SpawnZ,SpawnRot) VALUES ('%s','%f','%f','%f','%f')",fname,coord[0],coord[1],coord[2],coord[3]);
- mysql_query(qs); mysql_free_result();
- format(qs,sizeof(qs),"SELECT * FROM fraktionen WHERE Name = '%s'",fname);
- mysql_query(qs); mysql_store_result();
- while(mysql_retrieve_row())
- {
- mysql_fetch_field_row(result,"ID"); FrakSystem[strval(result)][fDbID] = strval(result);
- fID = FrakSystem[strval(result)][fDbID];
- mysql_fetch_field_row(result,"CopFrak"); FrakSystem[fID][fCopFrak] = strval(result);
- format(FrakSystem[fID][fName],56,"%s",fname);
- FrakSystem[fID][fSpawnX] = coord[0];
- FrakSystem[fID][fSpawnY] = coord[1];
- FrakSystem[fID][fSpawnZ] = coord[2];
- FrakSystem[fID][fSpawnRot] = coord[3];
- FrakSystem[fID][fCreated] = true;
- format(qs,sizeof(qs),"INSERT INTO fraktionen_ranks (Fraktion) VALUES ('%d')",fID);
- mysql_query(qs);
- if(FRAK_PICKUP == 1)
- {
- FrakSystem[fID][fPickupID] = CreatePickup(1314,1,FrakSystem[fID][fSpawnX],FrakSystem[fID][fSpawnY],FrakSystem[fID][fSpawnZ],-1);
- format(result,sizeof(result),"[Fraktionsspawn]\n%s",FrakSystem[fID][fName]);
- FrakSystem[fID][fTextID] = Create3DTextLabel(result,WEIS,FrakSystem[fID][fSpawnX],FrakSystem[fID][fSpawnY],FrakSystem[fID][fSpawnZ],15.0,0,0);
- }
- SaveFraktion(fID);
- format(qs,sizeof(qs),"** Du hast Erfolgreich die Fraktion '%s' Erstellt. ID: %d",FrakSystem[fID][fName],fID);
- SendClientMessage(playerid,WEIS,qs);
- printf("> Fraktion '%s' (ID: %d) Erfolgreich Erstellt und Geladen!",FrakSystem[fID][fName],FrakSystem[fID][fDbID]);
- ExistFraks++;
- }
- mysql_query("SELECT * FROM fraktionen_ranks"); mysql_store_result();
- while(mysql_retrieve_row())
- {
- mysql_fetch_field_row(result,"Fraktion"); fID = GetFrakByDB(strval(result));
- mysql_fetch_field_row(result,"Rank1"); format(FrakRank[fID][0],128,"%s",result);
- mysql_fetch_field_row(result,"Rank2"); format(FrakRank[fID][1],128,"%s",result);
- mysql_fetch_field_row(result,"Rank3"); format(FrakRank[fID][2],128,"%s",result);
- mysql_fetch_field_row(result,"Rank4"); format(FrakRank[fID][3],128,"%s",result);
- mysql_fetch_field_row(result,"Rank5"); format(FrakRank[fID][4],128,"%s",result);
- mysql_fetch_field_row(result,"Rank6"); format(FrakRank[fID][5],128,"%s",result);
- }
- }
- return 1;
- }
- dcmd_setfrakspawn(playerid, params[])
- {
- new fID;
- if(sscanf(params,"d",fID))return SendClientMessage(playerid,ROT,"** Benutze: /setspawn [FraktionsID]");
- if(fID < 1 || fID > ExistFraks)return SendClientMessage(playerid,ROT,"** Ungültige Fraktions-ID!");
- else {
- new Float:coord[4],string[128];
- GetPlayerPos(playerid,coord[0],coord[1],coord[2]); GetPlayerFacingAngle(playerid,coord[3]);
- FrakSystem[fID][fSpawnX] = coord[0];
- FrakSystem[fID][fSpawnY] = coord[1];
- FrakSystem[fID][fSpawnZ] = coord[2];
- FrakSystem[fID][fSpawnRot] = coord[3];
- if(FRAK_PICKUP == 1)
- {
- DestroyPickup(FrakSystem[fID][fPickupID]); Delete3DTextLabel(FrakSystem[fID][fTextID]);
- FrakSystem[fID][fPickupID] = CreatePickup(1314,1,FrakSystem[fID][fSpawnX],FrakSystem[fID][fSpawnY],FrakSystem[fID][fSpawnZ],-1);
- format(string,sizeof(string),"[Fraktionsspawn]\n%s",FrakSystem[fID][fName]);
- FrakSystem[fID][fTextID] = Create3DTextLabel(string,WEIS,FrakSystem[fID][fSpawnX],FrakSystem[fID][fSpawnY],FrakSystem[fID][fSpawnZ],15.0,0,0);
- }
- SaveFraktion(fID);
- format(string,sizeof(string),"** Du hast den Spawn der Fraktion '%s' Erfolgreich verlegt.",FrakSystem[fID][fName]);
- SendClientMessage(playerid,WEIS,string);
- }
- return 1;
- }
- dcmd_togfrakcop(playerid, params[])
- {
- new fID;
- if(sscanf(params,"d",fID))return SendClientMessage(playerid,ROT,"** Benutze: /setspawn [FraktionsID]");
- if(fID < 1 || fID > ExistFraks)return SendClientMessage(playerid,ROT,"** Ungültige Fraktions-ID!");
- else {
- new string[128];
- if(FrakSystem[fID][fCopFrak] == 0)
- {
- format(string,sizeof(string),"** Die Fraktion '%s' verfügt nun über Polizerechte.",FrakSystem[fID][fName]);
- SendClientMessage(playerid,WEIS,string);
- FrakSystem[fID][fCopFrak] = 1;
- SaveFraktion(fID);
- }
- else {
- format(string,sizeof(string),"** Der Fraktion '%s' wurden die Polizeirechte entzogen.",FrakSystem[fID][fName]);
- SendClientMessage(playerid,WEIS,string);
- FrakSystem[fID][fCopFrak] = 0;
- SaveFraktion(fID);
- }
- }
- return 1;
- }
- dcmd_setfrakname(playerid, params[])
- {
- new fID,fname[56];
- if(sscanf(params,"ds",fID,fname))return SendClientMessage(playerid,ROT,"** Benutze: /setfrakname [FraktionsID] [Name]");
- if(fID < 1 || fID > ExistFraks)return SendClientMessage(playerid,ROT,"** Ungültige Fraktions-ID!");
- if(IsFrakNameTaken(fname))return SendClientMessage(playerid,ROT,"** Dieser Name wird bereits verwendet!");
- else {
- new string[128];
- format(string,sizeof(string),"** Die Fraktion '%s' wurde in '%s' Umbenannt.",FrakSystem[fID][fName],fname);
- SendClientMessage(playerid,WEIS,string);
- format(FrakSystem[fID][fName],56,"%s",fname);
- SaveFraktion(fID);
- if(FRAK_PICKUP == 1)
- {
- DestroyPickup(FrakSystem[fID][fPickupID]); Delete3DTextLabel(FrakSystem[fID][fTextID]);
- FrakSystem[fID][fPickupID] = CreatePickup(1314,1,FrakSystem[fID][fSpawnX],FrakSystem[fID][fSpawnY],FrakSystem[fID][fSpawnZ],-1);
- format(string,sizeof(string),"[Fraktionsspawn]\n%s",FrakSystem[fID][fName]);
- FrakSystem[fID][fTextID] = Create3DTextLabel(string,WEIS,FrakSystem[fID][fSpawnX],FrakSystem[fID][fSpawnY],FrakSystem[fID][fSpawnZ],15.0,0,0);
- }
- }
- return 1;
- }
- dcmd_showfraks(playerid, params[])
- {
- #pragma unused params
- {
- new allstring[2000],string[100],zahl;
- for(new fID; fID < sizeof(FrakSystem); fID++)
- {
- if(FrakSystem[fID][fCreated] == true && fID != 0)
- {
- format(string,sizeof(string),"-> [%d]: %s\n",fID,FrakSystem[fID][fName]);
- strcat(allstring,string,100);
- format(string,sizeof(string),"fraklist_%d",zahl);
- SetPVarInt(playerid,string,FrakSystem[fID][fDbID]);
- format(string,sizeof(string),"fraklist_%d_frakid",zahl);
- SetPVarInt(playerid,string,fID);
- zahl++;
- }
- }
- ShowPlayerDialog(playerid,DIA_FRAK_LIST,DIALOG_STYLE_LIST,"Fraktionsauflistung",allstring,"Löschen","Abbrechen");
- }
- return 1;
- }
- dcmd_addfrakcar(playerid, params[])
- {
- new fID,model,color1,color2;
- if(sscanf(params,"dddd",fID,model,color1,color2))return SendClientMessage(playerid,ROT,"** Benutze: /addfrakcar [FraktionsID] [ModelID] [Color1] [Color2]");
- if(fID < 1 || fID > ExistFraks)return SendClientMessage(playerid,ROT,"** Ungültige Fraktions-ID!");
- if(model < 400 || model > 611)return SendClientMessage(playerid,ROT,"** Ungültige Model-ID!");
- if(color1 < 0 || color1 > 126 || color2 < 0 || color2 > 126)return SendClientMessage(playerid,ROT,"** Ungültige Farbe!");
- else {
- new Float:coord[4]; GetPlayerPos(playerid,coord[0],coord[1],coord[2]); GetPlayerFacingAngle(playerid,coord[3]);
- new veh = AddStaticVehicleEx(model,coord[0],coord[1],coord[2],coord[3],color1,color2,-1);
- Car[veh][cOwner] = fID;
- new qs[256],result[56];
- format(qs,sizeof(qs),"INSERT INTO fraktionen_cars (Owner,Model,X,Y,Z,Rot,Color1,Color2) VALUES ('%d','%d','%f','%f','%f','%f','%d','%d')",fID,model,coord[0],coord[1],coord[2],coord[3],color1,color2);
- mysql_query(qs); mysql_free_result();
- format(qs,sizeof(qs),"SELECT * FROM fraktionen_cars WHERE X = '%f'",coord[0]);
- mysql_query(qs); mysql_store_result();
- while(mysql_retrieve_row())
- {
- mysql_fetch_field_row(result,"ID"); Car[veh][cDbID] = strval(result);
- }
- mysql_free_result();
- format(qs,sizeof(qs),"** Du hast ein Fraktionsfahrzeug für die Fraktion '%s' Hinzugefügt!",FrakSystem[fID][fName]);
- SendClientMessage(playerid,WEIS,qs);
- }
- return 1;
- }
- dcmd_delfrakcar(playerid, params[])
- {
- #pragma unused params
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid,ROT,"** Du fährst kein Fahrzeug!");
- new veh = GetPlayerVehicleID(playerid);
- if(Car[veh][cOwner] == -1)return SendClientMessage(playerid,ROT,"** Das Fahrzeug ist kein Frakionsfahrzeug!");
- else {
- new qs[128];
- format(qs,sizeof(qs),"DELETE FROM fraktionen_cars WHERE ID = '%d'",Car[veh][cDbID]);
- mysql_query(qs); mysql_free_result();
- DestroyVehicle(veh);
- new fID = Car[veh][cOwner];
- Car[veh][cOwner] = -1;
- format(qs,sizeof(qs),"** Du hast ein Fahrzeug der Fraktion '%s' entfernt!",FrakSystem[fID][fName]);
- SendClientMessage(playerid,WEIS,qs);
- }
- return 1;
- }
- dcmd_parkfrakcar(playerid, params[])
- {
- #pragma unused params
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid,ROT,"** Du fährst kein Fahrzeug!");
- new veh = GetPlayerVehicleID(playerid);
- if(Car[veh][cOwner] == -1)return SendClientMessage(playerid,ROT,"** Das Fahrzeug ist kein Frakionsfahrzeug!");
- else {
- new Float:coord[4]; GetVehiclePos(veh,coord[0],coord[1],coord[2]); GetVehicleZAngle(veh,coord[3]);
- new qs[128];
- format(qs,sizeof(qs),"UPDATE fraktionen_cars SET `X` = '%f' WHERE `ID` = '%d'",coord[0],Car[veh][cDbID]); mysql_query(qs); mysql_free_result();
- format(qs,sizeof(qs),"UPDATE fraktionen_cars SET `Y` = '%f' WHERE `ID` = '%d'",coord[1],Car[veh][cDbID]); mysql_query(qs); mysql_free_result();
- format(qs,sizeof(qs),"UPDATE fraktionen_cars SET `Z` = '%f' WHERE `ID` = '%d'",coord[2],Car[veh][cDbID]); mysql_query(qs); mysql_free_result();
- format(qs,sizeof(qs),"UPDATE fraktionen_cars SET `Rot` = '%f' WHERE `ID` = '%d'",coord[3],Car[veh][cDbID]); mysql_query(qs); mysql_free_result();
- SendClientMessage(playerid,WEIS,"** Das Fahrzeug wird ab dem nächsten Restart hier spawnen!");
- }
- return 1;
- }
- dcmd_addfrakskin(playerid, params[])
- {
- new fID, sID;
- if(sscanf(params,"dd",fID,sID))return SendClientMessage(playerid,ROT,"** Benutze: /addfrakskin [FraktionsID] [SkinID]");
- if(FrakSystem[fID][fCreated] == false)return SendClientMessage(playerid,ROT,"** Diese Fraktion existiert nicht!");
- if(sID < 1 || sID > 299)return SendClientMessage(playerid,ROT,"** Ungültige Skin-ID!");
- if(HasFrakSkin(sID))return SendClientMessage(playerid,ROT,"** Dieser Skin wird bereits von einer Fraktion benutzt!");
- else {
- new qs[128]; format(qs,sizeof(qs),"INSERT INTO fraktionen_skins VALUES ('%d','%d')",sID,fID);
- mysql_query(qs);
- format(qs,sizeof(qs),"** Du hast die Skin-ID %d zu der Skinliste der Fraktion '%s' hinzugefügt.",sID,FrakSystem[fID][fName]);
- SendClientMessage(playerid,WEIS,qs);
- }
- return 1;
- }
- dcmd_delfrakskin(playerid, params[])
- {
- new sID;
- if(sscanf(params,"d",sID))return SendClientMessage(playerid,ROT,"** Benutze: /delfrakskin [SkinID]");
- if(sID < 1 || sID > 299)return SendClientMessage(playerid,ROT,"** Ungültige Skin-ID!");
- if(!HasFrakSkin(sID))return SendClientMessage(playerid,ROT,"** Dieser Skin wird von keiner Fraktion genutzt!");
- else {
- new qs[128]; format(qs,sizeof(qs),"DELETE FROM fraktionen_skins WHERE Skin = '%d'",sID);
- mysql_query(qs);
- format(qs,sizeof(qs),"** Die Skin-ID %d ist ab nun wieder frei!",sID);
- SendClientMessage(playerid,WEIS,qs);
- }
- return 1;
- }
- dcmd_skinchange(playerid, params[])
- {
- #pragma unused params
- if(SpielerInfo[playerid][Fraktion] == 0)return SendClientMessage(playerid,ROT,"** Du bist in keiner Fraktion!");
- else {
- new fID = SpielerInfo[playerid][Fraktion];
- new allstring[1200],string[100],result[56],zahl;
- new qs[128]; format(qs,sizeof(qs),"SELECT * FROM fraktionen_skins WHERE Fraktion = '%d'",fID);
- mysql_query(qs); mysql_store_result();
- while(mysql_retrieve_row())
- {
- format(string,sizeof(string),"skinchange_%d",zahl);
- mysql_fetch_field_row(result,"Skin"); SetPVarInt(playerid,string,strval(result));
- format(string,sizeof(string),"-> Skin-ID: %d",strval(result));
- strcat(allstring,string,100);
- zahl++;
- }
- if(zahl == 0){return SendClientMessage(playerid,ROT,"** Für deine Fraktion existieren keine Skins!");}
- else {ShowPlayerDialog(playerid,DIA_FRAK_SKINCHANGE,DIALOG_STYLE_LIST,"Skinchange",allstring,"Ändern","Zurück");}
- }
- return 1;
- }
- dcmd_showranks(playerid, params[])
- {
- #pragma unused params
- if(SpielerInfo[playerid][Fraktion] == 0)return SendClientMessage(playerid,ROT,"** Du bist in keiner Fraktion!");
- if(SpielerInfo[playerid][Rank] != 6)return SendClientMessage(playerid,ROT,"** Du leitest deine Fraktion nicht!");
- else {
- new fID = SpielerInfo[playerid][Fraktion];
- new string[100],allstring[600],i;
- while(i < 6)
- {
- format(string,sizeof(string),"-> [%d] %s\n",i+1,FrakRank[fID][i]);
- strcat(allstring,string,100);
- i++;
- }
- ShowPlayerDialog(playerid,DIA_FRAK_RANKLIST,DIALOG_STYLE_LIST,"Rankübersicht",allstring,"Ändern","Abbrechen");
- }
- return 1;
- }
- dcmd_f(playerid, params[])
- {
- if(SpielerInfo[playerid][Fraktion] == 0)return SendClientMessage(playerid,ROT,"** Du bist in keiner Fraktion!");
- new text[128];
- if(sscanf(params,"s",text))return SendClientMessage(playerid,ROT,"** Benutze: /f [Text]");
- else {
- new string[160];
- format(string,sizeof(string),"[FC] -> %s %s: %s",GetFraktionRank(playerid),GetName(playerid),text);
- SendFraktionMessage(SpielerInfo[playerid][Fraktion],string);
- }
- return 1;
- }
- dcmd_makeleader(playerid, params[])
- {
- new pID, fID;
- if(sscanf(params,"ud",pID,fID))return SendClientMessage(playerid,ROT,"** Benute: /makeleader [Playerid/Name] [FraktionsID]");
- if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"** Dieser Spieler ist nicht Online!");
- if(fID < 1 || fID > ExistFraks)return SendClientMessage(playerid,ROT,"** Ungültige Fraktions-ID!");
- if(FrakSystem[fID][fCreated] == false)return SendClientMessage(playerid,ROT,"** Diese Fraktion existiert nicht!");
- else {
- new string[128];
- if(fID == 0)
- {
- format(string,sizeof(string),"** Du hast %s aus seiner Fraktion entlassen!",GetName(pID));
- SendClientMessage(playerid,WEIS,string);
- format(string,sizeof(string),"** %s hat dich aus deiner Fraktion entlassen!",GetName(playerid));
- SendClientMessage(pID,WEIS,string);
- SpielerInfo[pID][Fraktion] = 0;
- SpielerInfo[pID][Rank] = 0;
- }
- else {
- format(string,sizeof(string),"** Du hast %s zum Leader der Fraktion '%s' gemacht!",GetName(pID),FrakSystem[fID][fName]);
- SendClientMessage(playerid,WEIS,string);
- format(string,sizeof(string),"** %s hat dich zum Leader der Fraktion '%s' gemacht!",GetName(playerid),FrakSystem[fID][fName]);
- SendClientMessage(pID,WEIS,string);
- SpielerInfo[pID][Fraktion] = fID;
- SpielerInfo[pID][Rank] = 6;
- }
- }
- return 1;
- }
- dcmd_setrank(playerid, params[])
- {
- if(SpielerInfo[playerid][Fraktion] == 0)return SendClientMessage(playerid,ROT,"** Du bist in keiner Fraktion!");
- if(SpielerInfo[playerid][Rank] != 6)return SendClientMessage(playerid,ROT,"** Du leitest deine Fraktion nicht!");
- new pID, rank;
- if(sscanf(params,"ud",pID,rank))return SendClientMessage(playerid,ROT,"** Benutze: /setrank [Playerid/Name] [Rank]");
- if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"** Dieser Spieler ist nicht Online!");
- if(SpielerInfo[playerid][Fraktion] != SpielerInfo[pID][Fraktion])return SendClientMessage(playerid,ROT,"** Dieser Spieler ist nicht deiner Fraktion!");
- else {
- new string[128];
- format(string,sizeof(string),"** Du hast %s auf Rank %d gesetzt!",GetName(pID),rank);
- SendClientMessage(playerid,WEIS,string);
- format(string,sizeof(string),"** %s hat dich auf Rank %d gesetzt!",GetName(playerid),rank);
- SendClientMessage(pID,WEIS,string);
- SpielerInfo[pID][Rank] = rank;
- }
- return 1;
- }
- dcmd_invite(playerid, params[])
- {
- if(SpielerInfo[playerid][Fraktion] == 0)return SendClientMessage(playerid,ROT,"** Du bist in keiner Fraktion!");
- if(SpielerInfo[playerid][Rank] != 6)return SendClientMessage(playerid,ROT,"** Du leitest deine Fraktion nicht!");
- new pID;
- if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"** Benutze: /invite [Playerid/Name]");
- if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"** Dieser Spieler ist nicht Online!");
- if(SpielerInfo[pID][Fraktion] != 0)return SendClientMessage(playerid,ROT,"** Dieser Spieler ist bereits in einer Fraktion!");
- else {
- new string[128];
- new fID = SpielerInfo[playerid][Fraktion];
- format(string,sizeof(string),"** Du hast %s in die Fraktion Eingeladen.",GetName(pID));
- SendClientMessage(playerid,WEIS,string);
- format(string,sizeof(string),"** %s hat dich Eingeladen, der Fraktion '%s' beizutreten!",GetName(playerid),FrakSystem[fID][fName]);
- SendClientMessage(pID,WEIS,string);
- SpielerInfo[pID][Fraktion] = fID;
- }
- return 1;
- }
- dcmd_uninvite(playerid, params[])
- {
- if(SpielerInfo[playerid][Fraktion] == 0)return SendClientMessage(playerid,ROT,"** Du bist in keiner Fraktion!");
- if(SpielerInfo[playerid][Rank] != 6)return SendClientMessage(playerid,ROT,"** Du leitest deine Fraktion nicht!");
- new pID;
- if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"** Benutze: /uninvite [Playerid/Name]");
- if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"** Dieser Spieler ist nicht Online!");
- if(SpielerInfo[playerid][Fraktion] != SpielerInfo[pID][Fraktion])return SendClientMessage(playerid,ROT,"** Dieser Spieler ist nicht in deiner Fraktion!");
- else {
- new string[128];
- format(string,sizeof(string),"** Du hast %s aus der Fraktion geschmissen.",GetName(pID));
- SendClientMessage(playerid,WEIS,string);
- format(string,sizeof(string),"** %s hat dich aus deiner Fraktion geschmissen!",GetName(playerid));
- SendClientMessage(pID,WEIS,string);
- SpielerInfo[pID][Fraktion] = 0;
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement