[Dev-Blog] Reallife Server by reaL.

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [Dev-Blog] Reallife Server by reaL.

      Hey,
      Ich habe ja vor ein paar Tagen eine Teamsuche geamacht und es haben sich auch viele Gemeldet bis jetze, daher wollte ich hier einfach mal ein Dev-Blog machen damit man sieht ob was passiert und was.
      Wer Interesse hat kann es sich gerne durchlesen bzw sich mal bei mir Melden wer nichts lässt es sein und kann auch seine Kommentare für sich behalten es ist verschwendete Zeit da ich sie ignoriere.
      Das Script wurde gestern Abend angefangen.



      Quellcode: Changelog 0.01

      1. - Server Eingerichtet
      2. - Datenbankverbindung hergestellt
      3. - Spieler Datenbank angelegt
      4. - Login/Register System
      5. - Spawn System ( man Spawnt dort wo man sich ausgeloggt hat )
      6. - Admin System
      7. - Aduty System
      8. - Supmobil System
      9. - Adminbefehl: Makeadmin [Name/ID] [Adminlevel] befehl
      10. - Adminbefehl: goto [Name/ID] befehl
      11. - Adminbefehl: gethere [Name/ID] befehl
      12. - Adminbefehl: gotopos [X,Y,Z] befehl
      13. - Fraktions System hinzugefügt
      14. - Adminbefehl: Makeleader [Name/ID] [Fraktion] befehl hinzugefügt
      15. - Adminbefehl: Makezivi [Name/ID] hinzugefügt
      16. - Adminbefehl: Fl/Fraktionsliste hinzugefügt
      17. - Adminchat hinzugefügt
      18. - Adminbefehl: Befehl zum Mapeditor Laden hinzugefügt
      19. - Admin Funktion: Admin im Dienst bekommen kein Schaden
      20. - Admin Funktion: Spieler Anklickbar ( Level Setzen, Skin Setzen, Geld Geben, Geld Setzen )
      21. - Adminbefehl: Setskin [Name/ID] [Skinid] hinzugefügt
      22. - Adminbefehl: Setlevel [Name/ID] [Level] hinzugefügt
      23. - Adminbefehl: Givemoey [Name/ID] [Money] hinzugefügt
      24. - Adminbefehl: Setmoney [Name/ID] [Money] hinzugefügt
      Alles anzeigen

      Quellcode: Changelog 0.02

      1. - Personalausweis System hinzugefügt
      2. - Bankkonto System erstellt ( mit Kontonr und Pin )
      3. - Atm System erstellt ( Ingame Erstellbar,Löschbar,Editierbar )
      4. - Kontoauszug System erstellt
      5. - Adminbefehl: /asetrang [Name/Playerid] [Rang]
      6. - Adminbefehl: /kick [Name/Playerid] [Grund]
      7. - Adminbefehl: /createatm ( Erstellt Atm )
      8. - Adminbefehl: /editatm ( Atm verschiebbar )
      9. - Adminbefehl: /destroyatm ( Atm in der Nähe wird zerstört )
      10. - Spawn System ( Man spawnt wo man Ausloggt ) gelöscht
      11. - Neues Spawn System ( Zivispawn,Fraktion,Haus/Wohnung,Hotel )
      12. - Fraktionsinformationen Komplett in Datenbank
      13. - Actor System ( Bank und Stadthalle bis jetze )
      Alles anzeigen
      youtube.com/channel/UC5TZUUd86…AZ4dYQ?view_as=subscriber

      Biete Scripting Service an bei Interesse ->Pn
      Verkaufe Selfmade Script bei Interesse -> Pn

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von reaL. ()

    • Rocky Balboa schrieb:

      Könntest du mehr zu dem Fraktions System erzählen? Irgendwas Dynamisch?
      Habs versucht so dynamisch wie möglich zu erstellen, bis vor zwei Tagen sah es noch so aus, danke da hat sich nicht viel geändert.
      Du konntest weiterhin alles mögliche Ingame bearbeiten, Name, Abkürzung, Rangnamen, etc.

      Spoiler anzeigen

      Quellcode: Fraktionssystem

      1. #define MAX_FRAKTIONEN 10
      2. enum FraktionsDatenEnum {
      3. f_ID,
      4. f_Name[32],
      5. f_Abkuerzung[8],
      6. f_Geld,
      7. f_Max_Fahrzeuge,
      8. f_Fahrzeuge,
      9. f_FahrzeugFarbe1,
      10. f_FahrzeugFarbe2,
      11. f_RangName1[25],
      12. f_RangName2[25],
      13. f_RangName3[25],
      14. f_RangName4[25],
      15. f_RangName5[25],
      16. f_RangName6[25],
      17. Float:f_PickupX_In,
      18. Float:f_PickupY_In,
      19. Float:f_PickupZ_In,
      20. Float:f_PickupR_In,
      21. Float:f_PickupX_Out,
      22. Float:f_PickupY_Out,
      23. Float:f_PickupZ_Out,
      24. Float:f_PickupR_Out,
      25. Float:f_SpawnX_In,
      26. Float:f_SpawnY_In,
      27. Float:f_SpawnZ_In,
      28. Float:f_SpawnR_In,
      29. Float:f_SpawnX_Out,
      30. Float:f_SpawnY_Out,
      31. Float:f_SpawnZ_Out,
      32. Float:f_SpawnR_Out,
      33. f_Int,
      34. f_VWorld,
      35. f_Pickup_In,
      36. f_Pickup_Out
      37. };
      38. enum PlayerDatenEnum {
      39. bool:pLogged,
      40. pName[MAX_PLAYER_NAME],
      41. pFraktion,
      42. pRang
      43. }
      44. enum {
      45. DIALOG_FL,
      46. DIALOG_FRAKTION_BEARBEITEN_1,
      47. DIALOG_FRAKTION_BEARBEITEN_2,
      48. DIALOG_FRAKTION_BEARBEITEN_3,
      49. DIALOG_FRAKTION_BEARBEITEN_4,
      50. DIALOG_FRAK_INVITE
      51. }
      52. forward LadeFraktionsDaten();
      53. new fInfo[MAX_FRAKTIONEN][FraktionsDatenEnum];
      54. new pInfo[MAX_PLAYERS][PlayerDatenEnum];
      55. public OnGameModeInit()
      56. {
      57. new string[256];
      58. mysql_format(handle, string, sizeof(string), "SELECT * FROM `fraktionen`");
      59. mysql_pquery(handle, string, "LadeFraktionsDaten");
      60. }
      61. public LadeFraktionsDaten()
      62. {
      63. new rows;
      64. cache_get_row_count(rows);
      65. if(rows == 0)
      66. {
      67. printf("- Es konnten keine Fraktionen gefunden werden!");
      68. return 1;
      69. }
      70. new var, string[128];
      71. for(new i; i<rows; i++)
      72. {
      73. cache_get_value_name_int(i, "id", fInfo[i][f_ID]);
      74. fInfo[i][f_VWorld] = fInfo[i][f_ID] + 100;
      75. cache_get_value_name_int(i, "Geld", fInfo[i][f_Geld]);
      76. cache_get_value_name_int(i, "Max_Fahrzeuge", fInfo[i][f_Max_Fahrzeuge]);
      77. cache_get_value_name_int(i, "Fahrzeuge", fInfo[i][f_Fahrzeuge]);
      78. cache_get_value_name_int(i, "Interior", fInfo[i][f_Int]);
      79. cache_get_value_name_int(i, "FahrzeugFarbe1", fInfo[i][f_FahrzeugFarbe1]);
      80. cache_get_value_name_int(i, "FahrzeugFarbe2", fInfo[i][f_FahrzeugFarbe2]);
      81. cache_get_value_name_float(i, "SpawnX_In", fInfo[i][f_SpawnX_In]);
      82. cache_get_value_name_float(i, "SpawnY_In", fInfo[i][f_SpawnY_In]);
      83. cache_get_value_name_float(i, "SpawnZ_In", fInfo[i][f_SpawnZ_In]);
      84. cache_get_value_name_float(i, "SpawnR_In", fInfo[i][f_SpawnR_In]);
      85. cache_get_value_name_float(i, "SpawnX_Out", fInfo[i][f_SpawnX_Out]);
      86. cache_get_value_name_float(i, "SpawnY_Out", fInfo[i][f_SpawnY_Out]);
      87. cache_get_value_name_float(i, "SpawnZ_Out", fInfo[i][f_SpawnZ_Out]);
      88. cache_get_value_name_float(i, "SpawnR_Out", fInfo[i][f_SpawnR_Out]);
      89. cache_get_value_name_float(i, "PickupX_In", fInfo[i][f_PickupX_In]);
      90. cache_get_value_name_float(i, "PickupY_In", fInfo[i][f_PickupY_In]);
      91. cache_get_value_name_float(i, "PickupZ_In", fInfo[i][f_PickupZ_In]);
      92. cache_get_value_name_float(i, "PickupX_Out", fInfo[i][f_PickupX_Out]);
      93. cache_get_value_name_float(i, "PickupY_Out", fInfo[i][f_PickupY_Out]);
      94. cache_get_value_name_float(i, "PickupZ_Out", fInfo[i][f_PickupZ_Out]);
      95. cache_get_value_name(i, "Name", string, sizeof(string));
      96. format(fInfo[i][f_Name], sizeof(string), string);
      97. cache_get_value_name(i, "Abkürzung", string, sizeof(string));
      98. format(fInfo[i][f_Abkuerzung], sizeof(string), string);
      99. cache_get_value_name(i, "RangName1", string, sizeof(string));
      100. format(fInfo[i][f_RangName1], sizeof(string), string);
      101. cache_get_value_name(i, "RangName2", string, sizeof(string));
      102. format(fInfo[i][f_RangName2], sizeof(string), string);
      103. cache_get_value_name(i, "RangName3", string, sizeof(string));
      104. format(fInfo[i][f_RangName3], sizeof(string), string);
      105. cache_get_value_name(i, "RangName4", string, sizeof(string));
      106. format(fInfo[i][f_RangName4], sizeof(string), string);
      107. cache_get_value_name(i, "RangName5", string, sizeof(string));
      108. format(fInfo[i][f_RangName5], sizeof(string), string);
      109. cache_get_value_name(i, "RangName6", string, sizeof(string));
      110. format(fInfo[i][f_RangName6], sizeof(string), string);
      111. if(fInfo[i][f_PickupX_In] != 0)
      112. {
      113. 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]);
      114. 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);
      115. format(string, sizeof(string), "%s-Gebäude\nZum Verlassen 'Enter'", fInfo[i][f_Name]);
      116. 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]);
      117. format(string, sizeof(string), "%s-Gebäude\nZum Betreten 'Enter'", fInfo[i][f_Name]);
      118. 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);
      119. }
      120. var++;
      121. }
      122. printf("- Es wurden erfolgreich %d Fraktionen geladen!", var);
      123. return 1;
      124. }
      125. public OnPlayerKeyStateChange(playerid, newinteriorid, oldinteriorid)
      126. {
      127. for(new x; x<sizeof(fInfo); x++)
      128. {
      129. 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
      130. {
      131. if(pInfo[playerid][pFraktion] != fInfo[x][f_ID])
      132. {
      133. new string[128];
      134. format(string, sizeof(string), "[SERVER]{FFFFFF} Du bist nicht in der Fraktion '%s'!", fInfo[x][f_Name]);
      135. SendClientMessage(playerid, COLOR_RED, string);
      136. return 1;
      137. }
      138. SetPlayerPos(playerid, fInfo[x][f_SpawnX_In], fInfo[x][f_SpawnY_In], fInfo[x][f_SpawnZ_In]);
      139. SetPlayerFacingAngle(playerid, fInfo[x][f_SpawnR_In]);
      140. SetPlayerVirtualWorld(playerid, fInfo[x][f_VWorld]);
      141. SetPlayerInterior(playerid, fInfo[x][f_Int]);
      142. pInfo[playerid][pPos_X] = fInfo[x][f_SpawnX_In];
      143. pInfo[playerid][pPos_Y] = fInfo[x][f_SpawnY_In];
      144. pInfo[playerid][pPos_Z] = fInfo[x][f_SpawnZ_In];
      145. pInfo[playerid][pPos_R] = fInfo[x][f_SpawnR_In];
      146. pInfo[playerid][pInt] = fInfo[x][f_Int];
      147. pInfo[playerid][pVWorld] = fInfo[x][f_VWorld];
      148. SetCameraBehindPlayer(playerid);
      149. return 1;
      150. }
      151. 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
      152. {
      153. if(pInfo[playerid][pInt] != 0 && pInfo[playerid][pVWorld] == fInfo[x][f_VWorld])
      154. SetPlayerPos(playerid, fInfo[x][f_SpawnX_Out], fInfo[x][f_SpawnY_Out], fInfo[x][f_SpawnZ_Out]);
      155. SetPlayerFacingAngle(playerid, fInfo[x][f_SpawnR_Out]);
      156. SetPlayerVirtualWorld(playerid, 0);
      157. SetPlayerInterior(playerid, 0);
      158. pInfo[playerid][pPos_X] = fInfo[x][f_SpawnX_Out];
      159. pInfo[playerid][pPos_Y] = fInfo[x][f_SpawnY_Out];
      160. pInfo[playerid][pPos_Z] = fInfo[x][f_SpawnZ_Out];
      161. pInfo[playerid][pPos_R] = fInfo[x][f_SpawnR_Out];
      162. pInfo[playerid][pInt] = 0;
      163. pInfo[playerid][pVWorld] = 0;
      164. SetCameraBehindPlayer(playerid);
      165. return 1;
      166. }
      167. }
      168. return 1;
      169. }
      170. stock SendFrakMessage(FraktionsID, Farbe, Nachricht[])
      171. {
      172. for(new i; i<MAX_PLAYERS; i++)
      173. {
      174. if(!IsPlayerConnected(i)) continue;
      175. if(!pInfo[i][pLogged]) continue;
      176. if(pInfo[i][pFraktion] != FraktionsID) continue;
      177. SendClientMessageEx(i, Farbe, Nachricht);
      178. }
      179. return 1;
      180. }
      181. stock GetFraktionsRang(playerid)
      182. {
      183. new Rang[26], fID = pInfo[playerid][pFraktion];
      184. switch(pInfo[playerid][pRang])
      185. {
      186. case 1: { format(Rang, sizeof(Rang), fInfo[fID][f_RangName1]); }
      187. case 2: { format(Rang, sizeof(Rang), fInfo[fID][f_RangName2]); }
      188. case 3: { format(Rang, sizeof(Rang), fInfo[fID][f_RangName3]); }
      189. case 4: { format(Rang, sizeof(Rang), fInfo[fID][f_RangName4]); }
      190. case 5: { format(Rang, sizeof(Rang), fInfo[fID][f_RangName5]); }
      191. case 6: { format(Rang, sizeof(Rang), fInfo[fID][f_RangName6]); }
      192. default: { format(Rang, sizeof(Rang), "-"); }
      193. }
      194. return Rang;
      195. }
      196. ocmd:f(playerid, params[])
      197. {
      198. if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
      199. if(!pInfo[playerid][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst dafür eine Fraktion!");
      200. new string[512], fID = pInfo[playerid][pFraktion], Nachricht[256];
      201. if(sscanf(params, "s[256]", Nachricht)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /f [Nachricht]");
      202. for(new i; i<MAX_PLAYERS; i++)
      203. {
      204. if(!IsPlayerConnected(i)) continue;
      205. if(!pInfo[i][pLogged]) continue;
      206. if(fID != pInfo[i][pFraktion] && !pInfo[i][pBigEars]) continue;
      207. 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);
      208. else format(string, sizeof(string), "(( ** %s %s sagt: %s ** ))", GetFraktionsRang(playerid), SpielerName(playerid), Nachricht);
      209. SendClientMessage(i, COLOR_FRAKTION, string);
      210. }
      211. format(string, sizeof(string), "[F-Chat %s]{FFFFFF} %s %s sagt: %s", fInfo[fID][f_Abkuerzung], GetFraktionsRang(playerid), SpielerName(playerid), Nachricht);
      212. Log("fraktions_log", string);
      213. return 1;
      214. }
      215. ocmd:setrang(playerid, params[])
      216. {
      217. if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
      218. if(!pInfo[playerid][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst dafür eine Fraktion!");
      219. if(pInfo[playerid][pRang] < 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst mindestens Rang 5!");
      220. new pID, Rang;
      221. if(sscanf(params, "ud", pID, Rang)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /setrang [ID/Name] [Rang]");
      222. if(!pInfo[pID][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht eingeloggt!");
      223. if(Rang < 1 || Rang > 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Rang muss zwischen 1 und 5 liegen!");
      224. if(playerid == pID) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du kann deinen eigenen Rang nicht verändern!");
      225. if(pInfo[pID][pRang] == Rang) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler hat bereits den besagten Rang!");
      226. if(pInfo[playerid][pFraktion] != pInfo[pID][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht in deiner Fraktion!");
      227. if(pInfo[playerid][pRang] == 5 && Rang == 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Nur der Leiter einer Fraktion kann Co-/Leiter bestimmen!");
      228. 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!");
      229. if(pInfo[pID][pRang] == 6) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du kannst keinem Leiter die Rechte entziehen!");
      230. new Status[12], string[256];
      231. if(Rang > pInfo[pID][pRang]) format(Status, sizeof(Status), "befördert");
      232. else format(Status, sizeof(Status), "degradiert");
      233. pInfo[pID][pRang] = Rang;
      234. format(string, sizeof(string), "[Fraktion]{FFFFFF} %s %s hat %s zum %s %s!", GetFraktionsRang(playerid), SpielerName(playerid), SpielerName(pID), GetFraktionsRang(pID), Status);
      235. SendFrakMessage(pInfo[playerid][pFraktion], COLOR_FRAKTION, string);
      236. 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]);
      237. Log("fraktions_log", string);
      238. return 1;
      239. }
      240. ocmd@2:rauswerfen,uninvite(playerid, params[])
      241. {
      242. if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
      243. if(!pInfo[playerid][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst dafür eine Fraktion!");
      244. if(pInfo[playerid][pRang] < 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst mindestens Rang 5!");
      245. new pID;
      246. if(sscanf(params, "u", pID)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /rauswerfen [ID/Name]");
      247. if(!pInfo[pID][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht eingeloggt!");
      248. if(pInfo[pID][pFraktion] != pInfo[playerid][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht in deiner Fraktion!");
      249. 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!");
      250. if(pInfo[pID][pRang] == 6) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Einen Leiter kann nur ein Admin rauswerfen!");
      251. pInfo[pID][pEingeladen] = false;
      252. pInfo[pID][pEinladerFraktion] = 0;
      253. pInfo[pID][pFraktion] = 0;
      254. pInfo[pID][pRang] = 0;
      255. new string[256];
      256. format(string, sizeof(string), "[Fraktion] %s wurde von %s %s aus der Fraktion geworfen!", SpielerName(pID), GetFraktionsRang(playerid), SpielerName(playerid));
      257. SendFrakMessage(pInfo[playerid][pFraktion], COLOR_FRAKTION, string);
      258. format(string, sizeof(string), "[Fraktion] Du wurdest von %s %s aus der Fraktion geworfen!", GetFraktionsRang(playerid), SpielerName(playerid));
      259. SendClientMessage(pID, COLOR_FRAKTION, string);
      260. 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]);
      261. Log("fraktions_log", string);
      262. return 1;
      263. }
      264. ocmd@2:einladen,invite(playerid, params[])
      265. {
      266. if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
      267. if(!pInfo[playerid][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst dafür eine Fraktion!");
      268. if(pInfo[playerid][pRang] < 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du brauchst mindestens Rang 5!");
      269. new pID;
      270. if(sscanf(params, "u", pID)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /einladen [ID/Name]");
      271. if(!pInfo[pID][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht eingeloggt!");
      272. if(pInfo[pID][pFraktion] != 0) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist bereits in einer Fraktion!");
      273. if(pInfo[pID][pEingeladen]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler wurde bereits in eine Fraktion eingeladen!");
      274. new string[256];
      275. pInfo[pID][pEingeladen] = true;
      276. pInfo[pID][pEinladerFraktion] = pInfo[playerid][pFraktion];
      277. 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]);
      278. ShowPlayerDialog(pID, DIALOG_FRAK_INVITE, DIALOG_STYLE_MSGBOX, "{FFFFFF}Fraktionseinladung", string, "{FFFFFF}Annehmen", "{FFFFFF}Ablehnen");
      279. format(string, sizeof(string), "[Fraktion]{FFFFFF} %s %s hat %s in die Fraktion eingeladen!", GetFraktionsRang(playerid), SpielerName(playerid), SpielerName(pID));
      280. SendFrakMessage(pInfo[playerid][pFraktion], COLOR_FRAKTION, string);
      281. 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]);
      282. Log("fraktions_log", string);
      283. return 1;
      284. }
      285. ocmd:makezivi(playerid, params[])
      286. {
      287. if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
      288. if(pInfo[playerid][pAdmin] < 1 || pInfo[playerid][pAdmin] > 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du verfügst nicht die nötigen Berechtiungen!");
      289. new string[256], pID;
      290. if(!Adminduty[playerid])
      291. {
      292. format(string, sizeof(string), "[SERVER]{FFFFFF} Du bist nicht als %s im Dienst!", GetAdminRang(playerid));
      293. SendClientMessage(playerid, COLOR_RED, string);
      294. return 1;
      295. }
      296. if(sscanf(params, "u", pID)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /makezivi [ID/Name]");
      297. if(!pInfo[pID][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht eingeloggt!");
      298. if(pInfo[playerid][pFraktion] == 0) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist in keiner Fraktion!");
      299. format(string, sizeof(string), "[Adm-Cmd]{FFFFFF} %s %s hat %s aus der Fraktion geschmissen!", GetAdminRang(playerid), SpielerName(playerid), SpielerName(pID));
      300. SendAdminMessage(string);
      301. format(string, sizeof(string), "%s Alte Fraktion: %s", string, fInfo[pInfo[pID][pFraktion]][f_Name]);
      302. Log("admin_log", string);
      303. format(string, sizeof(string), "[Adm-Cmd]{FFFFFF} %s %s hat dich aus der Fraktion geschmissen!", GetAdminRang(playerid), SpielerName(playerid));
      304. SendClientMessage(pID, COLOR_RED, string);
      305. pInfo[pID][pFraktion] = 0;
      306. pInfo[pID][pRang] = 0;
      307. SpielerSpeichern(pID);
      308. return 1;
      309. }
      310. ocmd:asetrang(playerid, params[])
      311. {
      312. if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
      313. if(pInfo[playerid][pAdmin] < 1 || pInfo[playerid][pAdmin] > 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du verfügst nicht die nötigen Berechtiungen!");
      314. new string[256];
      315. if(!Adminduty[playerid])
      316. {
      317. format(string, sizeof(string), "[SERVER]{FFFFFF} Du bist nicht als %s im Dienst!", GetAdminRang(playerid));
      318. SendClientMessage(playerid, COLOR_RED, string);
      319. return 1;
      320. }
      321. new pID, Rang;
      322. if(sscanf(params, "ud", pID, Rang)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /asetrang [ID/Name] [Rang]");
      323. if(!pInfo[pID][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht eingeloggt!");
      324. if(Rang < 1 || Rang > 6) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Rang muss zwischen 1 und 6 liegen!");
      325. if(pInfo[pID][pRang] == Rang) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler hat bereits den besagten Rang!");
      326. new Status[12];
      327. if(Rang > pInfo[pID][pRang]) format(Status, sizeof(Status), "befördert");
      328. else format(Status, sizeof(Status), "degradiert");
      329. pInfo[pID][pRang] = Rang;
      330. format(string, sizeof(string), "[Adm-Cmd]{FFFFFF} %s %s hat %s zum %s %s!", GetAdminRang(playerid), SpielerName(playerid), SpielerName(pID), GetFraktionsRang(pID), Status);
      331. SendFrakMessage(pInfo[playerid][pFraktion], COLOR_RED, string);
      332. SendAdminMessage(string);
      333. 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]);
      334. Log("admin_log", string);
      335. return 1;
      336. }
      337. ocmd:setfraktion(playerid, params[])
      338. {
      339. if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
      340. if(pInfo[playerid][pAdmin] < 1 || pInfo[playerid][pAdmin] > 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du verfügst nicht die nötigen Berechtiungen!");
      341. new string[128], pID, fID;
      342. if(!Adminduty[playerid])
      343. {
      344. format(string, sizeof(string), "[SERVER]{FFFFFF} Du bist nicht als %s im Dienst!", GetAdminRang(playerid));
      345. SendClientMessage(playerid, COLOR_RED, string);
      346. return 1;
      347. }
      348. if(sscanf(params, "ud", pID, fID)) return SendClientMessage(playerid, COLOR_RED, "Benutzung:{FFFFFF} /setfraktion [ID/Name] [Fraktions-ID]");
      349. if(!pInfo[pID][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist nicht eingeloggt!");
      350. if(!IsValidFraktion(fID)) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Diese Fraktion existiert nicht!");
      351. if(fID == pInfo[pID][pFraktion]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Der Spieler ist bereits in der Fraktion!");
      352. 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]);
      353. SendAdminMessage(string);
      354. SendFrakMessage(fID, COLOR_RED, string);
      355. Log("admin_log", string);
      356. 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]);
      357. SendClientMessage(pID, COLOR_RED, string);
      358. pInfo[pID][pFraktion] = fID;
      359. pInfo[pID][pRang] = 1;
      360. SpielerSpeichern(pID);
      361. return 1;
      362. }
      363. ocmd@2:fl,fraktionsliste(playerid, params[])
      364. {
      365. if(!pInfo[playerid][pLogged]) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Es ist ein Fehler aufgetreten! Bitte melde dich bei einem Teammitglied!");
      366. if(pInfo[playerid][pAdmin] < 1 || pInfo[playerid][pAdmin] > 5) return SendClientMessage(playerid, COLOR_RED, "[SERVER]{FFFFFF} Du verfügst nicht die nötigen Berechtiungen!");
      367. new string[512], var;
      368. if(!Adminduty[playerid])
      369. {
      370. format(string, sizeof(string),"[SERVER]{FFFFFF} Du bist nicht als %s im Dienst!", GetAdminRang(playerid));
      371. SendClientMessage(playerid, COLOR_RED, string);
      372. return 1;
      373. }
      374. for(new i = 1; i<MAX_FRAKTIONEN; i++)
      375. {
      376. if(fInfo[i][f_ID] == 0) continue;
      377. 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]);
      378. else format(string, sizeof(string), "%s%d - %s (Abk.: %s)\n", string, fInfo[i][f_ID], fInfo[i][f_Name], fInfo[i][f_Abkuerzung]);
      379. var++;
      380. }
      381. ShowPlayerDialog(playerid, DIALOG_FL, DIALOG_STYLE_LIST, "{FFFFFF}Fraktionsliste", string, "{FFFFFF}Schließen", "");
      382. return 1;
      383. }
      Alles anzeigen


      pastebin.com/tkAex1xL
    • Rocky Balboa schrieb:

      Könntest du mehr zu dem Fraktions System erzählen? Irgendwas Dynamisch?
      Die Fraktionen sind Fest eingebunden da ich finde dass man die Fraktionen an sich ja nicht jeder Zeit ändern muss.
      Dinge wie z.b Fraktionskasse,Rangnamen unsw wird über eine Darenbank gespeichert dies wird auch alles später noch Ingame änderbar sein.


      Nun zu dir Whice es ist nicht das System was du dort gepostet hast also von daher ist es mir egal. Wenn du denkst du kannst mich damit ärgern oder so, kannst du nicht ich habe selber ein neues Script angefangen.
      Glaubst du erlich ich sage dir das, dass Fraktions/Car System sowas von Buggy ist und es dann noch benutze ? Ganz sicher nicht. Nun würde ich mir wünschen dass du solche unnötigen Beiträge sein lässt und es einfach auf die Vergangenheit beruhen lässt ok ? Ich habe dir nichts getan wir gehen nun getrennte Wege das heißt aber nicht dass man den anderen haten muss ich mache das auch nicht oder ?


      //Edit
      Es gab nun ein Update wofür ich eigentlich nicht so Lange gebraucht habe aber da ich zuviel zutun hatte wegen Fahrschule usw hatte ich kaum Zeit aber nun kommen wieder Öfter Update's.

      Ich Suche noch Leute die bock auf ein Reallife Server haben.
      Team für Reallife Server

      Mit freundlichen Grüßen
      reaL.
      youtube.com/channel/UC5TZUUd86…AZ4dYQ?view_as=subscriber

      Biete Scripting Service an bei Interesse ->Pn
      Verkaufe Selfmade Script bei Interesse -> Pn

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von reaL. ()