Advertisement
Guest User

Untitled

a guest
Dec 27th, 2015
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.72 KB | None | 0 0
  1. /*
  2. ====================================================================================================================================
  3. Dynamisches Fraktionssystem by Items4Landwirt aka. Music4You
  4. Es ist verboten meinen Namen zu löschen, es sieht ja eh keiner ;)
  5. Es ist verboten, das script neu zu releasen oder zu verkaufen, egal wie weit es editiert ist.
  6.  
  7. Falls ihr hilfe beim einstieg von SQLite braucht, hier 2 Links.
  8. http://wiki.sa-mp.com/wiki/SQLite
  9. http://forum.sa-mp.de/gta-multiplayer-mods/san-andreas-multiplayer/scripting-base/tutorials/121557-sqlite-die-alternative-zu-mysql/
  10.  
  11. Schaut doch auch mal auf meinem YT Kanal vorbei:
  12. http://www.youtube.com/user/Music4You43
  13.  
  14. Viel Spaß mit dem Script.
  15. ====================================================================================================================================
  16. */
  17.  
  18. #define FILTERSCRIPT
  19. //=============== Includes ===============
  20. #include <a_samp>
  21. #include <ocmd>
  22. #include <sscanf2>
  23. //=============== Defines ===============
  24. #define MAX_FRAKT 10
  25. #define MAX_FCARS 100
  26. #define MAX_PICK 10
  27.  
  28. #define SCM SendClientMessage
  29. #define SCMT SendClientMessageToAll
  30.  
  31. #define MSGTOALL // Aktiviert messages für alle user (/makeleader etc.)
  32. #define SKIN
  33.  
  34. #define rot 0xFF0A00FF
  35. #define gruen 0x4BB400FF
  36. #define orange 0xFF9600FF
  37. #define grau 0xB4B4B4FF
  38. #define department 0xFF6259D4
  39. #define fchat 0x00FFFFFF
  40. #define radio 0xB900E4A6
  41.  
  42. //=============== News ===============
  43. new DB:Data,fraks,wahl[MAX_PLAYERS],money[MAX_PLAYERS],duty[MAX_PLAYERS],heals[MAX_PLAYERS],healman,healgeld[MAX_PLAYERS];
  44.  
  45. new VehicleName[212][] =
  46. {
  47. {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},{"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},{"Cheetah"},
  48. {"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"},{"Bobcat"},{"MrWhoopee"},{"BFInjection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},{"Banshee"},{"Predator"},
  49. {"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer1"},{"Previon"},{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RCBandit"},{"Romero"},{"Packer"},{"Monster"},{"Admiral"},{"Squalo"},{"Seasparrow"},
  50. {"Pizzaboy"},{"Tram"},{"Trailer2"},{"Turismo"},{"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"BerkleyRCVan"},{"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},
  51. {"RCBaron"},{"RCRaider"},{"Glendale"},{"Oceanic"},{"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},{"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},
  52. {"BMX"},{"Burrito"},{"Camper"},{"Marquis"},{"Baggage"},{"Dozer"},{"Maverick"},{"NewsChopper"},{"Rancher"},{"FBIRancher"},{"Virgo"},{"Greenwood"},{"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},
  53. {"Police Maverick"},{"Boxville"},{"Benson"},{"Mesa"},{"RCGoblin"},{"HotringRacer A"},{"HotringRacer B"},{"BloodringBanger"},{"Rancher"},{"SuperGT"},{"Elegant"},{"Journey"},{"Bike"},{"MountainBike"},
  54. {"Beagle"},{"Cropdust"},{"Stunt"},{"Tanker"},{"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},{"NRG-500"},{"HPV1000"},{"CementTruck"},{"TowTruck"},{"Fortune"},
  55. {"Cadrona"},{"FBITruck"},{"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},{"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},
  56. {"Sadler"},{"FiretruckLA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},{"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"MonsterA"},{"MonsterB"},{"Uranus"},
  57. {"Jester"},{"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},{"Bandito"},{"FreightFlat"},{"SreakCarriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},
  58. {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},{"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"FreightCarriage"},
  59. {"Trailer3"},{"Andromada"},{"Dodo"},{"RCCam"},{"Launch"},{"PoliceCar(LSPD)"},{"PoliceCar(SFPD)"},{"PoliceCar(LVPD)"},{"PoliceRanger"},{"Picador"},{"S.W.A.T.Van"},{"Alpha"},{"Phoenix"},
  60. {"Glendale"},{"Sadler"},{"LuggageTrailerA"},{"LuggageTrailerB"},{"StairTrailer"},{"Boxville"},{"FarmPlow"},{"UtilityTrailer"}
  61. };
  62.  
  63.  
  64. //=============== Enums ===============
  65. enum frakt
  66. {
  67. bool:erstellt,
  68. Frakid,
  69. Frakname[128],
  70. Leader[MAX_PLAYER_NAME],
  71. Gehalt1,
  72. Gehalt2,
  73. Gehalt3,
  74. Gehalt4,
  75. Gehalt5,
  76. Gehalt6,
  77. Member,
  78. Kasse,
  79. skinl,
  80. skin,
  81. frakart,
  82. dutys,
  83. }
  84. new FrakInfo[MAX_FRAKT][frakt];
  85.  
  86. enum usr
  87. {
  88. Name[MAX_PLAYER_NAME],
  89. Frak,
  90. Leader,
  91. invite,
  92. paytime,
  93. Rang,
  94. wanted,
  95. jailtime,
  96. jailed,
  97. }
  98. new UserInfo[MAX_PLAYERS][usr];
  99.  
  100. enum car
  101. {
  102. Frakid,
  103. bool:erstellt,
  104. Float:x,
  105. Float:y,
  106. Float:z,
  107. Float:a,
  108. carobj,
  109. modelids,
  110. colors,
  111. Rang,
  112. }
  113. new FrakCar[MAX_FCARS][car];
  114.  
  115. enum pick
  116. {
  117. bool:erstellt,
  118. Float:px,
  119. Float:py,
  120. Float:pz,
  121. pickobj,
  122. Text3D:pLabel,
  123. art,
  124. fraktions,
  125. }
  126. new PickInfo[MAX_PICK][pick];
  127.  
  128. enum
  129. {
  130. DIALOG_FRAK=900,
  131. faction,
  132. geld,
  133. ausw,
  134. cars,
  135. kassse,
  136. eingabe,
  137. member,
  138. }
  139.  
  140. public OnFilterScriptInit()
  141. {
  142. print("\n=============================================================");
  143. print(" Dynamisches Fraktions system by Items4Landwirt aka Music4You");
  144. print("=============================================================\n");
  145.  
  146. Data = db_open("Frak.db");
  147. db_query(Data,"CREATE TABLE IF NOT EXISTS `frak`(`ID`,`Frakid`,`Frakname`,`Leader`,`Gehalt1`,`Gehalt2`,`Gehalt3`,`Gehalt4`,`Gehalt5`,`Gehalt6`,`Member`,`Kasse`,`skinl`,`skin`,`frakart`,`dutys`)");
  148. db_query(Data,"CREATE TABLE IF NOT EXISTS `user`(`Name`,`Frak`,`Leader`,`invite`,`paytime`,`Rang`,`wanted`,`jailtime`,`jailed`)");
  149. db_query(Data,"CREATE TABLE IF NOT EXISTS `cars`(`ID`,`Frakid`,`Model`,`Color`,`Rang`,`X`,`Y`,`Z`,`A`)");
  150. db_query(Data,"CREATE TABLE IF NOT EXISTS `pickup`(`ID`,`X`,`Y`,`Z`,`art`,`fraktions`)");
  151.  
  152. loadfrak();
  153. SetTimer("jail",60000,true);
  154. return 1;
  155. }
  156.  
  157. public OnFilterScriptExit()
  158. {
  159. for(new i=0;i<MAX_PLAYERS;i++)
  160. {
  161. SaveUser(i);
  162. }
  163. return 1;
  164. }
  165.  
  166. public OnPlayerConnect(playerid)
  167. {
  168. new DBResult:Result,str[75],query[256],rows,i=0,string[128];
  169. #pragma unused rows
  170. format(str,sizeof(str),"SELECT * FROM `user` where NAME = '%s'",SpielerName(playerid));
  171. Result=db_query(Data,str);
  172. if(db_num_rows(Result) > 0){}
  173. else
  174. {
  175. format(query,sizeof(query),"INSERT INTO `user` (`Name`,`Frak`,`Leader`,`invite`,`paytime`,`Rang`,`wanted`,`jailtime`,`jailed`) VALUES ('%s','0','0','0','0','0','0','0','0')",SpielerName(playerid));
  176. db_query(Data,query);
  177. }
  178. db_get_field_assoc(Result,"Frak",str,sizeof(str));
  179. UserInfo[playerid][Frak]=strval(str);
  180. db_get_field_assoc(Result,"Leader",str,sizeof(str));
  181. UserInfo[playerid][Leader]=strval(str);
  182. db_get_field_assoc(Result,"invite",str,sizeof(str));
  183. UserInfo[playerid][invite]=strval(str);
  184. db_get_field_assoc(Result,"paytime",str,sizeof(str));
  185. UserInfo[playerid][paytime]=strval(str);
  186. db_get_field_assoc(Result,"Rang",str,sizeof(str));
  187. UserInfo[playerid][Rang]=strval(str);
  188. db_get_field_assoc(Result,"wanted",str,sizeof(str));
  189. UserInfo[playerid][wanted]=strval(str);
  190. db_get_field_assoc(Result,"jailtime",str,sizeof(str));
  191. UserInfo[playerid][jailtime]=strval(str);
  192. db_get_field_assoc(Result,"jailed",str,sizeof(str));
  193. UserInfo[playerid][jailed]=strval(str);
  194.  
  195. #if defined MSGTOALL
  196. for(;i<MAX_PLAYERS;i++)
  197. {
  198. if(UserInfo[i][Frak]==UserInfo[playerid][Frak])
  199. {
  200. format(string,sizeof(string),"[Fraktion] %s hat sich eingeloggt",SpielerName(playerid));
  201. SCM(i,orange,string);
  202. return 1;
  203. }
  204. }
  205. #endif
  206. db_free_result(Result);
  207. SetTimerEx("FrakPay", 60000, true, "i", playerid);
  208. return 1;
  209. }
  210. public OnPlayerDisconnect(playerid,reason)
  211. {
  212. SaveUser(playerid);
  213. return 1;
  214. }
  215. public OnPlayerSpawn(playerid)
  216. {
  217. #if defined SKIN
  218. if(UserInfo[playerid][Frak]>=1)
  219. {
  220. SetPlayerSkin(playerid,FrakInfo[UserInfo[playerid][Frak]][skin]);
  221. }
  222. else if(UserInfo[playerid][Leader]==1)
  223. {
  224. SetPlayerSkin(playerid,FrakInfo[UserInfo[playerid][Frak]][skinl]);
  225. }
  226. else return 1;
  227. #endif
  228. return 1;
  229. }
  230. public OnPlayerDeath(playerid,killerid,reason)
  231. {
  232. duty[playerid]=0;
  233. return 1;
  234. }
  235. //================================================ Create Frak ================================================
  236. ocmd:cfrak(playerid,params[])
  237. {
  238. new frakids,mskin,dut,arts,lskin,frakname[128],query[256],query1[256],string[128];
  239. //if(!IsPlayerAdmin(playerid)) return SCM(playerid,rot,"Du bist nicht befugt!");
  240. if(sscanf(params,"s[32]dddd",frakname,arts,dut,lskin,mskin)) return SCM(playerid,grau,"Benutze: /cfrak [Frakname][Frakart 1-3][Duty 1=ja|0=Nein][Leader-Skin ID][Member-Skin ID]");
  241.  
  242. for(new i=1;i<MAX_FRAKT;i++)
  243. {
  244. if(FrakInfo[i][erstellt] == true)continue;
  245. FrakInfo[i][erstellt] = true;
  246. FrakInfo[i][Frakid]=frakids;
  247. FrakInfo[i][Frakname]=frakname;
  248. FrakInfo[i][skinl]=lskin;
  249. FrakInfo[i][skin]=mskin;
  250. FrakInfo[i][frakart]=arts;
  251. FrakInfo[i][dutys]=dut;
  252.  
  253. format(query,sizeof(query),"INSERT INTO `frak` (`ID`, `Frakid`,`Frakname`,`Leader`,`Member`,`Kasse`,`skin`,`skinl`,`frakart`,`dutys`) VALUES ('%i','%i','%s','0','0','10000','%d','%d','%d','%d')",i,i,frakname,mskin,lskin,arts,dut);
  254. format(query1,sizeof(query1),"UPDATE `frak` SET `Gehalt1`='0',`Gehalt2`='0',`Gehalt3`='0',`Gehalt4`='0',`Gehalt5`='0',`Gehalt6`='0' WHERE `Frakname`='%s'",frakname);
  255. db_query(Data,query);
  256. db_query(Data,query1);
  257.  
  258. format(string,sizeof(string),"Du hast die Fraktion %s mit der ID %d erstellt",frakname,i);
  259. SCM(playerid,gruen,string);
  260. return 1;
  261. }
  262. return 1;
  263. }
  264. ocmd:dfrak(playerid,params[])
  265. {
  266. new frakname[128],query[256],string[128];
  267. //if(!IsPlayerAdmin(playerid)) return SCM(playerid,rot,"Du bist nicht befugt!");
  268. if(sscanf(params,"s[32]",frakname)) return SCM(playerid,grau,"Benutze: /dfrak [Frakname]");
  269.  
  270. format(query,sizeof(query),"DELETE FROM `frak` WHERE `Name`='%s'",frakname);
  271. db_query(Data,query);
  272. format(string,sizeof(string),"Du hast die Fraktion %s gelöscht",frakname);
  273. SCM(playerid,gruen,string);
  274. return 1;
  275. }
  276. //================================================ Adminbefehle (Rcon) ================================================
  277. ocmd:setleader(playerid,params[])
  278. {
  279. new pID,fid,query[256],query1[256],str[128],rows,string[128];
  280. #pragma unused rows
  281. //if(!IsPlayerAdmin(playerid)) return SCM(playerid,rot,"Du bist nicht befugt!");
  282. if(sscanf(params,"ud",pID,fid)) return SCM(playerid,grau,"Benutze: /setleader [Name|ID][Frak-ID]");
  283. if(fid==0)return SCM(playerid,rot,"Benutze: /entleader!");
  284. UserInfo[pID][Frak]=fid;
  285. UserInfo[pID][Leader]=1;
  286. FrakInfo[fid][Member]+=1;
  287. format(query,sizeof(query),"UPDATE `frak` SET `Leader`='%s',`Member`='%d' WHERE `Frakid`='%d'",SpielerName(pID),FrakInfo[fid][Member],fid);
  288. format(query1,sizeof(query1),"UPDATE `user` SET `Frak`='%d',`Leader`='1' WHERE `Name`='%s'",fid,SpielerName(pID));
  289. db_query(Data,query);
  290. db_query(Data,query1);
  291. SetPlayerSkin(pID,FrakInfo[fid][skin]);
  292.  
  293. #if defined MSGTOALL
  294. format(str,MAX_PLAYER_NAME,"%s",FrakInfo[fid][Frakname]);
  295. format(string,sizeof(string),"Admin %s hat den Spieler %s zum Leader der Fraktion %s Ernannt",SpielerName(playerid),SpielerName(pID),str);
  296. SCMT(orange,string);
  297. #endif
  298. return 1;
  299. }
  300. ocmd:entleader(playerid,params[])
  301. {
  302. new pID,string1[128],str[128],DBResult:Result,rows,query[256],string[128];
  303. #pragma unused rows
  304. //if(!IsPlayerAdmin(playerid)) return SCM(playerid,rot,"Du bist nicht befugt!");
  305. if(sscanf(params,"u",pID)) return SCM(playerid,grau,"Benutze: /entleader [Name|ID]");
  306. UserInfo[pID][Leader]=0;
  307. SetPlayerSkin(pID,0);
  308.  
  309. format(query,sizeof(query),"UPDATE `frak` SET `Leader`='0' WHERE `Leader`='%s'",SpielerName(playerid));
  310. db_query(Data,query);
  311.  
  312. #if defined MSGTOALL
  313. format(str,sizeof(str),"SELECT * FROM `frak` WHERE `Leader` = '%s'",SpielerName(pID));
  314. Result = db_query(Data,str);
  315. rows = db_num_rows(Result);
  316.  
  317. db_get_field_assoc(Result,"Frakname",str,sizeof(str));
  318. format(string1,MAX_PLAYER_NAME,"%s",str);
  319.  
  320. format(string,sizeof(string),"Admin %s hat den Spieler %s aus der Fraktion %s Entleadert",SpielerName(playerid),SpielerName(pID),string1);
  321. SCMT(orange,string);
  322. #endif
  323. return 1;
  324. }
  325. ocmd:resetfkassen(playerid,params[])
  326. {
  327. new query[128],i=1;
  328. //if(!IsPlayerAdmin(playerid)) return SCM(playerid,rot,"Du bist nicht befugt!");
  329. for(;i<MAX_FRAKT;i++)
  330. {
  331. FrakInfo[i][Kasse]=10000;
  332. }
  333. format(query,sizeof(query),"UPDATE `frak` SET `Kasse`='1000'");
  334. SCM(playerid,gruen,"Du hast alle Fraktionskassen auf 1000$ Resettet");
  335. db_query(Data,query);
  336. }
  337. //================================================ Allgemeine Frakbefehle ================================================
  338. ocmd:showfraks(playerid,params[])
  339. {
  340. new string1[128],string2[1000],str[128],string[128],DBResult:Result,rows,i=1;
  341. #pragma unused rows
  342. for(;i<MAX_FRAKT;i++)
  343. {
  344. format(str,sizeof(str),"SELECT * FROM `frak` WHERE `ID`='%d'",i);
  345. Result = db_query(Data,str);
  346. rows = db_num_rows(Result);
  347. if(rows == 0)continue;
  348.  
  349. db_get_field_assoc(Result,"Frakname",str,sizeof(str));
  350. format(string1,MAX_PLAYER_NAME,"%s",str);
  351. db_get_field_assoc(Result,"Leader",str,sizeof(str));
  352. format(string2,MAX_PLAYER_NAME,"%s",str);
  353. db_get_field_assoc(Result,"Member",str,sizeof(str));
  354. FrakInfo[i][Member]=strval(str);
  355.  
  356. format(string,sizeof(string),"%sFraktion: %s, Leader:%s, Memberstand: %i\n",string,string1,string2,FrakInfo[i][Member]);
  357. }
  358. SCM(playerid,gruen,string);
  359. db_free_result(Result);
  360. return 1;
  361. }
  362. ocmd:invite(playerid,params[])
  363. {
  364. if(UserInfo[playerid][Frak]>=1)
  365. {
  366. if(UserInfo[playerid][Leader]==1)
  367. {
  368. new pID,string1[128],string[128];
  369. if(sscanf(params,"u",pID)) return SCM(playerid,grau,"Benutze: /invite [Name|ID]");
  370. if(UserInfo[pID][Frak]>=1)return SCM(playerid,rot,"Der Spieler ist bereits in einer Fraktion!");
  371. UserInfo[pID][invite]=UserInfo[playerid][Frak];
  372.  
  373. format(string1,MAX_PLAYER_NAME,"%s",UserInfo[playerid][Frak]);
  374.  
  375. format(string,sizeof(string),"Du wurdest vom Leader %s in die Fraktion %s eingaladen, Benutze /acceptfrak",SpielerName(playerid),string1);
  376. SCM(pID,gruen,string);
  377. }
  378. else return SCM(playerid,rot,"Du bist kein Leader!");
  379. }
  380. else return SCM(playerid,rot,"Du bist in keiner Fraktion!");
  381. return 1;
  382. }
  383. ocmd:acceptinvite(playerid,params[])
  384. {
  385. if(UserInfo[playerid][invite]>=1)
  386. {
  387. new string[128],query[128],string1[127],string2[128];
  388. UserInfo[playerid][Frak]=UserInfo[playerid][invite];
  389.  
  390. format(string,MAX_PLAYER_NAME,"%s",FrakInfo[UserInfo[playerid][invite]][Frakname]);
  391.  
  392. format(string2,sizeof(string2),"Du hast die Einladung in die Fraktion: %s angenommen",string);
  393. SCM(playerid,gruen,string2);
  394.  
  395. FrakInfo[UserInfo[playerid][Frak]][Member]+=1;
  396. format(query,sizeof(query),"UPDATE `frak` SET `Member`='%d' WHERE `Frakid`='%d'",FrakInfo[UserInfo[playerid][Frak]][Member],UserInfo[playerid][Frak]);
  397. db_query(Data,query);
  398. SetPlayerSkin(playerid,FrakInfo[UserInfo[playerid][Frak]][skin]);
  399.  
  400. for(new i=0;i<MAX_PLAYERS;i++)
  401. {
  402. if(UserInfo[i][Frak]==UserInfo[playerid][Frak])
  403. {
  404. format(string1,sizeof(string1),"%s hat die einladung in eure Fraktion angenommen",SpielerName(playerid));
  405. SCM(i,orange,string1);
  406. return 1;
  407. }
  408. }
  409. UserInfo[playerid][invite]=0;
  410. }
  411. else return SCM(playerid,rot,"Du wurdest in keine Fraktion invitet");
  412. return 1;
  413. }
  414. ocmd:uninvite(playerid,params[])
  415. {
  416. if(UserInfo[playerid][Frak]>=1)
  417. {
  418. if(UserInfo[playerid][Leader]==1)
  419. {
  420. new pID,string1[128],query[128],string[128];
  421. if(sscanf(params,"u",pID)) return SCM(playerid,grau,"Benutze: /uninvite [Name|ID]");
  422. if(UserInfo[pID][Frak]!=UserInfo[playerid][Frak])return SCM(playerid,rot,"Der Spieler ist nicht in deiner Fraktion!");
  423. if(UserInfo[pID][Frak]!=0)return SCM(playerid,rot,"Du kannst keine Leader entlassen!");
  424.  
  425. format(string1,MAX_PLAYER_NAME,"%s",UserInfo[playerid][Frak]);
  426. format(string,sizeof(string),"Du wurdest vom Leader %s aus der Fraktion %s entlassen!",SpielerName(playerid),string1);
  427. SCM(pID,rot,string);
  428.  
  429. FrakInfo[UserInfo[playerid][Frak]][Member]-=1;
  430. format(query,sizeof(query),"UPDATE `frak` SET `Member`='%d' WHERE `Frakid`='%d'",FrakInfo[UserInfo[playerid][Frak]][Member],UserInfo[playerid][Frak]);
  431. db_query(Data,query);
  432.  
  433. UserInfo[pID][Frak]=0;
  434. SetPlayerSkin(playerid,0);
  435. }
  436. else return SCM(playerid,rot,"Du bist kein Leader!");
  437. }
  438. else return SCM(playerid,rot,"Du bist in keiner Fraktion!");
  439. return 1;
  440. }
  441. ocmd:faction(playerid,params[])
  442. {
  443. if(UserInfo[playerid][Frak]>=1)
  444. {
  445. if(UserInfo[playerid][Leader]==1)
  446. {
  447. ShowPlayerDialog(playerid,faction,DIALOG_STYLE_LIST,"Fraktionsverwaltung","Gehalt ändern\nFraktionsfahrzeuge\nFraktions Kasse","Weiter","Abbrechen");
  448. }
  449. else return SCM(playerid,rot,"Du bist kein Leader!");
  450. }
  451. else return SCM(playerid,rot,"Du bist in keiner Fraktion!");
  452. return 1;
  453. }
  454. ocmd:giverang(playerid,params[])
  455. {
  456. if(UserInfo[playerid][Frak]>=1)
  457. {
  458. if(UserInfo[playerid][Leader]==1)
  459. {
  460. new pID,rank,string[128],string1[128];
  461. if(sscanf(params,"ud",pID,rank)) return SCM(playerid,grau,"Benutze: /giverang [Name|ID][Rang 1-6]");
  462. if(UserInfo[pID][Frak]!=UserInfo[playerid][Frak])return SCM(playerid,rot,"Der Spieler ist nicht in deiner Fraktion!");
  463. if(rank >6) return SCM(playerid,rot,"Es gibt nur 6 Ränge");
  464. UserInfo[pID][Rang]=rank;
  465.  
  466. format(string,sizeof(string),"Leader %s hat dir den Rang %d gegeben!",SpielerName(playerid),rank);
  467. SCM(pID,orange,string);
  468. format(string1,sizeof(string1),"Du hast %s den Rang %d gegeben",SpielerName(pID),rank);
  469. SCM(playerid,gruen,string1);
  470. }
  471. else return SCM(playerid,rot,"Du bist kein Leader!");
  472. }
  473. else return SCM(playerid,rot,"Du bist in keiner Fraktion!");
  474. return 1;
  475. }
  476. ocmd:duty(playerid,params[])
  477. {
  478. new id = IsPick(playerid);
  479. if(UserInfo[playerid][Frak]>=1)
  480. {
  481. if(FrakInfo[UserInfo[playerid][Frak]][dutys]==1)
  482. {
  483. if(id != -1)
  484. {
  485. if(PickInfo[id][art]==2)
  486. {
  487. if(PickInfo[id][fraktions]!=UserInfo[playerid][Frak]) return SCM(playerid,rot,"Das Pickup gehört nicht zu eurer Fraktion!");
  488. if(duty[playerid]==1)
  489. {
  490. duty[playerid]=0;
  491. SCM(playerid,gruen,"Du bist nun nichtmehr im Dienst");
  492. }
  493. else
  494. {
  495. duty[playerid]=1;
  496. SCM(playerid,gruen,"Du bist nun im Dienst");
  497. }
  498. }
  499. else return SCM(playerid,rot,"Du bist an keinem Duty Punkt!");
  500. }
  501. else return SCM(playerid,rot,"Du bist an keinem Pickup!");
  502. }
  503. else return SCM(playerid,rot,"Du kannst nicht in den Dienst gehen!");
  504. }
  505. else return SCM(playerid,rot,"Du bist in keiner Fraktion!");
  506. return 1;
  507. }
  508. ocmd:member(playerid,params[])
  509. {
  510. new string[1000];
  511. if(UserInfo[playerid][Frak]>=1)
  512. {
  513. for(new i=0;i<MAX_PLAYERS;i++)
  514. {
  515. if(UserInfo[i][Frak]==UserInfo[playerid][Frak])
  516. {
  517. format(string,sizeof(string),"%sName: %s, Rang: %d\n",string,SpielerName(i),UserInfo[i][Rang]);
  518. }
  519. }
  520. ShowPlayerDialog(playerid,member,DIALOG_STYLE_MSGBOX,"Fraktionsmember",string,"Ok","");
  521. }
  522. else return SCM(playerid,rot,"Du bist in keiner Fraktion!");
  523. return 1;
  524. }
  525. ocmd:f(playerid,params[])
  526. {
  527. new string[128],text[128],i=0;
  528. if(UserInfo[playerid][Frak]>=1)
  529. {
  530. if(sscanf(params,"s[128]",text))return SCM(playerid,grau,"Benutze: /f [Text]");
  531. for(;i<MAX_PLAYERS;i++)
  532. {
  533. if(UserInfo[i][Frak]==UserInfo[playerid][Frak])
  534. {
  535. format(string,sizeof(string),"[Fraktion] %s",text);
  536. SCM(i,fchat,string);
  537. return 1;
  538. }
  539. }
  540. }
  541. else return SCM(playerid,rot,"Du bist in keiner Fraktion!");
  542. return 1;
  543. }
  544. ocmd:d(playerid,params[])
  545. {
  546. new string[128],text[128],i=0;
  547. if(UserInfo[playerid][Frak]>=1)
  548. {
  549. if(FrakInfo[UserInfo[playerid][Frak]][frakart]==1||FrakInfo[UserInfo[playerid][Frak]][frakart]==2)
  550. {
  551. if(sscanf(params,"s[128]",text))return SCM(playerid,grau,"Benutze: /d [Text]");
  552. for(;i<MAX_PLAYERS;i++)
  553. {
  554. if(FrakInfo[UserInfo[i][Frak]][frakart]==1 || FrakInfo[UserInfo[i][Frak]][frakart]==2)
  555. {
  556. format(string,sizeof(string),"[Department] %s",text);
  557. SCM(i,department,string);
  558. return 1;
  559. }
  560. }
  561. }
  562. else return SCM(playerid,rot,"Du bist nicht befugt!");
  563. }
  564. else return SCM(playerid,rot,"Du bist in keiner Fraktion!");
  565. return 1;
  566. }
  567. //================================================ Fraktions Car System ================================================
  568. ocmd:cfcar(playerid,params[])
  569. {
  570. new frakid,modelid,color,query[256],Float:pX,Float:pY,Float:pZ,Float:pA,string[128],frakmsg[128];
  571. //if(!IsPlayerAdmin(playerid)) return SCM(playerid,rot,"Du bist nicht befugt!");
  572. if(sscanf(params,"ddd",frakid,modelid,color)) return SCM(playerid,grau,"Benutze: /cfcar [Frakid][Fahrzeug ID][Farb ID]");
  573.  
  574. for(new i=1;i<MAX_FRAKT;i++)
  575. {
  576. GetPlayerPos(playerid,pX,pY,pZ);
  577. GetPlayerFacingAngle(playerid,pA);
  578. if(FrakCar[i][erstellt] == true)continue;
  579. FrakCar[i][erstellt]=true;
  580. FrakCar[i][x]=pX,
  581. FrakCar[i][y]=pY,
  582. FrakCar[i][z]=pZ,
  583. FrakCar[i][a]=pA,
  584. FrakCar[i][modelids]=modelid,
  585. FrakCar[i][colors]=color,
  586.  
  587. format(query,sizeof(query),"INSERT INTO `cars` (`ID`,`Frakid`,`Model`,`Color`,`Rang`,`X`,`Y`,`Z`,`A`) VALUES ('%i','%d','%d','%d','0','%f','%f','%f','%f')",i,frakid,modelid,color,pX,pY,pZ,pA);
  588. db_query(Data,query);
  589.  
  590. FrakCar[i][carobj]=AddStaticVehicleEx(FrakCar[i][modelids],FrakCar[i][x],FrakCar[i][y],FrakCar[i][z],FrakCar[i][a],FrakCar[i][colors],FrakCar[i][colors],-1);
  591. format(string,sizeof(string),"Du hast einen %s für die Fraktion %s erstellt",VehicleName[modelid-400],FrakInfo[frakid][Frakname]);
  592. SCM(playerid,gruen,string);
  593. for(new o=0;o<MAX_PLAYERS;o++)
  594. {
  595. if(UserInfo[o][Frak]==frakid)
  596. {
  597. format(frakmsg,sizeof(frakmsg),"Admin %s hat für eure Fraktion einen %s erstellt",SpielerName(playerid),VehicleName[modelid-400]);
  598. SCM(o,orange,frakmsg);
  599. return 1;
  600. }
  601. }
  602. return 1;
  603. }
  604. return 1;
  605. }
  606. ocmd:delfcar(playerid,params[])
  607. {
  608. new query[128],i=1,veh=GetPlayerVehicleID(playerid);
  609. //if(!IsPlayerAdmin(playerid)) return SCM(playerid,rot,"Du bist nicht befugt!");
  610. if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,rot,"Du bist in keinem Fahrzeug");
  611.  
  612. for(;i<MAX_FRAKT;i++)
  613. {
  614. if(veh==FrakCar[i][carobj])
  615. {
  616. format(query,sizeof(query),"DELETE FROM `cars` WHERE `ID`='%d'",i);
  617. db_query(Data,query);
  618. SCM(playerid,gruen,"Fraktionsfahrzeug erfolgreich Gelöscht!");
  619. DestroyVehicle(FrakCar[i][carobj]);
  620. }
  621. else return SCM(playerid,rot,"Das ist kein Fraktionsfahrzeug!");
  622. }
  623. i=0;
  624. return 1;
  625. }
  626. ocmd:fpark(playerid,params[])
  627. {
  628. new query[128],i=1,veh=GetPlayerVehicleID(playerid),Float:xx,Float:yy,Float:zz,Float:aa;
  629. //if(!IsPlayerAdmin(playerid)) return SCM(playerid,rot,"Du bist nicht befugt!");
  630. if(UserInfo[playerid][Leader]!=1) return SCM(playerid,rot,"Du bist kein Leader");
  631. if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,rot,"Du bist in keinem Fahrzeug");
  632. GetVehiclePos(veh, xx, yy, zz);
  633. GetVehicleZAngle(veh,aa);
  634. for(;i<MAX_FRAKT;i++)
  635. {
  636. if(veh==FrakCar[i][carobj])
  637. {
  638. if(FrakCar[i][Frakid]!=UserInfo[playerid][Frak])return SCM(playerid,rot,"Das Fahrzeug gehört nicht zu deiner Fraktion!");
  639. format(query,sizeof(query),"UPDATE `cars` SET `X`='%f',`Y`='%f',`Z`='%f',`A`='%f' WHERE `ID`='%i'",xx,yy,zz,aa,i);
  640. db_query(Data,query);
  641. SCM(playerid,gruen,"Fraktionsfahrzeug erfolgreich Umgeparkt!");
  642. }
  643. }
  644. i=0;
  645. return 1;
  646. }
  647. //================================================ Pickup Befehle ================================================
  648. ocmd:cpick(playerid,params[])
  649. {
  650. new Float:ppx,Float:ppy,Float:ppz, query[256],type,Text[256],i=1,frakids;
  651. //if(!IsPlayerAdmin(playerid)) return SCM(playerid,rot,"Du bist nicht befugt!");
  652. if(sscanf(params,"dd",type,frakids)) return SCM(playerid,grau,"Benutze: /cpick [Pickup Typ][Frakid]");
  653. GetPlayerPos(playerid, ppx, ppy, ppz);
  654. for(;i < MAX_PICK; i++)
  655. {
  656. if(PickInfo[i][erstellt] == true)continue;
  657. PickInfo[i][erstellt] = true;
  658. PickInfo[i][px] = ppx;
  659. PickInfo[i][py] = ppy;
  660. PickInfo[i][pz] = ppz;
  661. PickInfo[i][art] = type;
  662. PickInfo[i][fraktions] = frakids;
  663. PickInfo[i][pickobj] = CreatePickup(1239, 1, PickInfo[i][px], PickInfo[i][py], PickInfo[i][pz]);
  664.  
  665. if(type==1)
  666. {
  667. format(Text,sizeof(Text),"Arrest Pickup\n/arrest um den Spieler zu arresten");
  668. }
  669. else if(type==2)
  670. {
  671. format(Text,sizeof(Text),"Duty Pickup\n/duty um in den Dienst zu gehen");
  672. }
  673. PickInfo[i][pLabel]= Create3DTextLabel(Text, orange, PickInfo[i][px], PickInfo[i][py], PickInfo[i][pz], 15, 0);
  674.  
  675. format(query,sizeof(query),"INSERT INTO `pickup` (`ID`,`X`,`Y`,`Z`,`art`,`fraktions`) VALUES ('%i','%f','%f','%f','%d','%d')",i,ppx,ppy,ppz,type,frakids);
  676. db_query(Data,query);
  677. SCM(playerid,gruen,"Pickup erstellt");
  678. print(query);
  679. return 1;
  680. }
  681. return 1;
  682. }
  683. ocmd:dpick(playerid, params[])
  684. {
  685. //if(!IsPlayerAdmin(playerid)) return SCM(playerid,rot,"Du bist nicht befugt!");
  686. new id = IsPick(playerid),query[256];
  687. if(id != -1)
  688. {
  689. PickInfo[id][erstellt] = false;
  690. PickInfo[id][px] = 0;
  691. PickInfo[id][py] = 0;
  692. PickInfo[id][pz] = 0;
  693. PickInfo[id][art] = 0;
  694. PickInfo[id][fraktions] = 0;
  695. SCM(playerid,gruen,"Du hast das Pickup gelöscht");
  696.  
  697. DestroyPickup(PickInfo[id][pickobj]);
  698. Delete3DTextLabel(PickInfo[id][pLabel]);
  699.  
  700. format(query,sizeof(query),"SELECT * FROM pickup WHERE ID = '%d'",id);
  701. format(query,sizeof(query),"DELETE FROM pickup WHERE ID = '%d'",id);
  702. db_query(Data,query);
  703. return 1;
  704. }
  705. else return SCM(playerid,rot,"Du bist an keinem Pickup");
  706. }
  707.  
  708. //================================================ Cop befehle Frak art 1 ================================================
  709. ocmd:arrest(playerid,params[])
  710. {
  711. new id = IsPick(playerid),pID,string[128];
  712. if(UserInfo[playerid][Frak]>=1)
  713. {
  714. if(FrakInfo[UserInfo[playerid][Frak]][frakart]==1)
  715. {
  716. if(duty[playerid]!=1)return SCM(playerid,rot,"Du bist nicht im Dienst!");
  717. if(id != -1)
  718. {
  719. if(PickInfo[id][art]==1)
  720. {
  721. if(sscanf(params,"u",pID))return SCM(playerid,grau,"Benutze: /arrest [Name|ID]");
  722. if(UserInfo[pID][wanted]>=1)
  723. {
  724. UserInfo[pID][jailtime]=UserInfo[pID][wanted];
  725. format(string,sizeof(string),"Beamter %s hat dich für %d Minuten arrestet",SpielerName(playerid),UserInfo[pID][jailtime]);
  726. SCM(pID,rot,string);
  727. UserInfo[pID][wanted]=0;
  728. UserInfo[pID][jailed]=1;
  729. }
  730. else return SCM(playerid,rot,"Der Spieler hat keine Wanteds!");
  731. }
  732. else return SCM(playerid,rot,"Du bist an keinem Arrest Punkt!");
  733. }
  734. else return SCM(playerid,rot,"Du bist an keinem Pickup!");
  735. }
  736. else return SCM(playerid,rot,"Du darfst niemanden Arresten!");
  737. }
  738. else return SCM(playerid,rot,"Du bist in keiner Fraktion!");
  739. return 1;
  740. }
  741. ocmd:wantedliste(playerid,params[])
  742. {
  743. new i=0,string[1000];
  744. if(UserInfo[playerid][Frak]>=1)
  745. {
  746. if(FrakInfo[UserInfo[playerid][Frak]][frakart]!=1)return SCM(playerid,rot,"Du bist nicht befugt!");
  747. if(duty[playerid]!=1)return SCM(playerid,rot,"Du bist nicht im Dienst!");
  748. SCM(playerid,grau,"==================================");
  749. for(;i<MAX_PLAYERS;i++)
  750. {
  751. if(UserInfo[i][wanted]>=1)
  752. {
  753. format(string,sizeof(string),"Spieler: %s, Wantedanzahl: %d\n",SpielerName(i),UserInfo[i][wanted]);
  754. SCM(playerid,-1,string);
  755. }
  756. }
  757. SCM(playerid,grau,"==================================");
  758. }
  759. else return SCM(playerid,rot,"Du bist in keiner Fraktion!");
  760. return 1;
  761. }
  762. ocmd:givewanted(playerid,params[])
  763. {
  764. if(UserInfo[playerid][Frak]>=1)
  765. {
  766. new pID,zahl,reason[32],string[128];
  767. if(FrakInfo[UserInfo[playerid][Frak]][frakart]!=1)return SCM(playerid,rot,"Du darfst das nicht!");
  768. if(duty[playerid]!=1) return SCM(playerid,rot,"Du bist nicht im Dienst!");
  769. if(sscanf(params,"uis[32]",pID,zahl,reason)) return SCM(playerid,grau,"Benutze: /givewanted [Name|ID][Anzahl][Grund]");
  770. UserInfo[pID][wanted]+=zahl;
  771. format(string,sizeof(string),"Beamter %s hat dir %d Wanteds gegeben, Grund: %s, Aktuelles Wantedlevel: %d",SpielerName(playerid),zahl,reason,UserInfo[pID][wanted]);
  772. SCM(pID,rot,string);
  773. return 1;
  774. }
  775. else return SCM(playerid,rot,"Du bist in keiner Fraktion");
  776. //return 1;
  777. }
  778. ocmd:r(playerid,params[])
  779. {
  780. new string[128],text[128],i=0;
  781. if(UserInfo[playerid][Frak]>=1)
  782. {
  783. if(FrakInfo[UserInfo[playerid][Frak]][frakart]==1)
  784. {
  785. if(sscanf(params,"s[128]",text))return SCM(playerid,grau,"Benutze: /r [Text]");
  786. for(;i<MAX_PLAYERS;i++)
  787. {
  788. if(FrakInfo[UserInfo[i][Frak]][frakart]==1)
  789. {
  790. format(string,sizeof(string),"[Radiochat] %s",text);
  791. SCM(i,radio,string);
  792. return 1;
  793. }
  794. }
  795. }
  796. else return SCM(playerid,rot,"Du bist nicht befugt!");
  797. }
  798. else return SCM(playerid,rot,"Du bist in keiner Fraktion!");
  799. return 1;
  800. }
  801. ocmd:clear(playerid,params[])
  802. {
  803. new pID,string[128],string1[128],reason[32],zahl,i=0;
  804. if(UserInfo[playerid][Frak]>=1)
  805. {
  806. if(FrakInfo[UserInfo[playerid][Frak]][frakart]!=1)return SCM(playerid,rot,"Du bist nicht befugt!");
  807. if(sscanf(params,"uds[32]",pID,zahl,reason)) return SCM(playerid,grau,"Benutze: /clear [Name|ID][Wantedzahl][Grund]");
  808. UserInfo[pID][wanted]-=zahl;
  809. format(string,sizeof(string),"Beamter %s hat dir %d Wanteds gecleart, Grund: %s",SpielerName(playerid),zahl,reason);
  810. SCM(pID,orange,string);
  811.  
  812. for(;i<MAX_PLAYERS;i++)
  813. {
  814. if(FrakInfo[UserInfo[playerid][Frak]][frakart]==1)
  815. {
  816. format(string1,sizeof(string1),"Beamter %s hat dem Spieler %s, %d Wanteds gecleart, Grund: %s",SpielerName(playerid),SpielerName(pID),zahl,reason);
  817. SCM(i,radio,string1);
  818. }
  819. }
  820. }
  821. else return SCM(playerid,rot,"Du bist nicht befugt!");
  822. return 1;
  823. }
  824. //================================================ Medic Befehle Frakart 2 ================================================
  825. ocmd:heal(playerid,params[])
  826. {
  827. new pID,string[128],gelds;
  828. if(UserInfo[playerid][Frak]>=1)
  829. {
  830. if(FrakInfo[UserInfo[playerid][Frak]][frakart]!=2)return SCM(playerid,rot,"Du darfst das nicht!");
  831. if(duty[playerid]!=1)return SCM(playerid,rot,"Du bist nicht im Dienst!");
  832. if(sscanf(params,"ud",pID,gelds))return SCM(playerid,grau,"Benutze: /heal [Name|ID][Preis]");
  833. heals[pID]=1;
  834. healgeld[pID]=gelds;
  835. healman=playerid;
  836. format(string,sizeof(string),"Sanitäter %s hat dir für %d$ einen Heal angeboten, /acceptheal um ihn anzunehmen",SpielerName(playerid),healgeld[pID]);
  837. SCM(pID,orange,string);
  838. }
  839. else return SCM(playerid,rot,"Du bist in keiner Fraktion!");
  840. return 1;
  841. }
  842. ocmd:acceptheal(playerid,params[])
  843. {
  844. new string[128],query[256];
  845. if(heals[playerid]!=1)return SCM(playerid,rot,"Niemand hat dir einen Heal angeboten!");
  846. SCM(playerid,gruen,"Du hast den Heal angenommen");
  847. format(string,sizeof(string),"%s hat deinen Heal angenommen, Es kommen %d$ in die Frakkasse",SpielerName(playerid),healgeld[playerid]);
  848. SCM(healman,gruen,string);
  849. FrakInfo[UserInfo[healman][Frak]][Kasse]+=healgeld[playerid];
  850. GivePlayerMoney(playerid,-healgeld[playerid]);
  851. GivePlayerMoney(healman,healgeld[playerid]);
  852. healgeld[playerid]=0;
  853. healman=0;
  854. heals[playerid]=0;
  855. format(query,sizeof(query),"UPDATE `frak` SET `Kasse`='%d' WHERE `Frakid`='%d'",FrakInfo[UserInfo[healman][Frak]][Kasse],healman);
  856. return 1;
  857. }
  858.  
  859. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  860. {
  861. switch(dialogid)
  862. {
  863. case faction:
  864. {
  865. if(response)
  866. {
  867. switch(listitem)
  868. {
  869. case 0:
  870. {
  871. ShowPlayerDialog(playerid,ausw,DIALOG_STYLE_LIST,"Gehalt änderung","Rang 1\nRang 2\nRang 3\nRang 4\nRang 5\nRang 6","Weiter","Abbrechen");
  872. }
  873. case 1:
  874. {
  875. new str[128],string[1000],DBResult:Result,rows,i=1;
  876. #pragma unused rows
  877. for(;i<MAX_FCARS;i++)
  878. {
  879. format(str,sizeof(str),"SELECT * FROM `cars` WHERE `ID`='%d'",i);
  880. Result = db_query(Data,str);
  881. rows = db_num_rows(Result);
  882. if(rows == 0)continue;
  883.  
  884. db_get_field_assoc(Result,"Frakid",str,sizeof(str));
  885. FrakCar[i][Frakid]=strval(str);
  886. db_get_field_assoc(Result,"Model",str,sizeof(str));
  887. FrakCar[i][modelids]=strval(str);
  888. db_get_field_assoc(Result,"Rang",str,sizeof(str));
  889. FrakCar[i][Rang]=strval(str);
  890.  
  891. if(FrakCar[i][Frakid]==UserInfo[playerid][Frak])
  892. {
  893. format(string,sizeof(string),"%sTyp: %s Rang: %d\n",string,VehicleName[FrakCar[i][modelids]-400],FrakCar[i][Rang]);
  894. }
  895. }
  896. SCM(playerid,gruen,string);
  897. db_free_result(Result);
  898. ShowPlayerDialog(playerid,cars,DIALOG_STYLE_LIST,"Frak Fahrzeuge",string,"Weiter","Abbrechen");
  899. i=0;
  900. }
  901. case 2:
  902. {
  903. new string[1000],fid=UserInfo[playerid][Frak];
  904. format(string,sizeof(string),"Fraktionskasse der Fraktion:\t%s\n\nKassenstand:\t%d",FrakInfo[fid][Kasse]);
  905. ShowPlayerDialog(playerid,kassse,DIALOG_STYLE_MSGBOX,"Frakkasse",string,"Einzahlen","Abbrechen");
  906. }
  907. }
  908. }
  909. }
  910. case kassse:
  911. {
  912. if(response)
  913. {
  914. ShowPlayerDialog(playerid,eingabe,DIALOG_STYLE_INPUT,"Kassen Einzahlung","Geben sie den Betrag ein, welchen sie einzahlen wollen.","Einzahlen","Abbrechen");
  915. }
  916. }
  917. case eingabe:
  918. {
  919. if(response)
  920. {
  921. new string[128],query[256];
  922. FrakInfo[UserInfo[playerid][Frak]][Kasse]+=strval(inputtext);
  923. format(query,sizeof(query),"UPDATE `frak` SET `Kasse`='%s' WHERE `Frakid`='%d'",FrakInfo[UserInfo[playerid][Frak]][Kasse],UserInfo[playerid][Frak]);
  924. db_query(Data,query);
  925. format(string,sizeof(string),"Du hast %d$ in die Frak Kasse eingezahlt",inputtext);
  926. SCM(playerid,orange,string);
  927. GivePlayerMoney(playerid,-strval(inputtext));
  928. }
  929. }
  930. case ausw:
  931. {
  932. if(response)
  933. {
  934. switch(listitem)
  935. {
  936. case 0:
  937. {
  938. ShowPlayerDialog(playerid,geld,DIALOG_STYLE_INPUT,"Gehalt Eingabe","Gebe das gewünschte Gehalt für den ersten Rang ein","Weiter","Abbrechen");
  939. wahl[playerid]=1;
  940. }
  941. case 1:
  942. {
  943. ShowPlayerDialog(playerid,geld,DIALOG_STYLE_INPUT,"Gehalt Eingabe","Gebe das gewünschte Gehalt für den zweiten Rang ein","Weiter","Abbrechen");
  944. wahl[playerid]=2;
  945. }
  946. case 2:
  947. {
  948. ShowPlayerDialog(playerid,geld,DIALOG_STYLE_INPUT,"Gehalt Eingabe","Gebe das gewünschte Gehalt für den dritten Rang ein","Weiter","Abbrechen");
  949. wahl[playerid]=3;
  950. }
  951. case 3:
  952. {
  953. ShowPlayerDialog(playerid,geld,DIALOG_STYLE_INPUT,"Gehalt Eingabe","Gebe das gewünschte Gehalt für den vierten Rang ein","Weiter","Abbrechen");
  954. wahl[playerid]=4;
  955. }
  956. case 4:
  957. {
  958. ShowPlayerDialog(playerid,geld,DIALOG_STYLE_INPUT,"Gehalt Eingabe","Gebe das gewünschte Gehalt für den fünften Rang ein","Weiter","Abbrechen");
  959. wahl[playerid]=5;
  960. }
  961. case 5:
  962. {
  963. ShowPlayerDialog(playerid,geld,DIALOG_STYLE_INPUT,"Gehalt Eingabe","Gebe das gewünschte Gehalt für den sechsten Rang ein","Weiter","Abbrechen");
  964. wahl[playerid]=6;
  965. }
  966. }
  967. }
  968. }
  969. case geld:
  970. {
  971. if(response)
  972. {
  973. ShowPlayerDialog(playerid,ausw,DIALOG_STYLE_LIST,"Gehalt änderung","Rang 1\nRang 2\nRang 3\nRang 4\nRang 5\nRang 6","Weiter","Abbrechen");
  974. new string[128],query[128];
  975. if(wahl[playerid]==1)
  976. {
  977. format(query,sizeof(query),"UPDATE `Frak` SET `Gehalt1`='%s' WHERE `Frakid`='%d'",inputtext,UserInfo[playerid][Frak]);
  978. db_query(Data,query);
  979. format(string,sizeof(string),"Du hast das Gehalt des ersten Rangs auf %s gesetzt",inputtext);
  980. SCM(playerid,orange,string);
  981. wahl[playerid]=0;
  982. }
  983. if(wahl[playerid]==2)
  984. {
  985. format(query,sizeof(query),"UPDATE `Frak` SET `Gehalt2`='%s' WHERE `Frakid`='%d'",inputtext,UserInfo[playerid][Frak]);
  986. db_query(Data,query);
  987. format(string,sizeof(string),"Du hast das Gehalt des zweiten Rangs auf %s gesetzt",inputtext);
  988. SCM(playerid,orange,string);
  989. wahl[playerid]=0;
  990. }
  991. if(wahl[playerid]==3)
  992. {
  993. format(query,sizeof(query),"UPDATE `Frak` SET `Gehalt3`='%s' WHERE `Frakid`='%d'",inputtext,UserInfo[playerid][Frak]);
  994. db_query(Data,query);
  995. format(string,sizeof(string),"Du hast das Gehalt des dritten Rangs auf %s gesetzt",inputtext);
  996. SCM(playerid,orange,string);
  997. wahl[playerid]=0;
  998. }
  999. if(wahl[playerid]==4)
  1000. {
  1001. format(query,sizeof(query),"UPDATE `Frak` SET `Gehalt4`='%s' WHERE `Frakid`='%d'",inputtext,UserInfo[playerid][Frak]);
  1002. db_query(Data,query);
  1003. format(string,sizeof(string),"Du hast das Gehalt des vierten Rangs auf %s gesetzt",inputtext);
  1004. SCM(playerid,orange,string);
  1005. wahl[playerid]=0;
  1006. }
  1007. if(wahl[playerid]==5)
  1008. {
  1009. format(query,sizeof(query),"UPDATE `Frak` SET `Gehalt5`='%s' WHERE `Frakid`='%d'",inputtext,UserInfo[playerid][Frak]);
  1010. db_query(Data,query);
  1011. format(string,sizeof(string),"Du hast das Gehalt des fünften Rangs auf %s gesetzt",inputtext);
  1012. SCM(playerid,orange,string);
  1013. wahl[playerid]=0;
  1014. }
  1015. if(wahl[playerid]==6)
  1016. {
  1017. format(query,sizeof(query),"UPDATE `Frak` SET `Gehalt6`='%s' WHERE `Frakid`='%d'",inputtext,UserInfo[playerid][Frak]);
  1018. db_query(Data,query);
  1019. format(string,sizeof(string),"Du hast das Gehalt des sechsten Rangs auf %s gesetzt",inputtext);
  1020. SCM(playerid,orange,string);
  1021. wahl[playerid]=0;
  1022. }
  1023. }
  1024. }
  1025. }
  1026. return 1;
  1027. }
  1028. public OnPlayerStateChange(playerid, newstate, oldstate)
  1029. {
  1030. if(newstate == PLAYER_STATE_DRIVER)
  1031. {
  1032. for(new i = 0; i<MAX_FCARS; i++)
  1033. {
  1034. if(GetPlayerVehicleID(playerid) == FrakCar[i][carobj])
  1035. {
  1036. new DBResult:Result,query[512] ,str[512], rows;
  1037. format(str,sizeof(str),"SELECT * FROM `cars` WHERE `ID` = '%i'",i);
  1038. Result = db_query(Data,str);
  1039. rows = db_num_rows(Result);
  1040. if(rows == 0)continue;
  1041.  
  1042. db_get_field_assoc(Result,"Frakid",query,sizeof(query));
  1043. FrakCar[i][Frakid]=strval(query);
  1044. db_get_field_assoc(Result,"Rang",query,sizeof(query));
  1045. FrakCar[i][Rang]=strval(query);
  1046.  
  1047. if(UserInfo[playerid][Frak]==FrakCar[i][Frakid])
  1048. {
  1049. if(FrakCar[i][Rang]<=UserInfo[playerid][Rang])
  1050. {
  1051.  
  1052. }
  1053. else
  1054. {
  1055. SCM(playerid,rot,"Dein Rang ist nich hochgenug!");
  1056. RemovePlayerFromVehicle(playerid);
  1057. }
  1058. }
  1059. else
  1060. {
  1061. SCM(playerid,rot,"Du bist nicht in der Fraktion!");
  1062. RemovePlayerFromVehicle(playerid);
  1063. }
  1064. }
  1065. }
  1066. }
  1067. return 1;
  1068. }
  1069.  
  1070. stock SpielerName(playerid)
  1071. {
  1072. new name[MAX_PLAYER_NAME];
  1073. GetPlayerName(playerid,name,sizeof(name));
  1074. return name;
  1075. }
  1076. stock SaveUser(playerid)
  1077. {
  1078. new query[256],query1[256];
  1079. format(query,sizeof(query),"UPDATE `user` SET `Frak`='%d',`Leader`='%d',`invite`='%d',`paytime`='%d',`Rang`='%d' WHERE `Name`='%s'",UserInfo[playerid][Frak],UserInfo[playerid][Leader],UserInfo[playerid][invite],UserInfo[playerid][paytime],UserInfo[playerid][Rang],SpielerName(playerid));
  1080. format(query1,sizeof(query1),"UPDATE `user` SET `wanted`='%d',`jailtime`='%d',`jailed`='%d' WHERE `Name`='%s'",UserInfo[playerid][wanted],UserInfo[playerid][jailtime],UserInfo[playerid][jailed],SpielerName(playerid));
  1081. db_query(Data,query);
  1082. db_query(Data,query1);
  1083. return 1;
  1084. }
  1085. forward Tazer(pID);
  1086. public Tazer(pID)
  1087. {
  1088. TogglePlayerControllable(pID,1);
  1089. return 1;
  1090. }
  1091.  
  1092. forward jail();
  1093. public jail()
  1094. {
  1095. for(new i=0;i<MAX_PLAYERS;i++)
  1096. {
  1097. if(!IsPlayerConnected(i))continue;
  1098. if(UserInfo[i][jailed]==1)
  1099. {
  1100. UserInfo[i][jailtime]--;
  1101. if(UserInfo[i][jailtime]==0)
  1102. {
  1103. new string[128];
  1104. UserInfo[i][jailtime]=0;
  1105. UserInfo[i][jailed]=0;
  1106. format(string,sizeof(string),"%s, Du hast deine Jail Zeit abgesessen",SpielerName(i));
  1107. SCM(i,gruen,string);
  1108. }
  1109. }
  1110. }
  1111. }
  1112.  
  1113. forward FrakPay(playerid);
  1114. public FrakPay(playerid)
  1115. {
  1116. UserInfo[playerid][paytime] += 1;
  1117. {
  1118. if(UserInfo[playerid][paytime] == 60)
  1119. {
  1120. new str[128],string[128],DBResult:Result,rows,query[128];
  1121. #pragma unused rows
  1122. format(str,sizeof(str),"SELECT * FROM `frak` WHERE `Frakid`='%d'",UserInfo[playerid][Frak]);
  1123. Result = db_query(Data,str);
  1124. rows = db_num_rows(Result);
  1125. money[playerid]=0;
  1126.  
  1127. if(UserInfo[playerid][Rang]==1)
  1128. {
  1129. db_get_field_assoc(Result,"Gehalt1",str,sizeof(str));
  1130. money[playerid]=strval(str);
  1131. }
  1132. else if(UserInfo[playerid][Rang]==2)
  1133. {
  1134. db_get_field_assoc(Result,"Gehalt2",str,sizeof(str));
  1135. money[playerid]=strval(str);
  1136. }
  1137. else if(UserInfo[playerid][Rang]==3)
  1138. {
  1139. db_get_field_assoc(Result,"Gehalt3",str,sizeof(str));
  1140. money[playerid]=strval(str);
  1141. }
  1142. else if(UserInfo[playerid][Rang]==4)
  1143. {
  1144. db_get_field_assoc(Result,"Gehalt4",str,sizeof(str));
  1145. money[playerid]=strval(str);
  1146. }
  1147. else if(UserInfo[playerid][Rang]==5)
  1148. {
  1149. db_get_field_assoc(Result,"Gehalt5",str,sizeof(str));
  1150. money[playerid]=strval(str);
  1151. }
  1152. else if(UserInfo[playerid][Rang]==6)
  1153. {
  1154. db_get_field_assoc(Result,"Gehalt6",str,sizeof(str));
  1155. money[playerid]=strval(str);
  1156. }
  1157. SCM(playerid,gruen,"===> Fraktions Payday <===");
  1158. format(string,sizeof(string),"Du bekommst von deiner Fraktion %d$ Durch das Gehalt",FrakInfo[UserInfo[playerid][Frak]][Gehalt1]);
  1159. SCM(playerid,gruen,string);
  1160. GivePlayerMoney(playerid,money[playerid]);
  1161. UserInfo[playerid][paytime] = 0;
  1162.  
  1163. FrakInfo[UserInfo[playerid][Frak]][Kasse]-=money[playerid];
  1164.  
  1165. format(query,sizeof(query),"UPDATE `frak` SET `Kasse`='%d WHERE `Frakid`='%d'",FrakInfo[UserInfo[playerid][Frak]][Kasse],UserInfo[playerid][Frak]);
  1166. money[playerid]=0;
  1167. }
  1168. }
  1169. return 1;
  1170. }
  1171.  
  1172. stock loadfrak()
  1173. {
  1174. new DBResult:Result,query[512] ,str[512], rows,i=1,Text[256];
  1175. for(;i<MAX_FRAKT;i++)
  1176. {
  1177. format(str,sizeof(str),"SELECT * FROM `frak` WHERE `ID` = '%i'",i);
  1178. Result = db_query(Data,str);
  1179. rows = db_num_rows(Result);
  1180. if(rows == 0)continue;
  1181.  
  1182. db_get_field_assoc(Result,"Leader",str,sizeof(str));
  1183. format(FrakInfo[i][Leader],MAX_PLAYER_NAME,"%s",str);
  1184. db_get_field_assoc(Result,"Frakname",str,sizeof(str));
  1185. format(FrakInfo[i][Frakname],MAX_PLAYER_NAME,"%s",str);
  1186. db_get_field_assoc(Result,"Member",str,sizeof(str));
  1187. FrakInfo[i][Member]=strval(str);
  1188. db_get_field_assoc(Result,"Gehalt1",str,sizeof(str));
  1189. FrakInfo[i][Gehalt1]=strval(str);
  1190. db_get_field_assoc(Result,"Gehalt2",str,sizeof(str));
  1191. FrakInfo[i][Gehalt2]=strval(str);
  1192. db_get_field_assoc(Result,"Gehalt3",str,sizeof(str));
  1193. FrakInfo[i][Gehalt3]=strval(str);
  1194. db_get_field_assoc(Result,"Gehalt4",str,sizeof(str));
  1195. FrakInfo[i][Gehalt4]=strval(str);
  1196. db_get_field_assoc(Result,"Gehalt5",str,sizeof(str));
  1197. FrakInfo[i][Gehalt5]=strval(str);
  1198. db_get_field_assoc(Result,"Gehalt6",str,sizeof(str));
  1199. FrakInfo[i][Gehalt6]=strval(str);
  1200. db_get_field_assoc(Result,"Kasse",str,sizeof(str));
  1201. FrakInfo[i][Kasse]=strval(str);
  1202. db_get_field_assoc(Result,"skinl",str,sizeof(str));
  1203. FrakInfo[i][skinl]=strval(str);
  1204. db_get_field_assoc(Result,"skin",str,sizeof(str));
  1205. FrakInfo[i][skin]=strval(str);
  1206. db_get_field_assoc(Result,"frakart",str,sizeof(str));//dutys
  1207. FrakInfo[i][frakart]=strval(str);
  1208. db_get_field_assoc(Result,"dutys",str,sizeof(str));//dutys
  1209. FrakInfo[i][dutys]=strval(str);
  1210.  
  1211. FrakInfo[i][erstellt] = true;
  1212. fraks++;
  1213.  
  1214. db_free_result(Result);
  1215. }printf(" Es wurden %d Fraktionen erfolgreich Geladen",fraks);
  1216. fraks=0;
  1217. i=1;
  1218.  
  1219. for(;i<MAX_FCARS;i++)
  1220. {
  1221. format(str,sizeof(str),"SELECT * FROM `cars` WHERE `ID` = '%i'",i);
  1222. Result = db_query(Data,str);
  1223. rows = db_num_rows(Result);
  1224. if(rows == 0)continue;
  1225.  
  1226. db_get_field_assoc(Result,"Frakid",query,sizeof(query));
  1227. FrakCar[i][Frakid]=strval(query);
  1228. db_get_field_assoc(Result,"Model",query,sizeof(query));
  1229. FrakCar[i][modelids]=strval(query);
  1230. db_get_field_assoc(Result,"Color",query,sizeof(query));
  1231. FrakCar[i][colors]=strval(query);
  1232. db_get_field_assoc(Result,"X",query,sizeof(query));
  1233. FrakCar[i][x]=strval(query);
  1234. db_get_field_assoc(Result,"Y",query,sizeof(query));
  1235. FrakCar[i][y]=strval(query);
  1236. db_get_field_assoc(Result,"Z",query,sizeof(query));
  1237. FrakCar[i][z]=strval(query);
  1238. db_get_field_assoc(Result,"A",query,sizeof(query));
  1239. FrakCar[i][a]=strval(query);
  1240. db_get_field_assoc(Result,"Rang",query,sizeof(query));
  1241. FrakCar[i][Rang]=strval(query);
  1242.  
  1243. FrakCar[i][carobj]=AddStaticVehicleEx(FrakCar[i][modelids],FrakCar[i][x],FrakCar[i][y],FrakCar[i][z],FrakCar[i][a],FrakCar[i][colors],FrakCar[i][colors],-1);
  1244. FrakCar[i][erstellt] = true;
  1245. fraks++;
  1246.  
  1247. db_free_result(Result);
  1248. }printf(" Es wurden %d Fraktionens Cars erfolgreich Geladen",fraks);
  1249. fraks=0;
  1250. i=1;
  1251.  
  1252. for(;i<MAX_PICK;i++)
  1253. {
  1254. format(str,sizeof(str),"SELECT * FROM `pickup` WHERE `ID` = '%i'",i);
  1255. Result = db_query(Data,str);
  1256. rows = db_num_rows(Result);
  1257. if(rows == 0)continue;
  1258.  
  1259. db_get_field_assoc(Result,"X",query,sizeof(query));
  1260. PickInfo[i][px]=strval(query);
  1261. db_get_field_assoc(Result,"Y",query,sizeof(query));
  1262. PickInfo[i][py]=strval(query);
  1263. db_get_field_assoc(Result,"Z",query,sizeof(query));
  1264. PickInfo[i][pz]=strval(query);
  1265. db_get_field_assoc(Result,"art",query,sizeof(query));
  1266. PickInfo[i][art]=strval(query);
  1267. db_get_field_assoc(Result,"fraktions",query,sizeof(query));
  1268. PickInfo[i][fraktions]=strval(query);
  1269.  
  1270. PickInfo[i][pickobj] = CreatePickup(1239, 1, PickInfo[i][px], PickInfo[i][py], PickInfo[i][pz]);
  1271.  
  1272. if(PickInfo[i][art]==1)
  1273. {
  1274. format(Text,sizeof(Text),"Arrest Pickup\n/arrest um den Spieler zu arresten");
  1275. }
  1276. else if(PickInfo[i][art]==2)
  1277. {
  1278. format(Text,sizeof(Text),"Duty Pickup\n/duty um in den Dienst zu gehen");
  1279. }
  1280. PickInfo[i][pLabel]= Create3DTextLabel(Text, orange, PickInfo[i][px], PickInfo[i][py], PickInfo[i][pz], 15, 0);
  1281.  
  1282. PickInfo[i][erstellt] = true;
  1283. fraks++;
  1284.  
  1285. db_free_result(Result);
  1286. }printf(" Es wurden %d Pickups erfolgreich Geladen",fraks);
  1287. fraks=0;
  1288. i=1;
  1289. }
  1290. stock IsPick(playerid)
  1291. {
  1292. new i=0;
  1293. while(i != MAX_PICK)
  1294. {
  1295. if(IsPlayerInRangeOfPoint(playerid, 3.0, PickInfo[i][px], PickInfo[i][py], PickInfo[i][pz])) return i;
  1296. i++;
  1297. }
  1298. return -1;
  1299. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement