Guest User

Clan System BY Teddy

a guest
Aug 26th, 2014
1,157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 79.58 KB | None | 0 0
  1. #if defined Clan_Info
  2. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3. ================================================================================|
  4. //Created By Teddy
  5. //Edited by Teddy
  6. //Some help from my brother
  7.  
  8. |-------------------------------------------------------------------------------
  9. ================================================================================
  10. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  11. #endif
  12. //------------------------------------------------------------------------------
  13. //Includes
  14. //------------------------------------------------------------------------------
  15. #include < a_samp >
  16. #include < zcmd >
  17. #include < sscanf2 >
  18. //------------------------------------------------------------------------------
  19. //Defines
  20. //------------------------------------------------------------------------------
  21. #pragma dynamic 245000
  22. #pragma tabsize 0
  23. //------------------------------------------------------------------------------
  24. //Clan Ststem Dialogs
  25. //------------------------------------------------------------------------------
  26. #define MAX_CMembers 11
  27. #define CreateC_D 27006
  28. #define WeaponsD1 27000
  29. #define WeaponsD2 27001
  30. #define WeaponsD3 27002
  31. #define WeaponsD4 27003
  32. #define WeaponsD5 27004
  33. #define WeaponsD6 27005
  34. //#define Clan_D 27006
  35. #define Clan_T 27007
  36. #define Clan_SkinL 27008
  37. #define Clan_SkinM 27009
  38. #define Clan_Colors 27010
  39. #define Dialog_Invite 27011
  40. #define Clan_ColorsChange 27012
  41. #define Clan_DesChange 27013
  42. #define Clan_MOTDChange 27014
  43. #define Clan_Settings 27015
  44. #define Clan_Spawn 27016
  45. #define Clan_SkinLChange 27017
  46. #define Clan_SkinMChange 27018
  47. #define MAX_TOP_LIMIT 20
  48. #define Nothing 211
  49. #define red 0xFF0000AA
  50. #define O "{FF9900}"
  51. //------------------------------------------------------------------------------
  52. //Colors
  53. //------------------------------------------------------------------------------
  54. #define COLOR_RED 0xFF000000
  55. #define COLOR_GREEN 0x00FF0000
  56. #define COLOR_BLUE 0x0000FF00
  57. #define COLOR_YELLOW 0xFFFF0000
  58. //------------------------------------------------------------------------------
  59. new Invite[MAX_PLAYERS], PlayerInvited, ClanInvited, CWeapon1[MAX_PLAYERS],
  60. CWeapon2[MAX_PLAYERS], CWeapon3[MAX_PLAYERS], CWeapon4[MAX_PLAYERS],
  61. CWeapon5[MAX_PLAYERS], CWeapon6[MAX_PLAYERS];
  62.  
  63. //------------------------------------------------------------------------------
  64. new DBResult:Result, DB:Database;
  65. //------------------------------------------------------------------------------
  66. new const ClanColors[] =
  67. {
  68. 0x33AA33AA, //Dark Green
  69. 0xFF9900AA, //Orange
  70. 0xFF0000FF, //Red
  71. 0x00000000, //Black
  72. 0xFFFF00AA, //Yellow
  73. 0x33CCFFAA, //Light Blue
  74. 0x800080AA, //Purple
  75. 0xAFAFAFAA, //Grey
  76. 0x4B00B0AA, //Dark Blue
  77. 0xFF66FFAA //Pink
  78. };
  79. //------------------------------------------------------------------------------
  80. //Clan System Forwards
  81. //------------------------------------------------------------------------------
  82. forward OnPlayerClanCreate(playerid, clan_name[]);
  83. forward OnPlayerAddPlayerToClan(playerid, addid, clan_name[]);
  84. forward OnPlayerRemovePlayerFromClan(playerid, removeid, clan_name[]);
  85. forward OnPlayerLeaveClan(playerid, clan_name[]);
  86. forward OnPlayerDisbandClan(playerid, clan_name[]);
  87. forward OnPlayerChangeClanMOTD(playerid, new_motd[]);
  88. forward OnPlayerChangeClanDescription(playerid, new_description[]);
  89. forward OnPlayerChangeClanWeapons(playerid, new_weap1, new_weap2, new_weap3);
  90. forward OnPlayerChangePlayerRank(playerid, giveid, new_rank);
  91. forward OnPlayerBombGate(playerid);
  92. forward OnPlayerPlantBomb(playerid);
  93. forward OnPlayerRepairGate(playerid);
  94. //------------------------------------------------------------------------------
  95. AntiDeAMX0()
  96. {
  97. new a[][] =
  98. {
  99. "Unarmed (Fist)",
  100. "Brass K"
  101. };
  102.  
  103. #pragma unused a
  104. }
  105. //==============================================================================
  106. public OnFilterScriptInit()
  107. {
  108. //--------------------------------------------------------------------------
  109. AntiDeAMX0();
  110. print("\n");
  111. print("+=================================+");
  112. print("+ System Clan Successfully Loaded +");
  113. print("+=================================+");
  114. //--------------------------------------------------------------------------
  115. Database = db_open("CSystem.db");
  116. //--------------------------------------------------------------------------
  117. db_query(Database, "CREATE TABLE IF NOT EXISTS clans(`ID` INTEGER PRIMARY KEY AUTOINCREMENT,\
  118. clanname VARCHAR(30),\
  119. clantag VARCHAR(5),\
  120. clanleader VARCHAR(100),\
  121. clandes VARCHAR(100),\
  122. clanmotd VARCHAR(50),\
  123. clankills INT(5),\
  124. clandeaths INT(5),\
  125. clancolor VARCHAR(50),\
  126. clanposx float NOT NULL,\
  127. clanposy float NOT NULL,\
  128. clanposz float NOT NULL,\
  129. lskin INT(3),\
  130. mskin INT(3),\
  131. weap1 INT(3),\
  132. weap2 INT(3),\
  133. weap3 INT(3),\
  134. weap4 INT(3),\
  135. weap5 INT(3),\
  136. weap6 INT(3))");
  137. //--------------------------------------------------------------------------
  138. db_query(Database, "CREATE TABLE IF NOT EXISTS members(`ID` INTEGER PRIMARY KEY AUTOINCREMENT,\
  139. clanname VARCHAR(30),\
  140. playername VARCHAR(30),\
  141. playerclanrank INT(5),\
  142. isinclan INT(2),\
  143. IsOnline INT(2))");
  144. return 1;
  145. }
  146. //==============================================================================
  147. public OnFilterScriptExit()
  148. {
  149. db_close(Database);
  150. return 1;
  151. }
  152. //==============================================================================
  153. public OnPlayerConnect(playerid)
  154. {
  155. new oquery[100];
  156. //--------------------------------------------------------------------------
  157. format(oquery, 100, "UPDATE `members` SET `IsOnline` = '1' WHERE `playername` = '%s'", GetPlayerNameEx(playerid));
  158. db_query(Database, oquery);
  159. //--------------------------------------------------------------------------
  160. Invite[playerid] = 0;
  161. return 1;
  162. }
  163. //==============================================================================
  164. public OnPlayerDisconnect(playerid)
  165. {
  166. new oquery[100];
  167. //--------------------------------------------------------------------------
  168. format(oquery, 100, "UPDATE `members` SET `IsOnline` = '0' WHERE `playername` = '%s'", GetPlayerNameEx(playerid));
  169. db_query(Database, oquery);
  170. //--------------------------------------------------------------------------
  171. format(oquery, 100, "UPDATE `clans` SET `clantag` = '%d' WHERE `clanname` = '%s'", GetTotalMembers(GetPlayerClan(playerid)), GetPlayerClan(playerid));
  172. db_query(Database, oquery);
  173. //--------------------------------------------------------------------------
  174. return 1;
  175. }
  176. //==============================================================================
  177. public OnPlayerSpawn(playerid)
  178. {
  179. if(GetPlayerClanRank(playerid) > 3)
  180. {
  181. SetPlayerSkin(playerid, GetClanSkinLeader(GetPlayerClan(playerid))); // (Leader Skin)
  182. }
  183. if(GetPlayerClanRank(playerid) == 1 || GetPlayerClanRank(playerid) == 2 || GetPlayerClanRank(playerid) == 3)
  184. {
  185. SetPlayerSkin(playerid, GetClanSkinMember(GetPlayerClan(playerid))); // (Member Skin)
  186. }
  187. return 1;
  188. }
  189. //==============================================================================
  190. public OnPlayerDeath(playerid, killerid, reason)
  191. {
  192. if(IsPlayerAnyClanMember(playerid) && IsPlayerAnyClanMember(killerid) && GetPVarInt(playerid, "PlayerInDM") == 0)
  193. {
  194. if(strcmp(GetPlayerClan(playerid), GetPlayerClan(killerid), true, 30) == 0)
  195. {
  196. return 1;
  197. }
  198. else
  199. {
  200. new CQuery[200];
  201. //------------------------------------------------------------------
  202. format(CQuery, 200, "UPDATE `clans` SET `clankills` = '%d' WHERE `clanname` = '%s'", GetClanKills(GetPlayerClan(killerid)) + 1, GetPlayerClan(killerid));
  203. db_query(Database, CQuery);
  204. //------------------------------------------------------------------
  205. format(CQuery, 200, "UPDATE `clans` SET `clandeaths` = '%d' WHERE `clanname` = '%s'", GetClanDeaths(GetPlayerClan(playerid)) + 1, GetPlayerClan(playerid));
  206. db_query(Database, CQuery);
  207. }
  208. }
  209. return 1;
  210. }
  211. //==============================================================================
  212. //Clan System - Create Clan Dialogs
  213. //==============================================================================
  214. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  215. {
  216. //--------------------------------------------------------------------------
  217. //Create Clan - Dialogs and Steps
  218. //--------------------------------------------------------------------------
  219. if(dialogid == CreateC_D)
  220. {
  221. if(response)
  222. {
  223. if(strlen(inputtext) < 3 && strlen(inputtext) > 100)
  224. {
  225. SendClientMessage(playerid, red, "ERROR: Numele trebuie sa fie intre 3 si 100 caractere!");
  226. ShowPlayerDialog(playerid, CreateC_D, DIALOG_STYLE_INPUT, "{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Create Clan", "{FF0000}Hi!\n{FF9900}Follow the next steps to Successfully Create your Own Clan!\n\n{FF0000}1st Step:{FF9900} Please Insert below the name of your clan:","Next","Cancel");
  227. }
  228. else if(strlen(inputtext) >= 3 && strlen(inputtext) < 100)
  229. {
  230. CreateClan(playerid, inputtext, "", "", "");
  231. }
  232. }
  233. }
  234. //--------------------------------------------------------------------------
  235. if(dialogid == Clan_SkinL)
  236. {
  237. if(response)
  238. {
  239. new SkinID = strval(inputtext);
  240. if ((SkinID < 0) || (SkinID > 299) || IsInvalidSkin(SkinID))
  241. {
  242. SendClientMessage(playerid, -1, "{FF0000}ERROR: Lider Skin is not valid!");
  243. ShowPlayerDialog(playerid,Clan_SkinL,DIALOG_STYLE_INPUT,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF} - Clan Leader Skin","{FF9900}Sorry but the Clan Skin Leader is {FF0000}invalid{FF9900}!\n\n{FF9900}Please Insert Skin Leader of the Clan","Next","Cancel");
  244. return 0;
  245. }
  246. new CQuery[300];
  247. format(CQuery, sizeof(CQuery), "UPDATE clans SET lskin = %d WHERE clanname = '%s'", SkinID, GetPlayerClan(playerid));
  248. db_query( Database, CQuery );
  249. SetPlayerSkin(playerid,SkinID);
  250. ShowPlayerDialog(playerid,Clan_SkinM,DIALOG_STYLE_INPUT,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF} - Clan Member Skin","{FF9900}Please Insert Member Skin of the Clan","Next","");
  251. }
  252. if(!response)
  253. {
  254. //DisbandClan(playerid);
  255. }
  256. }
  257. //--------------------------------------------------------------------------
  258. if(dialogid == Clan_SkinLChange)
  259. {
  260. if(response)
  261. {
  262. new SkinID = strval(inputtext), CQuery[140];
  263. if(SkinID < 300 && SkinID >= 0)
  264. {
  265. format(CQuery, 140, "UPDATE `clans` SET `lskin` = '%d' WHERE `clanname` = '%s'", SkinID, GetPlayerClan(playerid));
  266. db_query(Database, CQuery);
  267. }
  268. else
  269. {
  270. SendClientMessage(playerid, -1, "{FF0000}ERROR: Member skin is not valid!");
  271. ShowPlayerDialog(playerid,Clan_SkinMChange,DIALOG_STYLE_INPUT,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Member Skin","{FF9900}Sorry but the Clan Skin Member is {FF0000}invalid{FF9900}!\n\n{FF9900}Please Insert Member Skin of the Clan","Next","");
  272. return 0;
  273. }
  274. }
  275. }
  276. //--------------------------------------------------------------------------
  277. if(dialogid == Clan_SkinM)
  278. {
  279. if(response)
  280. {
  281. new SkinID = strval(inputtext);
  282. if ((SkinID < 0) || (SkinID > 299) || IsInvalidSkin(SkinID))
  283. {
  284. SendClientMessage(playerid, -1, "{FF0000}ERROR: Skin-ul membrilor este invalid!");
  285. ShowPlayerDialog(playerid,Clan_SkinM,DIALOG_STYLE_INPUT,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Member Skin","{FF9900}Sorry but the Clan Skin Member is {FF0000}invalid{FF9900}!\n\n{FF9900}Please Insert Member Skin of the Clan","Next","");
  286. return 0;
  287. }
  288. new CQuery[300];
  289. format(CQuery, sizeof(CQuery), "UPDATE clans SET mskin = %d WHERE clanname = '%s'", SkinID, GetPlayerClan(playerid));
  290. db_query( Database, CQuery );
  291. ShowPlayerDialog(playerid, Clan_Colors, DIALOG_STYLE_LIST, "{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Colors", ClanColorsD(), "Select", "");
  292. }
  293. }
  294. //--------------------------------------------------------------------------
  295. if(dialogid == Clan_SkinMChange)
  296. {
  297. if(response)
  298. {
  299. new SkinID = strval(inputtext), CQuery[140];
  300. if(SkinID < 300 && SkinID >= 0)
  301. {
  302. format(CQuery, 140, "UPDATE `clans` SET `mskin` = '%d' WHERE `clanname` = '%s'", SkinID, GetPlayerClan(playerid));
  303. db_query(Database, CQuery);
  304. }
  305. else
  306. {
  307. SendClientMessage(playerid, -1, "{FF0000}ERROR: Member skin is not valid!");
  308. ShowPlayerDialog(playerid,Clan_SkinMChange,DIALOG_STYLE_INPUT,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Member Skin","{FF9900}Sorry but the Clan Skin Member is {FF0000}invalid{FF9900}!\n\n{FF9900}Please Insert Member Skin of the Clan","Next","");
  309. return 0;
  310. }
  311. }
  312. }
  313. //--------------------------------------------------------------------------
  314. if( dialogid == Clan_Colors )
  315. {
  316. new CQuery[300];
  317. if(response)
  318. {
  319. if(listitem == 0)
  320. {
  321. SetPlayerColor(playerid, ClanColors[0]);
  322. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 0 WHERE clanname = '%s'", GetPlayerClan(playerid));
  323. db_query( Database, CQuery );
  324. }
  325. if(listitem == 1)
  326. {
  327. SetPlayerColor(playerid, ClanColors[1]);
  328. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 1 WHERE clanname = '%s'", GetPlayerClan(playerid));
  329. db_query( Database, CQuery );
  330. }
  331. if(listitem == 2)
  332. {
  333. SetPlayerColor(playerid, ClanColors[2]);
  334. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 2 WHERE clanname = '%s'", GetPlayerClan(playerid));
  335. db_query( Database, CQuery );
  336. }
  337. if(listitem == 3)
  338. {
  339. SetPlayerColor(playerid, ClanColors[3]);
  340. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 3 WHERE clanname = '%s'", GetPlayerClan(playerid));
  341. db_query( Database, CQuery );
  342. }
  343. if(listitem == 4)
  344. {
  345. SetPlayerColor(playerid, ClanColors[4]);
  346. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 4 WHERE clanname = '%s'", GetPlayerClan(playerid));
  347. db_query( Database, CQuery );
  348. }
  349. if(listitem == 5)
  350. {
  351. SetPlayerColor(playerid, ClanColors[5]);
  352. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 5 WHERE clanname = '%s'", GetPlayerClan(playerid));
  353. db_query( Database, CQuery );
  354. }
  355. if(listitem == 6)
  356. {
  357. SetPlayerColor(playerid, ClanColors[6]);
  358. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 6 WHERE clanname = '%s'", GetPlayerClan(playerid));
  359. db_query( Database, CQuery );
  360. }
  361. if(listitem == 7)
  362. {
  363. SetPlayerColor(playerid, ClanColors[7]);
  364. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 7 WHERE clanname = '%s'", GetPlayerClan(playerid));
  365. db_query( Database, CQuery );
  366. }
  367. if(listitem == 8)
  368. {
  369. SetPlayerColor(playerid, ClanColors[8]);
  370. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 8 WHERE clanname = '%s'", GetPlayerClan(playerid));
  371. db_query( Database, CQuery );
  372. }
  373.  
  374. }
  375. ShowPlayerDialog( playerid, WeaponsD1, DIALOG_STYLE_LIST,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Weapons Set "O"#1", WeaponsDS1( ), "Select", "");
  376. return ( 1 );
  377. }
  378. //--------------------------------------------------------------------------
  379. if( dialogid == Clan_ColorsChange )
  380. {
  381. new CQuery[300];
  382. if(response)
  383. {
  384. if(listitem == 0)
  385. {
  386. SetPlayerColor(playerid, ClanColors[ 0 ]);
  387. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 0 WHERE clanname = '%s'", GetPlayerClan(playerid));
  388. db_query( Database, CQuery );
  389. }
  390. if(listitem == 1)
  391. {
  392. SetPlayerColor(playerid, ClanColors[ 1 ]);
  393. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 1 WHERE clanname = '%s'", GetPlayerClan(playerid));
  394. db_query( Database, CQuery );
  395. }
  396. if(listitem == 2)
  397. {
  398. SetPlayerColor(playerid, ClanColors[ 2 ]);
  399. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 2 WHERE clanname = '%s'", GetPlayerClan(playerid));
  400. db_query( Database, CQuery );
  401. }
  402. if(listitem == 3)
  403. {
  404. SetPlayerColor(playerid, ClanColors[ 3 ]);
  405. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 3 WHERE clanname = '%s'", GetPlayerClan(playerid));
  406. db_query( Database, CQuery );
  407. }
  408. if(listitem == 4)
  409. {
  410. SetPlayerColor(playerid, ClanColors[ 4 ]);
  411. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 4 WHERE clanname = '%s'", GetPlayerClan(playerid));
  412. db_query( Database, CQuery );
  413. }
  414. if(listitem == 5)
  415. {
  416. SetPlayerColor(playerid, ClanColors[ 5 ]);
  417. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 5 WHERE clanname = '%s'", GetPlayerClan(playerid));
  418. db_query( Database, CQuery );
  419. }
  420. if(listitem == 6)
  421. {
  422. SetPlayerColor(playerid, ClanColors[ 6 ]);
  423. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 6 WHERE clanname = '%s'", GetPlayerClan(playerid));
  424. db_query( Database, CQuery );
  425. }
  426. if(listitem == 7)
  427. {
  428. SetPlayerColor(playerid, ClanColors[ 7 ]);
  429. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 7 WHERE clanname = '%s'", GetPlayerClan(playerid));
  430. db_query( Database, CQuery );
  431. }
  432. if(listitem == 8)
  433. {
  434. SetPlayerColor(playerid, ClanColors[ 8 ]);
  435. format(CQuery, sizeof(CQuery), "UPDATE clans SET clancolor = 8 WHERE clanname = '%s'", GetPlayerClan(playerid));
  436. db_query( Database, CQuery );
  437. }
  438. }
  439. return ( 1 );
  440. }
  441. //-------------------------------------------------------------------------
  442. if( dialogid == WeaponsD1 )
  443. {
  444. if(response)
  445. {
  446. if(listitem==0)
  447. {
  448. GivePlayerWeapon(playerid, 1, 9999);//Brass Knuckles
  449. CWeapon1[playerid] = 1;
  450. }
  451. if(listitem==1)
  452. {
  453. GivePlayerWeapon(playerid, 2, 9999);//Golf Club
  454. CWeapon1[playerid] = 2;
  455. }
  456. if(listitem==2)
  457. {
  458. GivePlayerWeapon(playerid, 3, 9999);//Nightstick
  459. CWeapon1[playerid] = 3;
  460. }
  461. if(listitem==3)
  462. {
  463. GivePlayerWeapon(playerid, 4, 9999);//Knife
  464. CWeapon1[playerid] = 4;
  465. }
  466. if(listitem==4)
  467. {
  468. GivePlayerWeapon(playerid, 5, 9999);//Baseball Bat
  469. CWeapon1[playerid] = 5;
  470. }
  471. if(listitem==5)
  472. {
  473. GivePlayerWeapon(playerid, 6, 9999);//Shovel
  474. CWeapon1[playerid] = 6;
  475. }
  476. if(listitem==6)
  477. {
  478. GivePlayerWeapon(playerid, 7, 9999);//Pool Cue
  479. CWeapon1[playerid] = 7;
  480. }
  481. if(listitem==7)
  482. {
  483. GivePlayerWeapon(playerid, 8, 9999);//Katana
  484. CWeapon1[playerid] = 8;
  485. }
  486. if(listitem==8)
  487. {
  488. GivePlayerWeapon(playerid, 9, 9999);//Chainsaw
  489. CWeapon1[playerid] = 9;
  490. }
  491. }
  492. new CQuery[300];
  493. format(CQuery, sizeof(CQuery), "UPDATE clans SET weap1 = %d WHERE clanname = '%s'", CWeapon1[playerid], GetPlayerClan(playerid));
  494. db_query( Database, CQuery );
  495. ShowPlayerDialog( playerid, WeaponsD2, DIALOG_STYLE_LIST,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Weapons Set "O"#2", WeaponsDS2( ), "Select", "");
  496. return ( 1 );
  497. }
  498. //--------------------------------------------------------------------------
  499. if( dialogid == WeaponsD2 )
  500. {
  501. if(response)
  502. {
  503. if(listitem==0)
  504. {
  505. GivePlayerWeapon(playerid, 22, 9999);//9mm
  506. CWeapon2[playerid] = 22;
  507. }
  508. if(listitem==1)
  509. {
  510. GivePlayerWeapon(playerid, 23, 9999);//Silenced 9mm
  511. CWeapon2[playerid] = 23;
  512. }
  513. if(listitem==2)
  514. {
  515. GivePlayerWeapon(playerid, 24, 9999);//Desert Eagle
  516. CWeapon2[playerid] = 24;
  517. }
  518. }
  519. new CQuery[300];
  520. format(CQuery, sizeof(CQuery), "UPDATE clans SET weap2 = %d WHERE clanname = '%s'", CWeapon2[playerid], GetPlayerClan(playerid));
  521. db_query( Database, CQuery );
  522. ShowPlayerDialog( playerid, WeaponsD3, DIALOG_STYLE_LIST,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Weapons Set "O"#3", WeaponsDS3( ), "Select", "");
  523. }
  524. //--------------------------------------------------------------------------
  525. if( dialogid == WeaponsD3 )
  526. {
  527. if(response)
  528. {
  529. if(listitem==0)
  530. {
  531. GivePlayerWeapon(playerid, 25, 9999);//ShotGun
  532. CWeapon3[playerid] = 25;
  533. }
  534. if(listitem==1)
  535. {
  536. GivePlayerWeapon(playerid, 26, 9999);//Sawn-Off-Shotgun
  537. CWeapon3[playerid] = 26;
  538. }
  539. if(listitem==2)
  540. {
  541. GivePlayerWeapon(playerid, 27, 9999);//SPAZ-12
  542. CWeapon3[playerid] = 27;
  543. }
  544. }
  545. new CQuery[300];
  546. format(CQuery, sizeof(CQuery), "UPDATE clans SET weap3 = %d WHERE clanname = '%s'", CWeapon3[playerid], GetPlayerClan(playerid));
  547. db_query( Database, CQuery );
  548. ShowPlayerDialog( playerid, WeaponsD4, DIALOG_STYLE_LIST,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Weapons Set "O"#4", WeaponsDS4( ), "Select", "");
  549. }
  550. //--------------------------------------------------------------------------
  551. if(dialogid == WeaponsD4)
  552. {
  553. if(response)
  554. {
  555. if(listitem == 0)
  556. {
  557. GivePlayerWeapon(playerid, 28, 9999);//Micro UZI
  558. CWeapon4[playerid] = 28;
  559. }
  560. if(listitem == 1)
  561. {
  562. GivePlayerWeapon(playerid, 29, 9999);//MP5
  563. CWeapon4[playerid] = 29;
  564. }
  565. if(listitem == 2)
  566. {
  567. GivePlayerWeapon(playerid, 32, 9999);//TEC-9
  568. CWeapon4[playerid] = 32;
  569. }
  570. }
  571. new CQuery[300];
  572. format(CQuery, sizeof(CQuery), "UPDATE clans SET weap4 = %d WHERE clanname = '%s'", CWeapon4[playerid], GetPlayerClan(playerid));
  573. db_query( Database, CQuery );
  574. ShowPlayerDialog( playerid, WeaponsD5, DIALOG_STYLE_LIST,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Weapons Set "O"5", WeaponsDS5( ), "Select", "");
  575. }
  576. //--------------------------------------------------------------------------
  577. if( dialogid == WeaponsD5 )
  578. {
  579. if(response)
  580. {
  581. if(listitem==0)
  582. {
  583. GivePlayerWeapon(playerid, 30, 9999);//AK-47
  584. CWeapon5[playerid] = 30;
  585. }
  586. if(listitem==1)
  587. {
  588. GivePlayerWeapon(playerid, 31, 9999);//M4-A1
  589. CWeapon5[playerid] = 31;
  590. }
  591. }
  592. new CQuery[300];
  593. format(CQuery, sizeof(CQuery), "UPDATE clans SET weap5 = %d WHERE clanname = '%s'", CWeapon5[playerid], GetPlayerClan(playerid));
  594. db_query( Database, CQuery );
  595. ShowPlayerDialog( playerid, WeaponsD6, DIALOG_STYLE_LIST,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Weapons Set "O"6", WeaponsDS6( ), "Select", "");
  596. }
  597. //--------------------------------------------------------------------------
  598. if( dialogid == WeaponsD6 )
  599. {
  600. if(response)
  601. {
  602. if(listitem==0)
  603. {
  604. GivePlayerWeapon(playerid, 33, 9999);
  605. CWeapon6[playerid] = 33;
  606. }
  607. if(listitem==1)
  608. {
  609. GivePlayerWeapon(playerid, 34, 9999);
  610. CWeapon6[playerid] = 34;
  611. }
  612. }
  613. new CQuery[300];
  614. format(CQuery, sizeof(CQuery), "UPDATE clans SET weap6 = %d WHERE clanname = '%s'", CWeapon6[playerid], GetPlayerClan(playerid));
  615. db_query( Database, CQuery );
  616. }
  617. //--------------------------------------------------------------------------
  618. if(dialogid == Clan_DesChange)
  619. {
  620. if(response)
  621. {
  622. ChangeClanDescription(playerid, inputtext);
  623. }
  624. if(!response)
  625. {
  626. // Do Something Here
  627. }
  628. }
  629. //--------------------------------------------------------------------------
  630. if(dialogid == Clan_MOTDChange)
  631. {
  632. if(response)
  633. {
  634. ChangeClanMOTD(playerid, inputtext);
  635. }
  636. if(!response)
  637. {
  638. // Do Something Here
  639. }
  640.  
  641. }
  642. //--------------------------------------------------------------------------
  643. if(dialogid == Clan_Spawn)
  644. {
  645. if(response)
  646. {
  647. new CQuery[300], Float:X, Float:Y, Float:Z;
  648. GetPlayerPos(playerid, X, Y, Z);
  649. format(CQuery, sizeof(CQuery), "UPDATE `clans` SET `clanposx` = %f, `clanposy` = %f, `clanposz` = %f WHERE `clanname` = '%s'", X, Y, Z, GetPlayerClan(playerid));
  650. db_query( Database, CQuery );
  651. SendClientMessage(playerid, ~1,"{FF9900}Clan Spawn has been changed!");
  652. }
  653. if(!response)
  654. {
  655. SendClientMessage(playerid, ~1,"{FF9900}Come back after you find the right spawn place for your clan!");
  656. }
  657. }
  658. //--------------------------------------------------------------------------
  659. if(dialogid == Clan_Settings)
  660. {
  661. if(response)
  662. {
  663. switch( listitem )
  664. {
  665. case 0: CallRemoteFunction( "OnPlayerCommandText", "is", playerid, "/cweapons" );
  666. case 1: CallRemoteFunction( "OnPlayerCommandText", "is", playerid, "/ccolor" );
  667. case 2: CallRemoteFunction( "OnPlayerCommandText", "is", playerid, "/setspawn" );
  668. case 3: CallRemoteFunction( "OnPlayerCommandText", "is", playerid, "/cstats" );
  669. case 4: CallRemoteFunction( "OnPlayerCommandText", "is", playerid, "/cdes" );
  670. case 5: CallRemoteFunction( "OnPlayerCommandText", "is", playerid, "/cmotd" );
  671. case 6: CallRemoteFunction( "OnPlayerCommandText", "is", playerid, "/cskinl" );
  672. case 7: CallRemoteFunction( "OnPlayerCommandText", "is", playerid, "/cskinm" );
  673. // case 8: CallRemoteFunction( "OnPlayerCommandText", "is", playerid, "/clanm" );
  674. // case 9: CallRemoteFunction( "OnPlayerCommandText", "is", playerid, "/clans" );
  675. }
  676.  
  677. }
  678. if(!response) // Cancel
  679. {
  680. // Do Something Here
  681. }
  682. return ( 1 );
  683. }
  684. //--------------------------------------------------------------------------
  685. if( dialogid == Dialog_Invite )
  686. {
  687. if( response ) // Accept
  688. {
  689. new string[256];
  690. if(Invite[playerid] == 0) return SendClientMessage(playerid, ~1,"{FF0000}ERROR: You haven't been invitated by anyone!");
  691. if(IsPlayerAnyClanMember(playerid)) return SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: You are already in a clan!");
  692. //------------------------------------------------------------------
  693. format(string, sizeof(string), "{FF0000}%s {FFFF00}has joined our clan!", GetPlayerNameEx(ClanInvited));
  694. SendMessageToClanMembers(playerid, -1, string);
  695. //------------------------------------------------------------------
  696. format(string, sizeof(string), "{FF0000}%s {FFFF00}has accepted your {FF0000}Clan Invite{FFFF00}!", GetPlayerNameEx(playerid));
  697. SendClientMessage(ClanInvited, COLOR_GREEN, string);
  698. //------------------------------------------------------------------
  699. format(string, sizeof(string), "{FF0000}%s {FFFF00} welcome to {FF0000}%s {FFFF00}Clan!", GetPlayerNameEx(playerid), GetPlayerClan(ClanInvited));
  700. SendClientMessage(playerid, COLOR_GREEN, string);
  701. //------------------------------------------------------------------
  702. AddPlayerToClan(ClanInvited, PlayerInvited);
  703. Invite[playerid] = 0;
  704. }
  705. if( !response ) // Denny
  706. {
  707. new string[256];
  708. if(Invite[playerid] == 0) return SendClientMessage(playerid, ~1,"{FF0000}ERROR: You haven't been invitated by anyone!");
  709. format(string, sizeof(string), "{FF0000}%s {FFFF00}has declined your {FF0000}Clan Invite{FFFF00}!", GetPlayerNameEx(playerid));
  710. SendClientMessage(ClanInvited, COLOR_GREEN, string);
  711. //------------------------------------------------------------------
  712. SendClientMessage(playerid, ~1,"{FFFF00}You have dennyed the clan invite!");
  713. Invite[playerid] = 0;
  714. }
  715. }
  716. return 1;
  717. }
  718. //===============================================================================
  719. //Clan System Commands
  720. //==============================================================================
  721. CMD:addplayer(playerid,params[])
  722. {
  723. if(IsPlayerAdmin(playerid))
  724. {
  725. new target;
  726. if(!sscanf(params, "u", target))
  727. {
  728. AddPlayerToClan(playerid, target);
  729. return 1;
  730. }
  731. else SendClientMessage(playerid,-1,"{FF9900}USAGE: /addplayer [playerid]");
  732. }
  733. return 1;
  734. }
  735. //------------------------------------------------------------------------------
  736. CMD:invite(playerid,params[])
  737. {
  738. new pID, string[328];
  739. //--------------------------------------------------------------------------
  740. if(GetPlayerClanRank(playerid) < 4) return
  741. SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: You have to be Clan Leader to use this comamnd!");
  742. //--------------------------------------------------------------------------
  743. if(sscanf(params, "u", pID)) return
  744. SendClientMessage(playerid, COLOR_YELLOW, "{FF9900}Usage: /invite [Playerid/Nickname]");
  745. //--------------------------------------------------------------------------
  746. if(!IsPlayerConnected(pID)) return
  747. SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: This player isn't connected!");
  748. //--------------------------------------------------------------------------
  749. if(IsMySelf(playerid, pID)) return
  750. SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: You cannot invite yourself!");
  751. //--------------------------------------------------------------------------
  752. if(IsPlayerAnyClanMember(pID)) return
  753. SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: This player is already in an Clan!");
  754. //--------------------------------------------------------------------------
  755. if(GetTotalMembers(GetPlayerClan(playerid)) == MAX_CMembers) return
  756. SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: You can't invite members into your clan because your clan is full!");
  757. //--------------------------------------------------------------------------
  758. if(Invite[pID] == 1) return
  759. SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: You have already invited this player please stand by for input!");
  760. //--------------------------------------------------------------------------
  761. Invite[pID] = 1; PlayerInvited = pID; ClanInvited = playerid;
  762. //--------------------------------------------------------------------------
  763. format(string, sizeof(string), "{FFFF00}You were invited to join into Clan: {FF0000}%s{FFFF00}!\n{FFFF00}Press {FF0000}Accept{FFFF00}or {FF0000}Denny{FFFF00}!", GetPlayerClan(playerid));
  764. SendClientMessage(pID, ~1, string);
  765. ShowPlayerDialog( PlayerInvited, Dialog_Invite, DIALOG_STYLE_MSGBOX,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Join Clan Request", string, "Accept", "Denny");
  766. format(string, sizeof(string), "{FFFF00}You invited {FF0000}%s {FFFF00}to join your Clan, please wait for the player to {FF0000}Accept {FFFF00}or {FF0000}Denny{FFFF00} your invitation!", GetPlayerNameEx(pID));
  767. SendClientMessage(playerid, ~1, string);
  768. ShowPlayerDialog( playerid, 1, DIALOG_STYLE_MSGBOX,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Invitation Send", string, "Close", "");
  769. return 1;
  770. }
  771. //------------------------------------------------------------------------------
  772. CMD:accept(playerid, params[])
  773. {
  774. new string[256];
  775. if(Invite[playerid] == 0) return SendClientMessage(playerid, ~1,"{FF0000}ERROR: You haven't been invitated by anyone!");
  776. if(IsPlayerAnyClanMember(playerid)) return SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: You are already in a clan!");
  777. //--------------------------------------------------------------------------
  778. format(string, sizeof(string), "{FF0000}%s {FFFF00}has joined our clan!", GetPlayerNameEx(ClanInvited));
  779. SendMessageToClanMembers(playerid, -1, string);
  780. //--------------------------------------------------------------------------
  781. format(string, sizeof(string), "{FF0000}%s {FFFF00}has accepted your {FF0000}Clan Invite{FFFF00}!", GetPlayerNameEx(playerid));
  782. SendClientMessage(ClanInvited, COLOR_GREEN, string);
  783. //--------------------------------------------------------------------------
  784. format(string, sizeof(string), "{FF0000}%s {FFFF00}welcome to {FF0000}%s{FFFF00} Clan!", GetPlayerNameEx(playerid), GetPlayerClan(ClanInvited));
  785. SendClientMessage(playerid, COLOR_GREEN, string);
  786. //--------------------------------------------------------------------------
  787. AddPlayerToClan(ClanInvited, PlayerInvited);
  788. Invite[playerid] = 0;
  789. return 1;
  790. }
  791. //------------------------------------------------------------------------------
  792. CMD:denny(playerid, params[])
  793. {
  794. new string[256];
  795. if(Invite[playerid] == 0) return SendClientMessage(playerid, ~1,"{FF0000}ERROR: You haven't been invitated by anyone!");
  796. format(string, sizeof(string), "{FF0000}%s {FFFF00}has declined your {FF0000}Clan Invite{FFFF00}!", GetPlayerNameEx(playerid));
  797. SendClientMessage(ClanInvited, COLOR_GREEN, string);
  798. //--------------------------------------------------------------------------
  799. SendClientMessage(playerid, ~1,"{FF0000}You have dennyed the clan invite!");
  800. Invite[playerid] = 0;
  801. return 1;
  802. }
  803. //------------------------------------------------------------------------------
  804. CMD:mkick(playerid,params[])
  805. {
  806. new target;
  807. if(!sscanf(params, "u", target))
  808. {
  809. RemovePlayerFromClan(playerid, target);
  810. return ( 1 );
  811. }
  812. else SendClientMessage(playerid,-1,"{FF9900}Usage: /mkick [playerid]");
  813. return 1;
  814. }
  815. //------------------------------------------------------------------------------
  816. CMD:csrank(playerid,params[])
  817. {
  818. new target, crank;
  819. //--------------------------------------------------------------------------
  820. if(sscanf(params, "ui", target, crank)) return
  821. SendClientMessage(playerid, -1, "{FF9900}Usage: /csrank [PlayerID] [Rank]");
  822. //--------------------------------------------------------------------------
  823. if(crank < 0 || crank > 4) return
  824. SendClientMessage(playerid, -1,"{FF0000}ERROR: Invalid Clan Rank (1-4)!");
  825. //--------------------------------------------------------------------------
  826. if(target == playerid) return
  827. SendClientMessage(playerid,-1,"{FF0000}ERROR: You can't change your Clan Rank" );
  828. //--------------------------------------------------------------------------
  829. else
  830. {
  831. ChangePlayerClanRank(playerid, target, crank);
  832. }
  833. return 1;
  834. }
  835. //------------------------------------------------------------------------------
  836. CMD:lclan(playerid,params[])
  837. {
  838. return LeaveClan(playerid);
  839. }
  840. //------------------------------------------------------------------------------
  841. CMD:dclan(playerid,params[])
  842. {
  843. return DisbandClan(playerid);
  844. }
  845. //------------------------------------------------------------------------------
  846. CMD:cweapons(playerid, params[])
  847. {
  848. if(GetPlayerClanRank(playerid) < 4) return SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: You have to be Clan Leader to use this comamnd!");
  849. ShowPlayerDialog( playerid, WeaponsD1, DIALOG_STYLE_LIST,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}Weapons Set {FF9900}1", WeaponsDS1( ), "Select", "");
  850. return 1;
  851. }
  852. //------------------------------------------------------------------------------
  853. CMD:ccolor(playerid, params[])
  854. {
  855. if(GetPlayerClanRank(playerid) < 4) return SendClientMessage(playerid, COLOR_YELLOW, "You have to be Clan Leader to use this comamnd.");
  856. ShowPlayerDialog(playerid, Clan_ColorsChange, DIALOG_STYLE_LIST, "Clan Colors", ClanColorsD( ), "(Change)", "");
  857. return 1;
  858. }
  859. //------------------------------------------------------------------------------
  860. CMD:cskinl(playerid, params[])
  861. {
  862. if(GetPlayerClanRank(playerid) < 4) return
  863. SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: You have to be Clan Leader to use this comamnd!");
  864. ShowPlayerDialog(playerid,Clan_SkinLChange,DIALOG_STYLE_INPUT,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Leader Skin Change","{FF9900}Please Insert Leader Skin of the Clan","Change","");
  865. return 1;
  866. }
  867. //------------------------------------------------------------------------------
  868. CMD:cskinm(playerid, params[])
  869. {
  870. if(GetPlayerClanRank(playerid) < 4) return
  871. SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: You have to be Clan Leader to use this comamnd.");
  872. ShowPlayerDialog(playerid,Clan_SkinMChange,DIALOG_STYLE_INPUT,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Member Skin Change","{FF9900}Please Insert Member Skin of the Clan","Change","");
  873. return 1;
  874. }
  875. //------------------------------------------------------------------------------
  876. CMD:cdes(playerid, params[])
  877. {
  878. if(GetPlayerClanRank(playerid) < 4) return SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: You have to be Clan Leader to use this comamnd!");
  879. ShowPlayerDialog(playerid,Clan_DesChange,DIALOG_STYLE_INPUT,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Description","{FF9900}Insert here the new description of your {FF0000}Clan","Change","Cancel");
  880. return 1;
  881. }
  882. //------------------------------------------------------------------------------
  883. CMD:cmotd(playerid, params[])
  884. {
  885. if(GetPlayerClanRank(playerid) < 4) return SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: You have to be Clan Leader to use this comamnd!");
  886. ShowPlayerDialog(playerid,Clan_MOTDChange,DIALOG_STYLE_INPUT,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan MOTD","{FF9900}Insert here the new {FF0000}\"Message Of The Day\"{FF9900} of your Clan","Change","Cancel");
  887. return 1;
  888. }
  889. //------------------------------------------------------------------------------
  890. CMD:createclan(playerid, params[])
  891. {
  892. if(IsPlayerAnyClanMember(playerid)) return
  893. SendClientMessage(playerid,-1,"{FF0000}ERROR: You are already in a clan, you cant create new one!");
  894. //--------------------------------------------------------------------------
  895. else
  896. {
  897. ShowPlayerDialog(playerid, CreateC_D, DIALOG_STYLE_INPUT, "{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Create Clan", "{FF0000}Hi!\n{FF9900}Follow the next steps to Successfully Create your Own Clan!\n\n{FF0000}1st Step:{FF9900} Please Insert below the name of your clan:","Next","Cancel");
  898. }
  899. return 1;
  900. }
  901. //------------------------------------------------------------------------------
  902. CMD:setspawn(playerid, params[])
  903. {
  904. //--------------------------------------------------------------------------
  905. if(GetPlayerClanRank(playerid) < 4) return
  906. SendClientMessage(playerid, COLOR_YELLOW, "{FF0000}ERROR: You have to be Clan Leader to use this comamnd!");
  907. //--------------------------------------------------------------------------
  908. ShowPlayerDialog( playerid, Clan_Spawn, DIALOG_STYLE_MSGBOX,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Set Clan Spawn Place", "{FF9900}You can set your Clan Spawn Place after your current position!\n{FF9900}If is not the right spawn place press \"{FF0000}No{FF9900}\" and if you are sure press \"{FF0000}Yes{FF9900}\"", "Yes", "No");
  909. return 1;
  910. }
  911. //------------------------------------------------------------------------------
  912. CMD:chelp(playerid, params[]) return cmd_clanhelp(playerid, params);
  913. //------------------------------------------------------------------------------
  914. CMD:clanhelp(playerid, params[]) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Help Section", ClanHelpD(), "Ok", "");
  915. //------------------------------------------------------------------------------
  916. CMD:ctop(playerid, params[]) return ShowTopClan(playerid, "clankills", "ClanKills");
  917. //------------------------------------------------------------------------------
  918. //CMD:clanm(playerid, params[]) return ShowPlayerDialog(playerid, 123, DIALOG_STYLE_LIST,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Members", GetClanMembers(GetPlayerClan(playerid)), "Ok", "");
  919. //------------------------------------------------------------------------------
  920. //CMD:clans(playerid, params[]) return ShowPlayerDialog(playerid, 123, DIALOG_STYLE_LIST,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- All Clans", GetAllClans(), "Ok", "");
  921. //------------------------------------------------------------------------------
  922. CMD:csettings(playerid, params[]) return ShowPlayerDialog(playerid, Clan_Settings, DIALOG_STYLE_LIST,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Settings", ClanSettingsD(), "Select", "Close");
  923. //------------------------------------------------------------------------------
  924. CMD:cstats(playerid, params[])
  925. {
  926. //--------------------------------------------------------------------------
  927. new csid;
  928. //--------------------------------------------------------------------------
  929. if(!sscanf(params, "u", csid))
  930. {
  931. if(IsPlayerConnected(csid))
  932. {
  933. ShowPlayerDialog(playerid, 123, DIALOG_STYLE_MSGBOX, "{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Stats", ShowCStats(csid), "Ok", "");
  934. }
  935. else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: Player not connected!");
  936. }
  937. else
  938. {
  939. ShowPlayerDialog(playerid, 123, DIALOG_STYLE_MSGBOX, "{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Clan Stats", ShowCStats(playerid), "Ok", "");
  940. }
  941. return 1;
  942. }
  943. //==============================================================================
  944. //Clan System Functions
  945. //==============================================================================
  946. stock ClanHelpD()
  947. {
  948. new ClanHelpDS[2024];
  949. ClanHelpDS[0]='\0';
  950. //--------------------------------------------------------------------------
  951. strcat(ClanHelpDS,"{FF0000}Clan Member Commands:\n");
  952. strcat(ClanHelpDS,"{FF0000}• {FF9900}/createclan {00BBF6}-> To Create your own Clan!\n");
  953. strcat(ClanHelpDS,"{FF0000}• {FF9900}/accept {00BBF6}-> To accept someone invitation to join his Clan\n");
  954. strcat(ClanHelpDS,"{FF0000}• {FF9900}/denny {00BBF6}-> To Denny someone invitation to join his Clan!\n");
  955. strcat(ClanHelpDS,"{FF0000}• {FF9900}/clanm {00BBF6}-> To see all the members from the Clan!\n");
  956. // strcat(ClanHelpDS,"{FF0000}• {FF9900}/clans {00BBF6}-> To see all Clans from the server\n");
  957. strcat(ClanHelpDS,"{FF0000}• {FF9900}/lclan {00BBF6}-> To leave your curent clan\n");
  958. strcat(ClanHelpDS,"{FF0000}• {FF9900}/ctop {00BBF6}-> To see Top Clan from this server!\n\n");
  959. strcat(ClanHelpDS,"{FF0000}Clan Leader Commands:\n");
  960. strcat(ClanHelpDS,"{FF0000}• {FF9900}/invite {00BBF6}-> To invite someone in your Clan!\n");
  961. strcat(ClanHelpDS,"{FF0000}• {FF9900}/csrank {00BBF6}-> To change the rank of a Member\n");
  962. strcat(ClanHelpDS,"{FF0000}• {FF9900}/mkick {00BBF6}-> If you want to kick someone from your clan!\n");
  963. strcat(ClanHelpDS,"{FF0000}• {FF9900}/cweapons {00BBF6}-> To change the Clan Weapons Set!\n");
  964. strcat(ClanHelpDS,"{FF0000}• {FF9900}/ccolor {00BBF6}-> To change the Color of your Clan!\n");
  965. strcat(ClanHelpDS,"{FF0000}• {FF9900}/cmotd {00BBF6}-> To change Message Of The Day for your clan!\n");
  966. strcat(ClanHelpDS,"{FF0000}• {FF9900}/cdes {00BBF6}-> To add a Description to your Clan\n");
  967. strcat(ClanHelpDS,"{FF0000}• {FF9900}/cskinl {00BBF6}-> To change the skin of Clan Leader\n");
  968. strcat(ClanHelpDS,"{FF0000}• {FF9900}/cskinm {00BBF6}-> To change the skin of Clan Members\n");
  969. strcat(ClanHelpDS,"{FF0000}• {FF9900}/setspawn {00BBF6}-> To set the Spawn Place for your Members!\n");
  970. strcat(ClanHelpDS,"{FF0000}• {FF9900}/csettings {00BBF6}-> To open Settings Dialog!\t\n");
  971. strcat(ClanHelpDS,"{FF0000}• {FF9900}/dclan {00BBF6}-> Only if you are The Clan Leader (Rank 4) to delete your Clan!\n\n");
  972. strcat(ClanHelpDS,"{FF9900}Use {FF0000}\"!\"{FF9900} to talk in {FF0000}Clan Chat{FF9900}!");
  973. //--------------------------------------------------------------------------
  974. return ClanHelpDS;
  975. }
  976. //------------------------------------------------------------------------------
  977. stock ShowCStats(playerid)
  978. {
  979. //--------------------------------------------------------------------------
  980. new csstr1[120], csstr2[120], csstr3[120], csstr4[120], csstr5[120], csstr6[120],
  981. csstr7[120], csstr8[120], csstr9[120], csstr10[120],csstr0[1200];
  982. //--------------------------------------------------------------------------
  983. format(csstr1, 120, "{FF0000}%s's {FF9900}Stats\n\n", GetPlayerNameEx(playerid));
  984. strcat(csstr2, "{FF0000}Clan Stats:\n");
  985. format(csstr3, 120, "{FF0000}• {FF9900}Clan Name: {00BBF6}%s\n", GetPlayerClan(playerid));
  986. format(csstr4, 120, "{FF0000}• {FF9900}Clan Creator: {00BBF6}%s\n", GetClanLeader(GetPlayerClan(playerid)));
  987. format(csstr5, 120, "{FF0000}• {FF9900}Clan Kills: {00BBF6}%d\n", GetClanKills(GetPlayerClan(playerid)));
  988. format(csstr6, 120, "{FF0000}• {FF9900}Clan Deaths: {00BBF6}%d\n", GetClanDeaths(GetPlayerClan(playerid)));
  989. format(csstr7, 120, "{FF0000}• {FF9900}Clan Description: {00BBF6}%s\n", GetClanDescription(GetPlayerClan(playerid)));
  990. format(csstr8, 120, "{FF0000}• {FF9900}Clan MOTD: {00BBF6}%s\n", GetClanMOTD(GetPlayerClan(playerid)));
  991. format(csstr9, 120, "{FF0000}• {FF9900}Total Clan Members: {00BBF6}%d\n", GetTotalMembers(GetPlayerClan(playerid)));
  992. format(csstr10,120, "{FF0000}• {FF9900}Player Clan Rank: {00BBF6}%d", GetPlayerClanRank(playerid));
  993. format(csstr0, 1200,"%s%s%s%s%s%s%s%s%s%s", csstr1, csstr2, csstr3, csstr4, csstr5, csstr6, csstr7, csstr8, csstr9, csstr10);
  994. //--------------------------------------------------------------------------
  995. return csstr0;
  996.  
  997. }
  998. //------------------------------------------------------------------------------
  999. ClanColorsD()
  1000. {
  1001. new ClanColorsDS[1024];
  1002. ClanColorsDS[0]='\0';
  1003. //--------------------------------------------------------------------------
  1004. strcat(ClanColorsDS,"{FF9900}Light Green\n");
  1005. strcat(ClanColorsDS,"{FF9900}Orange\n");
  1006. strcat(ClanColorsDS,"{FF9900}Red\n");
  1007. strcat(ClanColorsDS,"{FF9900}Black\n");
  1008. strcat(ClanColorsDS,"{FF9900}Yellow\n");
  1009. strcat(ClanColorsDS,"{FF9900}Blue\n");
  1010. strcat(ClanColorsDS,"{FF9900}Purple\n");
  1011. strcat(ClanColorsDS,"{FF9900}Grey\n");
  1012. //--------------------------------------------------------------------------
  1013. return ClanColorsDS;
  1014. }
  1015. //------------------------------------------------------------------------------
  1016. ClanSettingsD()
  1017. {
  1018. new ClanSettingsDS [1024];
  1019. ClanSettingsDS[0]='\0';
  1020. //--------------------------------------------------------------------------
  1021. strcat(ClanSettingsDS,"{FF9900}Clan Weapons\t\t {FF0000}/cweapons\n");
  1022. strcat(ClanSettingsDS,"{FF9900}Clan Color\t\t {FF0000}/ccolor\n");
  1023. strcat(ClanSettingsDS,"{FF9900}Clan Spawn\t\t {FF0000}/setspawn\n");
  1024. strcat(ClanSettingsDS,"{FF9900}Clan Stats\t\t {FF0000}/cstats\n");
  1025. strcat(ClanSettingsDS,"{FF9900}Clan Help\t\t {FF0000}/chelp\n");
  1026. strcat(ClanSettingsDS,"{FF9900}Clan Description\t {FF0000}/cdes\n");
  1027. strcat(ClanSettingsDS,"{FF9900}Clan MOTD\t\t {FF0000}/cmotd\n");
  1028. strcat(ClanSettingsDS,"{FF9900}Clan Leader Skin\t {FF0000}/cskinl\n");
  1029. strcat(ClanSettingsDS,"{FF9900}Clan Member Skin\t {FF0000}/cskinm)\n");
  1030. // strcat(ClanSettingsDS,"{FF9900}Clan Members\t\t {FF0000}/clanm)\n");
  1031. // strcat(ClanSettingsDS,"{FF9900}All Clans\t\t {FF0000}/clans)\n");
  1032. //--------------------------------------------------------------------------
  1033. return ClanSettingsDS;
  1034. }
  1035. //------------------------------------------------------------------------------
  1036. WeaponsDS1()
  1037. {
  1038. new WeaponsDSS1[1024];
  1039. WeaponsDSS1[0]='\0';
  1040. //--------------------------------------------------------------------------
  1041. strcat(WeaponsDSS1,"{FF9900}Brass Knuckles\n");
  1042. strcat(WeaponsDSS1,"{FF9900}Golf Club\n");
  1043. strcat(WeaponsDSS1,"{FF9900}Nightstick\n");
  1044. strcat(WeaponsDSS1,"{FF9900}Knife\n");
  1045. strcat(WeaponsDSS1,"{FF9900}Baseball Bat\n");
  1046. strcat(WeaponsDSS1,"{FF9900}Shovel\n");
  1047. strcat(WeaponsDSS1,"{FF9900}Pool Cue\n");
  1048. strcat(WeaponsDSS1,"{FF9900}Katana\n");
  1049. strcat(WeaponsDSS1,"{FF9900}Chainsaw\n");
  1050. //--------------------------------------------------------------------------
  1051. return WeaponsDSS1;
  1052. }
  1053. //------------------------------------------------------------------------------
  1054. WeaponsDS2()
  1055. {
  1056. new WeaponsDSS2[512];
  1057. WeaponsDSS2[0]='\0';
  1058. //--------------------------------------------------------------------------
  1059. strcat(WeaponsDSS2,"{FF9900}Pistol\n");
  1060. strcat(WeaponsDSS2,"{FF9900}Silenced Pistol\n");
  1061. strcat(WeaponsDSS2,"{FF9900}Desert Eagle\n");
  1062. //--------------------------------------------------------------------------
  1063. return WeaponsDSS2;
  1064. }
  1065. //------------------------------------------------------------------------------
  1066. WeaponsDS3()
  1067. {
  1068. new WeaponsDSS3[512];
  1069. WeaponsDSS3[0]='\0';
  1070. //--------------------------------------------------------------------------
  1071. strcat(WeaponsDSS3,"{FF9900}ShotGun\n");
  1072. strcat(WeaponsDSS3,"{FF9900}Sawn-Off-Shotgune\n");
  1073. strcat(WeaponsDSS3,"{FF9900}SPAZ-12\n");
  1074. //--------------------------------------------------------------------------
  1075. return WeaponsDSS3;
  1076. }
  1077. //------------------------------------------------------------------------------
  1078. WeaponsDS4()
  1079. {
  1080. new WeaponsDSS4[512];
  1081. WeaponsDSS4[0]='\0';
  1082. //--------------------------------------------------------------------------
  1083. strcat(WeaponsDSS4,"{FF9900}Micro UZI\n");
  1084. strcat(WeaponsDSS4,"{FF9900}MP5\n");
  1085. strcat(WeaponsDSS4,"{FF9900}TEC-9\n");
  1086. //--------------------------------------------------------------------------
  1087. return WeaponsDSS4;
  1088. }
  1089. //------------------------------------------------------------------------------
  1090. WeaponsDS5()
  1091. {
  1092. new WeaponsDSS5[256];
  1093. WeaponsDSS5[0]='\0';
  1094. //--------------------------------------------------------------------------
  1095. strcat(WeaponsDSS5,"{FF9900}AK-47\n");
  1096. strcat(WeaponsDSS5,"{FF9900}M4-A1\n");
  1097. //--------------------------------------------------------------------------
  1098. return WeaponsDSS5;
  1099. }
  1100. //------------------------------------------------------------------------------
  1101. WeaponsDS6()
  1102. {
  1103. new WeaponsDSS6[256];
  1104. //--------------------------------------------------------------------------
  1105. WeaponsDSS6[0]='\0';
  1106. strcat(WeaponsDSS6,"{FF9900}Country Rifle\n");
  1107. strcat(WeaponsDSS6,"{FF9900}Sniper Rifle\n");
  1108. //--------------------------------------------------------------------------
  1109. return WeaponsDSS6;
  1110. }
  1111. //------------------------------------------------------------------------------
  1112. IsInvalidSkin(SkinID)
  1113. {
  1114. #define MAX_BAD_SKINS 22
  1115. new InSkin[MAX_BAD_SKINS] = { 8, 42, 65, 74, 86, 149, 208,};
  1116. for(new i = 0; i < MAX_BAD_SKINS; i++)
  1117. {
  1118. if (SkinID == InSkin[i])
  1119. return true;
  1120. }
  1121. return 0;
  1122. }
  1123. //------------------------------------------------------------------------------
  1124. stock GetPlayerNameEx(playerid)
  1125. {
  1126. new pName[25];
  1127. GetPlayerName(playerid, pName, 25);
  1128. return pName;
  1129. }
  1130. //------------------------------------------------------------------------------
  1131. stock IsMySelf(pID, oID)
  1132. {
  1133. if(pID == oID) return 1;
  1134. return 0;
  1135. }
  1136. //------------------------------------------------------------------------------
  1137. stock AddPlayerToClan(playerid, addid)
  1138. {
  1139. new player_name[MAX_PLAYER_NAME], add_name[MAX_PLAYER_NAME], CQuery[300];
  1140. //--------------------------------------------------------------------------
  1141. if(GetPlayerClanRank(playerid) < 3) return
  1142. SendClientMessage(playerid,-1,"{FF0000}ERROR: You must be Rank 3 Member or Clan Leader/Subleader to add people to clan!");
  1143. //--------------------------------------------------------------------------
  1144. if(IsPlayerAnyClanMember(addid)) return
  1145. SendClientMessage(playerid,-1,"{FF0000}ERROR: Player is already in a clan!");
  1146. //--------------------------------------------------------------------------
  1147. CallLocalFunction("OnPlayerAddPlayerToClan", "iis", playerid, addid, GetPlayerClan(playerid));
  1148. GetPlayerName(playerid,player_name,sizeof(player_name));
  1149. GetPlayerName(addid,add_name,sizeof(add_name));
  1150. format(CQuery,sizeof(CQuery),"INSERT INTO `members`(`clanname`, `playername`, `playerclanrank`, `isinclan`, `IsOnline`) VALUES('%s', '%s', 1, 1, 1)", GetPlayerClan(playerid), add_name);
  1151. db_query( Database, CQuery );
  1152. SpawnPlayer(PlayerInvited);
  1153. return 1;
  1154. }
  1155. //------------------------------------------------------------------------------
  1156. stock RemovePlayerFromClan(playerid, removeid)
  1157. {
  1158. new player_name[MAX_PLAYER_NAME], remove_name[MAX_PLAYER_NAME],
  1159. CQuery[300], string[128];
  1160. //--------------------------------------------------------------------------
  1161. if(GetPlayerClanRank(playerid) < 3) return
  1162. SendClientMessage(playerid,-1,"{FF0000}ERROR: You must be Rank 3 Member or Clan Leader/Subleader to remove people from clan!");
  1163. //--------------------------------------------------------------------------
  1164. if(!IsPlayerClanMember(removeid,GetPlayerClan(playerid))) return SendClientMessage(playerid,-1,"{FF0000}ERROR: Player is not in your clan!");
  1165. CallLocalFunction("OnPlayerRemovePlayerFromClan", "iis", playerid, removeid, GetPlayerClan(playerid));
  1166. GetPlayerName(playerid,player_name,sizeof(player_name));
  1167. GetPlayerName(removeid,remove_name,sizeof(remove_name));
  1168. format(CQuery, sizeof(CQuery), "DELETE FROM members WHERE playername = '%s'", remove_name);
  1169. db_query( Database, CQuery );
  1170. //--------------------------------------------------------------------------
  1171. format(string, sizeof(string), "{FF0000}%s {FFFF00}has kicked {FF0000}%s{FFFF00} from our clan!", player_name, remove_name);
  1172. SendMessageToClanMembers(playerid, -1, string);
  1173. //--------------------------------------------------------------------------
  1174. return 1;
  1175. }
  1176. //------------------------------------------------------------------------------
  1177. stock LeaveClan(playerid)
  1178. {
  1179. new leave_name[MAX_PLAYER_NAME], CQuery[300], string[128];
  1180. //--------------------------------------------------------------------------
  1181. if(GetPlayerClanRank(playerid) > 3) return
  1182. SendClientMessage(playerid,-1,"{FF0000}ERROR: Leaders can't leave clan! You can Delete your clan (/dclan) or assign a new clan leader!");
  1183. //--------------------------------------------------------------------------
  1184. if(IsPlayerAnyClanMember(playerid) == 0) return
  1185. SendClientMessage(playerid,-1,"{FF0000}ERROR: You are not in a clan!");
  1186. //--------------------------------------------------------------------------
  1187. CallLocalFunction("OnPlayerLeaveClan", "is", playerid, GetPlayerClan(playerid));
  1188. GetPlayerName(playerid,leave_name,sizeof(leave_name));
  1189. SendClientMessage(playerid, -1, "{FF0000}You have succesfully left the clan!");
  1190. format(CQuery, sizeof(CQuery), "DELETE FROM members WHERE playername = '%s'", leave_name);
  1191. db_query( Database, CQuery );
  1192. //--------------------------------------------------------------------------
  1193. format(string, sizeof(string), "{FF0000}%s {FFFF00}has left our clan!", leave_name);
  1194. SendMessageToClanMembers(playerid, -1, string);
  1195. //--------------------------------------------------------------------------
  1196. return 1;
  1197. }
  1198. //------------------------------------------------------------------------------
  1199. stock DisbandClan(playerid)
  1200. {
  1201. new CQuery[300], player_name[MAX_PLAYER_NAME], string[128];
  1202. //--------------------------------------------------------------------------
  1203. if(IsPlayerAnyClanMember(playerid) == 0) return
  1204. SendClientMessage(playerid,-1,"{FF0000}ERROR: You are not in a clan!");
  1205. //--------------------------------------------------------------------------
  1206. if(GetPlayerClanRank(playerid) < 4) return
  1207. SendClientMessage(playerid,-1,"{FF0000}ERROR: You are not the main Leader of this Clan!");
  1208. //--------------------------------------------------------------------------
  1209. CallLocalFunction("OnPlayerDisbandClan", "is", playerid, GetPlayerClan(playerid));
  1210. GetPlayerName(playerid,player_name,sizeof(player_name));
  1211. //--------------------------------------------------------------------------
  1212. format(string, sizeof(string), "{FF0000}%s {FFFF00}has deleted clan: {FF0000}%s!", player_name, GetPlayerClan(playerid));
  1213. SendMessageToClanMembers(playerid, -1, string);
  1214. //--------------------------------------------------------------------------
  1215. SendClientMessage(playerid, -1, "{FF0000}You have succesfully disbanded the clan!");
  1216. format(CQuery, sizeof(CQuery), "DELETE FROM clans WHERE clanname = '%s'", GetPlayerClan(playerid));
  1217. db_query( Database, CQuery );
  1218. format(CQuery, sizeof(CQuery), "DELETE FROM members WHERE playername = '%s'", player_name);
  1219. db_query( Database, CQuery );
  1220. return 1;
  1221. }
  1222. //------------------------------------------------------------------------------
  1223. stock ChangePlayerClanRank(playerid, giveid, new_rank)
  1224. {
  1225. //--------------------------------------------------------------------------
  1226. new player_name[MAX_PLAYER_NAME], give_name[MAX_PLAYER_NAME],
  1227. CQuery[300], string[128];
  1228. //--------------------------------------------------------------------------
  1229. if(IsPlayerAnyClanMember(playerid) == 0) return
  1230. SendClientMessage(playerid,-1,"{FF0000}ERROR: {FFFFFF}You are not part of a clan!");
  1231. //--------------------------------------------------------------------------
  1232. if(GetPlayerClanRank(playerid) < 3) return
  1233. SendClientMessage(playerid,-1,"{FF0000}ERROR: You must be Rank 3 Member or Clan Leader/Subleader to change members' clan rank!");
  1234. //--------------------------------------------------------------------------
  1235. if(IsPlayerClanMember(giveid, GetPlayerClan(playerid)))
  1236. {
  1237. //----------------------------------------------------------------------
  1238. CallLocalFunction("OnPlayerChangePlayerRank", "iii", playerid, giveid, new_rank);
  1239. GetPlayerName(playerid,player_name,sizeof(player_name));
  1240. GetPlayerName(giveid,give_name,sizeof(give_name));
  1241. format(CQuery, sizeof(CQuery), "UPDATE `members` SET `playerclanrank` = %d WHERE `playername` = '%s'", new_rank, give_name);
  1242. db_query(Database, CQuery );
  1243. //----------------------------------------------------------------------
  1244. format(string, sizeof(string), "{FF0000}%s {FFFF00}has recieved {FF0000}Clan Rank: %d{FFFF00} from {FF0000}%s{FFFF00}!", give_name, new_rank, player_name);
  1245. SendMessageToClanMembers(playerid, -1, string);
  1246. //----------------------------------------------------------------------
  1247. if(GetPlayerClanRank(playerid) == 4) return SetPlayerSkin(playerid, GetClanSkinLeader(GetPlayerClan(playerid)));
  1248. return 1;
  1249. }
  1250. else return SendClientMessage(playerid, -1, "{FF0000}ERROR: The Specified player is not in our clan!");
  1251. }
  1252. //------------------------------------------------------------------------------
  1253. stock ChangeClanMOTD(playerid, new_motd[])
  1254. {
  1255. new CQuery[300];
  1256. //--------------------------------------------------------------------------
  1257. if(IsPlayerAnyClanMember(playerid) == 0) return
  1258. SendClientMessage(playerid,-1,"{FF0000}ERROR: You are not in a clan!");
  1259. //--------------------------------------------------------------------------
  1260. CallLocalFunction("OnPlayerChangeClanMOTD", "is", playerid, new_motd);
  1261. format(CQuery, sizeof(CQuery), "UPDATE clans SET clanmotd = '%s' WHERE clanname = '%s'", new_motd, GetPlayerClan(playerid));
  1262. db_query( Database, CQuery );
  1263. SendClientMessage(playerid, -1, "{FF9900}You have succesfully changed the MOTD!");
  1264. return 1;
  1265. }
  1266. //------------------------------------------------------------------------------
  1267. stock ChangeClanDescription(playerid, new_description[])
  1268. {
  1269. new CQuery[300];
  1270. //--------------------------------------------------------------------------
  1271. if(IsPlayerAnyClanMember(playerid) == 0) return
  1272. SendClientMessage(playerid,-1,"{FF0000}ERROR: You are not in a clan!");
  1273. //--------------------------------------------------------------------------
  1274. if(GetPlayerClanRank(playerid) < 3) return
  1275. SendClientMessage(playerid,-1,"{FF0000}ERROR: You must be Rank 3 Member Clan Leader/Subleader to change clan's description!");
  1276. //--------------------------------------------------------------------------
  1277. CallLocalFunction("OnPlayerChangeClanDescription", "is", playerid, new_description);
  1278. format(CQuery, sizeof(CQuery), "UPDATE clans SET clandes = '%s' WHERE clanname = '%s'", new_description, GetPlayerClan(playerid));
  1279. db_query( Database, CQuery );
  1280. SendClientMessage(playerid, -1, "{FF9900}You have succesfully clan description!");
  1281. return 1;
  1282. }
  1283. //------------------------------------------------------------------------------
  1284. stock ChangeClanWeapons(playerid, new_weap1, new_weap2, new_weap3)
  1285. {
  1286. new CQuery[300];
  1287. //--------------------------------------------------------------------------
  1288. if(IsPlayerAnyClanMember(playerid) == 0) return
  1289. SendClientMessage(playerid,-1,"{FF0000}ERROR: You are not in a clan!");
  1290. //--------------------------------------------------------------------------
  1291. if(GetPlayerClanRank(playerid) < 3) return
  1292. SendClientMessage(playerid,-1,"{FF0000}ERROR: You must be Rank 3 Member or Clan Leader/Subleader to change clan's weapons!");
  1293. //--------------------------------------------------------------------------
  1294. CallLocalFunction("OnPlayerChangeClanWeapons", "iiii", playerid, new_weap1, new_weap2, new_weap3);
  1295. format(CQuery, sizeof(CQuery), "UPDATE `clans` SET `weap1` = '%d', `weap2` = '%d', `weap3` = '%d' WHERE clanname = '%s'", new_weap1, new_weap2, new_weap3, GetPlayerClan(playerid));
  1296. db_query( Database, CQuery );
  1297. SendClientMessage(playerid, -1, "{FF9900}You have succesfully updated Clan Settings!");
  1298. return 1;
  1299. }
  1300. //------------------------------------------------------------------------------
  1301. stock GetTotalMembers(clan[])
  1302. {
  1303. new CQuery[100];
  1304. format(CQuery, sizeof(CQuery), "SELECT * FROM `members` WHERE `clanname` = '%s'", clan);
  1305. Result = db_query( Database, CQuery );
  1306. new rows = db_num_rows(Result);
  1307. db_free_result(Result);
  1308. return rows;
  1309. }
  1310. //------------------------------------------------------------------------------
  1311. stock IsPlayerAnyClanMember(playerid)
  1312. {
  1313. new player_name[MAX_PLAYER_NAME], CQuery[100];
  1314. GetPlayerName(playerid,player_name,sizeof(player_name));
  1315. format(CQuery, sizeof(CQuery), "SELECT `playername` FROM `members` WHERE `playername` = '%s'", player_name);
  1316. Result = db_query( Database, CQuery );
  1317. new rows = db_num_rows( Result );
  1318. db_free_result( Result );
  1319. if(!rows) return 0;
  1320. else return 1;
  1321. }
  1322. //------------------------------------------------------------------------------
  1323. stock IsPlayerClanMember(playerid, clan_name[])
  1324. {
  1325. new player_name[MAX_PLAYER_NAME], CQuery[100];
  1326. GetPlayerName(playerid,player_name,sizeof(player_name));
  1327. format(CQuery, sizeof(CQuery), "SELECT `clanname` FROM `members` WHERE `playername` = '%s' AND `clanname` = '%s'", player_name, clan_name);
  1328. Result = db_query( Database, CQuery );
  1329. new rows = db_num_rows( Result );
  1330. db_free_result(Result);
  1331. if(!rows) return 0;
  1332. else return 1;
  1333. }
  1334. //------------------------------------------------------------------------------
  1335. stock GetPlayerClan(playerid)
  1336. {
  1337. new player_name[MAX_PLAYER_NAME], CQuery[100], Field[30];
  1338. GetPlayerName(playerid,player_name,sizeof(player_name));
  1339. format(CQuery, sizeof(CQuery), "SELECT `clanname` FROM `members` WHERE `playername` = '%s'", player_name);
  1340. Result = db_query(Database, CQuery);
  1341. db_get_field_assoc( Result, "clanname", Field, 30 );
  1342. db_free_result(Result);
  1343. return Field;
  1344. }
  1345. //------------------------------------------------------------------------------
  1346. stock GetClanLeader(clan_name[])
  1347. {
  1348. new CQuery[100], Field[30];
  1349. format(CQuery, sizeof(CQuery), "SELECT `clanleader` FROM `clans` WHERE `clanname` = '%s'", clan_name);
  1350. Result = db_query(Database, CQuery);
  1351. db_get_field_assoc( Result, "clanleader", Field, 30 );
  1352. db_free_result(Result);
  1353. return Field;
  1354. }
  1355. //------------------------------------------------------------------------------
  1356. stock GetPlayerClanRank(playerid)
  1357. {
  1358. new player_name[MAX_PLAYER_NAME], rank[10], CQuery[100];
  1359. GetPlayerName(playerid,player_name,sizeof(player_name));
  1360. format(CQuery, sizeof(CQuery), "SELECT `playerclanrank` FROM `members` WHERE `playername` = '%s'", player_name);
  1361. Result = db_query( Database, CQuery );
  1362. db_get_field_assoc( Result, "playerclanrank", rank, 30 );
  1363. db_free_result(Result);
  1364. return strval(rank);
  1365. }
  1366. //------------------------------------------------------------------------------
  1367. stock GetClanMOTD(clan[])
  1368. {
  1369. new CQuery[100], clan_motd[100];
  1370. format(CQuery, sizeof(CQuery), "SELECT `clanmotd` FROM `clans` WHERE `clanname` = '%s'", clan);
  1371. Result = db_query( Database, CQuery );
  1372. db_get_field_assoc( Result, "clanmotd", clan_motd, 30 );
  1373. db_free_result(Result);
  1374. return clan_motd;
  1375. }
  1376. //------------------------------------------------------------------------------
  1377. stock GetClanKills(clan[])
  1378. {
  1379. new CQuery[100], clan_kills[100];
  1380. format(CQuery, sizeof(CQuery), "SELECT `clankills` FROM `clans` WHERE `clanname` = '%s'", clan);
  1381. Result = db_query( Database, CQuery );
  1382. db_get_field_assoc( Result, "clankills", clan_kills, 30 );
  1383. db_free_result(Result);
  1384. return strval(clan_kills);
  1385. }
  1386. //------------------------------------------------------------------------------
  1387. stock GetClanDeaths(clan[])
  1388. {
  1389. new CQuery[100], clan_deaths[100];
  1390. format(CQuery, sizeof(CQuery), "SELECT `clandeaths` FROM `clans` WHERE `clanname` = '%s'", clan);
  1391. Result = db_query( Database, CQuery );
  1392. db_get_field_assoc( Result, "clandeaths", clan_deaths, 30 );
  1393. db_free_result(Result);
  1394. return strval(clan_deaths);
  1395. }
  1396. //------------------------------------------------------------------------------
  1397. stock GetClanWeapon1(clan[])
  1398. {
  1399. new CQuery[100], clan_weap[100];
  1400. format(CQuery, sizeof(CQuery), "SELECT `weap1` FROM `clans` WHERE `clanname` = '%s'", clan);
  1401. Result = db_query( Database, CQuery );
  1402. db_get_field_assoc( Result, "weap1", clan_weap, 30 );
  1403. db_free_result(Result);
  1404. return strval(clan_weap);
  1405. }
  1406. //------------------------------------------------------------------------------
  1407. stock GetClanWeapon2(clan[])
  1408. {
  1409. new CQuery[100], clan_weap[100];
  1410. format(CQuery, sizeof(CQuery), "SELECT `weap2` FROM `clans` WHERE `clanname` = '%s'", clan);
  1411. Result = db_query( Database, CQuery );
  1412. db_get_field_assoc( Result, "weap2", clan_weap, 30 );
  1413. db_free_result(Result);
  1414. return strval(clan_weap);
  1415. }
  1416. //------------------------------------------------------------------------------
  1417. stock GetClanWeapon3(clan[])
  1418. {
  1419. new CQuery[100], clan_weap[100];
  1420. format(CQuery, sizeof(CQuery), "SELECT `weap3` FROM `clans` WHERE `clanname` = '%s'", clan);
  1421. Result = db_query( Database, CQuery );
  1422. db_get_field_assoc( Result, "weap3", clan_weap, 30 );
  1423. db_free_result(Result);
  1424. return strval(clan_weap);
  1425. }
  1426. //------------------------------------------------------------------------------
  1427. stock GetClanWeapon4(clan[])
  1428. {
  1429. new CQuery[100], clan_weap[100];
  1430. format(CQuery, sizeof(CQuery), "SELECT `weap4` FROM `clans` WHERE `clanname` = '%s'", clan);
  1431. Result = db_query( Database, CQuery );
  1432. db_get_field_assoc( Result, "weap4", clan_weap, 30 );
  1433. db_free_result(Result);
  1434. return strval(clan_weap);
  1435. }
  1436. //------------------------------------------------------------------------------
  1437. stock GetClanWeapon5(clan[])
  1438. {
  1439. new CQuery[100], clan_weap[100];
  1440. format(CQuery, sizeof(CQuery), "SELECT `weap5` FROM `clans` WHERE `clanname` = '%s'", clan);
  1441. Result = db_query( Database, CQuery );
  1442. db_get_field_assoc( Result, "weap5", clan_weap, 30 );
  1443. db_free_result(Result);
  1444. return strval(clan_weap);
  1445. }
  1446. //------------------------------------------------------------------------------
  1447. stock GetClanWeapon6(clan[])
  1448. {
  1449. new CQuery[100], clan_weap[100];
  1450. format(CQuery, sizeof(CQuery), "SELECT `weap6` FROM `clans` WHERE `clanname` = '%s'", clan);
  1451. Result = db_query( Database, CQuery );
  1452. db_get_field_assoc( Result, "weap6", clan_weap, 30 );
  1453. db_free_result(Result);
  1454. return strval(clan_weap);
  1455. }
  1456. //------------------------------------------------------------------------------
  1457. stock GetClanPosX(clan[])
  1458. {
  1459. new CQuery[100], clan_pox[100];
  1460. format(CQuery, sizeof(CQuery), "SELECT `clanposx` FROM `clans` WHERE `clanname` = '%s'", clan);
  1461. Result = db_query( Database, CQuery );
  1462. db_get_field_assoc( Result, "clanposx", clan_pox, 30 );
  1463. db_free_result(Result);
  1464. return strval(clan_pox);
  1465. }
  1466. //------------------------------------------------------------------------------
  1467. stock GetClanPosY(clan[])
  1468. {
  1469. new CQuery[100], clan_poy[100];
  1470. format(CQuery, sizeof(CQuery), "SELECT `clanposy` FROM `clans` WHERE `clanname` = '%s'", clan);
  1471. Result = db_query( Database, CQuery );
  1472. db_get_field_assoc( Result, "clanposy", clan_poy, 30 );
  1473. db_free_result(Result);
  1474. return strval(clan_poy);
  1475. }
  1476. //------------------------------------------------------------------------------
  1477. stock GetClanPosZ(clan[])
  1478. {
  1479. new CQuery[100], clan_poz[100];
  1480. format(CQuery, sizeof(CQuery), "SELECT `clanposz` FROM `clans` WHERE `clanname` = '%s'", clan);
  1481. Result = db_query( Database, CQuery );
  1482. db_get_field_assoc( Result, "clanposz", clan_poz, 30 );
  1483. db_free_result(Result);
  1484. return strval(clan_poz);
  1485. }
  1486. //------------------------------------------------------------------------------
  1487. stock GetClanSkinLeader(clan[])
  1488. {
  1489. new CQuery[100], clan_lskin[100];
  1490. format(CQuery, sizeof(CQuery), "SELECT `lskin` FROM `clans` WHERE `clanname` = '%s'", clan);
  1491. Result = db_query( Database, CQuery );
  1492. db_get_field_assoc( Result, "lskin", clan_lskin, 30 );
  1493. db_free_result(Result);
  1494. return strval(clan_lskin);
  1495. }
  1496. //------------------------------------------------------------------------------
  1497. stock GetClanSkinMember(clan[])
  1498. {
  1499. new CQuery[100], clan_mskin[100];
  1500. format(CQuery, sizeof(CQuery), "SELECT `mskin` FROM `clans` WHERE `clanname` = '%s'", clan);
  1501. Result = db_query( Database, CQuery );
  1502. db_get_field_assoc( Result, "mskin", clan_mskin, 30 );
  1503. db_free_result(Result);
  1504. return strval(clan_mskin);
  1505. }
  1506. //------------------------------------------------------------------------------
  1507. stock GetClanDescription(clan[])
  1508. {
  1509. new CQuery[100], clan_desc[100];
  1510. format(CQuery, sizeof(CQuery), "SELECT `clandes` FROM `clans` WHERE `clanname` = '%s'", clan);
  1511. Result = db_query( Database, CQuery );
  1512. db_get_field_assoc( Result, "clandes", clan_desc, 30 );
  1513. db_free_result(Result);
  1514. return clan_desc;
  1515. }
  1516. //------------------------------------------------------------------------------
  1517. stock GetClanColor(clan[])
  1518. {
  1519. new CQuery[100], clan_color[100];
  1520. format(CQuery, sizeof(CQuery), "SELECT `clancolor` FROM `clans` WHERE `clanname` = '%s'", clan);
  1521. Result = db_query( Database, CQuery );
  1522. db_get_field_assoc( Result, "clancolor", clan_color, 30 );
  1523. db_free_result(Result);
  1524. return strval(clan_color);
  1525. }
  1526. //------------------------------------------------------------------------------
  1527. stock GetClanMembers(clan[])
  1528. {
  1529. new CQuery[200], minfo[1512];
  1530. //--------------------------------------------------------------------------
  1531. format(CQuery, sizeof(CQuery), "SELECT * FROM `members` WHERE `clanname` = '%s' ORDER BY `isinclan` DESC LIMIT 15", clan);
  1532. Result = db_query(Database, CQuery);
  1533. //--------------------------------------------------------------------------
  1534. for(new i; i < db_num_rows(Result); i++)
  1535. {
  1536. new string[30], string5[30], onoff[10], log[2];
  1537. //----------------------------------------------------------------------
  1538. db_get_field_assoc(Result, "playername", string, 30);
  1539. db_get_field_assoc(Result, "playerclanrank", string5, 30);
  1540. db_get_field_assoc(Result, "IsOnline", log, 2);
  1541. //----------------------------------------------------------------------
  1542. if(strcmp(log, "0") == 0)
  1543. {
  1544. onoff = "Offline";
  1545. }
  1546. else if(strcmp(log, "1") == 0)
  1547. {
  1548. onoff = "Online";
  1549. }
  1550. //----------------------------------------------------------------------
  1551. format(minfo,sizeof(minfo),"%s\n{FF0000}%s {33FF33}(Rank: %s) {00BBF6}(%s)" ,minfo, string, string5, onoff);
  1552. db_next_row(Result);
  1553. }
  1554. db_free_result(Result);
  1555. return minfo;
  1556. }
  1557. //------------------------------------------------------------------------------
  1558. stock GetAllClans()
  1559. {
  1560. new CQuery[100], minfo[3000];
  1561. //--------------------------------------------------------------------------
  1562. format(CQuery, 100, "SELECT * FROM `clans`");
  1563. Result = db_query(Database, CQuery);
  1564. //--------------------------------------------------------------------------
  1565. for(new i; i < db_num_rows(Result); i++)
  1566. {
  1567. new string[30], amembers[3], aowner[24];
  1568. //----------------------------------------------------------------------
  1569. db_get_field_assoc(Result, "clanname", string, 30);
  1570. db_get_field_assoc(Result, "clantag", amembers, 3);
  1571. db_get_field_assoc(Result, "clanleader", aowner, 24);
  1572. //----------------------------------------------------------------------
  1573. format(minfo,sizeof(minfo),"%s\n{FF0000}%s {33FF33}(Members: %s) {00BBF6}(%s)" ,minfo, string, amembers, aowner);
  1574. db_next_row(Result);
  1575. }
  1576. db_free_result(Result);
  1577. return minfo;
  1578. }
  1579. //------------------------------------------------------------------------------
  1580. stock CreateClan(playerid, clan_name[], clan_tag[], clan_description[], clan_motd[])
  1581. {
  1582. new CQuery[400], QCRows;
  1583. //--------------------------------------------------------------------------
  1584. if(IsPlayerAnyClanMember(playerid) != 0) return
  1585. SendClientMessage(playerid, red, "ERROR: You are already in a clan, you cannot create a new one!");
  1586. //--------------------------------------------------------------------------
  1587. format(CQuery, 200, "SELECT `clanname` FROM `clans` WHERE `clanname` = '%s'", clan_name);
  1588. Result = db_query(Database, CQuery);
  1589. QCRows = db_num_rows(Result);
  1590. //--------------------------------------------------------------------------
  1591. if(QCRows >= 1)
  1592. {
  1593. SendClientMessage(playerid, red, "ERROR: There is already a Clan with that name! Please try a different name!");
  1594. return 0;
  1595. }
  1596. db_free_result(Result);
  1597. format(CQuery, 400, "INSERT INTO `clans`(`clanname`, `clantag`, `clanleader`, `clandes`, `clanmotd`, `lskin`, `mskin`, `weap1`, `weap2`, `weap3`, `weap4`, `weap5`, `weap6`, `clankills`, `clandeaths`, `clancolor`, `clanposx`, `clanposy`, `clanposz`) VALUES('%s', '%s', '%s', '%s', '%s', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)", clan_name, clan_tag, GetPlayerNameEx(playerid), clan_description, clan_motd);
  1598. db_query(Database, CQuery);
  1599. format(CQuery, 400, "INSERT INTO `members`(`clanname`, `playername`, `playerclanrank`, `isinclan`, `IsOnline`) VALUES('%s', '%s', 4, 1, 1)", clan_name, GetPlayerNameEx(playerid));
  1600. db_query(Database, CQuery);
  1601. //--------------------------------------------------------------------------
  1602. ShowPlayerDialog( playerid, Clan_SkinL, DIALOG_STYLE_INPUT,"{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Leader Skin", "{FF9900}Please Insert The Skin of the Leader", "Next", "");
  1603. return 1;
  1604. }
  1605. //------------------------------------------------------------------------------
  1606. ShowTopClan( playerid, stats[ ], what[ ], limit = MAX_TOP_LIMIT ) // THX to Zh3r0 & Roach_
  1607. {
  1608. #pragma unused what
  1609. //--------------------------------------------------------------------------
  1610. new Speed = GetTickCount(), DialString[3_000], String[2][256], Query[2][256],
  1611. DBResult:Result1, cColor[12] = "{00BBF6}", oColor[12] = "{FF9900}";
  1612. //--------------------------------------------------------------------------
  1613. Database = db_open( "CSystem.db" ); //Open DB
  1614. //--------------------------------------------------------------------------
  1615. format( Query[ 0 ], 256, "SELECT `clanname` FROM `clans` ORDER BY (`%s` * 1) DESC limit %d", stats, limit);
  1616. Result1 = db_query( Database, Query[ 0 ] );
  1617. //--------------------------------------------------------------------------
  1618. format( DialString, sizeof DialString, "%sMore info about our {FF0000}Clan System {FF9900}find on: {FF0000}/chelp\n",oColor);
  1619. for( new Qr; Qr < db_num_rows( Result1 ); Qr ++ )
  1620. {
  1621. db_get_field( Result1, 0, String[ 0 ], 256 );
  1622. format( Query[ 1 ], 256, "SELECT `%s` FROM `clans` WHERE `clanname` = '%s'", stats, String[ 0 ] );
  1623. new DBResult:Result2 = db_query( Database, Query[ 1 ] );
  1624. db_get_field( Result2, 0, String[ 1 ], 256 );
  1625. format( DialString, sizeof DialString, "%s\n{AFAFAF}%d.{FF0000} %s {AFAFAF}Clan Kills: %s%s {FF0000}(Members: %d)", DialString, Qr + 1, String[0], cColor, FormatNumber(strval(String[1])), GetTotalMembers(String[0]));
  1626. db_next_row( Result1 );
  1627. db_free_result( Result2 );
  1628. }
  1629. db_free_result( Result1 );
  1630. format( DialString, sizeof DialString, "%s\n\n{FF9900}Top list generated in {FF0000}%d{FF9900} ms.", DialString, GetTickCount( ) - Speed );
  1631. ShowPlayerDialog( playerid, Nothing, DIALOG_STYLE_MSGBOX, "{0066CC}Romania {FFFF00}Fantastic {FF0000}Stunt{AFAFAF}- Top Clans", DialString, "Ok", "" );
  1632. return 1;
  1633. }
  1634. //------------------------------------------------------------------------------
  1635. //(New Function) Format Number by Teddy
  1636. //------------------------------------------------------------------------------
  1637. stock FormatNumber(
  1638. { _, Float, Text3D, Menu, Text, DB, DBResult, bool, File, hex, bit, bit_byte, Bit }:xVariable, iDecimals = -1, iThousandSeparator = ',', iDecimalPoint = '.', iTag = tagof( xVariable ) )
  1639. {
  1640. static
  1641. s_szReturn[ 32 ],
  1642. s_szThousandSeparator[ 2 ] = { ' ', EOS },
  1643. s_iDecimalPos,
  1644. s_iChar,
  1645. s_iSepPos
  1646. ;
  1647. //--------------------------------------------------------------------------
  1648. if( iTag == tagof( bool: ) )
  1649. {
  1650. if( xVariable )
  1651. memcpy( s_szReturn, "true", 0, 5 * ( cellbits / 8 ) );
  1652. else
  1653. memcpy( s_szReturn, "false", 0, 6 * ( cellbits / 8 ) );
  1654.  
  1655. return ( s_szReturn );
  1656. }
  1657. else if( iTag == tagof( Float: ) )
  1658. {
  1659. if( iDecimals == -1 )
  1660. iDecimals = 8;
  1661.  
  1662. format( s_szReturn, sizeof s_szReturn, "%.*f", iDecimals, xVariable );
  1663. }
  1664. else if( iTag == tagof( bit: ) || iTag == tagof( Bit: ) )
  1665. {
  1666. format(s_szReturn, sizeof s_szReturn, "0b" "%08b%08b%08b%08b", ( xVariable & 0xFF000000 ) >>> 24, ( xVariable & 0x00FF0000 ) >>> 16, ( xVariable & 0x0000FF00 ) >>> 8, ( xVariable & 0x000000FF ) );
  1667.  
  1668. return ( s_szReturn );
  1669. }
  1670. else if( iTag == tagof( bit_byte: ) )
  1671. {
  1672. format( s_szReturn, sizeof s_szReturn, "0b" "%08b", ( xVariable & 0x000000FF ) );
  1673.  
  1674. return ( s_szReturn );
  1675. }
  1676. else
  1677. {
  1678. format( s_szReturn, sizeof s_szReturn, "%d", xVariable );
  1679.  
  1680. if( iDecimals > 0 )
  1681. {
  1682. strcat( s_szReturn, "." );
  1683.  
  1684. while ( iDecimals -- )
  1685. strcat( s_szReturn, "0" );
  1686. }
  1687. }
  1688.  
  1689. s_iDecimalPos = strfind( s_szReturn, "." );
  1690. //--------------------------------------------------------------------------
  1691. if( s_iDecimalPos == -1 )
  1692. s_iDecimalPos = strlen( s_szReturn );
  1693. else
  1694. s_szReturn[ s_iDecimalPos ] = iDecimalPoint;
  1695.  
  1696. if( s_iDecimalPos >= 4 && iThousandSeparator )
  1697. {
  1698. s_szThousandSeparator[ 0 ] = iThousandSeparator;
  1699.  
  1700. s_iChar = s_iDecimalPos;
  1701. s_iSepPos = 0;
  1702.  
  1703. while ( -- s_iChar > 0 )
  1704. {
  1705. if( ++ s_iSepPos == 3 )
  1706. {
  1707. strins( s_szReturn, s_szThousandSeparator, s_iChar );
  1708.  
  1709. s_iSepPos = 0;
  1710. }
  1711. }
  1712. }
  1713. return ( s_szReturn );
  1714. }
  1715. //------------------------------------------------------------------------------
  1716. stock GetWeapon(weaponid)
  1717. {
  1718. new sonny[32];
  1719. GetWeaponName(weaponid, sonny, sizeof(sonny));
  1720. return sonny;
  1721. }
  1722. //------------------------------------------------------------------------------
  1723. stock GivePlayerHealth(playerid,Float:Health)
  1724. {
  1725. new Float:health;
  1726. GetPlayerHealth(playerid,health);
  1727. SetPlayerHealth(playerid,health+Health);
  1728. }
  1729. //------------------------------------------------------------------------------
  1730. stock SendMessageToClanMembers(playerid, color, msg[])
  1731. {
  1732. for(new i = 0; i < MAX_PLAYERS; i++)
  1733. {
  1734. if(IsPlayerAnyClanMember(playerid) == 1)
  1735. {
  1736. if(IsPlayerConnected(i) == 1)
  1737. {
  1738. if(IsPlayerClanMember(playerid, GetPlayerClan(playerid)) && IsPlayerClanMember(i, GetPlayerClan(i)))
  1739. {
  1740. if(strcmp(GetPlayerClan(playerid), GetPlayerClan(i), true, 30) == 0)
  1741. {
  1742. SendClientMessage(i, color, msg);
  1743. }
  1744. }
  1745. }
  1746. }
  1747. }
  1748. return 1;
  1749. }
  1750. //==============================================================================
  1751. //Clan System End - Used by Romania Fantastic Stunt | Created by Teddy
  1752. //==============================================================================
Advertisement
Add Comment
Please, Sign In to add comment