Advertisement
Guest User

Untitled

a guest
May 29th, 2012
1,757
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 159.48 KB | None | 0 0
  1. /*
  2. #Serverskript für ThugLife Roleplay!
  3. (c) by Jony (Jonas Lahme) & Sc4ut (Henry Kärcher)
  4.  
  5. by your-coding.de
  6. */
  7.  
  8. #include <a_samp>
  9. #include <utils>
  10. #include <a_mysql>
  11. #include <jk_sql_functions>
  12. #include <jk_functions>
  13. #include <a_http>
  14.  
  15. #define Function%0(%1) forward%0(%1); public%0(%1) //Deklaration
  16.  
  17. #define MYSQL_USER ""
  18. #define MYSQL_HOST ""
  19. #define MYSQL_PASS ""
  20. #define MYSQL_DB ""
  21.  
  22. #define WBB_USER ""
  23. #define WBB_HOST ""
  24. #define WBB_PASS ""
  25. #define WBB_DB ""
  26.  
  27. //language
  28. #define LANG_DEUTSCH 0
  29. #define LANG_ENGLISH 1
  30. //dialog id
  31. #define DIALOG_LOGIN 0001
  32. #define DIALOG_REG 0002
  33. #define DIALOG_REG_02 0003
  34. #define DIALOG_REG_03 0004
  35. #define DIALOG_REG_04 0005
  36. #define DIALOG_REG_05 0006
  37. #define DIALOG_REG_06 0007
  38. #define DIALOG_REG_07 0008
  39. #define DIALOG_REG_08 0009
  40. #define DIALOG_CHANGEPW 0010
  41. #define DIALOG_CHANGEPW2 0011
  42. #define DIALOG_CHANGEPW3 0012
  43. #define DIALOG_BUGREPORT 0013
  44. #define DIALOG_BUGREPORT_01 0014
  45. #define DIALOG_BUGREPORT_02 0015
  46. #define FORUM_01 0019
  47. #define DIALOG_KICK_REASON 0020
  48. #define DIALOG_KICK 0021
  49. #define DIALOG_BAN_REASON 0022
  50. #define DIALOG_BAN 0023
  51. #define DIALOG_GET_BANNED 0024
  52. #define DIALOG_GOTO 0025
  53. #define DIALOG_GOTO_CITY 0026
  54. #define DIALOG_GOTO_PLAYER 0027
  55. #define DIALOG_STATS 0028
  56. #define DIALOG_FOREN_ACC 0029
  57. //colors
  58. #define COLOR_LIGHTBLUE 0x33CCFFAA
  59. #define COLOR_GRAD2 0xBFC0C2FF
  60. #define COLOR_WHITE 0xFFFFFFAA
  61. #define COLOR_ORANGE 0xFF6600FF
  62. #define COLOR_RED 0xFF0000FF
  63. #define COLOR_GREEN 0x009900FF
  64. #define COLOR_LIGHTRED 0xFF000092
  65. #define COLOR_BLUE 0x0000FFFF
  66. //other
  67. #define MAX_CARS 2
  68. #define GENDER_FEMALE 0
  69. #define GENDER_MALE 1
  70. #define STANDARD_SKIN 26
  71. #define START_POS_X 1742.8762
  72. #define START_POS_Y -1860.7100
  73. #define START_POS_Z 13.5784
  74. #define START_Z_ANGLE 356.8789
  75. #define ACC_SYSTEM_COL D7DF01
  76. #define ERROR_SYSTEM_COL FAAC58
  77. #define START_MONEY_ACCOUNT 15000
  78. #define START_MONEY_CASH 5000
  79. #define TEAM_STATE 1
  80. #define TEAM_GANG 2
  81. #define TEAM_PRIVATE 3
  82.  
  83.  
  84. new db_conn[2];
  85. new bool:port_switch[3] = { false, false, false };
  86. new Float:port_coords[3][4] = { { 1512.7700,-1658.1890,13.5392,272.0565 }, // Coords LS
  87. { -1982.2954,146.7053,27.6875,99.8691 }, // Coords SF
  88. { 2025.3922,1027.5881,10.8203,270.6129 } }; // Coords LV
  89.  
  90. new logo[] = "{FF0000}T{FFFFFF}hug{FF0000}L{FFFFFF}ife Roleplay{FF0000}!";
  91. new version_int[5] = "0.01",
  92. version_string[2] = "a",
  93. PlayerAccount[MAX_PLAYERS],
  94. PlayerSpawned[MAX_PLAYERS],
  95. Text: clocktext[MAX_PLAYERS],
  96. Text: exp_draw[MAX_PLAYERS],
  97. Text: level_draw[MAX_PLAYERS],
  98. Text: cp_background[MAX_PLAYERS],
  99. bugreport[MAX_PLAYERS][2],
  100. Support[MAX_PLAYERS],
  101. MAX_HOUSES = 0,
  102. sended[MAX_PLAYERS],
  103. reasontext[256],
  104. Text:kd[MAX_PLAYERS], Text:ftd[MAX_PLAYERS], Text:fd[MAX_PLAYERS], Text:sd[MAX_PLAYERS];
  105.  
  106.  
  107. enum pInfo {
  108. pID,
  109. pName[MAX_PLAYER_NAME],
  110. pKey[128],
  111. pLanguage,
  112. pGender,
  113. pAge,
  114. pAdvertCount,
  115. pGetAdvertised,
  116. pAdvertiseName[MAX_PLAYER_NAME],
  117. pGotAdvert,
  118. pEmail[128],
  119. cvar,
  120. pTeam,
  121. pSkin,
  122. Float: pPos_x,
  123. Float: pPos_y,
  124. Float: pPos_z,
  125. Float: pPos_zangle,
  126. pRegister,
  127. pInt,
  128. pVW,
  129. pOnline,
  130. pAdmin,
  131. pFaction,
  132. pRank,
  133. pTutorial,
  134. pTutTime,
  135. pCash,
  136. pAccount,
  137. Float: pHealth,
  138. Float: pArmor,
  139. Float: pExpcur,
  140. pExpmax,
  141. pLevel,
  142. pKills,
  143. pDeaths,
  144. pOnlineTimeMinute,
  145. pPlayedHours,
  146. pSupporter,
  147. pIP,
  148. pIP2,
  149. pIP3,
  150. pBan,
  151. pDistrict,
  152. pLastOnlineTime[100],
  153. };
  154. new PlayerInfo[MAX_PLAYERS][pInfo];
  155.  
  156. #define AWARD_LEVEL_5 0
  157. #define AWARD_LEVEL_10 1
  158. #define AWARD_LEVEL_15 2
  159. #define AWARD_LEVEL_20 3
  160.  
  161. Function checkAwardByID(id, awardid) {
  162. new sql[100];
  163. format(sql, sizeof(sql), "SELECT * FROM samp_awards WHERE awardid=%d AND pName='%s'",awardid, GetName(id));
  164. mysql_query(sql);
  165. mysql_store_result();
  166. new count = mysql_num_rows();
  167. if(count > 0) {
  168. mysql_free_result();
  169. return true;
  170. } else {
  171. mysql_free_result();
  172. return false;
  173. }
  174. }
  175.  
  176. Function checkAward(playerid) {
  177. new string[256], string2[256], query[100];
  178.  
  179. if(PlayerInfo[playerid][pLevel] == 5 || PlayerInfo[playerid][pLevel] == 10
  180. || PlayerInfo[playerid][pLevel] == 15 || PlayerInfo[playerid][pLevel] == 20 ) {
  181. switch(PlayerInfo[playerid][pLevel]) {
  182. case 5: {
  183. if(!checkAwardByID(playerid, AWARD_LEVEL_5)) {
  184. format(string, sizeof(string), "{0x33FFFFFF}AWARD: Du hast ein neuen Award. (Account Level 5).");
  185. format(string2, sizeof(string2), "{0x33FFFFFF}AWARD: You earned an award. (Account level 5).");
  186. format(query, sizeof(query) ,"INSERT INTO samp_awards SET awardid=%d WHERE pName = '%s'", AWARD_LEVEL_5, GetName(playerid));
  187. mysql_query(query);
  188. }
  189. }
  190. case 10: {
  191. if(!checkAwardByID(playerid, AWARD_LEVEL_10)) {
  192. format(string, sizeof(string), "{0x33FFFFFF}AWARD: Du hast ein neuen Award. (Account Level 10).");
  193. format(string2, sizeof(string2), "{0x33FFFFFF}AWARD: You earned an award. (Account level 10).");
  194. format(query, sizeof(query) ,"INSERT INTO samp_awards SET awardid=%d WHERE pName = '%s'", AWARD_LEVEL_10, GetName(playerid));
  195. mysql_query(query);
  196. }
  197. }
  198. case 15: {
  199. if(!checkAwardByID(playerid, AWARD_LEVEL_15)) {
  200. format(string, sizeof(string), "{0x33FFFFFF}AWARD: Du hast ein neuen Award. (Account Level 15).");
  201. format(string2, sizeof(string2), "{0x33FFFFFF}AWARD: You earned an award. (Account level 15).");
  202. format(query, sizeof(query) ,"INSERT INTO samp_awards SET awardid=%d WHERE pName = '%s'", AWARD_LEVEL_15, GetName(playerid));
  203. mysql_query(query);
  204. }
  205. }
  206. case 20: {
  207. if(!checkAwardByID(playerid, AWARD_LEVEL_20)) {
  208. format(string, sizeof(string), "{0x33FFFFFF}AWARD: Du hast ein neuen Award. (Account Level 20).");
  209. format(string2, sizeof(string2), "{0x33FFFFFF}AWARD: You earned an award. (Account level 20).");
  210. format(query, sizeof(query) ,"INSERT INTO samp_awards SET awardid=%d WHERE pName = '%s'", AWARD_LEVEL_20, GetName(playerid));
  211. mysql_query(query);
  212. }
  213. }
  214. }
  215. SendClientMessageEx(playerid, COLOR_WHITE, string, string2);
  216.  
  217. }
  218.  
  219. }
  220.  
  221.  
  222.  
  223. enum hInfo {
  224. hID,
  225. hOwner[MAX_PLAYER_NAME],
  226. hDescription[128],
  227. Float: hPos_x,
  228. Float: hPos_y,
  229. Float: hPos_z,
  230. Float: hPos_x_enter,
  231. Float: hPos_y_enter,
  232. Float: hPos_z_enter,
  233. hValue,
  234. hRent,
  235. hRentPrice,
  236. hMaxTakings,
  237. hBank,
  238. hOwned,
  239. hLevel,
  240. hTakings,
  241. };
  242. new HouseInfo[1000][hInfo];
  243.  
  244. /*
  245. #define scriptversion "1"
  246. new valid = 0;
  247. Function validVersion() {
  248. HTTP(1, HTTP_GET, "server.thuglife-rp.com/valid.txt", "", "CheckResponse");
  249. }
  250.  
  251. Function CheckResponse(index, response_code, data[]) {
  252. if(response_code == 200) {
  253. if(!strcmp(data, scriptversion, false)) {
  254. print("* Skript Version stimmt nicht überrein! Server wird beendet!");
  255. } else {
  256. valid = 1;
  257. }
  258. } else {
  259. print("* Skript Version stimmt nicht überrein! Server wird beendet!");
  260. }
  261. }
  262. */
  263.  
  264. main()
  265. {
  266. /*validVersion();
  267. if(valid == 0) {
  268. return 1;
  269. }
  270. */
  271. print("Serverskript für ThugLife RP");
  272. printf("Version: %s/%s",version_int, version_string);
  273. print("Only for www.thuglife-rp.de");
  274. print("Serverskript by Jony");
  275.  
  276.  
  277. mysql_debug(1);
  278. db_conn[0] = mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_DB,MYSQL_PASS);
  279. if(mysql_ping(db_conn[0]) == 1) {
  280. print("MySQL-Verbindung zum Server wurde erfolgreich hergestellt.");
  281. } else {
  282. print("MySQL-Verbindung zum Server konnte nicht hergestellt werden.");
  283. print("Zweiter Versuch ...");
  284. mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_DB,MYSQL_PASS);
  285. if(mysql_ping(db_conn[0]) == 1) {
  286. print("MySQL-Verbindung zum Server wurde erfolgreich hergestellt.");
  287. } else {
  288. print("MySQL-Verbindung zum Server konnte nicht hergestellt werden.");
  289. print("Info: Der Server wird nun beendet.");
  290. SendRconCommand("exit");
  291. }
  292. }
  293. db_conn[1] = mysql_connect(WBB_HOST,WBB_USER,WBB_DB,WBB_PASS);
  294. if(mysql_ping(db_conn[1]) == 1) {
  295. print("MySQL-Verbindung zum Forum wurde erfolgreich hergestellt.");
  296. } else {
  297. print("MySQL-Verbindung zum Forum konnte nicht hergestellt werden.");
  298. print("Zweiter Versuch ...");
  299. mysql_connect(WBB_HOST,WBB_USER,WBB_DB,WBB_PASS);
  300. if(mysql_ping(db_conn[1]) == 1) {
  301. print("MySQL-Verbindung zum Forum wurde erfolgreich hergestellt.");
  302. } else {
  303. print("MySQL-Verbindung zum Forum konnte nicht hergestellt werden.");
  304. print("Info: Der Server wird nun beendet.");
  305. SendRconCommand("exit");
  306. }
  307. }
  308. print("MySQL v.1.0 (including Server&forum) - by Jony");
  309. print("________________________");
  310. print("* Stable Version *");
  311.  
  312.  
  313.  
  314. LoadSettings();
  315. LoadProperty();
  316. AddPickups();
  317. LoadCars();
  318. return 1;
  319. }
  320.  
  321. enum vInfo {
  322. vID,
  323. vModel,
  324. vCol1,
  325. vCol2,
  326. vPlate[128],
  327. vFaction,
  328. Float: vPos_X,
  329. Float: vPos_Y,
  330. Float: vPos_Z,
  331. Float: vPos_A,
  332. Float: vMaxFuel,
  333. Float: vFuel,
  334. Float: vDamage,
  335. Float: vMiles,
  336. Float: vPos_Xn,
  337. Float: vPos_Yn,
  338. Float: vPos_Zn,
  339. Float: vPos_An,
  340. vInsu,
  341. vLock,
  342. vEngine,
  343. vLights,
  344. vAlarm,
  345. vDoors,
  346. vBonnet,
  347. vBoot,
  348. vObjective,
  349. vResp,
  350. vSlot1_t,
  351. vSlot2_t,
  352. vSlot3_t,
  353. vSlot4_t,
  354. vSlot5_t,
  355. vSlot1_m,
  356. vSlot2_m,
  357. vSlot3_m,
  358. vSlot4_m,
  359. vSlot5_m,
  360. };
  361. new VehicleInfo[MAX_CARS][vInfo];
  362.  
  363.  
  364. SaveCar(carid) {
  365. new string[100] ,Float: vPos[4];
  366. GetVehiclePos(carid, vPos[0],vPos[1],vPos[2]);
  367. GetVehicleZAngle(carid, vPos[3]);
  368. format(string, sizeof(string), "UPDATE samp_vehicle SET vPos_Xn=%f WHERE vID=%d", vPos[0], carid);
  369. mysql_query(string);
  370. format(string, sizeof(string), "UPDATE samp_vehicle SET vPos_Yn=%f WHERE vID=%d", vPos[1], carid);
  371. mysql_query(string);
  372. format(string, sizeof(string), "UPDATE samp_vehicle SET vPos_Zn=%f WHERE vID=%d", vPos[2], carid);
  373. mysql_query(string);
  374. format(string, sizeof(string), "UPDATE samp_vehicle SET vPos_An=%f WHERE vID=%d", vPos[3], carid);
  375. mysql_query(string);
  376. }
  377.  
  378. LoadCars() {
  379. new cars = 1,
  380. string[128];
  381.  
  382. while(cars < MAX_CARS) {
  383. format(string, sizeof(string), "%d", cars);
  384. VehicleInfo[cars][vID] = mysql_GetIntByString("samp_vehicle","vID","vID",string);
  385. strmid(VehicleInfo[cars][vPlate], mysql_GetStringByString("samp_vehicle","vPlate","vID",string), 0, strlen(mysql_GetStringByString("samp_vehicle","vPlate","vID",string)), 255);
  386. VehicleInfo[cars][vModel] = mysql_GetIntByString("samp_vehicle","vModel","vID",string);
  387. VehicleInfo[cars][vCol1] = mysql_GetIntByString("samp_vehicle","vCol1","vID",string);
  388. VehicleInfo[cars][vCol2] = mysql_GetIntByString("samp_vehicle","vCol2","vID",string);
  389. VehicleInfo[cars][vFaction] = mysql_GetIntByString("samp_vehicle","vFaction","vID",string);
  390. VehicleInfo[cars][vPos_X] = mysql_GetFloatByString("samp_vehicle","vPos_X","vID",string);
  391. VehicleInfo[cars][vPos_Y] = mysql_GetFloatByString("samp_vehicle","vPos_Y","vID",string);
  392. VehicleInfo[cars][vPos_Z] = mysql_GetFloatByString("samp_vehicle","vPos_Z","vID",string);
  393. VehicleInfo[cars][vPos_A] = mysql_GetFloatByString("samp_vehicle","vPos_A","vID",string);
  394. VehicleInfo[cars][vMaxFuel] = mysql_GetFloatByString("samp_vehicle","vMaxFuel","vID",string);
  395. VehicleInfo[cars][vFuel] = mysql_GetFloatByString("samp_vehicle","vFuel","vID",string);
  396. VehicleInfo[cars][vDamage] = mysql_GetFloatByString("samp_vehicle","vDamage","vID",string);
  397. VehicleInfo[cars][vMiles] = mysql_GetFloatByString("samp_vehicle","vMiles","vID",string);
  398. VehicleInfo[cars][vPos_Xn] = mysql_GetFloatByString("samp_vehicle","vPos_Xn","vID",string);
  399. VehicleInfo[cars][vPos_Yn] = mysql_GetFloatByString("samp_vehicle","vPos_Yn","vID",string);
  400. VehicleInfo[cars][vPos_Zn] = mysql_GetFloatByString("samp_vehicle","vPos_Zn","vID",string);
  401. VehicleInfo[cars][vPos_An] = mysql_GetFloatByString("samp_vehicle","vPos_An","vID",string);
  402. VehicleInfo[cars][vInsu] = mysql_GetIntByString("samp_vehicle","vInsu","vID",string);
  403. VehicleInfo[cars][vLock] = mysql_GetIntByString("samp_vehicle","vLock","vID",string);
  404. VehicleInfo[cars][vEngine] = mysql_GetIntByString("samp_vehicle","vEngine","vID",string);
  405. VehicleInfo[cars][vLights] = mysql_GetIntByString("samp_vehicle","vLights","vID",string);
  406. VehicleInfo[cars][vAlarm] = mysql_GetIntByString("samp_vehicle","vAlarm","vID",string);
  407. VehicleInfo[cars][vDoors] = mysql_GetIntByString("samp_vehicle","vDoors","vID",string);
  408. VehicleInfo[cars][vBonnet] = mysql_GetIntByString("samp_vehicle","vBonnet","vID",string);
  409. VehicleInfo[cars][vBoot] = mysql_GetIntByString("samp_vehicle","vBoot","vID",string);
  410. VehicleInfo[cars][vResp] = mysql_GetIntByString("samp_vehicle","vResp","vID",string);
  411. VehicleInfo[cars][vSlot1_t] = mysql_GetIntByString("samp_vehicle","vSlot1_t","vID",string);
  412. VehicleInfo[cars][vSlot2_t] = mysql_GetIntByString("samp_vehicle","vSlot2_t","vID",string);
  413. VehicleInfo[cars][vSlot3_t] = mysql_GetIntByString("samp_vehicle","vSlot3_t","vID",string);
  414. VehicleInfo[cars][vSlot4_t] = mysql_GetIntByString("samp_vehicle","vSlot4_t","vID",string);
  415. VehicleInfo[cars][vSlot5_t] = mysql_GetIntByString("samp_vehicle","vSlot5_t","vID",string);
  416. VehicleInfo[cars][vSlot1_m] = mysql_GetIntByString("samp_vehicle","vSlot1_m","vID",string);
  417. VehicleInfo[cars][vSlot2_m] = mysql_GetIntByString("samp_vehicle","vSlot2_m","vID",string);
  418. VehicleInfo[cars][vSlot3_m] = mysql_GetIntByString("samp_vehicle","vSlot3_m","vID",string);
  419. VehicleInfo[cars][vSlot4_m] = mysql_GetIntByString("samp_vehicle","vSlot4_m","vID",string);
  420. VehicleInfo[cars][vSlot5_m] = mysql_GetIntByString("samp_vehicle","vSlot5_m","vID",string);
  421. CreateVehicle(VehicleInfo[cars][vModel], VehicleInfo[cars][vPos_Xn], VehicleInfo[cars][vPos_Yn], VehicleInfo[cars][vPos_Zn], VehicleInfo[cars][vPos_An], VehicleInfo[cars][vCol1], VehicleInfo[cars][vCol1],-1);
  422. SetVehicleNumberPlate(cars, VehicleInfo[cars][vPlate]);
  423. // Params == 1, active!
  424. SetVehicleParamsEx(cars, VehicleInfo[cars][vEngine], VehicleInfo[cars][vLights], VehicleInfo[cars][vAlarm], VehicleInfo[cars][vLock], VehicleInfo[cars][vBonnet],VehicleInfo[cars][vBoot], VehicleInfo[cars][vObjective]);
  425. printf(" X= %f Y= %f Z= %f", VehicleInfo[cars][vPos_Xn],VehicleInfo[cars][vPos_Yn],VehicleInfo[cars][vPos_Zn]);
  426. printf("LockStatus=%d",VehicleInfo[cars][vLock]);
  427. cars ++ ;
  428. }
  429. return printf("* Es wurden %d Fahrzeuge aus der Datenbank geladen. *", cars);
  430. }
  431.  
  432. SaveSettings() {
  433. //new h=0,string[5],query[300];
  434. //format(string, sizeof(string),"%d",h);
  435. //format(query, sizeof(query), "UPDATE samp_settings SET max_houses=%d WHERE id=0", MAX_HOUSES);
  436. //return mysql_query(query);
  437. }
  438. LoadSettings() {
  439. /* new h=0,string[5];
  440. format(string, sizeof(string),"%d",h);
  441. MAX_HOUSES = mysql_GetIntByString("samp_settings","max_houses","id",string);
  442. return print("* Die Servereinstellungen wurden erfolgreich geladen.*");*/
  443. }
  444.  
  445. LoadProperty() {
  446. new h = 0, string[5];
  447. while(h < MAX_HOUSES) {
  448. format(string, sizeof(string), "%d",h+1);
  449. HouseInfo[h][hID] = mysql_GetIntByString("samp_property","hID","id",string);
  450. strmid(HouseInfo[h][hOwner], mysql_GetStringByString("samp_property","hOwner","id",string), 0, strlen(mysql_GetStringByString("samp_property","hOwner","id",string)), 255);
  451. strmid(HouseInfo[h][hDescription], mysql_GetStringByString("samp_property","hDescription","id",string),0,strlen(mysql_GetStringByString("samp_property","hDescription","id",string)), 255);
  452. HouseInfo[h][hPos_x] = mysql_GetFloatByString("samp_property","hPos_x","id",string);
  453. HouseInfo[h][hPos_y] = mysql_GetFloatByString("samp_property","hPos_y","id",string);
  454. HouseInfo[h][hPos_z] = mysql_GetFloatByString("samp_property","hPos_z","id",string);
  455. HouseInfo[h][hPos_x_enter] = mysql_GetFloatByString("samp_property","hPos_x_enter","id",string);
  456. HouseInfo[h][hPos_y_enter] = mysql_GetFloatByString("samp_property","hPos_y_enter","id",string);
  457. HouseInfo[h][hPos_z_enter] = mysql_GetFloatByString("samp_property","hPos_z_enter","id",string);
  458. HouseInfo[h][hValue] = mysql_GetIntByString("samp_property","hValue","id",string);
  459. HouseInfo[h][hRent] = mysql_GetIntByString("samp_property","hRent","id",string);
  460. HouseInfo[h][hRentPrice] = mysql_GetIntByString("samp_property","hRentPrice","id",string);
  461. HouseInfo[h][hMaxTakings] = mysql_GetIntByString("samp_property","hMaxTakings","id",string);
  462. HouseInfo[h][hBank] = mysql_GetIntByString("samp_property","hBank","id",string);
  463.  
  464. HouseInfo[h][hOwned] = mysql_GetIntByString("samp_property","hOwned","id",string);
  465. HouseInfo[h][hLevel] = mysql_GetIntByString("samp_property","hLevel","id",string);
  466. HouseInfo[h][hTakings] = mysql_GetIntByString("samp_property","hTakings","id",string);
  467. h ++;
  468.  
  469. }
  470. return printf("* Es wurden %d Häuser erfolgreich geladen *",h);
  471. }
  472.  
  473. Function SavePropertyById(id) {
  474. new query[300];
  475. format(query, sizeof(query), "UPDATE samp_property SET hOwner='%s' WHERE hID=%d",HouseInfo[id][hOwner],id);
  476. mysql_query(query);
  477. format(query, sizeof(query), "UPDATE samp_property SET hDescription='%s' WHERE hID=%d",HouseInfo[id][hDescription],id);
  478. mysql_query(query);
  479. format(query, sizeof(query), "UPDATE samp_property SET hRent=%d WHERE hID=%d",HouseInfo[id][hRent],id);
  480. mysql_query(query);
  481. format(query, sizeof(query), "UPDATE samp_property SET hRentPrice=%d WHERE hID=%d",HouseInfo[id][hRentPrice],id);
  482. mysql_query(query);
  483. format(query, sizeof(query), "UPDATE samp_property SET hMaxTakings=%d WHERE hID=%d",HouseInfo[id][hMaxTakings],id);
  484. mysql_query(query);
  485. format(query, sizeof(query), "UPDATE samp_property SET hBank=%d WHERE hID=%d",HouseInfo[id][hBank],id);
  486. mysql_query(query);
  487. format(query, sizeof(query), "UPDATE samp_property SET hValue=%d WHERE hID=%d",HouseInfo[id][hValue],id);
  488. mysql_query(query);
  489.  
  490. format(query, sizeof(query), "UPDATE samp_property SET hOwned=%d WHERE hID=%d",HouseInfo[id][hOwned],id);
  491. mysql_query(query);
  492. format(query, sizeof(query), "UPDATE samp_property SET hLevel=%d WHERE hID=%d",HouseInfo[id][hLevel],id);
  493. mysql_query(query);
  494. format(query, sizeof(query), "UPDATE samp_property SET hTakings=%d WHERE hID=%d",HouseInfo[id][hTakings],id);
  495. mysql_query(query);
  496. format(query, sizeof(query), "UPDATE samp_property SET hID=%d WHERE id=%d",HouseInfo[id][hID],id);
  497. mysql_query(query);
  498.  
  499.  
  500. format(query, sizeof(query), "UPDATE samp_property SET hPos_y_enter=%f WHERE hID=%d",HouseInfo[id][hPos_y_enter],id);
  501. mysql_query(query);
  502. format(query, sizeof(query), "UPDATE samp_property SET hPos_y_enter=%f WHERE hID=%d",HouseInfo[id][hPos_y_enter],id);
  503. mysql_query(query);
  504. format(query, sizeof(query), "UPDATE samp_property SET hPos_z_enter=%f WHERE hID=%d",HouseInfo[id][hPos_z_enter],id);
  505. mysql_query(query);
  506. format(query, sizeof(query), "UPDATE samp_property SET hPos_x=%f WHERE hID=%d",HouseInfo[id][hPos_x],id);
  507. mysql_query(query);
  508. format(query, sizeof(query), "UPDATE samp_property SET hPos_y=%f WHERE hID=%d",HouseInfo[id][hPos_y],id);
  509. mysql_query(query);
  510. format(query, sizeof(query), "UPDATE samp_property SET hPos_z=%f WHERE hID=%d",HouseInfo[id][hPos_z],id);
  511. mysql_query(query);
  512.  
  513. return printf("* Haus (Nr: %d) wurde erfolgreich geupdatet *",id);
  514. }
  515.  
  516.  
  517. SaveProperty() {
  518. new query[300], h=0;
  519. if(MAX_HOUSES == 0) return print("* Keine Häuser *");
  520. while(h < MAX_HOUSES) {
  521. format(query, sizeof(query), "UPDATE samp_property SET hOwner='%s' WHERE id=%d",HouseInfo[h][hOwner],h+1);
  522. mysql_query(query);
  523. format(query, sizeof(query), "UPDATE samp_property SET hDescription='%s' WHERE id=%d",HouseInfo[h][hDescription],h+1);
  524. mysql_query(query);
  525. format(query, sizeof(query), "UPDATE samp_property SET hRent=%d WHERE id=%d",HouseInfo[h][hRent],h+1);
  526. mysql_query(query);
  527. format(query, sizeof(query), "UPDATE samp_property SET hRentPrice=%d WHERE id=%d",HouseInfo[h][hRentPrice],h+1);
  528. mysql_query(query);
  529. format(query, sizeof(query), "UPDATE samp_property SET hMaxTakings=%d WHERE id=%d",HouseInfo[h][hMaxTakings],h+1);
  530. mysql_query(query);
  531. format(query, sizeof(query), "UPDATE samp_property SET hBank=%d WHERE id=%d",HouseInfo[h][hBank],h+1);
  532. mysql_query(query);
  533. format(query, sizeof(query), "UPDATE samp_property SET hValue=%d WHERE id=%d",HouseInfo[h][hValue],h+1);
  534. mysql_query(query);
  535. format(query, sizeof(query), "UPDATE samp_property SET hOwned=%d WHERE id=%d",HouseInfo[h][hOwned],h+1);
  536. mysql_query(query);
  537. format(query, sizeof(query), "UPDATE samp_property SET hLevel=%d WHERE id=%d",HouseInfo[h][hLevel],h+1);
  538. mysql_query(query);
  539. format(query, sizeof(query), "UPDATE samp_property SET hTakings=%d WHERE id=%d",HouseInfo[h][hTakings],h+1);
  540. mysql_query(query);
  541. format(query, sizeof(query), "UPDATE samp_property SET hID=%d WHERE id=%d",HouseInfo[h][hID],h+1);
  542. mysql_query(query);
  543.  
  544. format(query, sizeof(query), "UPDATE samp_property SET hPos_x_enter=%f WHERE id=%d",HouseInfo[h][hPos_y_enter],h+1);
  545. mysql_query(query);
  546. format(query, sizeof(query), "UPDATE samp_property SET hPos_y_enter=%f WHERE id=%d",HouseInfo[h][hPos_y_enter],h+1);
  547. mysql_query(query);
  548. format(query, sizeof(query), "UPDATE samp_property SET hPos_z_enter=%f WHERE id=%d",HouseInfo[h][hPos_z_enter],h+1);
  549. mysql_query(query);
  550. format(query, sizeof(query), "UPDATE samp_property SET hPos_x=%f WHERE id=%d",HouseInfo[h][hPos_x],h+1);
  551. mysql_query(query);
  552. format(query, sizeof(query), "UPDATE samp_property SET hPos_y=%f WHERE id=%d",HouseInfo[h][hPos_y],h+1);
  553. mysql_query(query);
  554. format(query, sizeof(query), "UPDATE samp_property SET hPos_z=%f WHERE id=%d",HouseInfo[h][hPos_z],h+1);
  555. mysql_query(query);
  556. h ++;
  557. }
  558. return print("* Alle Häuser wurden erfolgreich geupdatet *");
  559. }
  560.  
  561. forward AddPickups();
  562. AddPickups() {
  563. new h = 0, string[256];
  564. while( h < MAX_HOUSES) {
  565. AddStaticPickup(1318,1, HouseInfo[h][hPos_x_enter],HouseInfo[h][hPos_y_enter],HouseInfo[h][hPos_z_enter], -1);
  566. if(HouseInfo[h][hOwned] == 0) {
  567. format(string,sizeof(string),"{088A08}Dieses Haus steht zu verkauf! \n{FFFFFF}Preis: {088A08}$%d \n{FFFFFF}Ab Level %d",
  568. HouseInfo[h][hValue], HouseInfo[h][hLevel]);
  569. } else {
  570. if(HouseInfo[h][hRent] == 0) {
  571. format(string, sizeof(string), "{088A08}Dieses Haus gehört {DF0101}%s!",
  572. HouseInfo[h][hOwner], HouseInfo[h][hLevel]);
  573. } else {
  574. format(string, sizeof(string), "{088A08}Dieses Haus gehört {DF0101}%s! \n{FFFFFF}Mietpreis: {088A08}$%d \n{FFFFFF}Mieter: %d",
  575. HouseInfo[h][hOwner], HouseInfo[h][hRentPrice], HouseInfo[h][hTakings]);
  576. }
  577. }
  578. Create3DTextLabel(string, COLOR_WHITE,HouseInfo[h][hPos_x_enter], HouseInfo[h][hPos_y_enter], HouseInfo[h][hPos_z_enter],40.0,0);
  579. printf("%f %f %f", HouseInfo[h][hPos_x_enter],HouseInfo[h][hPos_y_enter],HouseInfo[h][hPos_z_enter]);
  580. h++;
  581. }
  582.  
  583. AddStaticPickup(1318, 1, 2486.3755,-1645.1011,14.0772, -1); //GROVE STREET FAMILY HQ ENTER
  584. AddStaticPickup(1318, 1, 2481.7598,-1344.9469,27.6598, -1); //LOS VAGOS FAMILY HQ ENTER
  585. if(h >= 0) {
  586. new i = 2+h;
  587. return printf("* Es wurden %d Pickups geladen *",i);
  588. } else {
  589. return printf("* Es wurden derzeit keine Pickups geladen. *");
  590. }
  591. }
  592.  
  593. Function CheckArmor(id) {
  594. new Float: a;
  595. GetPlayerArmour(id, a);
  596. if(a > PlayerInfo[id][pArmor]) {
  597. SetPlayerArmour(id, PlayerInfo[id][pArmor]);
  598. Kick(id);
  599. } else {
  600. PlayerInfo[id][pArmor] = a;
  601. SetPlayerArmour(id, PlayerInfo[id][pArmor]);
  602. }
  603. }
  604.  
  605. Function CheckHealth(id) {
  606. new Float: h;
  607. GetPlayerHealth(id, h);
  608. if(h > PlayerInfo[id][pHealth]) {
  609. SetPlayerHealth(id, PlayerInfo[id][pHealth]);
  610. Kick(id);
  611. } else {
  612. PlayerInfo[id][pHealth] = h;
  613. SetPlayerHealth(id, PlayerInfo[id][pHealth]);
  614. }
  615. }
  616.  
  617. Function CheckMoney(id) {
  618. if(GetPlayerMoney(id) > PlayerInfo[id][pCash]) {
  619. ResetPlayerMoney(id);
  620. GivePlayerMoney(id, PlayerInfo[id][pCash]);
  621. Kick(id);
  622. } else {
  623. PlayerInfo[id][pCash] = GetPlayerMoney(id);
  624. ResetPlayerMoney(id);
  625. GivePlayerMoney(id, PlayerInfo[id][pCash]);
  626. }
  627. }
  628.  
  629. Function CheckUpdates() {
  630. for(new i=0;i<MAX_PLAYERS; i++) {
  631. if(IsPlayerConnected(i)) {
  632. if(!IsPlayerNPC(i)) {
  633. checkAward(i);
  634. PlayerInfo[i][pOnlineTimeMinute] ++;
  635. if(PlayerInfo[i][pOnlineTimeMinute] >= 60) {
  636. PlayerInfo[i][pOnlineTimeMinute] = 0;
  637. PlayerInfo[i][pPlayedHours] ++;
  638. }
  639. }
  640. }
  641. }
  642. }
  643.  
  644. Function SpeedUpdate() {
  645. for(new i=0;i<MAX_PLAYERS;i++) {
  646. if(IsPlayerInAnyVehicle(i)) {
  647. new vv = GetPlayerVehicleID(i);
  648. new Float:X, Float:Y, Float:Z, Float:Speed, string[128], string_t[128];
  649. GetVehicleVelocity(vv, X, Y, Z);
  650. new Float:SpeedMph;
  651. SpeedMph = floatmul(floatsqroot(floatadd(floatadd(floatpower(X, 2), floatpower(Y, 2)), floatpower(Z, 2))), 100.0);
  652. Speed = SpeedMph * 1.609;
  653. if(Speed >= 100)
  654. {
  655. format(string, sizeof(string), "~w~%i",floatround(Speed, floatround_floor));
  656. TextDrawSetString(sd[i], string);
  657. } else {
  658. format(string, sizeof(string), " ~w~%i",floatround(Speed, floatround_floor));
  659. TextDrawSetString(sd[i], string);
  660. }
  661. format(string_t, sizeof(string_t), "~g~Tank: ~w~ %.1f/%.1f", VehicleInfo[vv][vFuel], VehicleInfo[vv][vMaxFuel]);
  662. TextDrawSetString(fd[i], string_t);
  663. TextDrawSetString(kd[i], "~g~KMH");
  664. }
  665. }
  666. }
  667.  
  668. forward StartOtherTimer();
  669. StartOtherTimer() {
  670. new count[1];
  671. count[0] ++;
  672. if(count[0] == 60000) {
  673. count[0] = 0;
  674. CheckUpdates();
  675. }
  676. }
  677.  
  678. Function FirstTimer() {
  679. new tmphour;
  680. new tmpminute;
  681. new tmpsecond, test1[25];
  682. gettime(tmphour, tmpminute, tmpsecond);
  683. StartOtherTimer();
  684. for(new i=0;i<MAX_PLAYERS;i++) {
  685. if(PlayerSpawned[i]!= 0){
  686. CheckExp(i);
  687. CheckMoney(i);
  688. CheckHealth(i);
  689. CheckArmor(i);
  690. if(tmpminute < 10) {
  691. format(test1, sizeof(test1), "%d:0%d",tmphour,tmpminute);
  692. } else {
  693. format(test1, sizeof(test1), "%d:%d",tmphour, tmpminute);
  694. }
  695. TextDrawSetString(clocktext[i], test1);
  696. if(PlayerInfo[i][pTutorial] == 1) {
  697. PlayerInfo[i][pTutTime] ++;
  698. StartTutorial(i);
  699. }
  700. }
  701. }
  702. }
  703.  
  704. public OnGameModeInit()
  705. {
  706. new gamemode[16];
  707. format(gamemode, sizeof(gamemode), "ThugRPv.%s.%s",version_int, version_string);
  708. SetGameModeText(gamemode);
  709. UsePlayerPedAnims();
  710. LimitGlobalChatRadius(10);
  711. SetNameTagDrawDistance(50.0);
  712.  
  713. SetTimer("FirstTimer", 1000, 1);
  714. SetTimer("SpeedUpdate", 250, 1);
  715.  
  716. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  717.  
  718.  
  719. for(new i=0;i<MAX_PLAYERS;i++) {
  720. new tmphour, tmpminute, tmpseconde, test1[25];
  721. gettime(tmphour, tmpminute, tmpseconde);
  722. if(tmpminute > 10) {
  723. format(test1, sizeof(test1), "%d:%d",tmphour, tmpminute);
  724. } else {
  725. format(test1, sizeof(test1), "%d:0%d",tmphour, tmpminute);
  726. }
  727. clocktext[i] = TextDrawCreate(547.000000, 22.000000, test1);
  728. TextDrawAlignment(clocktext[i], 0);
  729. TextDrawBackgroundColor(clocktext[i], 0x000000ff);
  730. TextDrawFont(clocktext[i], 3);
  731. TextDrawLetterSize(clocktext[i], 0.599999, 1.900000);
  732. TextDrawColor(clocktext[i], 0xffffffff);
  733. TextDrawSetOutline(clocktext[i], 1);
  734. TextDrawSetProportional(clocktext[i], 1);
  735. TextDrawSetShadow(clocktext[i], 1);
  736.  
  737. level_draw[i] = TextDrawCreate(402,431, "~g~Level: ~w~0");
  738. TextDrawFont(level_draw[i] , 2);
  739. TextDrawLetterSize(level_draw[i] ,0.3,0.85);
  740. TextDrawColor(level_draw[i] , 0x1C86EEFF);
  741. TextDrawAlignment(level_draw[i], 0);
  742. TextDrawBackgroundColor(level_draw[i], 0x000000ff);
  743. TextDrawSetOutline(level_draw[i], 1);
  744. TextDrawSetProportional(level_draw[i], 1);
  745. TextDrawSetShadow(level_draw[i], 1);
  746.  
  747. exp_draw[i] = TextDrawCreate(502,431, "Exp: 0/120 (0%)");
  748. TextDrawFont(exp_draw[i] , 2);
  749. TextDrawLetterSize(exp_draw[i] ,0.3,0.85);
  750. TextDrawColor(exp_draw[i] , 0x1C86EEFF);
  751. TextDrawAlignment(exp_draw[i], 0);
  752. TextDrawBackgroundColor(exp_draw[i], 0x000000ff);
  753. TextDrawSetOutline(exp_draw[i], 1);
  754. TextDrawSetProportional(exp_draw[i], 1);
  755. TextDrawSetShadow(exp_draw[i], 1);
  756.  
  757.  
  758. cp_background[i] = TextDrawCreate(0,432, "CP~n~");
  759. TextDrawFont(cp_background[i], 0);
  760. TextDrawUseBox(cp_background[i], true);
  761. TextDrawBoxColor(cp_background[i], 0x00000066);
  762. TextDrawTextSize(cp_background[i],640,480);
  763.  
  764. ftd[i] = TextDrawCreate(220,382,"~n~");
  765. TextDrawFont(ftd[i],2);
  766. TextDrawSetShadow(ftd[i],1);
  767.  
  768. fd[i] = TextDrawCreate(294,372,"~n~");
  769. TextDrawFont(fd[i],2);
  770. TextDrawSetShadow(fd[i],1);
  771.  
  772. sd[i] = TextDrawCreate(320,392,"~n~");
  773. TextDrawFont(sd[i],2);
  774. TextDrawSetShadow(sd[i],1);
  775.  
  776. kd[i] = TextDrawCreate(356,392,"~n~");
  777. TextDrawFont(kd[i],2);
  778. TextDrawSetShadow(kd[i],1);
  779. }
  780. return 1;
  781. }
  782.  
  783. public OnGameModeExit()
  784. {
  785. return 1;
  786. }
  787.  
  788. public OnPlayerRequestClass(playerid, classid)
  789. {
  790. new rand = random(9);
  791. if(rand == 0)
  792. {
  793. SetPlayerPos(playerid, 2561.977051,-1642.861816,-3.886160);
  794. SetPlayerCameraPos(playerid, 2623.837891,-1595.514404,56.568008);
  795. SetPlayerCameraLookAt(playerid, 2534.729736,-1657.002075,16.080250);
  796. }
  797. if(rand == 1)
  798. {
  799. SetPlayerCameraPos(playerid, 2093.796387, -1788.301392, 26.965214);
  800. SetPlayerCameraLookAt(playerid, 2067.144043, -1734.831909, 17.618324);
  801. SetPlayerPos(playerid, 2088.165283, -1778.722534, -4.456810);
  802. }
  803. if(rand == 2)
  804. {
  805. SetPlayerCameraPos(playerid, 1511.634399, -1714.906006, 41.707253);
  806. SetPlayerCameraLookAt(playerid, 1545.040771, -1653.927734, 13.219584);
  807. SetPlayerPos(playerid, 1518.473389, -1701.402710, 1.207253);
  808. }
  809. if(rand == 3)
  810. {
  811. SetPlayerCameraPos(playerid, 1511.634399, -1714.906006, 41.707253);
  812. SetPlayerCameraLookAt(playerid, 1545.040771, -1653.927734, 13.219584);
  813. SetPlayerPos(playerid, 1518.473389, -1701.402710, 1.207253);
  814. }
  815.  
  816. if(rand == 4 || rand == 5)
  817. {
  818. SetPlayerPos(playerid, 2526.040527, -1705.196045, 1.795908);
  819. SetPlayerCameraLookAt(playerid, 2482.652832, -1662.926880, 13.004128);
  820. SetPlayerCameraPos(playerid, 2535.997803, -1703.948853, 41.043182);
  821. }
  822. if(rand >= 6 || rand <= 10)
  823. {
  824. SetPlayerCameraPos(playerid, 1101.883911, -825.358765, 121.108124);
  825. SetPlayerCameraLookAt(playerid, 1195.308594, -902.194458, 98.479927);
  826. SetPlayerPos(playerid, 1120.891479, -816.976074, 59.429596);
  827. }
  828. SetPlayerInterior(playerid,0);
  829. SetPlayerVirtualWorld(playerid, 0);
  830. new name[MAX_PLAYER_NAME];
  831. GetPlayerName(playerid, name, sizeof(name));
  832. new string[256],namestring[MAX_PLAYER_NAME];
  833. format(namestring, sizeof(namestring), "%s",name);
  834. if(mysql_GetIntByString("samp_accounts","cvar","pName",namestring) == 1) {
  835. PlayerAccount[playerid] = 1;
  836. if(mysql_GetIntByString("samp_accounts","pLanguage","pName", name) == LANG_DEUTSCH) {
  837. if(mysql_GetIntByString("samp_accounts","pBan","pName",name) == 0)
  838. {
  839. format(string, sizeof(string), "{FFFFFF}Willkommen zurück, {FFFF00}%s{FFFFFF}! \nDu hast schon einen registrierten Account. Du kannst dich nun mit deinem Passwort einloggen. \n",
  840. GetName(playerid));
  841. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, logo, string, "Login", "Quit");
  842. return 1;
  843. }
  844. else {
  845. format(string, sizeof(string), "{FFFFFF}Willkommen %s! \nDu wurdest gebannt. Wenn Du mit diesem Vorgang nicht einverstanden bist, dann wende dich an einen Administrator.\n\nForum: www.forum.thuglife-rp.com\nTeamspeak: thuglife-rp.net\nWir hoffen, das wir Dir helfen konnten. \nWir wünschen Dir weiterhin viel Spaß.",
  846. GetName(playerid));
  847. return ShowPlayerDialog(playerid, DIALOG_GET_BANNED, DIALOG_STYLE_MSGBOX, logo, string, "Exit","");
  848. }
  849. } else {
  850. format(string, sizeof(string),"{FFFFFF}Welcome back, {FFFF00}%s{FFFFFF}! \nYou already have an registered account. You can now login with your accountkey.\n",
  851. GetName(playerid));
  852. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, logo, string, "Login", "Quit");
  853. return 1;
  854. }
  855. } else {
  856. PlayerAccount[playerid] = 0;
  857. format(string, sizeof(string), "{FFFFFF}Willkommen {FFFF00}%s{FFFFFF} ! \nDu bist nun neu beim SA:MP Server von {DF0101}ThugLife Roleplay!{FFFFFF}\nDu kannst dir nun eine Account erstellen.",
  858. GetName(playerid));
  859. ShowPlayerDialog(playerid, DIALOG_REG, DIALOG_STYLE_MSGBOX, logo, string, "Register", "Quit");
  860. return 1;
  861. }
  862. }
  863.  
  864. public OnPlayerConnect(playerid)
  865. {
  866. ResetData(playerid);
  867. SetPlayerColor(playerid, COLOR_WHITE);
  868. return 1;
  869. }
  870.  
  871. public OnPlayerDisconnect(playerid, reason)
  872. {
  873. PlayerInfo[playerid][pOnline] = 0;
  874. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  875. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  876. new Float: pos[4];
  877. GetPlayerPos(playerid, pos[0],pos[1],pos[2]);
  878. GetPlayerFacingAngle(playerid, pos[3]);
  879. PlayerInfo[playerid][pPos_x] = pos[0];
  880. PlayerInfo[playerid][pPos_y] = pos[1];
  881. PlayerInfo[playerid][pPos_z] = pos[2];
  882. PlayerInfo[playerid][pPos_zangle] = pos[3];
  883. strmid(PlayerInfo[playerid][pLastOnlineTime], getDate_NOW(), 0, strlen(getDate_NOW()), 255);
  884. OnPlayerAccountUpdate(playerid);
  885. return 1;
  886. }
  887.  
  888. public OnPlayerSpawn(playerid)
  889. {
  890. PlayerSpawned[playerid] = 1;
  891. SetPlayerSpawn(playerid);
  892. return 1;
  893. }
  894.  
  895. public OnPlayerDeath(playerid, killerid, reason)
  896. {
  897. PlayerInfo[playerid][pHealth] = 0.0;
  898. PlayerInfo[playerid][pArmor] = 0.0;
  899. if(PlayerSpawned[playerid] != 0 && PlayerSpawned[killerid] != 0) {
  900. PlayerInfo[playerid][pDeaths] ++;
  901. PlayerInfo[killerid][pKills] ++;
  902. }
  903. return 1;
  904. }
  905.  
  906. public OnVehicleSpawn(vehicleid)
  907. {
  908. SetVehiclePos(vehicleid,VehicleInfo[vehicleid][vPos_Xn],VehicleInfo[vehicleid][vPos_Yn], VehicleInfo[vehicleid][vPos_Zn]);
  909. SetVehicleZAngle(vehicleid, VehicleInfo[vehicleid][vPos_An]);
  910. if(VehicleInfo[vehicleid][vResp] == 1) {
  911. new engine, lights, alarm, doors, bonnet, boot, objective;
  912. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  913. SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  914. printf("Params after Vehicle death.");
  915. }
  916. else {
  917. SetVehicleParamsEx(vehicleid, VehicleInfo[vehicleid][vEngine], VehicleInfo[vehicleid][vLights], VehicleInfo[vehicleid][vAlarm], VehicleInfo[vehicleid][vLock], VehicleInfo[vehicleid][vBonnet],VehicleInfo[vehicleid][vBoot], VehicleInfo[vehicleid][vObjective]);
  918. printf("Params after spawnung");
  919. }
  920. return 1;
  921. }
  922.  
  923. public OnVehicleDeath(vehicleid, killerid)
  924. {
  925. VehicleInfo[vehicleid][vPos_Xn] = VehicleInfo[vehicleid][vPos_X];
  926. VehicleInfo[vehicleid][vPos_Yn] = VehicleInfo[vehicleid][vPos_Y];
  927. VehicleInfo[vehicleid][vPos_Zn] = VehicleInfo[vehicleid][vPos_Z];
  928. VehicleInfo[vehicleid][vPos_An] = VehicleInfo[vehicleid][vPos_A];
  929. VehicleInfo[vehicleid][vResp] = 1;
  930. return 1;
  931. }
  932.  
  933. public OnPlayerText(playerid, text[])
  934. {
  935. new Float: pos[3] ,text2[130];
  936. GetPlayerPos(playerid, pos[0],pos[1],pos[2]);
  937. for(new i=0;i<MAX_PLAYERS;i++) {
  938. if(IsPlayerInRangeOfPoint(i, 20.0, pos[0], pos[1], pos[2])) {
  939. format(text2, sizeof(text2), "%s:%s",GetName(playerid), text);
  940. SendClientMessage(i, COLOR_WHITE, text2);
  941. }
  942. }
  943. return 0;
  944. }
  945.  
  946.  
  947. #define STORE_AND_FREE_RESULT mysql_query ( Query , -1 , -1 , db_conn[1] ); mysql_store_result ( db_conn[1] ); mysql_fetch_row_format ( Row , " " , db_conn[1] );mysql_free_result ( db_conn[1] );
  948. #define WBB_INSTALL 1
  949. native sha1 ( const text[ ] , hesh[ ] );
  950. native md5 ( const text[ ] , hesh[ ] );
  951.  
  952. WBB_IsValidUser ( Username[ ] ) {
  953. new Query[128] , Row[6], string[100];
  954. format(string, sizeof(string), "SELECT userID FROM `wcf%d_user` WHERE username = '%s'",WBB_INSTALL,Username);
  955. mysql_query(string, -1 , -1,db_conn[1]);
  956. STORE_AND_FREE_RESULT
  957. return strval ( Row ) > 0 ? true : false;
  958. }
  959. IsValidUser ( Username[ ] ) {
  960. new Query[ 128 ] , Row[ 6 ];
  961. format(Query, sizeof(Query),"SELECT userID FROM `wcf%d_user` WHERE username = '%s'", WBB_INSTALL, Username);
  962. mysql_query(Query, -1, -1, db_conn[1]);
  963. STORE_AND_FREE_RESULT
  964. return strval ( Row ) > 0 ? true : false;
  965. }
  966.  
  967. AddUserToGroup ( Username[ ] , GroupID ) {
  968. new Query[256];
  969. format(Query, sizeof(Query), "INSERT INTO `wcf%d_user_to_groups` (userID,groupID) VALUES (%d,%d)",WBB_INSTALL,strval ( GetUserData ( Username , "userID" ) ), GroupID);
  970. mysql_query ( Query , -1 , -1 , db_conn[1] );
  971. return 1;
  972. }
  973. WBB_IsUserInGroup ( Username[ ] , GroupID )
  974. return IsValidUser ( Username ) ? IsUserInGroup ( Username , GroupID ) : -1;
  975.  
  976. WBB_ActivateUser ( Username[ ] ) {
  977. if ( !IsValidUser ( Username ) )
  978. return 0;
  979. if(WBB_IsUserInGroup(Username, 1))
  980. return -1;
  981. else
  982. return AddUserToGroup(Username, 1)? 1 : 0;
  983. if ( WBB_IsUserInGroup ( Username , 3 ) )
  984. return -1;
  985. else
  986. return AddUserToGroup ( Username , 3 ) ? 1 : 0;
  987. }
  988. IsUserInGroup ( Username[ ] , GroupID ) {
  989. new Groups[ 16 ] , I , bool:InGroupState;
  990. GetUserGroups ( Username , Groups );
  991. while ( Groups[ I ] > 0 && !InGroupState ) {
  992. if ( Groups[ I ] == GroupID )
  993. InGroupState = true;
  994. I++;
  995. }
  996. return InGroupState;
  997. }
  998.  
  999. GetUserGroups ( Username[ ] , Groups[ ] ) {
  1000. new Query[ 64 ] , Row[ 16 ] , I;
  1001. format(Query, sizeof(Query), "SELECT groupID FROM `wcf%d_user_to_groups` WHERE userID = %d", WBB_INSTALL,strval (GetUserData(Username , "userID")));
  1002. mysql_query ( Query , -1 , -1 , db_conn[1] );
  1003. mysql_store_result (db_conn[1]);
  1004. while ( I < mysql_num_rows(db_conn[1]) ) {
  1005. mysql_fetch_row_format ( Row , " " , db_conn[1]);
  1006. Groups[ I ] = strval ( Row );
  1007. I++;
  1008. }
  1009. mysql_free_result (db_conn[1]);
  1010. }
  1011.  
  1012. GetUserData ( Username[ ] , Data[ ] ) {
  1013. new Query[ 64 ] , Row[ 64 ];
  1014. format(Query, sizeof(Query),"SELECT %s FROM `wcf%d_user` WHERE username = '%s'", Data, WBB_INSTALL,Username);
  1015. STORE_AND_FREE_RESULT
  1016. return Row;
  1017. }
  1018.  
  1019. WBB_AddNewUser ( Username[ ] , Password[ ] , Email[ ] , ActivationState ) {
  1020. if ( IsValidEmail ( Email ) )
  1021. return -1;
  1022. if ( IsValidUser ( Username ) )
  1023. return 0;
  1024. new Query[256] , Salt[64];
  1025. strcat ( Salt , CreateSalt ( ) );
  1026. format(Query, sizeof(Query), "INSERT INTO `wcf%d_user` (username,email,password,salt,languageID,registrationDate,activationCode) VALUES ('%s','%s','%s','%s',1,%i,%i)",WBB_INSTALL, Username, Email, GetDoubleSaltedHash (Password , Salt),Salt , TimestampNow( ) , ActivationState ? 0 : GenerateRandomValue ( ));
  1027. mysql_query(Query ,-1,-1,db_conn[1]);
  1028. AddUserToGroup ( Username , 1 );
  1029. if ( ActivationState )
  1030. AddUserToGroup ( Username , 3 );
  1031. return true;
  1032. }
  1033. IsValidEmail ( Email[ ] ) {
  1034. new Query[ 128 ] , Row[ 6 ];
  1035. format(Query, sizeof(Query), "SELECT userID FROM `wcf%d_user` WHERE email = '%s'", WBB_INSTALL, Email);
  1036. STORE_AND_FREE_RESULT
  1037. return strval ( Row ) > 0 ? true : false;
  1038. }
  1039. CreateSalt ( ) {
  1040. new Salt[ 64 ] , Code[ 10 ];
  1041. format ( Code , 10 , "%i" , GenerateRandomValue ( ) );
  1042. strcat ( Salt , GetHash ( Code , GetWBBConfig ( "encryption_method" ) ) );
  1043. return Salt;
  1044. }
  1045.  
  1046. GetDoubleSaltedHash ( String[ ] , Salt[ ] ) {
  1047. new TempString[ 128 ] , HashedString[ 64 ];
  1048. strcat ( TempString , Salt );
  1049. strcat ( TempString , GetSaltedHash ( String , Salt ) );
  1050. format ( HashedString , 64 , GetHash ( TempString , GetWBBConfig ( "encryption_method" ) ) );
  1051. return HashedString;
  1052. }
  1053. GetWBBConfig ( Data[ ] ) {
  1054. new Row[ 64 ] , Query[ 64 ];
  1055. if ( !strcmp ( "encrypt_before_salting" , Data ) )
  1056. format(Query, sizeof(Query), "SELECT optionValue FROM `wcf%d_option` WHERE optionName = 'encryption_encrypt_before_salting'", WBB_INSTALL);
  1057. else
  1058. format(Query, sizeof(Query),"SELECT optionValue FROM `wcf%d_option` WHERE optionName = '%s'", WBB_INSTALL, Data);
  1059. STORE_AND_FREE_RESULT
  1060. return Row;
  1061. }
  1062.  
  1063. TimestampNow ( ) {
  1064. new String[ 16 ];
  1065. mysql_query ( "SELECT UNIX_TIMESTAMP(NOW())" , -1 , -1 , db_conn[1]);
  1066. mysql_store_result (db_conn[1]);
  1067. mysql_fetch_row_format ( String , "|" , db_conn[1]);
  1068. mysql_free_result (db_conn[1]);
  1069. return strval (String);
  1070. }
  1071.  
  1072. GenerateRandomValue ( ) {
  1073. new RandomValue;
  1074. while ( RandomValue < 100000000 )
  1075. RandomValue = random ( 999999999 );
  1076. return RandomValue;
  1077. }
  1078.  
  1079. GetHash ( Value[ ] , Method[ ] )
  1080. {
  1081. new Hashed[ 128 ];
  1082. if ( !strcmp ( Method , "sha1" ) )
  1083. sha1 ( Value , Hashed );
  1084. if ( !strcmp ( Method , "md5" ) )
  1085. md5 ( Value , Hashed );
  1086. return Hashed;
  1087. }
  1088. GetSaltedHash ( String[ ] , Salt[ ] ) {
  1089. new HashedString[ 128 ] , TempString[ 128 ];
  1090. if ( strval ( GetWBBConfig ( "encryption_enable_salting" ) ) > 0 ) {
  1091. if ( !strcmp ( GetWBBConfig ( "encryption_salt_position" ) , "before" ) )
  1092. strcat ( TempString , Salt );
  1093. if ( strval ( GetWBBConfig ( "encrypt_before_salting" ) ) > 0 )
  1094. strcat ( TempString , GetHash ( String , GetWBBConfig ( "encryption_method" ) ) );
  1095. else
  1096. strcat ( TempString , String );
  1097. if ( !strcmp ( GetWBBConfig ( "encryption_salt_position" ) , "after" ) )
  1098. strcat ( TempString , Salt );
  1099. strcat ( HashedString , GetHash ( TempString , GetWBBConfig ( "encryption_method" ) ) );
  1100. }
  1101. else
  1102. strcat ( HashedString , GetHash ( String , GetWBBConfig ( "encryption_method" ) ) );
  1103. return HashedString;
  1104. }
  1105.  
  1106. public OnPlayerCommandText(playerid, cmdtext[])
  1107. {
  1108. new cmd[256],idx, string[256],string2[256],giveplayer,tmp[256];
  1109. cmd = strtok(cmdtext, idx);
  1110.  
  1111. // Forum Verbindung
  1112. if (strcmp(cmd, "/forum", true) == 0) {
  1113. if (IsPlayerConnected(playerid)) {
  1114. if(!IsPlayerNPC(playerid)) {
  1115. if(PlayerInfo[playerid][pLevel] >= 0) {
  1116. if(!WBB_IsValidUser(GetName(playerid))) {
  1117. if(GetLang(playerid) == LANG_DEUTSCH) {
  1118. format(string, sizeof(string), "Du besitzt derzeit noch keinen Foren-Account.\nDu hast nun die Möglichkeit dir einen zu machen. \nKlicke dazu auf 'erstellen'");
  1119. ShowPlayerDialog(playerid, DIALOG_FOREN_ACC, DIALOG_STYLE_MSGBOX, logo, string, "Erstellen","Abbrechen");
  1120. return 1;
  1121. } else {
  1122. format(string, sizeof(string), "Du besitzt derzeit noch keinen Foren-Account.\nDu hast nun die Möglichkeit dir einen zu machen. \nKlicke dazu auf 'erstellen'");
  1123. ShowPlayerDialog(playerid, DIALOG_FOREN_ACC, DIALOG_STYLE_MSGBOX, logo, string, "Erstellen","Abbrechen");
  1124. return 1;
  1125. }
  1126. } else {
  1127. return SendClientMessageEx(playerid, COLOR_GRAD2, "Du besitzt bereits einen Foren-Account.", "You already have an account.");
  1128. }
  1129. } else {
  1130. return SendClientMessageEx(playerid, COLOR_GRAD2, "Du brauchst mindestens Level 2, um Dir einen Foren-Account zu erstellen.", "You need at leasst level 2, to create an account for our forums.");
  1131. }
  1132. }
  1133. }
  1134. return 1;
  1135. }
  1136.  
  1137. //------------------------------------------------------------------------------
  1138.  
  1139. //---------------------------------AWARD System---------------------------------
  1140.  
  1141. //-------------ADMIN-BEFEHLE----------------------------------------------------
  1142. if (strcmp(cmd, "/gotocar", true) == 0) {
  1143. if (IsPlayerConnected(playerid)) {
  1144. if (!IsPlayerNPC(playerid)) {
  1145. if (PlayerInfo[playerid][pAdmin] >= 1338) {
  1146. new carid;
  1147. tmp = strtok(cmdtext, idx);
  1148. if (!strlen(tmp)) { return SendClientMessage(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/gotocar [carid]");}
  1149. carid = strval(tmp);
  1150. if (carid != INVALID_VEHICLE_ID) {
  1151. PutPlayerInVehicle(playerid, carid, 1);
  1152. format(string, sizeof(string), "Du hast dich in das Fahrzeug mit der CarID %d geportet.",carid);
  1153. format(string2, sizeof(string2), "You've entered the car with the ID %d.", carid);
  1154. return SendClientMessageEx(playerid, COLOR_WHITE, string, string2);
  1155. }
  1156. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Administrator.", "You are not an administrator.");
  1157. }
  1158. } return 1;
  1159. }
  1160. if(strcmp(cmd, "/veh",true) == 0) {
  1161. if(IsPlayerConnected(playerid)) {
  1162. if(!IsPlayerNPC(playerid)) {
  1163. if(PlayerInfo[playerid][pAdmin] >= 1337) {
  1164. new Float: pos[3], modelid;
  1165. tmp = strtok(cmdtext, idx);
  1166. if(!strlen(tmp))
  1167. {
  1168. SendClientMessage(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/veh [modelid]");
  1169. return 1;
  1170. }
  1171. modelid = strval(tmp);
  1172. if(modelid < 400 || modelid > 611) return SendClientMessageEx(playerid, COLOR_GRAD2, "Du musst eine Model ID zwischen 400 und 611 eingeben.","Your Model ID isn't correct,, please use a number between 400 and 611.");
  1173. GetPlayerPos(playerid, pos[0],pos[1], pos[2]);
  1174. CreateVehicle(modelid, pos[0]+10, pos[1]-10, pos[2], 90.00, -1,-1, -1);
  1175. format(string, sizeof(string), "Du hast ein Fahrzeug mit der ModelID %d gespawnt.",modelid);
  1176. format(string2, sizeof(string2), "You've spawned a vehicle with ModelID %d.", modelid);
  1177. SendClientMessageEx(playerid, COLOR_WHITE, string, string2);
  1178. return 1;
  1179. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Administrator.", "You are not an administrator.");
  1180. }
  1181. } return 1;
  1182. }
  1183. if(strcmp(cmd, "/goto",true) == 0) {
  1184. if(IsPlayerConnected(playerid)) {
  1185. if(!IsPlayerNPC(playerid)) {
  1186. if(PlayerInfo[playerid][pAdmin] >= 1335) {
  1187. format(string, sizeof(string), "{FFFFFF}To Los Santos\nTo San Fierro\nTo Las Venturas\n Spieler");
  1188. return ShowPlayerDialog(playerid, DIALOG_GOTO, DIALOG_STYLE_LIST, logo, string, "Weiter", "Abbrechen");
  1189. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Administrator.","You aren't an Administrator.");
  1190. } return 1;
  1191. } return 1;
  1192. }
  1193. if(strcmp(cmd, "/ban",true) == 0) {
  1194. if(IsPlayerConnected(playerid)) {
  1195. if(!IsPlayerNPC(playerid)) {
  1196. if(PlayerInfo[playerid][pAdmin] >= 1333) {
  1197. format(string, sizeof(string), "{FFFFFF}Du kannst nun eine Person vom Server permanent bannen. \bBitte gib dazu einen Grund ein:");
  1198. return ShowPlayerDialog(playerid, DIALOG_BAN_REASON, DIALOG_STYLE_INPUT, logo, string, "Weiter", "Abbrechen");
  1199. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Administrator.","You aren't an Administrator.");
  1200. } return 1;
  1201. } return 1;
  1202. }
  1203. if(strcmp(cmd, "/kick",true) == 0) {
  1204. if(IsPlayerConnected(playerid)) {
  1205. if(!IsPlayerNPC(playerid)) {
  1206. if(PlayerInfo[playerid][pAdmin] >= 1333) {
  1207. format(string, sizeof(string), "{FFFFFF}Du kannst nun eine Person vom Server kicken. \bBitte gib dazu einen Grund ein:");
  1208. return ShowPlayerDialog(playerid, DIALOG_KICK_REASON, DIALOG_STYLE_INPUT, logo, string, "Weiter", "Abbrechen");
  1209. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Administrator.","You aren't an Administrator.");
  1210. } return 1;
  1211. } return 1;
  1212. }
  1213. if(strcmp(cmd, "/ahilfe", true) == 0 || strcmp(cmd, "/ahelp",true) == 0 || strcmp(cmd, "/ah",true) == 0) {
  1214. if(IsPlayerConnected(playerid)) {
  1215. if(!IsPlayerNPC(playerid)) {
  1216. if(PlayerInfo[playerid][pAdmin] > 0) {
  1217. switch(PlayerInfo[playerid][pAdmin]) {
  1218. case 1331: {
  1219. format(string, sizeof(string), "{FFFF00}** 1331 **{FFFFFF}");
  1220. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1221. format(string, sizeof(string), "{FFFF00}** 1331 **{FFFFFF}");
  1222. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1223. }
  1224. case 1332: {
  1225. format(string, sizeof(string), "{FFFF00}** 1332 **{FFFFFF}");
  1226. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1227. format(string, sizeof(string), "{FFFF00}** 1332 **{FFFFFF}");
  1228. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1229. }
  1230. case 1333: {
  1231. format(string, sizeof(string), "{FFFF00}** 1333 **{FFFFFF} /kick /ban");
  1232. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1233. format(string, sizeof(string), "{FFFF00}** 1333 **{FFFFFF}");
  1234. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1235. }
  1236. case 1334: {
  1237. format(string, sizeof(string), "{FFFF00}** 1334 **{FFFFFF} /kick");
  1238. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1239. format(string, sizeof(string), "{FFFF00}** 1334 **{FFFFFF}");
  1240. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1241. }
  1242. case 1335: {
  1243. format(string, sizeof(string), "{FFFF00}** 1335 **{FFFFFF} /kick /ban /makesupporter");
  1244. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1245. format(string, sizeof(string), "{FFFF00}** 1335 **{FFFFFF}");
  1246. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1247. }
  1248. case 1336: {
  1249. format(string, sizeof(string), "{FFFF00}** 1336 **{FFFFFF} /kick /ban /makeleader /makesupporter");
  1250. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1251. format(string, sizeof(string), "{FFFF00}** 1336 **{FFFFFF}");
  1252. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1253. }
  1254. case 1337: {
  1255. format(string, sizeof(string), "{FFFF00}** 1337 **{FFFFFF} /kick /ban /makeleader /makesupporter /savedb /chouse veh");
  1256. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1257. format(string, sizeof(string), "{FFFF00}** 1337 **{FFFFFF}");
  1258. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1259. }
  1260. case 1338: {
  1261. format(string, sizeof(string), "{FFFF00}** 1337 **{FFFFFF} /kick /ban /makeleader /makesupporter /savedb /chouse /veh");
  1262. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1263. format(string, sizeof(string), "{FFFF00}** 1337 **{FFFFFF}");
  1264. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1265. }
  1266. }
  1267. } else {
  1268. return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Teammitglied.","You are not a team member.");
  1269. }
  1270. }
  1271. return 1;
  1272. }
  1273. return 1;
  1274. }
  1275. if(strcmp(cmd, "/savedb",true) == 0) {
  1276. if(IsPlayerConnected(playerid)) {
  1277. if(!IsPlayerNPC(playerid)) {
  1278. if(PlayerInfo[playerid][pAdmin] < 1337) {
  1279. return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Teammitglied","You are not member of the team.");
  1280. }
  1281. SaveProperty();
  1282. SaveSettings();
  1283. SendClientMessageEx(playerid, COLOR_GRAD2, "* Du hast alle Datenbanken gesichert.","You've saved all databases.");
  1284. return 1;
  1285. } return 1;
  1286. } return 1;
  1287. }
  1288. if(strcmp(cmd, "/makeleader",true) == 0) {
  1289. if(IsPlayerConnected(playerid)) {
  1290. if(!IsPlayerNPC(playerid)) {
  1291. if(PlayerInfo[playerid][pAdmin] < 1336) {
  1292. return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Teammitglied","You are not a team member.");
  1293. }
  1294. tmp = strtok(cmdtext, idx);
  1295. if(!strlen(tmp))
  1296. {
  1297. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/makeleader [playerid/PartOfName] [faction]" , "{FFFFFF}USAGE: {848484}/makeleader [playerid/PartOfName] [faction]");
  1298. SendClientMessage(playerid, COLOR_GRAD2, "SAPD = 1 - FBI = 2 - SAHS = 3 - LCN = 4 - Yakuza = 5 - Bloodz = 6 - Cripz = 7");
  1299. SendClientMessage(playerid, COLOR_GRAD2, "MS 13 = 8 - FS = 9 - BPS = 10 - SATC = 11");
  1300. return 1;
  1301. }
  1302. giveplayer = ReturnUser(tmp);
  1303. tmp = strtok(cmdtext, idx);
  1304. if(!strlen(tmp)) {
  1305. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/makeleader [playerid/PartOfName] [faction]" , "{FFFFFF}USAGE: {848484}/makeleader [playerid/PartOfName] [faction]");
  1306. SendClientMessage(playerid, COLOR_GRAD2, "SAPD = 1 - FBI = 2 - SAHS = 3 - LCN = 4 - Yakuza = 5 - Bloodz = 6 - Cripz = 7");
  1307. SendClientMessage(playerid, COLOR_GRAD2, "MS 13 = 8 - FS = 9 - BPS = 10 - SATC = 11");
  1308. return 1;
  1309. }
  1310. new level = strval(tmp);
  1311. if(IsPlayerConnected(giveplayer)) {
  1312. if(PlayerSpawned[giveplayer] > 0) {
  1313. if(!IsPlayerNPC(giveplayer)) {
  1314. new faction[25];
  1315. if(level == 0) {
  1316. PlayerInfo[giveplayer][pFaction] = 0;
  1317. PlayerInfo[giveplayer][pRank] = 0;
  1318. PlayerInfo[giveplayer][pTeam] = 0;
  1319. PlayerInfo[giveplayer][pDistrict] = 0;
  1320. format(string, sizeof(string), "* Du bist nun kein Leader einer Fraktion mehr.");
  1321. format(string2, sizeof(string2), "* You are not longer a faction leader.");
  1322. }
  1323. if(level == 1) { //SAPD
  1324. PlayerInfo[giveplayer][pFaction] = 1;
  1325. PlayerInfo[giveplayer][pRank] = 6;
  1326. PlayerInfo[giveplayer][pTeam] = TEAM_STATE;
  1327. PlayerInfo[giveplayer][pDistrict] = 4;
  1328. format(string, sizeof(string), "* Du wurdest zum Verteidigungsminister von San Andreas gemacht.");
  1329. format(string2, sizeof(string2), "* You are now the minister of defence of San Andreas.");
  1330. if(GetLang(playerid) == LANG_DEUTSCH) {
  1331. faction = "SA Polizei";
  1332. } else {
  1333. faction = "SA Police";
  1334. }
  1335. }
  1336. if(level == 2) { //FBI
  1337. PlayerInfo[giveplayer][pFaction] = 2;
  1338. PlayerInfo[giveplayer][pRank] = 6;
  1339. PlayerInfo[giveplayer][pTeam] = TEAM_STATE;
  1340. PlayerInfo[giveplayer][pDistrict] = 0;
  1341. format(string, sizeof(string), "* Du wurdest zum Leader des FBI gemacht.");
  1342. format(string2, sizeof(string2), "* You are now the leader of the FBI.");
  1343. if(GetLang(playerid) == LANG_DEUTSCH) {
  1344. faction = "FBI";
  1345. } else {
  1346. faction = "FBI";
  1347. }
  1348. }
  1349. if(level == 3) { //MEDIC
  1350. PlayerInfo[giveplayer][pFaction] = 3;
  1351. PlayerInfo[giveplayer][pRank] = 6;
  1352. PlayerInfo[giveplayer][pTeam] = TEAM_PRIVATE;
  1353. format(string, sizeof(string), "* Du wurdest zum Leader des San Andreas Hospital Service gemacht.");
  1354. format(string2, sizeof(string2), "* You are now the leader of the San Andreas Hospital Service.");
  1355. if(GetLang(playerid) == LANG_DEUTSCH) {
  1356. faction = "SAHS";
  1357. } else {
  1358. faction = "SAHS";
  1359. }
  1360. }
  1361. if(level == 4) { //LCN
  1362. PlayerInfo[giveplayer][pFaction] = 4;
  1363. PlayerInfo[giveplayer][pRank] = 6;
  1364. PlayerInfo[giveplayer][pTeam] = TEAM_GANG;
  1365. PlayerInfo[giveplayer][pDistrict] = 0;
  1366. format(string, sizeof(string), "* Du wurdest zum Leader der La Cosa Nostra gemacht.");
  1367. format(string2, sizeof(string2), "* You are now the leader of the La Cosa Nostra.");
  1368. if(GetLang(playerid) == LANG_DEUTSCH) {
  1369. faction = "LCN";
  1370. } else {
  1371. faction = "LCN";
  1372. }
  1373. }
  1374. if(level == 5) { //Yakuza
  1375. PlayerInfo[giveplayer][pFaction] = 5;
  1376. PlayerInfo[giveplayer][pRank] = 6;
  1377. PlayerInfo[giveplayer][pTeam] = TEAM_GANG;
  1378. PlayerInfo[giveplayer][pDistrict] = 0;
  1379. format(string, sizeof(string), "* Du wurdest zum Leader der Yakuza gemacht.");
  1380. format(string2, sizeof(string2), "* You are now the leader of the Yakuza.");
  1381. if(GetLang(playerid) == LANG_DEUTSCH) {
  1382. faction = "Yakuza";
  1383. } else {
  1384. faction = "Yakuza";
  1385. }
  1386. }
  1387. if(level == 6) { //Bloodz
  1388. PlayerInfo[giveplayer][pFaction] = 6;
  1389. PlayerInfo[giveplayer][pRank] = 6;
  1390. PlayerInfo[giveplayer][pTeam] = TEAM_GANG;
  1391. format(string, sizeof(string), "* Du wurdest zum Leader der Bloodz gemacht.");
  1392. format(string2, sizeof(string2), "* You are now the leader of the Bloodz.");
  1393. if(GetLang(playerid) == LANG_DEUTSCH) {
  1394. faction = "Bloodz";
  1395. } else {
  1396. faction = "Bloodz";
  1397. }
  1398. }
  1399. if(level == 7) { //Cripz
  1400. PlayerInfo[giveplayer][pFaction] = 7;
  1401. PlayerInfo[giveplayer][pRank] = 6;
  1402. PlayerInfo[giveplayer][pTeam] = TEAM_GANG;
  1403. PlayerInfo[giveplayer][pDistrict] = 0;
  1404. format(string, sizeof(string), "* Du wurdest zum Leader der Cripz gemacht.");
  1405. format(string2, sizeof(string2), "* You are now the leader of the Cripz.");
  1406. if(GetLang(playerid) == LANG_DEUTSCH) {
  1407. faction = "Cripz";
  1408. } else {
  1409. faction = "Cripz";
  1410. }
  1411. }
  1412. if(level == 8) { //MS13
  1413. PlayerInfo[giveplayer][pFaction] = 8;
  1414. PlayerInfo[giveplayer][pRank] = 6;
  1415. PlayerInfo[giveplayer][pTeam] = TEAM_GANG;
  1416. PlayerInfo[giveplayer][pDistrict] = 0;
  1417. format(string, sizeof(string), "* Du wurdest zum Leader der MS 13 gemacht.");
  1418. format(string2, sizeof(string2), "* You are now the leader of the MS 13.");
  1419. if(GetLang(playerid) == LANG_DEUTSCH) {
  1420. faction = "MS 13";
  1421. } else {
  1422. faction = "MS 13";
  1423. }
  1424. }
  1425. if(level == 9) { //Fahrschule
  1426. PlayerInfo[giveplayer][pFaction] = 9;
  1427. PlayerInfo[giveplayer][pRank] = 6;
  1428. PlayerInfo[giveplayer][pTeam] = TEAM_PRIVATE;
  1429. PlayerInfo[giveplayer][pDistrict] = 0;
  1430. format(string, sizeof(string), "* Du wurdest zum Leader der Fahrschule gemacht.");
  1431. format(string2, sizeof(string2), "* You are now the leader of the Drivers School.");
  1432. if(GetLang(playerid) == LANG_DEUTSCH) {
  1433. faction = "FS";
  1434. } else {
  1435. faction = "DS";
  1436. }
  1437. }
  1438. if(level == 10) { //Bureau of Public Security
  1439. PlayerInfo[giveplayer][pFaction] = 10;
  1440. PlayerInfo[giveplayer][pRank] = 6;
  1441. PlayerInfo[giveplayer][pTeam] = TEAM_PRIVATE;
  1442. PlayerInfo[giveplayer][pDistrict] = 0;
  1443. format(string, sizeof(string), "* Du wurdest zum Leader der privaten Sicherheitsfirma gemacht.");
  1444. format(string2, sizeof(string2), "* You are now the leader of the Bureau of Public Security.");
  1445. if(GetLang(playerid) == LANG_DEUTSCH) {
  1446. faction = "BPS";
  1447. } else {
  1448. faction = "BPS";
  1449. }
  1450. }
  1451. if(level == 11) { //San Andreas Transport Company
  1452. PlayerInfo[giveplayer][pFaction] = 11;
  1453. PlayerInfo[giveplayer][pRank] = 6;
  1454. PlayerInfo[giveplayer][pTeam] = TEAM_PRIVATE;
  1455. PlayerInfo[giveplayer][pDistrict] = 0;
  1456. format(string, sizeof(string), "* Du wurdest zum Leader der San Andreas Transport Company gemacht.");
  1457. format(string2, sizeof(string2), "* You are now the leader of the San Andreas Transport Company.");
  1458. if(GetLang(playerid) == LANG_DEUTSCH) {
  1459. faction = "SATC";
  1460. } else {
  1461. faction = "SATC";
  1462. }
  1463. }
  1464. if(level == 11) { //National Guard
  1465. PlayerInfo[giveplayer][pFaction] = 12;
  1466. PlayerInfo[giveplayer][pRank] = 6;
  1467. PlayerInfo[giveplayer][pTeam] = TEAM_STATE;
  1468. PlayerInfo[giveplayer][pDistrict] = 0;
  1469. format(string, sizeof(string), "* Du wurdest zum Leader der National Guard gemacht.");
  1470. format(string2, sizeof(string2), "* You are now the leader of the National Guard.");
  1471. if(GetLang(playerid) == LANG_DEUTSCH) {
  1472. faction = "NG";
  1473. } else {
  1474. faction = "NG";
  1475. }
  1476. }
  1477.  
  1478. SendClientMessageEx(giveplayer, COLOR_LIGHTBLUE, string, string2);
  1479. format(string, sizeof(string), "* Du hast Spieler %s zum Leader einer Fraktion (%s) gemacht.",
  1480. GetName(giveplayer),faction);
  1481. format(string2, sizeof(string2), "* You have promoted user %s to lead faction %s.",
  1482. GetName(giveplayer), faction);
  1483. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1484. return OnPlayerAccountUpdate(giveplayer);
  1485. }
  1486. }
  1487. }
  1488. return 1;
  1489. }
  1490. return 1;
  1491. }
  1492. return 1;
  1493. }
  1494. if(strcmp(cmd, "/makeadmin", true) == 0) {
  1495. if(IsPlayerConnected(playerid)) {
  1496. if(!IsPlayerNPC(playerid)) {
  1497. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] < 1337) {
  1498. return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Teammitglied.","You are not a team member.");
  1499. }
  1500. tmp = strtok(cmdtext, idx);
  1501. if(!strlen(tmp))
  1502. {
  1503. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/makeadmin [playerid/PartOfName] [level(1331-1338)]" , "{FFFFFF}USAGE: {848484}/makeadmin [playerid/PartOfName] [level(1331-1338)]");
  1504. return 1;
  1505. }
  1506. giveplayer = ReturnUser(tmp);
  1507. tmp = strtok(cmdtext, idx);
  1508. if(!strlen(tmp)) {
  1509. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/makeadmin [playerid/PartOfName] [level(1331-1338)]" , "{FFFFFF}USAGE: {848484}/makeadmin [playerid/PartOfName] [level(1331-1338)]");
  1510. return 1;
  1511. }
  1512. new level = strval(tmp);
  1513. if(IsPlayerConnected(giveplayer)) {
  1514. if(PlayerSpawned[giveplayer] > 0) {
  1515. if(!IsPlayerNPC(giveplayer)) {
  1516. if(level > PlayerInfo[giveplayer][pAdmin]) {
  1517. format(string, sizeof(string),"* Du wurdest von Admin %s zu einem höheren Admin befördert.",
  1518. GetName(playerid));
  1519. format(string2, sizeof(string2), "* You've been promoted to a higher Admin by Admin %s.",
  1520. GetName(playerid));
  1521. SendClientMessageEx(giveplayer, COLOR_LIGHTBLUE, string, string2);
  1522. } else {
  1523. format(string, sizeof(string),"* Du wurdest von Admin %s zu einem niedrigeren Admin degradiert.",
  1524. GetName(playerid));
  1525. format(string2, sizeof(string2), "* You've been related to a lower Admin by Admin %s.",
  1526. GetName(playerid));
  1527. SendClientMessageEx(giveplayer, COLOR_LIGHTBLUE, string, string2);
  1528. }
  1529. format(string, sizeof(string), "* Du hast %s zu einem %d Admin gemacht.",GetName(giveplayer), level);
  1530. format(string2, sizeof(string2), "* You have %s promoted to a level %d Admin.",GetName(giveplayer), level);
  1531. SendClientMessageEx(playerid,COLOR_LIGHTBLUE, string, string2);
  1532. PlayerInfo[giveplayer][pAdmin] = level;
  1533. return OnPlayerAccountUpdate(giveplayer);
  1534. }
  1535. }
  1536. }
  1537. }
  1538. return 1;
  1539. }
  1540. return 1;
  1541. }
  1542. if(strcmp(cmd, "/makesupporter", true) == 0) {
  1543. if(IsPlayerConnected(playerid)) {
  1544. if(!IsPlayerNPC(playerid)) {
  1545. if(PlayerInfo[playerid][pAdmin] < 1335) {
  1546. return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Teammitglied.","You are not a team member.");
  1547. }
  1548. tmp = strtok(cmdtext, idx);
  1549. if(!strlen(tmp))
  1550. {
  1551. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/makesupporter [playerid/PartOfName] [level(0-1)]" , "{FFFFFF}USAGE: {848484}/makesupporter [playerid/PartOfName] [level(0-1)]");
  1552. return 1;
  1553. }
  1554. giveplayer = ReturnUser(tmp);
  1555. tmp = strtok(cmdtext, idx);
  1556. if(!strlen(tmp)) {
  1557. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/makesupporter [playerid/PartOfName] [level(0-1)]" , "{FFFFFF}USAGE: {848484}/makesupporter [playerid/PartOfName] [level(0-1))]");
  1558. return 1;
  1559. }
  1560. new level = strval(tmp);
  1561. if(level < 0 || level > 1 ) return SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/makesupporter [playerid/PartOfName] [level(0-1)]" , "{FFFFFF}USAGE: {848484}/makesupporter [playerid/PartOfName] [level(0-1))]");
  1562. if(IsPlayerConnected(giveplayer)) {
  1563. if(PlayerSpawned[giveplayer] > 0) {
  1564. if(!IsPlayerNPC(giveplayer)) {
  1565. if(level > 0) {
  1566. format(string, sizeof(string),"* Du wurdest von Admin %s zu einem Supporter befördert.",
  1567. GetName(playerid));
  1568. format(string2, sizeof(string2), "* You've been promoted to a supporter by Admin %s.",
  1569. GetName(playerid));
  1570. SendClientMessageEx(giveplayer, COLOR_LIGHTBLUE, string, string2);
  1571. format(string, sizeof(string), "* Du hast %s zu einem Supporter befördert.",GetName(giveplayer));
  1572. format(string2, sizeof(string2), "* You've promoted %s to a supporter.",GetName(giveplayer));
  1573. } else {
  1574. format(string, sizeof(string),"* Du wurdest von Admin %s von deinem Supporterposten entlassen.",
  1575. GetName(playerid));
  1576. format(string2, sizeof(string2), "* You've kicked from your support rank by Admin %s.",
  1577. GetName(playerid));
  1578. SendClientMessageEx(giveplayer, COLOR_LIGHTBLUE, string, string2);
  1579. format(string, sizeof(string), "* Du hast %s von seinem Supporterposten entlassen.",GetName(giveplayer));
  1580. format(string2, sizeof(string2), "* You've kicked %s from his supporter rank.",GetName(giveplayer));
  1581. }
  1582. SendClientMessageEx(playerid,COLOR_LIGHTBLUE, string, string2);
  1583. PlayerInfo[giveplayer][pSupporter] = level;
  1584. return OnPlayerAccountUpdate(giveplayer);
  1585. }
  1586. }
  1587. }
  1588. }
  1589. return 1;
  1590. }
  1591. return 1;
  1592. }
  1593. //----------------------------------------------------------------Admin-Befehle-
  1594. //-------------SUPPORTER-BEFEHLE------------------------------------------------
  1595. if(strcmp(cmd, "/suphelp",true) == 0) {
  1596. if(IsPlayerConnected(playerid)) {
  1597. if(!IsPlayerNPC(playerid)) {
  1598. if (PlayerInfo[playerid][pSupporter] > 0) {
  1599. format(string, sizeof(string), "* ALLGEMEIN * /supduty /answersupport (/asup)");
  1600. format(string2, sizeof(string2), "* GENERAL * /supduty /answersupport (/asup)");
  1601. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1602. return 1;
  1603. }
  1604. else return SendClientMessageEx(playerid, COLOR_GRAD2, " Du bist kein Supporter!", " You aren't a supporter!");
  1605. } return 1;
  1606. } return 1;
  1607. }
  1608. if(strcmp(cmd, "/answersupport",true) == 0 || strcmp(cmd, "/asup",true) == 0) {
  1609. if(IsPlayerConnected(playerid)) {
  1610. if(!IsPlayerNPC(playerid)) {
  1611. tmp = strtok(cmdtext, idx);
  1612. if(!strlen(tmp))
  1613. {
  1614. SendClientMessage(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/asup [playerid/PartOfName] [text]");
  1615. return 1;
  1616. }
  1617. giveplayer = ReturnUser(tmp);
  1618. new length = strlen(cmdtext);
  1619. while ((idx < length) && (cmdtext[idx] <= ' '))
  1620. {
  1621. idx++;
  1622. }
  1623. new offset = idx;
  1624. new result[256];
  1625. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  1626. {
  1627. result[idx - offset] = cmdtext[idx];
  1628. idx++;
  1629. }
  1630. result[idx - offset] = EOS;
  1631. if(!strlen(result))
  1632. {
  1633. SendClientMessage(playerid, COLOR_WHITE, "{FFFFFF}BENUTZUNG: {848484}/asup [playerid/PartOfName] [text]");
  1634. return 1;
  1635. }
  1636. format(string, sizeof(string), "ASW by %s[%d]:{FFFFFF} %s",
  1637. GetName(playerid), playerid, result);
  1638. SendClientMessage(giveplayer, COLOR_ORANGE, string);
  1639. format(string, sizeof(string), "SUPPORTER %s hat die Anfrage von %s(%d) beantwortet.",
  1640. GetName(playerid), GetName(giveplayer),giveplayer);
  1641. format(string2, sizeof(string2), "SUPPORTER %s answered the ticket from %s(%d).",
  1642. GetName(playerid), GetName(giveplayer),giveplayer);
  1643. for(new i=0;i<MAX_PLAYERS;i++) {
  1644. if(IsPlayerConnected(i)) {
  1645. if(!IsPlayerNPC(i)) {
  1646. if(PlayerInfo[i][pSupporter] != 0 && Support[i] != 0) {
  1647. SendClientMessageEx(i, COLOR_ORANGE,string, string2);
  1648. }
  1649. }
  1650. }
  1651. }
  1652. return 1;
  1653. } return 1;
  1654. } return 1;
  1655. }
  1656. if(strcmp(cmd, "/support",true) == 0) {
  1657. if(IsPlayerConnected(playerid)) {
  1658. if(!IsPlayerNPC(playerid)) {
  1659. new length = strlen(cmdtext);
  1660. while ((idx < length) && (cmdtext[idx] <= ' '))
  1661. {
  1662. idx++;
  1663. }
  1664. new offset = idx;
  1665. new result[256];
  1666. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  1667. {
  1668. result[idx - offset] = cmdtext[idx];
  1669. idx++;
  1670. }
  1671. result[idx - offset] = EOS;
  1672. if(!strlen(result))
  1673. {
  1674. SendClientMessage(playerid, COLOR_WHITE, "{FFFFFF}BENUTZUNG: {848484}/support [text]");
  1675. return 1;
  1676. }
  1677. SendSupportMSG(result,playerid);
  1678. SendClientMessageEx(playerid, COLOR_ORANGE, "* Du hast deine Supportanfrage erfolgreich gesendet.","You've successfully send your support ticket.");
  1679. return 1;
  1680. } return 1;
  1681. } return 1;
  1682. }
  1683. if(strcmp(cmd, "/supduty",true) == 0) {
  1684. if(IsPlayerConnected(playerid)) {
  1685. if(!IsPlayerNPC(playerid)) {
  1686. if(PlayerInfo[playerid][pSupporter] < 1) {
  1687. return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Supporter.","You are not a supporter.");
  1688. }
  1689. if(GetLang(playerid) == LANG_DEUTSCH) {
  1690. if(Support[playerid] == 0) {
  1691. Support[playerid] = 1;
  1692. return SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du bist nun als Supporter unterwegs.");
  1693. } else {
  1694. Support[playerid] = 0;
  1695. return SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du bist nun nicht mehr als Supporter unterwegs.");
  1696. }
  1697. } else {
  1698. if(Support[playerid] == 0) {
  1699. Support[playerid] = 1;
  1700. return SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du bist nun als Supporter unterwegs.");
  1701. } else {
  1702. Support[playerid] = 0;
  1703. return SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du bist nun nicht mehr als Supporter unterwegs.");
  1704. }
  1705. }
  1706. } return 1;
  1707. } return 1;
  1708. }
  1709. if(strcmp(cmd, "/supporter",true) == 0) {
  1710. if(IsPlayerConnected(playerid)) {
  1711. if(!IsPlayerNPC(playerid)) {
  1712. SendClientMessage(playerid, COLOR_ORANGE, "Supporter Online:");
  1713. for(new i=0;i<MAX_PLAYERS;i++) {
  1714. if(IsPlayerConnected(i)) {
  1715. if(!IsPlayerNPC(i)) {
  1716. if(PlayerSpawned[i] != 0) {
  1717. if(PlayerInfo[i][pSupporter] != 0 && Support[i] != 0) {
  1718. format(string, sizeof(string), "%s",
  1719. GetName(i));
  1720. SendClientMessage(playerid, COLOR_GRAD2, string);
  1721. }
  1722. }
  1723. }
  1724. }
  1725. }
  1726. } return 1;
  1727. } return 1;
  1728. }
  1729. //------------------------------------------------------------Supporter-Befehle-
  1730. //--------------NORMALE-BEFEHLE-------------------------------------------------
  1731. if (strcmp(cmd, "/leader", true) == 0) {
  1732. if (IsPlayerConnected(playerid)) {
  1733. if (!IsPlayerNPC(playerid)) {
  1734. new sql[100];
  1735. SendClientMessageEx(playerid, COLOR_WHITE, "Leader-Liste:", "Leader-list:");
  1736. format(string, sizeof(string), "SELECT pName FROM samp_accounts WHERE pRank = 6");
  1737. mysql_query(string);
  1738. mysql_store_result();
  1739. while(mysql_fetch_row_format(sql)) {
  1740. format(string, sizeof(string), "%s (%s)", sql, getOnlineByName(sql));
  1741. SendClientMessage(playerid, COLOR_GREEN, string);
  1742. }
  1743. return 1;
  1744. }
  1745. } return 1;
  1746. }
  1747. if(strcmp(cmd, "/geworben",true) == 0 || strcmp(cmd, "/gadvert",true) == 0) {
  1748. if(IsPlayerConnected(playerid)) {
  1749. if(!IsPlayerNPC(playerid)) {
  1750. new sql[100];
  1751. SendClientMessageEx(playerid, COLOR_GREEN, "Geworbene Spieler:","Advertised Users:");
  1752. format(string, sizeof(string), "SELECT pName FROM samp_accounts WHERE pAdvertiseName = '%s'", GetName(playerid));
  1753. mysql_query(string);
  1754. mysql_store_result();
  1755. while(mysql_fetch_row_format(sql)) {
  1756. format(string, sizeof(string), "%s", sql);
  1757. SendClientMessage(playerid, COLOR_GREEN, string);
  1758. }
  1759. return 1;
  1760. }
  1761. return 1;
  1762. }
  1763. return 1;
  1764. }
  1765. if(strcmp(cmd, "/forum",true) == 0) {
  1766. if(IsPlayerConnected(playerid)) {
  1767. if(!IsPlayerNPC(playerid)) {
  1768. if(GetLang(playerid) == LANG_DEUTSCH) {
  1769. format(string, sizeof(string), "Forum Infos");
  1770. return ShowPlayerDialog(playerid, FORUM_01, DIALOG_STYLE_MSGBOX, logo, string, "Beantragen", "Abbrechen");
  1771. } else {
  1772. format(string, sizeof(string), "Board Infos");
  1773. return ShowPlayerDialog(playerid, FORUM_01, DIALOG_STYLE_MSGBOX, logo, string, "Apply", "Cancel");
  1774. }
  1775. } return 1;
  1776. } return 1;
  1777. }
  1778. if(strcmp(cmd, "/bugreport",true) == 0) {
  1779. if(IsPlayerConnected(playerid)) {
  1780. if(!IsPlayerNPC(playerid)) {
  1781. if(GetLang(playerid) == LANG_DEUTSCH) {
  1782. format(string, sizeof(string), "{FFFFFF}Willkommen zum Bugreport \nDu kannst nun einen Fehler an die Administration reporten. \nBitte gebe dazu ein Titel des Reports an:");
  1783. return ShowPlayerDialog(playerid, DIALOG_BUGREPORT,DIALOG_STYLE_INPUT, logo,string,"Weiter","Abbrechen");
  1784. } else {
  1785. format(string, sizeof(string), "{FFFFFF}Welcome to the bugreport \nYou are now on the way to send a bugreport. \nPlease enter you title of this bugreport:");
  1786. return ShowPlayerDialog(playerid, DIALOG_BUGREPORT,DIALOG_STYLE_INPUT, logo,string,"Next","Quit");
  1787. }
  1788. } return 1;
  1789. } return 1;
  1790. }
  1791. if(strcmp(cmd, "/statsall",true) == 0) {
  1792. if(IsPlayerConnected(playerid)) {
  1793. if(!IsPlayerNPC(playerid)) {
  1794. ShowStats(playerid, 1);
  1795. return 1;
  1796. } return 1;
  1797. } return 1;
  1798. }
  1799. if(strcmp(cmd, "/stats",true) == 0) {
  1800. if(IsPlayerConnected(playerid)) {
  1801. if(!IsPlayerNPC(playerid)) {
  1802. ShowStats(playerid, 0);
  1803. return 1;
  1804. } return 1;
  1805. } return 1;
  1806. }
  1807. if(strcmp(cmd, "/changepassword",true) == 0 || strcmp(cmd, "/changepw",true) == 0 || strcmp(cmd, "/passwortändern",true) == 0 || strcmp(cmd, "/pwändern",true) == 0) {
  1808. if(IsPlayerConnected(playerid)) {
  1809. if(!IsPlayerNPC(playerid)) {
  1810. if(GetLang(playerid) == LANG_DEUTSCH) {
  1811. format(string, sizeof(string), "{FFFFFF}Bitte gebe zunächst dein aktuelles Passwort ein.");
  1812. ShowPlayerDialog(playerid, DIALOG_CHANGEPW, DIALOG_STYLE_INPUT, logo,string, "Weiter","Abbrechen");
  1813. return 1;
  1814. } else {
  1815. format(string, sizeof(string), "{FFFFFF}First, please enter your current password.");
  1816. ShowPlayerDialog(playerid, DIALOG_CHANGEPW, DIALOG_STYLE_INPUT, logo,string, "Next","Quit");
  1817. return 1;
  1818. }
  1819. } return 1;
  1820. } return 1;
  1821. }
  1822. if(strcmp(cmd, "/sprache",true) == 0 || strcmp(cmd, "/lang",true) == 0 || strcmp(cmd, "/language",true) == 0) {
  1823. if(IsPlayerConnected(playerid)) {
  1824. if(!IsPlayerNPC(playerid)) {
  1825. if(GetLang(playerid) == LANG_DEUTSCH) {
  1826. PlayerInfo[playerid][pLanguage] = LANG_ENGLISH;
  1827. format(string, sizeof(string), "{D7DF01}AC-System:{FFFFFF} Du hast deine Sprache auf Englisch geändert.");
  1828. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1829. return OnPlayerAccountUpdate(playerid);
  1830. } else {
  1831. PlayerInfo[playerid][pLanguage] = LANG_DEUTSCH;
  1832. format(string, sizeof(string), "{D7DF01}AC-System:{FFFFFF} You've changed your language to german.");
  1833. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1834. return OnPlayerAccountUpdate(playerid);
  1835. }
  1836. }//no npc
  1837. return 1;
  1838. }//not connected
  1839. return 1;
  1840. }
  1841. if(strcmp(cmd, "/hilfe", true) == 0 || strcmp(cmd, "/help",true) == 0) {
  1842. if(IsPlayerConnected(playerid)) {
  1843. if(!IsPlayerNPC(playerid)) {
  1844. if(GetLang(playerid) == LANG_DEUTSCH) {
  1845. format(string, sizeof(string), "{04B404}** Account ** {FFFFFF}/sprache /pwändern /stats");
  1846. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1847. format(string, sizeof(string), "{04B404}** ALLGEMEIN ** {FFFFFF}/fraktionhilfe (/fhelp) /leaderhelp /bugreport");
  1848. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1849. return 1;
  1850. } else {
  1851. format(string, sizeof(string), "{04B404}** Account ** {FFFFFF}(/lang)uage /changepw /stats");
  1852. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1853. format(string, sizeof(string), "{04B404}** GENERAL ** {FFFFFF}/factionhelp (/fhelp) /leaderhelp /bugreport");
  1854. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1855. return 1;
  1856. }
  1857. }
  1858. return 1;
  1859. }
  1860. return 1;
  1861. }
  1862. //--------------------------------------------------------------Normale-Befehle-
  1863. //------------------FRAKTIONS-BEFEHLE-------------------------------------------
  1864. if(strcmp(cmd, "/fraktionhilfe", true) == 0 || strcmp(cmd, "/factionhelp",true) == 0 || strcmp(cmd, "/fhelp",true) == 0) {
  1865. if(IsPlayerConnected(playerid)) {
  1866. if(!IsPlayerNPC(playerid)) {
  1867. if (PlayerInfo[playerid][pFaction] != 0) {
  1868. if (PlayerInfo[playerid][pFaction] == 1) {
  1869. if(GetLang(playerid) == LANG_DEUTSCH) {
  1870. format(string, sizeof(string), "{04B404}** CHAT ** {FFFFFF}/copchat (/cc) (/r)adio (/m)egaphone");
  1871. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1872. //format(string, sizeof(string), "{04B404}** RANG ** {FFFFFF}");
  1873. //SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1874. return 1;
  1875. } else {
  1876. format(string, sizeof(string), "{04B404}** CHAT ** {FFFFFF}/copchat (/cc) (/r)adio");
  1877. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1878. //format(string, sizeof(string), "{04B404}** RANK ** {FFFFFF}");
  1879. //SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1880. return 1;
  1881. }
  1882. }
  1883. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist in keiner Fraktion!", "You are in no faction!");
  1884. }
  1885. return 1;
  1886. }
  1887. return 1;
  1888. }
  1889. //------------L E A D E R---------------------------------------------------
  1890. if(strcmp(cmd, "/leaderhelp", true) == 0) {
  1891. if(IsPlayerConnected(playerid)) {
  1892. if(!IsPlayerNPC(playerid)) {
  1893. if (PlayerInfo[playerid][pFaction] != 0 && PlayerInfo[playerid][pRank] == 6) {
  1894. if(GetLang(playerid) == LANG_DEUTSCH) {
  1895. format(string, sizeof(string), "{04B404}** EINLADEN ** {FFFFFF}/einladen /entlassen");
  1896. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1897. format(string, sizeof(string), "{04B404}** RANG ** {FFFFFF}/ranggeben /versetzen");
  1898. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1899. return 1;
  1900. } else {
  1901. format(string, sizeof(string), "{04B404}** INVITE ** {FFFFFF}/invite /uninvite");
  1902. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1903. format(string, sizeof(string), "{04B404}** RANK ** {FFFFFF}/giverank /setdistrict");
  1904. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  1905. return 1;
  1906. }
  1907. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Fraktionsleader!", "You aren't a factionleader!");
  1908. }
  1909. return 1;
  1910. }
  1911. return 1;
  1912. }
  1913. if(strcmp(cmd, "/uninvite", true) == 0 || strcmp(cmd, "/entlassen",true) == 0) {
  1914. if(IsPlayerConnected(playerid)) {
  1915. if(!IsPlayerNPC(playerid)) {
  1916. if(PlayerInfo[playerid][pFaction] != 0) {
  1917. if(PlayerInfo[playerid][pRank] >= 5) {
  1918. tmp = strtok(cmdtext, idx);
  1919. if(!strlen(tmp))
  1920. {
  1921. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/entlassen [playerid/PartOfName]" , "{FFFFFF}USAGE: {848484}/uninvite [playerid/PartOfName]");
  1922. return 1;
  1923. }
  1924. giveplayer = ReturnUser(tmp);
  1925. if(IsPlayerConnected(giveplayer)) {
  1926. if(!IsPlayerNPC(giveplayer)) {
  1927. if(giveplayer != INVALID_PLAYER_ID) {
  1928. if(PlayerInfo[giveplayer][pFaction] == PlayerInfo[playerid][pFaction]) {
  1929. if(PlayerInfo[giveplayer][pRank] > PlayerInfo[playerid][pRank]) {
  1930. format(string, sizeof(string), "* Du wurdest aus deiner Fraktion entlassen von deinem Leader (%s).",GetName(playerid));
  1931. format(string2, sizeof(string2), "* You have been kicked from you faction by your leader (%s).",GetName(playerid));
  1932. SendClientMessageEx(giveplayer, COLOR_LIGHTBLUE, string, string2);
  1933. format(string, sizeof(string), "* Du hast %s aus deiner Fraktion entlassen.",GetName(giveplayer));
  1934. format(string2, sizeof(string2), "* You kicked %s out of your faction.",GetName(giveplayer));
  1935. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  1936. PlayerInfo[giveplayer][pFaction] = 0;
  1937. PlayerInfo[giveplayer][pRank] = 0;
  1938. PlayerInfo[giveplayer][pDistrict] = 0;
  1939. return OnPlayerAccountUpdate(giveplayer);
  1940. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Dein Rang ist zu niedrig.","Your rank is to low.");
  1941. } else return SendClientMessageEx(playerid, COLOR_GRAD2,"Dieser Spieler ist nicht in deiner Fraktion.","This player is not in your faction.");
  1942. } else return SendClientMessageEx(playerid, COLOR_GRAD2,"Dieser Spieler ist nicht verbunden.","This player is not connected.");
  1943. } else return SendClientMessageEx(playerid, COLOR_GRAD2,"Dieser Spieler ist ein NPC.","This player is a NPC.");
  1944. } else return SendClientMessageEx(playerid, COLOR_GRAD2,"Dieser Spieler ist nicht verbunden.","This player is not connected.");
  1945. } else return SendClientMessageEx(playerid, COLOR_GRAD2,"Dein Rang ist zu niedrig.","Your rank is to low.");
  1946. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist nicht in einer Fraktion.","You are not in a faction.");
  1947. } else return 1;
  1948. }
  1949. return 1;
  1950. }
  1951. if(strcmp(cmd, "/invite", true) == 0 || strcmp(cmd, "/einladen",true) == 0) {
  1952. if(IsPlayerConnected(playerid)) {
  1953. if(!IsPlayerNPC(playerid)) {
  1954. if(PlayerInfo[playerid][pFaction] != 0) {
  1955. if(PlayerInfo[playerid][pRank] >= 5) {
  1956. tmp = strtok(cmdtext, idx);
  1957. if(!strlen(tmp))
  1958. {
  1959. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/einladen [playerid/PartOfName]" , "{FFFFFF}USAGE: {848484}/invite [playerid/PartOfName]");
  1960. return 1;
  1961. }
  1962. giveplayer = ReturnUser(tmp);
  1963. if(IsPlayerConnected(giveplayer)) {
  1964. if(!IsPlayerNPC(giveplayer)) {
  1965. if(giveplayer != INVALID_PLAYER_ID) {
  1966. if(PlayerInfo[giveplayer][pFaction] == 0) {
  1967. format(string, sizeof(string), "* Du wurdest von einem Leader (%s) in seine Fraktion eingeladen.",GetName(playerid));
  1968. format(string2, sizeof(string2), "* You have been invited by leader (%s).",GetName(playerid));
  1969. SendClientMessageEx(giveplayer, COLOR_LIGHTBLUE, string, string2);
  1970. PlayerInfo[giveplayer][pFaction] = PlayerInfo[playerid][pFaction];
  1971. PlayerInfo[giveplayer][pRank] = 1;
  1972. return OnPlayerAccountUpdate(giveplayer);
  1973. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Dieser Spieler ist bereits in einer Fraktion.","This player is in a faction.");
  1974. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Dieser Spieler ist nicht Verbunden.","This player is not connected.");
  1975. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Dieser Spieler ist nicht verbunden.","This player is not connected.");
  1976. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Dieser Spieler ist nicht Verbunden.","This player is not connected.");
  1977. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du kannst mit deinem Rang keine Spieler einladen.","You can not invite players with your current rank.");
  1978. } else return SendClientMessageEx(playerid, COLOR_GRAD2,"Du bist in keiner Fraktion.","You are not in a faction.");
  1979. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Dieser Spieler ist nicht verbunden.","This player is not connected.");
  1980. }
  1981. return 1;
  1982. }
  1983. if(strcmp(cmd, "/giverank", true) == 0 || strcmp(cmd, "/ranggeben",true) == 0) {
  1984. if(IsPlayerConnected(playerid)) {
  1985. if(!IsPlayerNPC(playerid)) {
  1986. if(PlayerInfo[playerid][pFaction] != 0) {
  1987. if(PlayerInfo[playerid][pRank] >= 5) {
  1988. tmp = strtok(cmdtext, idx);
  1989. if(!strlen(tmp))
  1990. {
  1991. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/ranggeben [playerid/PartOfName] [rang]" , "{FFFFFF}USAGE: {848484}/giverank [playerid/PartOfName] [rank]");
  1992. return 1;
  1993. }
  1994. giveplayer = ReturnUser(tmp);
  1995. tmp = strtok(cmdtext, idx);
  1996. if(!strlen(tmp)) {
  1997. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/ranggeben [playerid/PartOfName] [rang]" , "{FFFFFF}USAGE: {848484}/giverank [playerid/PartOfName] [rank]");
  1998. return 1;
  1999. }
  2000. if (PlayerInfo[playerid][pRank] != 6) return SendClientMessageEx(playerid, COLOR_GRAD2, " Du bist kein Leader !", " You are no leader !");
  2001. new level = strval(tmp);
  2002. if(IsPlayerConnected(giveplayer)) {
  2003. if(!IsPlayerNPC(giveplayer)) {
  2004. if(giveplayer != INVALID_PLAYER_ID) {
  2005. if(PlayerInfo[giveplayer][pFaction] == PlayerInfo[playerid][pFaction]) {
  2006. if(level >= PlayerInfo[playerid][pRank]) {
  2007. return SendClientMessageEx(playerid, COLOR_GRAD2, "Du kannst keinen höheren Rang als deinen eigenen vergeben.","You can not give a higher rank as your own.");
  2008. }
  2009. if(level > PlayerInfo[giveplayer][pRank]) {
  2010. format(string, sizeof(string), "* Du wurdest von deinem Leader (%s) zu einem höheren Rang befördert (Rang %d)",GetName(playerid),level);
  2011. format(string2, sizeof(string2), "* You have been promoted to a higher rank (rank %d) by leader (%s)",level, GetName(playerid));
  2012. SendClientMessageEx(giveplayer, COLOR_LIGHTBLUE, string, string2);
  2013. PlayerInfo[giveplayer][pRank] = level;
  2014. return 1;
  2015. } else {
  2016. format(string, sizeof(string), "* Du wurdest von deinem Leader (%s) zu einem niedrigeren Rang degradiert (Rang %d)",GetName(playerid),level);
  2017. format(string2, sizeof(string2), "* You have been related to a lower rank (rank %d) by leader (%s)",level, GetName(playerid));
  2018. SendClientMessageEx(giveplayer, COLOR_LIGHTBLUE, string, string2);
  2019. PlayerInfo[giveplayer][pRank] = level;
  2020. return OnPlayerAccountUpdate(giveplayer);
  2021. }
  2022. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Dieser Spielst ist nicht in deiner Fraktion.","This Player is not in your faction.");
  2023. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Dieser Spieler ist nicht Verbunden.","This player is not connected.");
  2024. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Dieser Spieler ist ein NPC.","This player is a NPC.");
  2025. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Dieser Spieler ist nicht verbunden.","This player is not connected.");
  2026. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Leader deiner Fraktion.","You are not the leader of your faction.");
  2027. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist in keiner Fraktion.","You are not in a faction.");
  2028. } else return 1;
  2029. }
  2030. return 1;
  2031. }
  2032. //------------C O P S-------------------------------------------------------
  2033. if (strcmp(cmd, "/megaphone", true) == 0 || strcmp(cmd, "/m", true) == 0) {
  2034. if (!IsPlayerNPC(playerid)) {
  2035. if (PlayerInfo[playerid][pFaction] == 1) {
  2036. new length = strlen(cmdtext);
  2037. while ((idx < length) && (cmdtext[idx] <= ' '))
  2038. {
  2039. idx++;
  2040. }
  2041. new offset = idx;
  2042. new result[256];
  2043. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  2044. {
  2045. result[idx - offset] = cmdtext[idx];
  2046. idx++;
  2047. }
  2048. result[idx - offset] = EOS;
  2049. if(!strlen(result))
  2050. {
  2051. SendClientMessageEx(playerid, COLOR_WHITE, "{FFFFFF}BENUTZUNG: {848484}/(m)egaphone [text]", "{FFFFFF}USAGE: {848484}/(m)egaphone [text]");
  2052. return 1;
  2053. }
  2054. SendRangeMSGFromPlayer(playerid, result, 15.0);
  2055. return 1;
  2056. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Polizist.", "You are not a cop.");
  2057. } return 1;
  2058. }
  2059. if (strcmp(cmd, "/copchat", true) == 0 || strcmp(cmd, "/cc", true) == 0) {
  2060. if (!IsPlayerNPC(playerid)) {
  2061. if (PlayerInfo[playerid][pFaction] == 1) {
  2062. new length = strlen(cmdtext);
  2063. while ((idx < length) && (cmdtext[idx] <= ' '))
  2064. {
  2065. idx++;
  2066. }
  2067. new offset = idx;
  2068. new result[256];
  2069. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  2070. {
  2071. result[idx - offset] = cmdtext[idx];
  2072. idx++;
  2073. }
  2074. result[idx - offset] = EOS;
  2075. if(!strlen(result))
  2076. {
  2077. SendClientMessage(playerid, COLOR_WHITE, "{FFFFFF}BENUTZUNG: {848484}/copchat [text]");
  2078. return 1;
  2079. }
  2080. SendCopMSG(result,playerid, PlayerInfo[playerid][pDistrict], PlayerInfo[playerid][pRank]);
  2081. return 1;
  2082. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Polizist.","You are not a cop.");
  2083. } return 1;
  2084. }
  2085. if (strcmp(cmd, "/radio", true) == 0 || strcmp(cmd, "/r", true) == 0) {
  2086. if (!IsPlayerNPC(playerid)) {
  2087. if (PlayerInfo[playerid][pFaction] == 1) {
  2088. new length = strlen(cmdtext);
  2089. while ((idx < length) && (cmdtext[idx] <= ' '))
  2090. {
  2091. idx++;
  2092. }
  2093. new offset = idx;
  2094. new result[256];
  2095. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  2096. {
  2097. result[idx - offset] = cmdtext[idx];
  2098. idx++;
  2099. }
  2100. result[idx - offset] = EOS;
  2101. if(!strlen(result))
  2102. {
  2103. SendClientMessage(playerid, COLOR_WHITE, "{FFFFFF}BENUTZUNG: {848484}/radio [text]");
  2104. return 1;
  2105. }
  2106. SendRadioMSG(result,playerid, PlayerInfo[playerid][pDistrict], PlayerInfo[playerid][pRank]);
  2107. return 1;
  2108. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du bist kein Polizist.","You are not a cop.");
  2109. }
  2110. return 1;
  2111. }
  2112. if (strcmp(cmd, "/setdistrict", true) == 0 || strcmp(cmd, "/versetzen", true) == 0) {
  2113. if (IsPlayerConnected(playerid)) {
  2114. if (!IsPlayerNPC(playerid)) {
  2115. if (PlayerInfo[playerid][pFaction] == 1 && PlayerInfo[playerid][pRank] == 6) {
  2116. tmp = strtok(cmdtext, idx);
  2117. if(!strlen(tmp)) {
  2118. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/versetzen [playerid/PartOfName] [district Nr.]" , "{FFFFFF}USAGE: {848484}/setdistrict [playerid/PartOfName] [Revier Nr.]");
  2119. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}Revier Nr.: 1 - LSPD, 2 - SFPD, 3 - LVPD, 4 - Verteidigungsminister" , "{FFFFFF} District Nr.: 1 - LSPD, 2 - SFPD, 3 - LVPD, 4 - Minister of defense");
  2120. return 1;
  2121. }
  2122. new giveplayerid = ReturnUser(tmp);
  2123. if(IsPlayerConnected(giveplayerid)) {
  2124. if(!IsPlayerNPC(giveplayerid)) {
  2125. if(giveplayerid != INVALID_PLAYER_ID) {
  2126. if(PlayerInfo[giveplayerid][pFaction] == PlayerInfo[playerid][pFaction]) {
  2127. if (PlayerInfo[giveplayerid][pDistrict] == 4) { return SendClientMessageEx(playerid, COLOR_GRAD2, "Wir brauchen einen Verteidigunsminister.", "We need a minister of defence."); }
  2128. tmp = strtok(cmdtext, idx);
  2129. if(!strlen(tmp)) {
  2130. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}BENUTZUNG: {848484}/ranggeben [playerid/PartOfName] [rang]" , "{FFFFFF}USAGE: {848484}/giverank [playerid/PartOfName] [rank]");
  2131. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "{FFFFFF}Revier Nr.: 1 - LSPD, 2 - SFPD, 3 - LVPD, 4 - Verteidigungsminister" , "{FFFFFF} District Nr.: 1 - LSPD, 2 - SFPD, 3 - LVPD, 4 - Minister of defense");
  2132. return 1;
  2133. }
  2134. new distnr = strval(tmp);
  2135. if (distnr < 1 || distnr > 4) return SendClientMessageEx(playerid, COLOR_GRAD2, " Dies ist keine gültige RevierNr. !", " This is no available distric Nr. !");
  2136. new dist[25];
  2137. switch (distnr) {
  2138. case 1:
  2139. format(dist, 25, "LSPD");
  2140. case 2:
  2141. format(dist, 25, "SFPD");
  2142. case 3:
  2143. format(dist, 25, "LVPD");
  2144. }
  2145. PlayerInfo[giveplayerid][pDistrict] = distnr;
  2146. format(string, sizeof(string), " Du hast %s ins %s Revier (%d) versetzt.", GetName(giveplayerid), dist, distnr);
  2147. format(string2, sizeof(string2), " You moved %s to the %s district(%d).", GetName(giveplayerid), dist, distnr);
  2148. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string, string2);
  2149. format(string, sizeof(string), " Du wurdest von %s ins %s Revier (%d) versetzt.", GetName(playerid), dist, distnr);
  2150. format(string2, sizeof(string2), " You were moved to the %s district (%d) by %s.", dist, distnr, GetName(playerid));
  2151. return SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, string, string2);
  2152. } else return SendClientMessageEx(playerid, COLOR_GRAD2,"Dieser Spieler ist nicht in deiner Fraktion.","This player is not in your faction.");
  2153. } else return SendClientMessageEx(playerid, COLOR_GRAD2,"Dieser Spieler ist nicht verbunden.","This player is not connected.");
  2154. } else return SendClientMessageEx(playerid, COLOR_GRAD2,"Dieser Spieler ist ein NPC.","This player is a NPC.");
  2155. } else return SendClientMessageEx(playerid, COLOR_GRAD2,"Dieser Spieler ist nicht verbunden.","This player is not connected.");
  2156. } else return SendClientMessageEx(playerid, COLOR_GRAD2, " Du bist kein Polizeileader !", " You aren't a Police leader !");
  2157. }
  2158. }
  2159. return 1;
  2160. }
  2161. return SendClientMessageEx(playerid, COLOR_GRAD2, "{FFFFFF}SERVER: Unbekannter Befehl.","{FFFFFF}SERVER: Unknown command.");
  2162. }
  2163.  
  2164. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  2165. {
  2166. return 1;
  2167. }
  2168.  
  2169. public OnPlayerExitVehicle(playerid, vehicleid)
  2170. {
  2171. SaveCar(vehicleid);
  2172. return 1;
  2173. }
  2174.  
  2175. public OnPlayerStateChange(playerid, newstate, oldstate)
  2176. {
  2177. if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT) {
  2178. if(!IsPlayerInAnyVehicle(playerid)) { return 1; }
  2179. else {
  2180. new vehicleid = GetPlayerVehicleID(playerid);
  2181. if(VehicleInfo[vehicleid][vFaction] > 0) {
  2182. if(PlayerInfo[playerid][pFaction] != VehicleInfo[vehicleid][vFaction]) {
  2183. TextDrawShowForPlayer(playerid, kd[playerid]);
  2184. TextDrawShowForPlayer(playerid, ftd[playerid]);
  2185. TextDrawShowForPlayer(playerid, fd[playerid]);
  2186. TextDrawShowForPlayer(playerid, sd[playerid]);
  2187. return SendClientMessageEx(playerid,COLOR_GRAD2, "Du bist nicht berechtigt dieses Fahrzeug zu führen.", "You aren't allowed to use this vehicle.");
  2188. } else {
  2189. TextDrawShowForPlayer(playerid, kd[playerid]);
  2190. TextDrawShowForPlayer(playerid, ftd[playerid]);
  2191. TextDrawShowForPlayer(playerid, fd[playerid]);
  2192. TextDrawShowForPlayer(playerid, sd[playerid]);
  2193. }
  2194. } else {
  2195. TextDrawShowForPlayer(playerid, kd[playerid]);
  2196. TextDrawShowForPlayer(playerid, ftd[playerid]);
  2197. TextDrawShowForPlayer(playerid, fd[playerid]);
  2198. TextDrawShowForPlayer(playerid, sd[playerid]);
  2199. }
  2200. }
  2201. }
  2202. if(newstate == PLAYER_STATE_PASSENGER && oldstate == PLAYER_STATE_ONFOOT) {
  2203. if(IsPlayerInAnyVehicle(playerid)) {
  2204. TextDrawShowForPlayer(playerid, kd[playerid]);
  2205. TextDrawShowForPlayer(playerid, ftd[playerid]);
  2206. TextDrawShowForPlayer(playerid, fd[playerid]);
  2207. TextDrawShowForPlayer(playerid, sd[playerid]);
  2208. }
  2209. }
  2210. if(newstate != PLAYER_STATE_PASSENGER && oldstate == PLAYER_STATE_PASSENGER || newstate != PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_DRIVER) {
  2211. TextDrawHideForPlayer(playerid, kd[playerid]);
  2212. TextDrawHideForPlayer(playerid, ftd[playerid]);
  2213. TextDrawHideForPlayer(playerid, fd[playerid]);
  2214. TextDrawHideForPlayer(playerid, sd[playerid]);
  2215. }
  2216. return 1;
  2217. }
  2218.  
  2219. public OnPlayerEnterCheckpoint(playerid)
  2220. {
  2221. return 1;
  2222. }
  2223.  
  2224. public OnPlayerLeaveCheckpoint(playerid)
  2225. {
  2226. return 1;
  2227. }
  2228.  
  2229. public OnPlayerEnterRaceCheckpoint(playerid)
  2230. {
  2231. return 1;
  2232. }
  2233.  
  2234. public OnPlayerLeaveRaceCheckpoint(playerid)
  2235. {
  2236. return 1;
  2237. }
  2238.  
  2239. public OnRconCommand(cmd[])
  2240. {
  2241. return 1;
  2242. }
  2243.  
  2244. public OnPlayerRequestSpawn(playerid)
  2245. {
  2246. return 1;
  2247. }
  2248.  
  2249. public OnObjectMoved(objectid)
  2250. {
  2251. return 1;
  2252. }
  2253.  
  2254. public OnPlayerObjectMoved(playerid, objectid)
  2255. {
  2256. return 1;
  2257. }
  2258.  
  2259. public OnPlayerPickUpPickup(playerid, pickupid)
  2260. {
  2261. return 1;
  2262. }
  2263.  
  2264. public OnVehicleMod(playerid, vehicleid, componentid)
  2265. {
  2266. return 1;
  2267. }
  2268.  
  2269. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  2270. {
  2271. return 1;
  2272. }
  2273.  
  2274. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  2275. {
  2276. return 1;
  2277. }
  2278.  
  2279. public OnPlayerSelectedMenuRow(playerid, row)
  2280. {
  2281. return 1;
  2282. }
  2283.  
  2284. public OnPlayerExitedMenu(playerid)
  2285. {
  2286. return 1;
  2287. }
  2288.  
  2289. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  2290. {
  2291. return 1;
  2292. }
  2293.  
  2294. Function EnterCoords(playerid) {
  2295. if(IsPlayerInRangeOfPoint(playerid, 1.0, 2486.3755,-1645.1011,14.0772) && GetPlayerVirtualWorld(playerid) == 0) { //GROVE STREET FAMILY HQ ENTER
  2296. return 1;
  2297. }
  2298. else if(IsPlayerInRangeOfPoint(playerid, 1.0, 2496.049804,-1695.238159,1014.742187) && GetPlayerVirtualWorld(playerid) == 3) { //GROVE STREET FAMILY HQ EXIT
  2299. return 1;
  2300. }
  2301. else if(IsPlayerInRangeOfPoint(playerid, 1.0, 2481.7598,-1344.9469,27.6598) && GetPlayerVirtualWorld(playerid) == 0) { //LOS VAGOS FAMILY HQ ENTER
  2302. return 1;
  2303. }
  2304. else if(IsPlayerInRangeOfPoint(playerid, 1.0, 2350.339843,-1181.649902,1027.976562) && GetPlayerVirtualWorld(playerid) == 3) { //LOS VAGOS FAMILY HQ EXIT
  2305. return 1;
  2306. }
  2307. return 0;
  2308. }
  2309.  
  2310. Function CheckEnterExit(playerid) {
  2311. if(IsPlayerInRangeOfPoint(playerid, 1.0, 2486.3755,-1645.1011,14.0772) && GetPlayerVirtualWorld(playerid) == 0) { //GROVE STREET FAMILY HQ ENTER
  2312. SetPlayerPos(playerid, 2496.049804,-1695.238159,1014.742187);
  2313. SetPlayerInterior(playerid, 3);
  2314. SetPlayerVirtualWorld(playerid, 1);
  2315. GameTextForPlayer(playerid, "~r~HQ", 2500, 1);
  2316. return 1;
  2317. }
  2318. else if(IsPlayerInRangeOfPoint(playerid, 1.0, 2496.049804,-1695.238159,1014.742187) && GetPlayerVirtualWorld(playerid) == 1 //GROVE STREET FAMILY HQ EXIT
  2319. && GetPlayerInterior(playerid) == 3) {
  2320. SetPlayerPos(playerid,2486.7190,-1647.0051,14.0703);
  2321. SetPlayerInterior(playerid, 0);
  2322. SetPlayerVirtualWorld(playerid, 0);
  2323. return 1;
  2324. }
  2325. else if(IsPlayerInRangeOfPoint(playerid, 1.0, 2481.7598,-1344.9469,27.6598) && GetPlayerVirtualWorld(playerid) == 0) { //LOS VAGOS FAMILY HQ ENTER
  2326. SetPlayerPos(playerid, 2350.339843,-1181.649902,1027.976562);
  2327. SetPlayerInterior(playerid, 5);
  2328. SetPlayerVirtualWorld(playerid, 3);
  2329. GameTextForPlayer(playerid, "~r~HQ", 2500, 1);
  2330. return 1;
  2331. }
  2332. else if(IsPlayerInRangeOfPoint(playerid, 1.0, 2350.339843,-1181.649902,1027.976562) && GetPlayerVirtualWorld(playerid) == 3 //LOS VAGOS FAMILY HQ EXIT
  2333. && GetPlayerInterior(playerid) == 5) {
  2334. SetPlayerPos(playerid, 2480.3843,-1344.6639,27.5576);
  2335. SetPlayerInterior(playerid, 0);
  2336. SetPlayerVirtualWorld(playerid, 0);
  2337. return 1;
  2338. }
  2339. return 1;
  2340. }
  2341.  
  2342. #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  2343. #define KEY_NUM_8 KEY_ANALOG_UP
  2344. #define KEY_NUM_4 KEY_ANALOG_LEFT
  2345. #define KEY_NUM_6 KEY_ANALOG_RIGHT
  2346. #define KEY_NUM_2 KEY_ANALOG_DOWN
  2347. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  2348. {
  2349. if(EnterCoords(playerid)) {
  2350. if(PRESSED(KEY_SECONDARY_ATTACK)) {
  2351. CheckEnterExit(playerid);
  2352. }
  2353. }
  2354. return 1;
  2355. }
  2356.  
  2357. public OnRconLoginAttempt(ip[], password[], success)
  2358. {
  2359. return 1;
  2360. }
  2361.  
  2362. public OnPlayerUpdate(playerid)
  2363. {
  2364.  
  2365. return 1;
  2366. }
  2367.  
  2368. public OnPlayerStreamIn(playerid, forplayerid)
  2369. {
  2370. return 1;
  2371. }
  2372.  
  2373. public OnPlayerStreamOut(playerid, forplayerid)
  2374. {
  2375. return 1;
  2376. }
  2377.  
  2378. public OnVehicleStreamIn(vehicleid, forplayerid)
  2379. {
  2380. SetVehicleParamsForPlayer(vehicleid, forplayerid, 1, VehicleInfo[vehicleid][vLock]);
  2381. return 1;
  2382. }
  2383.  
  2384. public OnVehicleStreamOut(vehicleid, forplayerid)
  2385. {
  2386. return 1;
  2387. }
  2388.  
  2389. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  2390. {
  2391. new string[256], string2[256];
  2392. if(dialogid == DIALOG_FOREN_ACC) {
  2393. if(response) {
  2394. new test =0;
  2395. WBB_AddNewUser(GetName(playerid) , PlayerInfo[playerid][pKey] , PlayerInfo[playerid][pEmail] , test );
  2396. }
  2397. }
  2398. if(dialogid == DIALOG_REG) {
  2399. if(response) {
  2400. format(string, sizeof(string), "{FFFFFF}Deutsch \nEnglish");
  2401. ShowPlayerDialog(playerid, DIALOG_REG_02, DIALOG_STYLE_LIST, logo, string, "Ok", "Quit");
  2402. return 1;
  2403. } else Kick(playerid);
  2404. }
  2405. if(dialogid == DIALOG_REG_02) {
  2406. if(response) {
  2407. if(listitem == 0) {
  2408. PlayerInfo[playerid][pLanguage] = LANG_DEUTSCH;
  2409. }
  2410. if(listitem == 1) {
  2411. PlayerInfo[playerid][pLanguage] = LANG_ENGLISH;
  2412. }
  2413. if(PlayerInfo[playerid][pLanguage] == LANG_DEUTSCH) {
  2414. format(string, sizeof(string), "{FFFFFF}Du hast die Sprache {FFFF00}deutsch{FFFFFF} nun als Standard festgelegt. Diese Kannst du jederzeit mit /sprache ändern! \nBitte gebe nun dein Passwort für deinen Account ein.");
  2415. ShowPlayerDialog(playerid, DIALOG_REG_03, DIALOG_STYLE_INPUT,logo, string, "Weiter","Quit");
  2416. return 1;
  2417. } else {
  2418. format(string, sizeof(string), "{FFFFFF}You've chosen {FFFF00}english{FFFFFF} as your standard language. You can change it every time with (/lang)uage. Please enter your account password below.");
  2419. ShowPlayerDialog(playerid, DIALOG_REG_03, DIALOG_STYLE_INPUT,logo, string, "Next","Quit");
  2420. return 1;
  2421. }
  2422. } else Kick(playerid);
  2423. }
  2424. if(dialogid == DIALOG_REG_03) {
  2425. if(response) {
  2426. new error[50];
  2427. if(strlen(inputtext) < 5) {
  2428. if(PlayerInfo[playerid][pLanguage] == LANG_DEUTSCH) {
  2429. format(error, sizeof(error), "Das Passwort muss mindestens 5 Zeichen haben.");
  2430. format(string, sizeof(string), "{FFFFFF}Bei deinem Passwort gab es folgenden Fehler: \n{FAAC58}'%s'{FFFFFF}\nBitte gebe nun ein neues Passwort ein.",error);
  2431. ShowPlayerDialog(playerid, DIALOG_REG_03, DIALOG_STYLE_INPUT,logo, string, "Weiter","Quit");
  2432. return 1;
  2433. } else {
  2434. format(error, sizeof(error), "Your password must have at least 5 characters.");
  2435. format(string, sizeof(string), "{FFFFFF}You have an error with your password: \n{FAAC58}'%s'{FFFFFF}\nPlease type your password again.");
  2436. ShowPlayerDialog(playerid, DIALOG_REG_03, DIALOG_STYLE_INPUT,logo, string, "Next","Quit");
  2437. return 1;
  2438. }
  2439. }
  2440. if(IsNumeric(inputtext)) {
  2441. if(PlayerInfo[playerid][pLanguage] == LANG_DEUTSCH) {
  2442. format(error, sizeof(error), "Das Passwort muss mindestens 5 Zeichen haben.");
  2443. format(string, sizeof(string), "{FFFFFF}Bei deinem Passwort gab es folgenden Fehler: \n{FAAC58}'%s'{FFFFFF}\n\nBitte gebe nun ein neues Passwort ein.",error);
  2444. ShowPlayerDialog(playerid, DIALOG_REG_03, DIALOG_STYLE_INPUT,logo, string, "Weiter","Quit");
  2445. return 1;
  2446. } else {
  2447. format(error, sizeof(error), "Your password must have at least 5 characters.");
  2448. format(string, sizeof(string), "{FFFFFF}You have an error with your password: \n{FAAC58}'%s'{FFFFFF}\n\nPlease type your password again.");
  2449. ShowPlayerDialog(playerid, DIALOG_REG_03, DIALOG_STYLE_INPUT,logo, string, "Next","Quit");
  2450. return 1;
  2451. }
  2452. }
  2453. strmid(PlayerInfo[playerid][pKey], inputtext, 0, strlen(inputtext),255);
  2454. if(PlayerInfo[playerid][pLanguage] == LANG_DEUTSCH) {
  2455. format(string, sizeof(string), "{FFFFFF}Männlich \nWeiblich");
  2456. ShowPlayerDialog(playerid, DIALOG_REG_04, DIALOG_STYLE_LIST,logo, string, "Weiter","Quit");
  2457. return 1;
  2458. } else {
  2459. format(string, sizeof(string), "{FFFFFF}Male \nFemale");
  2460. ShowPlayerDialog(playerid, DIALOG_REG_04, DIALOG_STYLE_LIST,logo, string, "Next","Quit");
  2461. return 1;
  2462. }
  2463. } else Kick(playerid);
  2464. }
  2465. if(dialogid == DIALOG_REG_04) {
  2466. if(response) {
  2467. if(listitem == 0) {
  2468. PlayerInfo[playerid][pGender] = GENDER_MALE;
  2469. if(PlayerInfo[playerid][pLanguage] == LANG_DEUTSCH) {
  2470. format(string, sizeof(string), "{FFFFFF}Du hast nun erfolgreich dein Geschlecht ausgewählt. Du bist {FFFF00}Männlich{FFFFFF}. \nBitte gebe nun dein Alter an. {585858}(Beispiel: 18 Jahre (nur die Zahl!))");
  2471. ShowPlayerDialog(playerid, DIALOG_REG_05, DIALOG_STYLE_INPUT,logo, string, "Weiter","Quit");
  2472. return 1;
  2473. } else {
  2474. format(string, sizeof(string), "{FFFFFF}You've sucessfully selected your gender. You are {FFFF00}male{FFFFFF}. \nPlease enter your age. {585858}(Example: 18 years (only number!))");
  2475. ShowPlayerDialog(playerid, DIALOG_REG_05, DIALOG_STYLE_INPUT,logo, string, "Next","Quit");
  2476. return 1;
  2477. }
  2478. }
  2479. if(listitem == 1){
  2480. PlayerInfo[playerid][pGender] = GENDER_FEMALE;
  2481. if(PlayerInfo[playerid][pLanguage] == LANG_DEUTSCH) {
  2482. format(string, sizeof(string), "{FFFFFF}Du hast nun erfolgreich dein Geschlecht ausgewählt. Du bist {FFFF00}Weiblich{FFFFFF}. \nBitte gebe nun dein Alter an. {585858}(Beispiel: 18 Jahre (nur die Zahl!))");
  2483. ShowPlayerDialog(playerid, DIALOG_REG_05, DIALOG_STYLE_INPUT,logo, string, "Weiter","Quit");
  2484. return 1;
  2485. } else {
  2486. format(string, sizeof(string), "{FFFFFF}You've sucessfully selected your gender. You are {FFFF00}female{FFFFFF}. \nPlease enter your age. {585858}(Example: 18 years (only number!))");
  2487. ShowPlayerDialog(playerid, DIALOG_REG_05, DIALOG_STYLE_INPUT,logo, string, "Next","Quit");
  2488. return 1;
  2489. }
  2490. }
  2491. } else Kick(playerid);
  2492. }
  2493. if(dialogid == DIALOG_REG_05) {
  2494. if(response) {
  2495. new error[50];
  2496. if(!IsNumeric(inputtext)) {
  2497. if(GetLang(playerid) == LANG_DEUTSCH) {
  2498. format(error, sizeof(error), "Du darfst nur Zahlen angeben.");
  2499. format(string, sizeof(string), "{FFFFFF}Bei deinem Alter gab es folgenden Fehler: \n{FAAC58}'%s'{FFFFFF}\n\nBitte gebe nun dein Alter erneut ein.",error);
  2500. ShowPlayerDialog(playerid, DIALOG_REG_05, DIALOG_STYLE_INPUT,logo, string, "Weiter","Quit");
  2501. return 1;
  2502. } else {
  2503. format(error, sizeof(error), "You can only use numbers.");
  2504. format(string, sizeof(string), "{FFFFFF}You have an error with your age: \n{FAAC58}'%s'{FFFFFF}\n\nPlease type your age again.");
  2505. ShowPlayerDialog(playerid, DIALOG_REG_05, DIALOG_STYLE_INPUT,logo, string, "Next","Quit");
  2506. return 1;
  2507. }
  2508. }
  2509. if(strval(inputtext) < 14 || strval(inputtext) > 100) {
  2510. if(GetLang(playerid) == LANG_DEUTSCH) {
  2511. format(error, sizeof(error), "Alter nicht verfügbar.");
  2512. format(string, sizeof(string), "{FFFFFF}Bei deinem Alter gab es folgenden Fehler: \n{FAAC58}'%s'{FFFFFF}\n\nBitte gebe nun dein Alter erneut ein.",error);
  2513. ShowPlayerDialog(playerid, DIALOG_REG_05, DIALOG_STYLE_INPUT,logo, string, "Weiter","Quit");
  2514. return 1;
  2515. } else {
  2516. format(error, sizeof(error), "Age not valid.");
  2517. format(string, sizeof(string), "{FFFFFF}You have an error with your age: \n{FAAC58}'%s'{FFFFFF}\n\nPlease type your age again.");
  2518. ShowPlayerDialog(playerid, DIALOG_REG_05, DIALOG_STYLE_INPUT,logo, string, "Next","Quit");
  2519. return 1;
  2520. }
  2521. }
  2522. PlayerInfo[playerid][pAge] = strval(inputtext);
  2523. if(GetLang(playerid) == LANG_DEUTSCH) {
  2524. format(string, sizeof(string), "{FFFFFF}Du bist {FFFF00}%d {FFFFFF}Jahre alt. \nDu kannst nun eine E-mailadresse angeben, wenn du das Control Panel nutzen möchtest. \nDeine E-mail wird nicht an Dritte weitergegeben!",
  2525. strval(inputtext));
  2526. ShowPlayerDialog(playerid, DIALOG_REG_06, DIALOG_STYLE_INPUT,logo, string, "Weiter","Quit");
  2527. return 1;
  2528. } else {
  2529. format(string, sizeof(string), "{FFFFFF}You are {FFFF00}%d {FFFFFF}years old. \nYou can now add your e-mail adress to use the Control Panel. \nWe don't give your e-mail adress to anyone else!",
  2530. strval(inputtext));
  2531. ShowPlayerDialog(playerid, DIALOG_REG_06, DIALOG_STYLE_INPUT,logo, string, "Next","Quit");
  2532. return 1;
  2533. }
  2534. } else Kick(playerid);
  2535. }
  2536. if(dialogid == DIALOG_REG_06) {
  2537. if(response) {
  2538. new error[50];
  2539. if(!ValidEmail(inputtext)) {
  2540. if(GetLang(playerid) == LANG_DEUTSCH) {
  2541. format(error, sizeof(error), "E-mail nicht gültig.");
  2542. format(string, sizeof(string), "{FFFFFF}Bei deiner E-mail gab es folgenden Fehler: \n{FAAC58}'%s'{FFFFFF}\n\nBitte gebe nun deine E-mail erneut ein.",error);
  2543. ShowPlayerDialog(playerid, DIALOG_REG_06, DIALOG_STYLE_INPUT,logo, string, "Weiter","Quit");
  2544. return 1;
  2545. } else {
  2546. format(error, sizeof(error), "E-mail not valid.");
  2547. format(string, sizeof(string), "{FFFFFF}You have an error with your e-mail: \n{FAAC58}'%s'{FFFFFF}\n\nPlease type your e-mail again.",error);
  2548. ShowPlayerDialog(playerid, DIALOG_REG_06, DIALOG_STYLE_INPUT,logo, string, "Next","Quit");
  2549. return 1;
  2550. }
  2551. }
  2552. strmid(PlayerInfo[playerid][pEmail],inputtext, 0, strlen(inputtext), 255);
  2553. if(GetLang(playerid) == LANG_DEUTSCH) {
  2554. format(string, sizeof(string), "{FFFFFF}Falls du von einem Spieler geworben wurdest, gebe den Namen ein.");
  2555. ShowPlayerDialog(playerid, DIALOG_REG_07, DIALOG_STYLE_INPUT,logo, string, "Weiter","Quit");
  2556. return 1;
  2557. } else {
  2558. format(string, sizeof(string), "{FFFFFF}If you are advertised by an actual member, please enter the name.");
  2559. ShowPlayerDialog(playerid, DIALOG_REG_07, DIALOG_STYLE_INPUT,logo, string, "Next","Quit");
  2560. return 1;
  2561. }
  2562. } else Kick(playerid);
  2563. }
  2564. if(dialogid == DIALOG_REG_07) {
  2565. if(response) {
  2566. if(strlen(inputtext) > 1) {
  2567. if(mysql_GetIntByString("samp_accounts","cvar","pName",inputtext) != 0) {
  2568. printf("Geworbener: %s", inputtext);
  2569. if(GetLang(playerid) == LANG_DEUTSCH) {
  2570. strmid(PlayerInfo[playerid][pAdvertiseName],inputtext, 0, strlen(inputtext), 255);
  2571. printf("Schreiben in Player DB: %s", PlayerInfo[playerid][pAdvertiseName]);
  2572. PlayerInfo[playerid][pGetAdvertised] = 1;
  2573. format(string, sizeof(string), "{FFFFFF}Dieser Spieler {6E6E6E}ist{FFFFFF} vorhanden. \nDeine Registrierung ist nun vollständig. \nWir wünschen dir viel Spaß beim Spiele. \ndas Adminteam");
  2574. ShowPlayerDialog(playerid, DIALOG_REG_08, DIALOG_STYLE_MSGBOX,logo, string, "Fertig","Quit");
  2575. OnPlayerRegister(playerid);
  2576. if(mysql_GetIntByString("samp_accounts","pOnline","pName",inputtext) != 1) {
  2577. new advert = mysql_GetIntByString("samp_accounts","pAdvertCount", "pName", inputtext);
  2578. advert ++;
  2579. format(string, sizeof(string), "UPDATE samp_accounts pAdvertCount = %d WHERE pName = %s",advert,inputtext);
  2580. mysql_query(string);
  2581. format(string, sizeof(string), "UPDATE samp_accounts pGotAdvert = 1 WHERE pName = %s",inputtext);
  2582. mysql_query(string);
  2583. } else {
  2584. PlayerInfo[ReturnUser(inputtext)][pAdvertCount] ++;
  2585. format(string, sizeof(string), "{088A08}AD-System: {FFFFFF}Du hast einen Werbepunkt bekommen durch %s.",GetName(playerid));
  2586. format(string2, sizeof(string2), "{088A08}AD-System: {FFFFFF}You gained an AD-Point by %s.",GetName(playerid));
  2587. SendClientMessageEx(ReturnUser(inputtext), COLOR_LIGHTBLUE, string, string2);
  2588. }
  2589. return 1;
  2590. } else {
  2591. strmid(PlayerInfo[playerid][pAdvertiseName],inputtext, 0, strlen(inputtext), 255);
  2592. PlayerInfo[playerid][pGetAdvertised] = 1;
  2593. format(string, sizeof(string), "{FFFFFF}Your player {6E6E6E}is{FFFFFF} actual. \nYou've sucessfully registered your account. \nWe wish you a pleasant playing. \nthe admin team");
  2594. ShowPlayerDialog(playerid, DIALOG_REG_08, DIALOG_STYLE_MSGBOX,logo, string, "Finish","Quit");
  2595. if(mysql_GetIntByString("samp_accounts","pOnline","pName",inputtext) != 1) {
  2596. format(string, sizeof(string), "UPDATE samp_accounts pAdvertCount = %d WHERE pName = %s",
  2597. (mysql_GetIntByString("samp_accounts","pAdvertCount", "pName", inputtext) +1),inputtext);
  2598. } else {
  2599. PlayerInfo[ReturnUser(inputtext)][pAdvertCount] ++;
  2600. format(string, sizeof(string), "{088A08}AD-System: {FFFFFF}Du hast einen Werbepunkt bekommen durch %s.",GetName(playerid));
  2601. format(string2, sizeof(string2), "{088A08}AD-System: {FFFFFF}You gained an AD-Point by %s.",GetName(playerid));
  2602. SendClientMessageEx(ReturnUser(inputtext), COLOR_LIGHTBLUE, string, string2);
  2603. }
  2604. return 1;
  2605. }
  2606. } else {
  2607. if(GetLang(playerid) == LANG_DEUTSCH) {
  2608. PlayerInfo[playerid][pGetAdvertised] = 0;
  2609. format(string, sizeof(string), "{FFFFFF}Dieser Spieler ist nicht vorhanden. \nDeine Registrierung ist nun vollständig. \nWir wünschen dir viel Spaß beim Spielen. \n\ndas SA:MP Admin Team");
  2610. ShowPlayerDialog(playerid, DIALOG_REG_08, DIALOG_STYLE_MSGBOX,logo, string, "Fertig","Quit");
  2611. OnPlayerRegister(playerid);
  2612. return 1;
  2613. } else {
  2614. PlayerInfo[playerid][pGetAdvertised] = 0;
  2615. format(string, sizeof(string), "{FFFFFF}Your player is not an actual. \nYou've sucessfully registered your account. \nWe wish you a pleasant playing. \n\nthe SA:MP admin team");
  2616. ShowPlayerDialog(playerid, DIALOG_REG_08, DIALOG_STYLE_MSGBOX,logo, string, "Finish","Quit");
  2617. OnPlayerRegister(playerid);
  2618. return 1;
  2619. }
  2620. }
  2621. } else {
  2622. if(GetLang(playerid) == LANG_DEUTSCH) {
  2623. PlayerInfo[playerid][pGetAdvertised] = 0;
  2624. format(string, sizeof(string), "{FFFFFF}Deine Registrierung ist nun vollständig. \nWir wünschen dir viel Spaß beim Spielen. \n\ndas SA:MP Admin Team");
  2625. ShowPlayerDialog(playerid, DIALOG_REG_08, DIALOG_STYLE_MSGBOX,logo, string, "Fertig","Quit");
  2626. OnPlayerRegister(playerid);
  2627. return 1;
  2628. } else {
  2629. PlayerInfo[playerid][pGetAdvertised] = 0;
  2630. format(string, sizeof(string), "{FFFFFF}You've sucessfully registered your account. \nWe wish you a pleasant playing. \n\nthe SA:MP admin team");
  2631. ShowPlayerDialog(playerid, DIALOG_REG_08, DIALOG_STYLE_MSGBOX,logo, string, "Finish","Quit");
  2632. OnPlayerRegister(playerid);
  2633. return 1;
  2634. }
  2635. }
  2636. } else Kick(playerid);
  2637. }
  2638. if(dialogid == DIALOG_REG_08) {
  2639. if(response) {
  2640. if(GetLang(playerid) == LANG_DEUTSCH) {
  2641. format(string, sizeof(string), "{FFFFFF}Bitte log dich nun mit deinem Passwort ein.");
  2642. } else {
  2643. format(string, sizeof(string), "{FFFFFF}Please enter you password.");
  2644. }
  2645. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,logo, string, "Login","Quit");
  2646. return 1;
  2647. } else Kick(playerid);
  2648. }
  2649. if(dialogid == DIALOG_LOGIN) {
  2650. if(response) {
  2651. if(strlen(inputtext) < 1) {
  2652. return Kick(playerid);
  2653. }
  2654. OnPlayerLogin(playerid, inputtext);
  2655. return 1;
  2656. } else Kick(playerid);
  2657. }
  2658. if(dialogid == DIALOG_CHANGEPW) {
  2659. if(response) {
  2660. if(strcmp(mysql_GetStringByString("samp_accounts","pKey","pName",GetName(playerid)),inputtext, true ) == 0 ) {
  2661. if(GetLang(playerid) == LANG_DEUTSCH) {
  2662. format(string,sizeof(string), "{FFFFFF}Bitte gebe nun dein neues Passwort ein.");
  2663. ShowPlayerDialog(playerid, DIALOG_CHANGEPW2, DIALOG_STYLE_INPUT, logo,string, "Weiter","Abbrechen");
  2664. return 1;
  2665. } else {
  2666. format(string,sizeof(string), "{FFFFFF}Please enter your new passwort below.");
  2667. ShowPlayerDialog(playerid, DIALOG_CHANGEPW2, DIALOG_STYLE_INPUT, logo,string, "Next","Quit");
  2668. return 1;
  2669. }
  2670. } else return SendClientMessageEx(playerid, COLOR_GRAD2, "Du hast dein Passwort falsch eingegeben.","You have entered a wrong passwor.");
  2671. } return 1;
  2672. }
  2673. if(dialogid == DIALOG_CHANGEPW2) {
  2674. if(response) {
  2675. strmid(PlayerInfo[playerid][pKey], inputtext, 0,strlen(inputtext), 255);
  2676. if(GetLang(playerid) == LANG_DEUTSCH) {
  2677. format(string, sizeof(string), "{FFFFFF}Du hast dein Passwort erfolgreich geändert. \nInfo: \nDu solltest dein Passwort in bestimmten Abständen ändern!");
  2678. ShowPlayerDialog(playerid, DIALOG_CHANGEPW3, DIALOG_STYLE_MSGBOX, logo, string, "Fertig","Abbrechen");
  2679. } else {
  2680. format(string, sizeof(string), "{FFFFFF}You have successfully changed your current password. \nInfo: \nIt will be safe, when you change your passwort in time again!");
  2681. ShowPlayerDialog(playerid, DIALOG_CHANGEPW3, DIALOG_STYLE_MSGBOX, logo, string, "Done","Quit");
  2682. }
  2683. new query[300];
  2684. format(query, sizeof(query), "UPDATE samp_accounts SET pKey='%s' WHERE pName='%s'",PlayerInfo[playerid][pKey],GetName(playerid));
  2685. return mysql_query(query);
  2686. } return 1;
  2687. }
  2688. if(dialogid == DIALOG_BUGREPORT) {
  2689. if(response) {
  2690. strmid(bugreport[playerid][0],inputtext, 0, strlen(inputtext), 255);
  2691. if(GetLang(playerid) == LANG_DEUTSCH) {
  2692. format(string, sizeof(string), "{FFFFFF}Du hast nun einen Titel für dein bugreport angegeben. \nBitte beschreibe dein Bug nun:");
  2693. ShowPlayerDialog(playerid, DIALOG_BUGREPORT_01, DIALOG_STYLE_INPUT, logo, string,"Weiter","Abbrechen");
  2694. return 1;
  2695. } else {
  2696. format(string, sizeof(string), "{FFFFFF}You have successfully set a title for your report. \nPlease describe your bugreport now:");
  2697. ShowPlayerDialog(playerid, DIALOG_BUGREPORT_01, DIALOG_STYLE_INPUT, logo, string,"Next","Quit");
  2698. return 1;
  2699. }
  2700. } return 1;
  2701. }
  2702. if(dialogid == DIALOG_BUGREPORT_01) {
  2703. if(response) {
  2704. strmid(bugreport[playerid][1],inputtext, 0, strlen(inputtext), 255);
  2705. if(GetLang(playerid) == LANG_DEUTSCH) {
  2706. format(string, sizeof(string), "{FFFFFF}Du kannst nun nocheinmal deinen Report anschauen: \nTitel: {FFFF00}%s \n%s \n{FFFFFF}Drücke auf 'Senden', wenn du ihn absenden möchtest.",
  2707. bugreport[playerid][0],bugreport[playerid][1]);
  2708. ShowPlayerDialog(playerid, DIALOG_BUGREPORT_02, DIALOG_STYLE_INPUT, logo, string,"Senden","Abbrechen");
  2709. return 1;
  2710. } else {
  2711. format(string, sizeof(string), "{FFFFFF}Please read again throw your bugreport: \nTitle: {FFFF00}%s \n%s \n{FFFFFF}If you sure, please click 'send'.",
  2712. bugreport[playerid][0],bugreport[playerid][1]);
  2713. ShowPlayerDialog(playerid, DIALOG_BUGREPORT_02, DIALOG_STYLE_INPUT, logo, string,"Send","Quit");
  2714. return 1;
  2715. }
  2716. } return 1;
  2717. }
  2718. if(dialogid == DIALOG_BUGREPORT_02) {
  2719. if(response) {
  2720. new query[300], date[50],big_t[3],small_t[3];
  2721. getdate(big_t[0],big_t[1], big_t[2]);
  2722. gettime(small_t[0], small_t[1], small_t[2]);
  2723. format(date, sizeof(date), "%d/%d/%d - %d:%d",
  2724. big_t[0],big_t[1],big_t[2],
  2725. small_t[0],small_t[1]);
  2726. format(query, sizeof(query), "INSERT INTO samp_bugreport (name,title,text,date) VALUES ('%s','%s','%s','%s')",
  2727. GetName(playerid),
  2728. bugreport[playerid][0],
  2729. bugreport[playerid][1],
  2730. date);
  2731. SendClientMessageEx(playerid, COLOR_GRAD2, "* Du hast dein Bugreport erfolgreich gesendet.","* Your bugreport was successfully sent.");
  2732. return mysql_query(query);
  2733. } else return 1;
  2734. }
  2735. if(dialogid == FORUM_01) {
  2736. if(!response) {
  2737. if(PlayerInfo[playerid][pLevel] >= 1) {
  2738. }
  2739. }
  2740. }
  2741. if(dialogid == DIALOG_KICK_REASON) {
  2742. if(response) {
  2743. if(strlen(inputtext) < 3) { SendClientMessageEx(playerid, COLOR_GRAD2, "Du musst einen Grund angeben.","You must enter a reason."); }
  2744. if(strlen(inputtext) > 256) { SendClientMessageEx(playerid, COLOR_GRAD2, "Der Grund sollte nicht mehr als 256 Zeichen haben.", "The reason shouldn't have more than 256 letters."); }
  2745. strmid(reasontext, inputtext, 0, strlen(inputtext), 255);
  2746. format(string, sizeof(string), "{FFFFFF}Du hast nun einen Grund: {FFFF00}%s {FFFFFF}\nBitte gebe nun eine Benutzernamen oder eine eindeutige ID ein.", reasontext);
  2747. ShowPlayerDialog(playerid, DIALOG_KICK, DIALOG_STYLE_INPUT, logo, string, "Kicken", "Abbrechen");
  2748. return 1;
  2749. }
  2750. }
  2751. if(dialogid == DIALOG_KICK) {
  2752. if(response) {
  2753. if(strlen(inputtext) < 1) { SendClientMessageEx(playerid, COLOR_GRAD2, "Du musst einen Namen eingeben.","You must enter a Nickname."); }
  2754. new giveplayer[MAX_PLAYER_NAME], giveplayerid;
  2755. giveplayerid = ReturnUser(inputtext);
  2756. if(IsPlayerConnected(giveplayerid)) {
  2757. if(PlayerSpawned[giveplayerid] != 0) {
  2758. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2759. format(string, sizeof(string),"Du hast %d gekickt.",giveplayer);
  2760. format(string2, sizeof(string2), "You've kicked %d.", giveplayer);
  2761. SendClientMessageEx(playerid, COLOR_GRAD2, string, string2);
  2762. SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, "Du wurdest von einem Admin gekickt.", "You was kicked by an Admin.");
  2763. for(new i=0;i<MAX_PLAYERS;i++) {
  2764. if(IsPlayerConnected(i) && !IsPlayerNPC(i)) {
  2765. if(GetLang(i) == LANG_DEUTSCH) {
  2766. format(string, sizeof(string), "AdmCMD: %s wurde von einem Administrator gekickt, Grund: %s", giveplayer,reasontext);
  2767. } else {
  2768. format(string, sizeof(string), "AdmCMD: %s was kicked by an Administrator, reason: %s", giveplayer, reasontext);
  2769. }
  2770. SendClientMessageToAll(COLOR_RED, string);
  2771. }
  2772. }
  2773. Add_SQL_Kick(GetName(giveplayerid), reasontext, GetName(playerid), getDate_NOW());
  2774. return Kick(giveplayerid);
  2775. } return 1;
  2776. } return 1;
  2777. } return 1;
  2778. }
  2779.  
  2780. if(dialogid == DIALOG_BAN_REASON) {
  2781. if(response) {
  2782. if(strlen(inputtext) < 3) { SendClientMessageEx(playerid, COLOR_GRAD2, "Du musst einen Grund angeben.","You must enter a reason."); }
  2783. if(strlen(inputtext) > 256) { SendClientMessageEx(playerid, COLOR_GRAD2, "Der Grund sollte nicht mehr als 256 Zeichen haben.", "The reason shouldn't have more than 256 letters."); }
  2784. strmid(reasontext, inputtext, 0, strlen(inputtext), 255);
  2785. format(string, sizeof(string), "{FFFFFF}Du hast nun einen Grund: {FFFF00}%s {FFFFFF}\nBitte gebe nun eine Benutzernamen oder eine eindeutige ID ein.", reasontext);
  2786. ShowPlayerDialog(playerid, DIALOG_BAN, DIALOG_STYLE_INPUT, logo, string, "Kicken", "Abbrechen");
  2787. return 1;
  2788. }
  2789. }
  2790. if(dialogid == DIALOG_BAN) {
  2791. if(response) {
  2792. if(strlen(inputtext) < 1) { SendClientMessageEx(playerid, COLOR_GRAD2, "Du musst einen Namen eingeben.","You must enter a Nickname."); }
  2793. new giveplayer[MAX_PLAYER_NAME], giveplayerid;
  2794. giveplayerid = ReturnUser(inputtext);
  2795. if(IsPlayerConnected(giveplayerid)) {
  2796. if(PlayerSpawned[giveplayerid] != 0) {
  2797. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2798. format(string, sizeof(string),"Du hast %d gebannt.",giveplayer);
  2799. format(string2, sizeof(string2), "You've banned %d.", giveplayer);
  2800. SendClientMessageEx(playerid, COLOR_GRAD2, string, string2);
  2801. SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, "Du wurdest von einem Admin gebannt.", "You was banned by an Admin.");
  2802. for(new i=0;i<MAX_PLAYERS;i++) {
  2803. if(IsPlayerConnected(i) && !IsPlayerNPC(i)) {
  2804. if(GetLang(i) == LANG_DEUTSCH) {
  2805. format(string, sizeof(string), "AdmCMD: %s wurde von einem Administrator gebannt, Grund: %s", giveplayer,reasontext);
  2806. } else {
  2807. format(string, sizeof(string), "AdmCMD: %s was banned by an Administrator, reason: %s", giveplayer, reasontext);
  2808. }
  2809. SendClientMessageToAll(COLOR_RED, string);
  2810. }
  2811. }
  2812. Add_SQL_Ban(GetName(giveplayerid), reasontext, GetName(playerid), getDate_NOW());
  2813. PlayerInfo[giveplayerid][pBan] = 1;
  2814. return Ban(giveplayerid);
  2815. } return 1;
  2816. } return 1;
  2817. } return 1;
  2818. }
  2819. if(dialogid == DIALOG_GET_BANNED) {
  2820. return Kick(playerid);
  2821. }
  2822.  
  2823.  
  2824. if (dialogid == DIALOG_GOTO) {
  2825. if (response) {
  2826. if (listitem == 0) {
  2827. port_switch[0] = true;
  2828. format(string, sizeof(string), "{FFFFFF}Sie möchten sich nach Los Santos teleportieren?");
  2829. return ShowPlayerDialog(playerid, DIALOG_GOTO_CITY, DIALOG_STYLE_MSGBOX, logo, string, "Teleport", "Abbrechen");
  2830. }
  2831. if (listitem == 1) {
  2832. port_switch[1] = true;
  2833. format(string, sizeof(string), "{FFFFFF}Sie möchten sich nach San Fierro teleportieren?");
  2834. return ShowPlayerDialog(playerid, DIALOG_GOTO_CITY, DIALOG_STYLE_MSGBOX, logo, string, "Teleport", "Abbrechen");
  2835. }
  2836. if (listitem == 2) {
  2837. port_switch[2] = true;
  2838. format(string, sizeof(string), "{FFFFFF}Sie möchten sich nach Las Venturas teleportieren?");
  2839. return ShowPlayerDialog(playerid, DIALOG_GOTO_CITY, DIALOG_STYLE_MSGBOX, logo, string, "Teleport", "Abbrechen");
  2840. }
  2841. if (listitem == 3) {
  2842. format(string, sizeof(string), "{FFFFFF}Geben Sie die ID bzw. den Namen des Spielers ein, zu dem Sie wollen.");
  2843. return ShowPlayerDialog(playerid, DIALOG_GOTO_PLAYER, DIALOG_STYLE_INPUT, logo, string, "Teleport", "Abbrechen");
  2844. }
  2845. }
  2846. else return SendClientMessageEx(playerid, COLOR_GRAD2, " Teleport Befehl abgebrochen !", " Teleportation Command canceled !");
  2847. }
  2848. if (dialogid == DIALOG_GOTO_CITY) {
  2849. if (response) {
  2850. for (new i = 0; i <= 2; i++) {
  2851. if (port_switch[i] == true) {
  2852. SetPlayerPos(playerid, port_coords[i][0],port_coords[i][1],port_coords[i][2]); // Coords vom LS Port
  2853. SetPlayerFacingAngle(playerid, port_coords[i][3]);
  2854. SetCameraBehindPlayer(playerid);
  2855. port_switch[i] = false;
  2856. return 1;
  2857. }
  2858. }
  2859. }
  2860. else return SendClientMessageEx(playerid, COLOR_GRAD2, " Teleport Befehl abgebrochen !", " Teleportation Command canceled !");
  2861. }
  2862. if (dialogid == DIALOG_GOTO_PLAYER) {
  2863. if (response) {
  2864. if(strlen(inputtext) < 1) { SendClientMessageEx(playerid, COLOR_GRAD2, "Du musst einen Namen eingeben oder eine ID.","You must enter a Nickname."); }
  2865. new giveplayer[MAX_PLAYER_NAME], giveplayerid;
  2866. giveplayerid = ReturnUser(inputtext);
  2867. if(IsPlayerConnected(giveplayerid)) {
  2868. if(PlayerSpawned[giveplayerid] != 0) {
  2869. new Float:pos[4];
  2870. GetPlayerPos(giveplayerid,pos[0], pos[1], pos[2]);
  2871. GetPlayerFacingAngle(giveplayerid, pos[3]);
  2872. SetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  2873. SetPlayerFacingAngle(playerid, pos[3]);
  2874. SetCameraBehindPlayer(playerid);
  2875. SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
  2876. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(giveplayerid));
  2877. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  2878. format(string, sizeof(string), "Du hast dich zu %s teleportiert.", giveplayer);
  2879. format(string2, sizeof(string2), "You teleported yourself to %s.", giveplayer);
  2880. return SendClientMessageEx(playerid, COLOR_GRAD2, string, string2);
  2881. } return 1;
  2882. } return 1;
  2883. } return 1;
  2884. }
  2885. if (dialogid == DIALOG_STATS) return 1;
  2886.  
  2887. return 1;
  2888. }
  2889.  
  2890. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  2891. {
  2892. return 1;
  2893. }
  2894.  
  2895. Function ResetData(playerid)
  2896. {
  2897. sended[playerid] = -1;
  2898. PlayerInfo[playerid][pID] = -1;
  2899. PlayerInfo[playerid][pLanguage] = -1;
  2900. PlayerInfo[playerid][pGender] = -1;
  2901. PlayerInfo[playerid][pAge] = -1;
  2902. PlayerInfo[playerid][pAdvertCount] = -1;
  2903. PlayerInfo[playerid][pGetAdvertised] = -1;
  2904. PlayerInfo[playerid][cvar] = -1;
  2905. PlayerInfo[playerid][pSkin] = STANDARD_SKIN;
  2906. PlayerInfo[playerid][pTeam] = 0;
  2907. PlayerInfo[playerid][pRegister] = 1;
  2908. PlayerInfo[playerid][pInt] = 0;
  2909. PlayerInfo[playerid][pVW] = 0;
  2910. PlayerInfo[playerid][pAdmin] = 0;
  2911. PlayerInfo[playerid][pRank] = 0;
  2912. PlayerInfo[playerid][pFaction] = 0;
  2913. PlayerInfo[playerid][pTeam] = 0;
  2914. PlayerInfo[playerid][pTutorial] = 0;
  2915. PlayerInfo[playerid][pTutTime] = 0;
  2916. PlayerInfo[playerid][pCash] = 0;
  2917. PlayerInfo[playerid][pAccount] = 0;
  2918. PlayerInfo[playerid][pArmor] = 0.0;
  2919. PlayerInfo[playerid][pHealth] = 0.0;
  2920. PlayerInfo[playerid][pExpcur] = 0.0;
  2921. PlayerInfo[playerid][pExpmax] = 0;
  2922. PlayerInfo[playerid][pLevel] = 1;
  2923. PlayerInfo[playerid][pOnlineTimeMinute] = 0;
  2924. PlayerInfo[playerid][pPlayedHours] = 0;
  2925. PlayerInfo[playerid][pSupporter] = 0;
  2926. PlayerInfo[playerid][pDistrict] = 0;
  2927. Support[playerid] = 0;
  2928. strmid(PlayerInfo[playerid][pAdvertiseName],"", 0, strlen(""), 255);
  2929. strmid(PlayerInfo[playerid][pEmail],"", 0, strlen(""), 255);
  2930. strmid(bugreport[playerid][0],"", 0, strlen(""), 255);
  2931. strmid(bugreport[playerid][1],"", 0, strlen(""), 255);
  2932. strmid(PlayerInfo[playerid][pLastOnlineTime],"", 0, strlen(""), 255);
  2933.  
  2934.  
  2935. PlayerAccount[playerid] = -1;
  2936. PlayerSpawned[playerid] = -1;
  2937.  
  2938.  
  2939. TextDrawHideForPlayer(playerid, clocktext[playerid]);
  2940. TextDrawHideForPlayer(playerid, exp_draw[playerid]);
  2941. //TextDrawHideForPlayer(playerid, level_draw[playerid]);
  2942. TextDrawHideForPlayer(playerid, cp_background[playerid]);
  2943. TextDrawHideForPlayer(playerid, kd[playerid]);
  2944. TextDrawHideForPlayer(playerid, ftd[playerid]);
  2945. TextDrawHideForPlayer(playerid, fd[playerid]);
  2946. TextDrawHideForPlayer(playerid, sd[playerid]);
  2947. return 1;
  2948. }
  2949.  
  2950. forward GetName(id);
  2951. GetName(id) {
  2952. new name[MAX_PLAYER_NAME];
  2953. GetPlayerName(id, name, sizeof(name));
  2954. return name;
  2955. }
  2956.  
  2957. GetLang(id) {
  2958. if(PlayerInfo[id][pLanguage] == LANG_DEUTSCH) {
  2959. return 0;
  2960. } else return 1;
  2961. }
  2962.  
  2963. SendClientMessageEx(id, color, string[], string2[]) {
  2964. if(GetLang(id) == LANG_DEUTSCH) {
  2965. return SendClientMessage(id, color, string);
  2966. } else return SendClientMessage(id, color, string2);
  2967. }
  2968. Function ShowStats(id, art) {
  2969. new gender[10], age;
  2970. new string[256], string2[256];
  2971. if(PlayerInfo[id][pGender] == GENDER_MALE) gender = "Männlich";
  2972. else gender = "Weiblich";
  2973. if (art == 0) {
  2974. format(string, sizeof(string), "Stats Name:%s Alter:%d", GetName(id), age);
  2975. format(string2, sizeof(string2), "Stats");
  2976. SendClientMessageEx(id, COLOR_WHITE, string, string2);
  2977. }
  2978. if (art == 1) {
  2979. format(string, sizeof(string), "Stats");
  2980. ShowPlayerDialog(id, DIALOG_STATS, DIALOG_STYLE_MSGBOX, logo, string, "Beenden", "Beenden");
  2981. }
  2982. }
  2983.  
  2984. Function OnPlayerAccountUpdate(id) {
  2985. new query[300];
  2986. //format(query, sizeof(query), "UPDATE samp_accounts SET pKey = '%s' WHERE pName = '%s'", PlayerInfo[id][pKey],GetName(id));
  2987. //mysql_query(query);
  2988. format(query, sizeof(query), "UPDATE samp_accounts SET pName = '%s' WHERE pName = '%s'", GetName(id),GetName(id));
  2989. mysql_query(query);
  2990. format(query, sizeof(query), "UPDATE samp_accounts SET pEmail = '%s' WHERE pName = '%s'", PlayerInfo[id][pEmail],GetName(id));
  2991. mysql_query(query);
  2992. format(query, sizeof(query), "UPDATE samp_accounts SET pAge = %d WHERE pName = '%s'", PlayerInfo[id][pAge],GetName(id));
  2993. mysql_query(query);
  2994. format(query, sizeof(query), "UPDATE samp_accounts SET pAdvertiseName = '%s' WHERE pName = '%s'", PlayerInfo[id][pAdvertiseName],GetName(id));
  2995. mysql_query(query);
  2996. format(query, sizeof(query), "UPDATE samp_accounts SET pGender = %d WHERE pName = '%s'", PlayerInfo[id][pGender],GetName(id));
  2997. mysql_query(query);
  2998. format(query, sizeof(query), "UPDATE samp_accounts SET pLanguage = %d WHERE pName = '%s'", PlayerInfo[id][pLanguage],GetName(id));
  2999. mysql_query(query);
  3000. format(query, sizeof(query), "UPDATE samp_accounts SET pGetAdvertised = %d WHERE pName = '%s'", PlayerInfo[id][pGetAdvertised],GetName(id));
  3001. mysql_query(query);
  3002. format(query, sizeof(query), "UPDATE samp_accounts SET pAdvertCount = %d WHERE pName = '%s'", PlayerInfo[id][pAdvertCount],GetName(id));
  3003. mysql_query(query);
  3004. format(query, sizeof(query), "UPDATE samp_accounts SET pGotAdvert = %d WHERE pName = '%s'", PlayerInfo[id][pGotAdvert],GetName(id));
  3005. mysql_query(query);
  3006. format(query, sizeof(query), "UPDATE samp_accounts SET pSkin = %d WHERE pName = '%s'", PlayerInfo[id][pSkin],GetName(id));
  3007. mysql_query(query);
  3008. format(query, sizeof(query), "UPDATE samp_accounts SET pTeam = %d WHERE pName = '%s'", PlayerInfo[id][pTeam],GetName(id));
  3009. mysql_query(query);
  3010. format(query, sizeof(query), "UPDATE samp_accounts SET pRegister = %d WHERE pName = '%s'", PlayerInfo[id][pRegister],GetName(id));
  3011. mysql_query(query);
  3012. format(query, sizeof(query), "UPDATE samp_accounts SET pInt = %d WHERE pName = '%s'", PlayerInfo[id][pInt],GetName(id));
  3013. mysql_query(query);
  3014. format(query, sizeof(query), "UPDATE samp_accounts SET pVW = %d WHERE pName = '%s'", PlayerInfo[id][pVW],GetName(id));
  3015. mysql_query(query);
  3016. format(query, sizeof(query), "UPDATE samp_accounts SET pPos_x = %f WHERE pName = '%s'", PlayerInfo[id][pPos_x],GetName(id));
  3017. mysql_query(query);
  3018. format(query, sizeof(query), "UPDATE samp_accounts SET pPos_y = %f WHERE pName = '%s'", PlayerInfo[id][pPos_y],GetName(id));
  3019. mysql_query(query);
  3020. format(query, sizeof(query), "UPDATE samp_accounts SET pPos_z = %f WHERE pName = '%s'", PlayerInfo[id][pPos_z],GetName(id));
  3021. mysql_query(query);
  3022. format(query, sizeof(query), "UPDATE samp_accounts SET pPos_zangle = %f WHERE pName = '%s'", PlayerInfo[id][pPos_z],GetName(id));
  3023. mysql_query(query);
  3024. format(query, sizeof(query), "UPDATE samp_accounts SET pOnline = %d WHERE pName = '%s'", PlayerInfo[id][pOnline],GetName(id));
  3025. mysql_query(query);
  3026. format(query, sizeof(query), "UPDATE samp_accounts SET pAdmin = %d WHERE pName = '%s'", PlayerInfo[id][pAdmin],GetName(id));
  3027. mysql_query(query);
  3028. format(query, sizeof(query), "UPDATE samp_accounts SET pRank = %d WHERE pName = '%s'", PlayerInfo[id][pRank],GetName(id));
  3029. mysql_query(query);
  3030. format(query, sizeof(query), "UPDATE samp_accounts SET pFaction = %d WHERE pName = '%s'", PlayerInfo[id][pFaction],GetName(id));
  3031. mysql_query(query);
  3032. format(query, sizeof(query), "UPDATE samp_accounts SET pTutorial = %d WHERE pName = '%s'", PlayerInfo[id][pTutorial],GetName(id));
  3033. mysql_query(query);
  3034. format(query, sizeof(query), "UPDATE samp_accounts SET pTutTime = %d WHERE pName = '%s'", PlayerInfo[id][pTutTime],GetName(id));
  3035. mysql_query(query);
  3036. format(query, sizeof(query), "UPDATE samp_accounts SET pCash = %d WHERE pName = '%s'", PlayerInfo[id][pCash],GetName(id));
  3037. mysql_query(query);
  3038. format(query, sizeof(query), "UPDATE samp_accounts SET pAccount = %d WHERE pName = '%s'", PlayerInfo[id][pAccount],GetName(id));
  3039. mysql_query(query);
  3040. format(query, sizeof(query), "UPDATE samp_accounts SET pArmor = %f WHERE pName = '%s'", PlayerInfo[id][pArmor],GetName(id));
  3041. mysql_query(query);
  3042. format(query, sizeof(query), "UPDATE samp_accounts SET pHealth = %f WHERE pName = '%s'", PlayerInfo[id][pHealth],GetName(id));
  3043. mysql_query(query);
  3044. format(query, sizeof(query), "UPDATE samp_accounts SET pExpcur = %f WHERE pName = '%s'", PlayerInfo[id][pExpcur],GetName(id));
  3045. mysql_query(query);
  3046. format(query, sizeof(query), "UPDATE samp_accounts SET pExpmax = %d WHERE pName = '%s'", PlayerInfo[id][pExpmax],GetName(id));
  3047. mysql_query(query);
  3048. format(query, sizeof(query), "UPDATE samp_accounts SET pLevel = %d WHERE pName = '%s'", PlayerInfo[id][pLevel],GetName(id));
  3049. mysql_query(query);
  3050. format(query, sizeof(query), "UPDATE samp_accounts SET pOnlineTimeMinute = %d WHERE pName = '%s'", PlayerInfo[id][pOnlineTimeMinute],GetName(id));
  3051. mysql_query(query);
  3052. format(query, sizeof(query), "UPDATE samp_accounts SET pPlayedHours = %d WHERE pName = '%s'", PlayerInfo[id][pPlayedHours],GetName(id));
  3053. mysql_query(query);
  3054. format(query, sizeof(query), "UPDATE samp_accounts SET pSupporter = %d WHERE pName = '%s'", PlayerInfo[id][pSupporter],GetName(id));
  3055. mysql_query(query);
  3056. format(query, sizeof(query), "UPDATE samp_accounts SET pIP = %d WHERE pName = '%s'", PlayerInfo[id][pIP],GetName(id));
  3057. mysql_query(query);
  3058. format(query, sizeof(query), "UPDATE samp_accounts SET pIP2 = %d WHERE pName = '%s'", PlayerInfo[id][pIP2],GetName(id));
  3059. mysql_query(query);
  3060. format(query, sizeof(query), "UPDATE samp_accounts SET pIP3 = %d WHERE pName = '%s'", PlayerInfo[id][pIP3],GetName(id));
  3061. mysql_query(query);
  3062. format(query, sizeof(query), "UPDATE samp_accounts SET pBan = %d WHERE pName = '%s'", PlayerInfo[id][pBan],GetName(id));
  3063. mysql_query(query);
  3064. format(query, sizeof(query), "UPDATE samp_accounts SET pKills = %d WHERE pName = '%s'", PlayerInfo[id][pKills],GetName(id));
  3065. mysql_query(query);
  3066. format(query, sizeof(query), "UPDATE samp_accounts SET pDeaths = %d WHERE pName = '%s'", PlayerInfo[id][pDeaths],GetName(id));
  3067. mysql_query(query);
  3068. format(query, sizeof(query), "UPDATE samp_accounts SET pDistrict = %d WHERE pName = '%s'", PlayerInfo[id][pDistrict],GetName(id));
  3069. mysql_query(query);
  3070. format(query, sizeof(query), "UPDATE samp_accounts SET pLastOnlineTime = '%s' WHERE pName = '%s'", PlayerInfo[id][pLastOnlineTime],GetName(id));
  3071. mysql_query(query);
  3072. mysql_free_result();
  3073. return 1;
  3074. }
  3075.  
  3076. Function OnPlayerRegister(id) {
  3077. new query[300], name[MAX_PLAYER_NAME];
  3078. GetPlayerName(id, name, sizeof(name));
  3079. PlayerInfo[id][cvar] = 1;
  3080. format(query, sizeof(query), "INSERT INTO samp_accounts (pKey,pName,cvar,pRegister) VALUES ('%s','%s',%d,%d)", PlayerInfo[id][pKey], name,PlayerInfo[id][cvar],PlayerInfo[id][pRegister]);
  3081. printf("%s",query);
  3082. mysql_query(query);
  3083. return OnPlayerAccountUpdate(id);
  3084. }
  3085.  
  3086. Function OnPlayerLogin(id, pass[]) {
  3087.  
  3088. new ip[16];
  3089. GetPlayerIp(id, ip, sizeof(ip));
  3090. if(strcmp(mysql_GetStringByString("samp_accounts","pIP","pName",GetName(id)),ip, true ) == 0 || strcmp(mysql_GetStringByString("samp_accounts","pIP2","pName",GetName(id)),ip, true ) == 0
  3091. || strcmp(mysql_GetStringByString("samp_accounts","pIP3","pName",GetName(id)),ip, true ) == 0 ) {
  3092.  
  3093.  
  3094. }
  3095. new string[128];
  3096. if(strcmp(mysql_GetStringByString("samp_accounts","pKey","pName",GetName(id)),pass, true ) == 0 ) {
  3097. PlayerInfo[id][pAge] = mysql_GetIntByString("samp_accounts","pAge","pName",GetName(id));
  3098. PlayerInfo[id][pGender] = mysql_GetIntByString("samp_accounts","pGender","pName",GetName(id));
  3099. PlayerInfo[id][pLanguage] = mysql_GetIntByString("samp_accounts","pLanguage","pName",GetName(id));
  3100. PlayerInfo[id][pGetAdvertised] = mysql_GetIntByString("samp_accounts","pGetAdvertised","pName",GetName(id));
  3101. PlayerInfo[id][pAdvertCount] = mysql_GetIntByString("samp_accounts","pAdvertCount","pName",GetName(id));
  3102. strmid(PlayerInfo[id][pEmail],mysql_GetStringByString("samp_accounts","pEmail","pName",GetName(id)), 0, strlen(mysql_GetStringByString("samp_accounts","pEmail","pName",GetName(id))), 255);
  3103. strmid(PlayerInfo[id][pKey],mysql_GetStringByString("samp_accounts","pKey","pName",GetName(id)), 0, strlen(mysql_GetStringByString("samp_accounts","pKey","pName",GetName(id))), 255);
  3104. strmid(PlayerInfo[id][pKey],mysql_GetStringByString("samp_accounts","pName","pName",GetName(id)), 0, strlen(mysql_GetStringByString("samp_accounts","pName","pName",GetName(id))), 255);
  3105. strmid(PlayerInfo[id][pKey],mysql_GetStringByString("samp_accounts","pAdvertiseName","pName",GetName(id)), 0, strlen(mysql_GetStringByString("samp_accounts","pAdvertiseName","pName",GetName(id))), 255);
  3106. PlayerInfo[id][pSkin] = mysql_GetIntByString("samp_accounts","pSkin","pName",GetName(id));
  3107. PlayerInfo[id][pTeam] = mysql_GetIntByString("samp_accounts","pTeam","pName",GetName(id));
  3108. PlayerInfo[id][pRegister] = mysql_GetIntByString("samp_accounts","pRegister","pName",GetName(id));
  3109. PlayerInfo[id][pPos_x] = mysql_GetFloatByString("samp_accounts","pPos_x","pName",GetName(id));
  3110. PlayerInfo[id][pPos_y] = mysql_GetFloatByString("samp_accounts","pPos_y","pName",GetName(id));
  3111. PlayerInfo[id][pPos_z] = mysql_GetFloatByString("samp_accounts","pPos_z","pName",GetName(id));
  3112. PlayerInfo[id][pPos_zangle] = mysql_GetFloatByString("samp_accounts","pPos_zangle","pName",GetName(id));
  3113. PlayerInfo[id][pInt] = mysql_GetIntByString("samp_accounts","pInt","pName",GetName(id));
  3114. PlayerInfo[id][pVW] = mysql_GetIntByString("samp_accounts","pVW","pName",GetName(id));
  3115. PlayerInfo[id][pAdmin] = mysql_GetIntByString("samp_accounts","pAdmin","pName",GetName(id));
  3116. PlayerInfo[id][pRank] = mysql_GetIntByString("samp_accounts","pRank","pName",GetName(id));
  3117. PlayerInfo[id][pFaction] = mysql_GetIntByString("samp_accounts","pFaction","pName",GetName(id));
  3118. PlayerInfo[id][pTutorial] = mysql_GetIntByString("samp_accounts","pTutorial","pName",GetName(id));
  3119. PlayerInfo[id][pTutTime] = mysql_GetIntByString("samp_accounts","pTutTime","pName",GetName(id));
  3120. PlayerInfo[id][pCash] = mysql_GetIntByString("samp_accounts","pCash","pName",GetName(id));
  3121. PlayerInfo[id][pAccount] = mysql_GetIntByString("samp_accounts","pAccount","pName",GetName(id));
  3122. PlayerInfo[id][pHealth] = mysql_GetFloatByString("samp_accounts","pHealth","pName",GetName(id));
  3123. PlayerInfo[id][pArmor] = mysql_GetFloatByString("samp_accounts","pArmor","pName",GetName(id));
  3124. PlayerInfo[id][pExpcur] = mysql_GetFloatByString("samp_accounts","pExpcur","pName",GetName(id));
  3125. PlayerInfo[id][pExpmax] = mysql_GetIntByString("samp_accounts","pExpmax","pName",GetName(id));
  3126. PlayerInfo[id][pLevel] = mysql_GetIntByString("samp_accounts","pLevel","pName",GetName(id));
  3127. PlayerInfo[id][pOnlineTimeMinute] = mysql_GetIntByString("samp_accounts","pOnlineTimeMinute","pName",GetName(id));
  3128. PlayerInfo[id][pPlayedHours] = mysql_GetIntByString("samp_accounts","pPlayedHours","pName",GetName(id));
  3129. PlayerInfo[id][pSupporter] = mysql_GetIntByString("samp_accounts","pSupporter","pName",GetName(id));
  3130. PlayerInfo[id][pIP] = mysql_GetIntByString("samp_accounts","pIP","pName",GetName(id));
  3131. PlayerInfo[id][pIP2] = mysql_GetIntByString("samp_accounts","pIP2","pName",GetName(id));
  3132. PlayerInfo[id][pIP3] = mysql_GetIntByString("samp_accounts","pIP3","pName",GetName(id));
  3133. PlayerInfo[id][pBan] = mysql_GetIntByString("samp_accounts","pBan","pName",GetName(id));
  3134. PlayerInfo[id][pGotAdvert] = mysql_GetIntByString("samp_accounts","pGotAdvert","pName",GetName(id));
  3135. PlayerInfo[id][pKills] = mysql_GetIntByString("samp_accounts","pKills","pName",GetName(id));
  3136. PlayerInfo[id][pDistrict] = mysql_GetIntByString("samp_accounts","pDistrict","pName",GetName(id));
  3137. strmid(PlayerInfo[id][pLastOnlineTime],mysql_GetStringByString("samp_accounts","pLastOnlineTime","pName",GetName(id)), 0, strlen(mysql_GetStringByString("samp_accounts","pLastOnlineTime","pName",GetName(id))), 255);
  3138.  
  3139. } else {
  3140. if(GetLang(id) == LANG_DEUTSCH) {
  3141. format(string, sizeof(string), "{FFFFFF}Du hast dein Passwort falsch eingegeben. Bitte gebe es erneut ein.");
  3142. } else {
  3143. format(string, sizeof(string), "{FFFFFF}You password is wrong. Please enter you password again.");
  3144. }
  3145. ShowPlayerDialog(id, DIALOG_LOGIN, DIALOG_STYLE_INPUT,logo, string, "Login","Quit");
  3146. return 1;
  3147. }
  3148.  
  3149. if(PlayerInfo[id][pRegister] == 1) {
  3150. PlayerInfo[id][pRegister] = 0;
  3151. PlayerInfo[id][pSkin] = STANDARD_SKIN;
  3152. PlayerInfo[id][pPos_x] = START_POS_X;
  3153. PlayerInfo[id][pPos_y] = START_POS_Y;
  3154. PlayerInfo[id][pPos_z] = START_POS_Z;
  3155. PlayerInfo[id][pPos_zangle] = START_Z_ANGLE;
  3156. PlayerInfo[id][pCash] = START_MONEY_CASH;
  3157. PlayerInfo[id][pAccount] = START_MONEY_ACCOUNT;
  3158. PlayerInfo[id][pHealth] = 100.0;
  3159. PlayerInfo[id][pTutorial] = 1;
  3160. }
  3161. SetSpawnInfo(id, PlayerInfo[id][pTeam], PlayerInfo[id][pSkin], PlayerInfo[id][pPos_x], PlayerInfo[id][pPos_y], PlayerInfo[id][pPos_z], 1.0, -1, -1, -1, -1, -1, -1);
  3162. SetPlayerSkin(id, PlayerInfo[id][pSkin]);
  3163. SetPlayerHealthEx(id, PlayerInfo[id][pHealth]);
  3164. SetPlayerArmourEx(id, PlayerInfo[id][pArmor]);
  3165. SetPlayerInterior(id, PlayerInfo[id][pInt]);
  3166. SetPlayerVirtualWorld(id, PlayerInfo[id][pVW]);
  3167. GivePlayerMoneyEx(id, PlayerInfo[id][pCash]);
  3168. PlayerInfo[id][pOnline] = 1;
  3169. TextDrawShowForPlayer(id, clocktext[id]);
  3170. TextDrawShowForPlayer(id, exp_draw[id]);
  3171. //TextDrawShowForPlayer(id, level_draw[id]);
  3172. TextDrawShowForPlayer(id, cp_background[id]);
  3173. SpawnPlayer(id);
  3174. CheckExp(id);
  3175. if(PlayerInfo[id][pGotAdvert] != 0) {
  3176. SendClientMessageEx(id,COLOR_GRAD2, "{D7DF01}AC-System:{FFFFFF} Du hast einen neuen Spieler geworben. Nutze /geworben","{D7DF01}AC-System:{FFFFFF} You've advert a new player. Use /gadvert.");
  3177. PlayerInfo[id][pGotAdvert] = 0;
  3178. }
  3179. return 1;
  3180. }
  3181.  
  3182. strtok(const string[], &index)
  3183. {
  3184. new length = strlen(string);
  3185. while ((index < length) && (string[index] <= ' '))
  3186. {
  3187. index++;
  3188. }
  3189.  
  3190. new offset = index;
  3191. new result[20];
  3192. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  3193. {
  3194. result[index - offset] = string[index];
  3195. index++;
  3196. }
  3197. result[index - offset] = EOS;
  3198. return result;
  3199. }
  3200.  
  3201. Function SetPlayerSpawn(id) {
  3202. SetPlayerHealthEx(id, 50.0);
  3203. SetPlayerPos(id, PlayerInfo[id][pPos_x], PlayerInfo[id][pPos_y], PlayerInfo[id][pPos_z]);
  3204. SetPlayerFacingAngle(id, PlayerInfo[id][pPos_zangle]);
  3205. if(PlayerInfo[id][pTutorial] == 1) {
  3206. TogglePlayerControllable(id, 0);
  3207. StartTutorial(id);
  3208. return 1;
  3209. }
  3210. return 1;
  3211. }
  3212. Function StartTutorial(id) {
  3213. if(PlayerInfo[id][pTutTime] == 1 ) {
  3214. SendClientMessageEx(id, COLOR_LIGHTBLUE, "Start","Start");
  3215. SendClientMessageEx(id, COLOR_WHITE, "{FFFFFF}Wir freuen uns, dich auf unserem Roleplayserver begrüßen zu dürfen.","{FFFFFF}We are happy to see you on our roleplay server.");
  3216. SendClientMessageEx(id, COLOR_WHITE, "{FFFFFF}In diesem Tutorial bekommst du Hilfe zu deinen ersten Schritten hier auf unserem Server.","{FFFFFF}In this tutorial you get help to start your play here.");
  3217. SendClientMessageEx(id, COLOR_WHITE, "{FFFFFF}Wir wünschen dir viel Spaß auf {DF0101}ThugLife RP","{FFFFFF}We hope you enjoy playing on {DF0101}ThugLife RP");
  3218. }
  3219. if(PlayerInfo[id][pTutTime] == 21) { //Verhalten auf dem Server
  3220. SendClientMessageEx(id, COLOR_LIGHTBLUE, "Verhalten","Behavior");
  3221. SendClientMessageEx(id, COLOR_WHITE, "Auf diesem Server gibt es verschiedene Verhaltensregeln. Wir bitten dich darum, das du alle Spieler so behandelst","On this server we have some rules. we please u, that u treat other players like u also wanne be treated by them, with respect.");
  3222. SendClientMessageEx(id, COLOR_WHITE, "wie du es auch von anderen Spielern erwartest, mit Respekt. Beleidigungen und ähnliches werden von Admins bestrafft!","The verbal slander is absolutely forbidden on this server, and will be punished by the admin team. Also i's absolutely forbidden, to attack");
  3223. SendClientMessageEx(id, COLOR_WHITE, "Desweiteren ist das sinnlose Töten von Spielern (auch DM oder sinnloses DM genannt) strengstens Verboten, und wird von Admins bestrafft.","other players without reason and also beginners. When an admin support a player, or is Onduty, its forbidden to attack him!");
  3224. SendClientMessageEx(id, COLOR_WHITE, "Auch darf man einen Admin nicht angreifen, welcher Onduty ist oder einen Spieler Supportet.","");
  3225. }
  3226. if(PlayerInfo[id][pTutTime] == 31) { //Buguse / cheat o-Ä.
  3227. SendClientMessageEx(id, COLOR_LIGHTBLUE, "Buguse/Cheats/Fremdwerbung","Buguse/Cheats/Advertisement");
  3228. SendClientMessageEx(id, COLOR_WHITE, "Es ist strengstens Verboten, Bugs oder Cheats zu benuzten. Wenn du einen Bug findest, kannst du diesen über '/bugreport' melden.","On this server, its forbidden to use bugs, cheats or other things like this. If u find a bug, we please u, that u report them with 'bugreport'.");
  3229. SendClientMessageEx(id, COLOR_WHITE, "Falls du einen Cheater siehst, melde diesen bitte unverzüglich über '/report'. Wenn du Cheats benutzt, wirst du sofort von einem Admin auf Lebenszeit gebannt.","If use cheats, u will banned on lifetime. When u wanna make advertisment for other Servers, you also will banned on lifetime.");
  3230. SendClientMessageEx(id, COLOR_WHITE, "Wenn du Cheats benutzt, wirst du sofort von einem Admin auf Lebenszeit gebannt. Falls du Fremdenwerbung machst, wirst du natürlich auch sofort gebannt werden.","When u see a person which use cheats, please u to report them with '/report'.");
  3231. }
  3232. if(PlayerInfo[id][pTutTime] == 61) { //Support
  3233. SendClientMessageEx(id, COLOR_LIGHTBLUE, "Support","Support");
  3234. SendClientMessageEx(id, COLOR_WHITE, "Wenn du Hilfe brauchst, oder einfach eine frage hast, kannst du jederzeit einen Admin mit '/support [Nachricht]' rufen/fragen.","When u have question or if u need help, you all time kann write a message to an admin with /support [message].");
  3235. SendClientMessageEx(id, COLOR_WHITE, "Der Admin/supporter wird dir dann helfen","The Admin/Supporter will help you.");
  3236. }
  3237. if(PlayerInfo[id][pTutTime] == 81) { //Sonstiges
  3238. SendClientMessageEx(id, COLOR_LIGHTBLUE, "Sonstiges","Other");
  3239. }
  3240. if(PlayerInfo[id][pTutTime] == 101) {
  3241. PlayerInfo[id][pTutorial] = 2;
  3242. PlayerInfo[id][pExpcur] += 10.0;
  3243. TogglePlayerControllable(id, 1);
  3244. SendClientMessageEx(id, COLOR_WHITE, "Du hast das Tutorial nun erfolgreich beendet. ","You have now finished the tutorial.");
  3245. SendClientMessageEx(id, COLOR_WHITE, "Das {DF0101}ThugLife RP{FFFFFF} Team wünscht Dir viel Spaß! ","The {DF0101}ThugLife RP{FFFFFF} wish you a lot of fun!");
  3246. }
  3247. return 1;
  3248. }
  3249.  
  3250. Function SetPlayerHealthEx(id, Float: h) {
  3251. PlayerInfo[id][pHealth] = h;
  3252. SetPlayerHealth(id, h);
  3253. return 1;
  3254. }
  3255.  
  3256. Function SetPlayerArmourEx(id, Float: a) {
  3257. PlayerInfo[id][pArmor] = a;
  3258. SetPlayerArmour(id, a);
  3259. return 1;
  3260. }
  3261.  
  3262. Function GivePlayerMoneyEx(id, amount) {
  3263. PlayerInfo[id][pCash] = amount;
  3264. ResetPlayerMoney(id);
  3265. GivePlayerMoney(id, amount);
  3266. return 1;
  3267. }
  3268.  
  3269. Function CheckExp(id) {
  3270. if(PlayerInfo[id][pExpcur] < 10) {
  3271. PlayerInfo[id][pLevel] = 0;
  3272. PlayerInfo[id][pExpmax] = 10;
  3273. }
  3274. if(PlayerInfo[id][pExpcur] >= 10 && PlayerInfo[id][pExpcur] >= 49) {
  3275. PlayerInfo[id][pLevel] = 1;
  3276. PlayerInfo[id][pExpmax] = 50;
  3277. }
  3278. if(PlayerInfo[id][pExpcur] >= 50 && PlayerInfo[id][pExpcur] >= 124) {
  3279. PlayerInfo[id][pLevel] = 2;
  3280. PlayerInfo[id][pExpmax] = 125;
  3281. }
  3282. if(PlayerInfo[id][pExpcur] >= 125 && PlayerInfo[id][pExpcur] >= 299) {
  3283. PlayerInfo[id][pLevel] = 3;
  3284. PlayerInfo[id][pExpmax] = 300;
  3285. }
  3286. if(PlayerInfo[id][pExpcur] >= 300 && PlayerInfo[id][pExpcur] >= 599) {
  3287. PlayerInfo[id][pLevel] = 4;
  3288. PlayerInfo[id][pExpmax] = 600;
  3289. }
  3290. if(PlayerInfo[id][pExpcur] >= 600 && PlayerInfo[id][pExpcur] >= 1499) {
  3291. PlayerInfo[id][pLevel] = 5;
  3292. PlayerInfo[id][pExpmax] = 1500;
  3293. }
  3294. if(PlayerInfo[id][pExpcur] >= 1500 && PlayerInfo[id][pExpcur] >= 2699) {
  3295. PlayerInfo[id][pLevel] = 6;
  3296. PlayerInfo[id][pExpmax] = 2700;
  3297. }
  3298. if(PlayerInfo[id][pExpcur] >= 2700 && PlayerInfo[id][pExpcur] >= 4499) {
  3299. PlayerInfo[id][pLevel] = 7;
  3300. PlayerInfo[id][pExpmax] = 4500;
  3301. }
  3302. if(PlayerInfo[id][pExpcur] >= 4500 && PlayerInfo[id][pExpcur] >= 6999) {
  3303. PlayerInfo[id][pLevel] = 8;
  3304. PlayerInfo[id][pExpmax] = 7000;
  3305. }
  3306. if(PlayerInfo[id][pExpcur] >= 7000 && PlayerInfo[id][pExpcur] >= 10499) {
  3307. PlayerInfo[id][pLevel] = 9;
  3308. PlayerInfo[id][pExpmax] = 10500;
  3309. }
  3310. if(PlayerInfo[id][pExpcur] >= 10500 && PlayerInfo[id][pExpcur] >= 16999) {
  3311. PlayerInfo[id][pLevel] = 10;
  3312. PlayerInfo[id][pExpmax] = 17000;
  3313. }
  3314. if(PlayerInfo[id][pExpcur] >= 17000 && PlayerInfo[id][pExpcur] >= 24999) {
  3315. PlayerInfo[id][pLevel] = 11;
  3316. PlayerInfo[id][pExpmax] = 25000;
  3317. }
  3318. if(PlayerInfo[id][pExpcur] >= 25000 && PlayerInfo[id][pExpcur] >= 39999) {
  3319. PlayerInfo[id][pLevel] = 12;
  3320. PlayerInfo[id][pExpmax] = 40000;
  3321. }
  3322. if(PlayerInfo[id][pExpcur] >= 40000 && PlayerInfo[id][pExpcur] >= 59999) {
  3323. PlayerInfo[id][pLevel] = 13;
  3324. PlayerInfo[id][pExpmax] = 60000;
  3325. }
  3326. if(PlayerInfo[id][pExpcur] >= 60000 && PlayerInfo[id][pExpcur] >= 99999) {
  3327. PlayerInfo[id][pLevel] = 14;
  3328. PlayerInfo[id][pExpmax] = 100000;
  3329. }
  3330. if(PlayerInfo[id][pExpcur] >= 100000 && PlayerInfo[id][pExpcur] >= 149999) {
  3331. PlayerInfo[id][pLevel] = 15;
  3332. PlayerInfo[id][pExpmax] = 150000;
  3333. }
  3334. if(PlayerInfo[id][pExpcur] >= 150000 && PlayerInfo[id][pExpcur] >= 249999) {
  3335. PlayerInfo[id][pLevel] = 16;
  3336. PlayerInfo[id][pExpmax] = 250000;
  3337. }
  3338. if(PlayerInfo[id][pExpcur] >= 250000 && PlayerInfo[id][pExpcur] >= 399999) {
  3339. PlayerInfo[id][pLevel] = 17;
  3340. PlayerInfo[id][pExpmax] = 400000;
  3341. }
  3342. if(PlayerInfo[id][pExpcur] >= 400000 && PlayerInfo[id][pExpcur] >= 599999) {
  3343. PlayerInfo[id][pLevel] = 18;
  3344. PlayerInfo[id][pExpmax] = 600000;
  3345. }
  3346. if(PlayerInfo[id][pExpcur] >= 600000 && PlayerInfo[id][pExpcur] >= 999999) {
  3347. PlayerInfo[id][pLevel] = 19;
  3348. PlayerInfo[id][pExpmax] = 1000000;
  3349. }
  3350. if(PlayerInfo[id][pExpcur] >= 900000 && PlayerInfo[id][pExpcur] >= 1499999) {
  3351. PlayerInfo[id][pLevel] = 20;
  3352. PlayerInfo[id][pExpmax] = 1500000;
  3353. }
  3354. new Float: percent;
  3355. new string[128];
  3356. percent = (PlayerInfo[id][pExpmax]/100)*PlayerInfo[id][pExpcur];
  3357. format(string, sizeof(string), "~g~Exp: ~r~%.1f/~w~%d ~g~(%.1f)",
  3358. PlayerInfo[id][pExpcur],
  3359. PlayerInfo[id][pExpmax],
  3360. percent);
  3361. TextDrawSetString(exp_draw[id], string);
  3362. //format(string2, sizeof(string2), "Level: %d ",PlayerInfo[id][pLevel]);
  3363. //TextDrawSetString(level_draw[id], string2);
  3364. return 1;
  3365. }
  3366.  
  3367. forward SendSupportMSG(text[],id);
  3368. stock SendSupportMSG(text[],id) {
  3369. new string[256];
  3370. for(new i=0;i<MAX_PLAYERS;i++) {
  3371. if(IsPlayerConnected(i)) {
  3372. if(!IsPlayerNPC(i)) {
  3373. if(PlayerInfo[i][pSupporter] != 0 && Support[i] != 0) {
  3374. format(string, sizeof(string), "SUP by %s(%d):{FFFFFF} %s",
  3375. GetName(id),id,text);
  3376. SendClientMessage(i, COLOR_ORANGE, string);
  3377. }
  3378. }
  3379. }
  3380. }
  3381. }
  3382.  
  3383. forward SendRadioMSG(text[],id, district, rank) ;
  3384. stock SendRadioMSG(text[],id, district, rank) {
  3385. new string[256];
  3386. for(new i = 0; i < MAX_PLAYERS; i++) {
  3387. if(IsPlayerConnected(i)) {
  3388. if(!IsPlayerNPC(i)) {
  3389. if(PlayerInfo[i][pFaction] == 1) {
  3390. if (PlayerInfo[i][pDistrict] == district) {
  3391. new rankname[20];
  3392. switch (rank) {
  3393. case 1: rankname = "Azubi";
  3394. case 2: rankname = "Officer";
  3395. case 3: rankname = "Detective";
  3396. case 4: rankname = "Sergeant";
  3397. case 5: rankname = "Lieutenant";
  3398. case 6: rankname = "Chief";
  3399. }
  3400. if (district == 4) rankname = "Minister of Defence";
  3401. format(string, sizeof(string), " * %s %s: %s,over.", rankname, GetName(id),text);
  3402. SendClientMessage(i, COLOR_LIGHTBLUE, string);
  3403. }
  3404. }
  3405. }
  3406. }
  3407. }
  3408. }
  3409.  
  3410. forward SendCopMSG(text[],id, district, rank) ;
  3411. stock SendCopMSG(text[],id, district, rank) {
  3412. new string[256];
  3413. for(new i = 0; i < MAX_PLAYERS; i++) {
  3414. if(IsPlayerConnected(i)) {
  3415. if(!IsPlayerNPC(i)) {
  3416. if(PlayerInfo[i][pFaction] == 1) {
  3417. new rankname[12], distname[15];
  3418. switch (rank) {
  3419. case 1: rankname = "Azubi";
  3420. case 2: rankname = "Officer";
  3421. case 3: rankname = "Detective";
  3422. case 4: rankname = "Sergeant";
  3423. case 5: rankname = "Lieutenant";
  3424. case 6: rankname = "Chief";
  3425. default: rankname = "Fehler";
  3426. }
  3427. switch (district) {
  3428. case 1: distname = "LSPD";
  3429. case 2: distname = "SFPD";
  3430. case 3: distname = "LVPD";
  3431. case 4: distname = "Minister";
  3432. }
  3433. if (district == 4) {
  3434. rankname = "of Defence";
  3435. }
  3436. format(string, sizeof(string), " * %s %s %s: %s.", distname, rankname, GetName(id),text);
  3437. SendClientMessage(i, COLOR_LIGHTRED, string);
  3438. }
  3439. }
  3440. }
  3441. }
  3442. }
  3443.  
  3444. forward SendRangeMSGFromPlayer(playerid, text[], Float:range);
  3445. stock SendRangeMSGFromPlayer(playerid, text[], Float:range) {
  3446. new string[256];
  3447. for(new i = 0; i < MAX_PLAYERS; i++) {
  3448. if (IsPlayerConnected(i)) {
  3449. if (!IsPlayerNPC(i)) {
  3450. new Float:Pos[3];
  3451. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  3452. if (IsPlayerInRangeOfPoint(i, range, Pos[0], Pos[1], Pos[2])) {
  3453. new rankname[12];
  3454. switch (PlayerInfo[playerid][pRank]) {
  3455. case 1: rankname = "Azubi";
  3456. case 2: rankname = "Officer";
  3457. case 3: rankname = "Detective";
  3458. case 4: rankname = "Sergeant";
  3459. case 5: rankname = "Lieutenant";
  3460. case 6: rankname = "Chief";
  3461. default: rankname = "Fehler";
  3462. }
  3463. format(string, sizeof(string), " *(M) %s %s: %s.", rankname, GetName(playerid), text);
  3464. SendClientMessage(i, COLOR_BLUE, string);
  3465. }
  3466. }
  3467. }
  3468. }
  3469. }
  3470.  
  3471.  
  3472. getDate_NOW() {
  3473. new h,min2,sec,
  3474. y,m,d, time[50];
  3475. gettime(h, min2, sec);
  3476. getdate(y,m,d);
  3477. format(time, sizeof(time), "%d/%d/%d - %d:%d:%d",
  3478. d,m,y,h,min2,sec);
  3479. return time;
  3480. }
  3481.  
  3482. Add_SQL_Ban (kickid[], reason[], admin[], date[]) {
  3483. new query[300];
  3484. format(query, sizeof(query), "INSERT INTO samp_ban (kickid,reason,admin,date) VALUES ('%s','%s','%s','%s')",
  3485. kickid,reason, admin,date);
  3486. return mysql_query(query);
  3487. }
  3488.  
  3489. Add_SQL_Kick (kickid[], reason[], admin[], date[]) {
  3490. new query[300];
  3491. format(query, sizeof(query), "INSERT INTO samp_kick (kickid,reason,admin,date) VALUES ('%s','%s','%s','%s')",
  3492. kickid,reason, admin,date);
  3493. return mysql_query(query);
  3494. }
  3495.  
  3496. getOnlineByName(string[]) {
  3497. new string2[50];
  3498. for(new i = 0; i < MAX_PLAYERS; i++) {
  3499. if (IsPlayerConnected(i)) {
  3500. if (!IsPlayerNPC(i)) {
  3501. if (strcmp(GetName(i), string, false, strlen(GetName(i)))) {
  3502. format(string2, sizeof(string2), "Online");
  3503. } else {
  3504. format(string2, sizeof(string2), "Offline");
  3505. }
  3506. }
  3507. }
  3508. }
  3509. return string2;
  3510. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement