Advertisement
Guest User

Untitled

a guest
Jul 13th, 2014
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.54 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <vault>
  5. #include <hamsandwich>
  6. #include <fvault>
  7.  
  8. #pragma tabsize 0
  9.  
  10. #define is_valid_player(%1) (1 <= %1 <= 32)
  11.  
  12. new Scout_model[33];
  13.  
  14. new const g_VAULTNAME[] = "Scout-Skins";
  15. new const VERSION[] = "2.2"
  16. new const AUTHOR[] = "SerMajor"
  17.  
  18.  
  19. new iLevel[33];
  20. new iXp[33];
  21.  
  22. new scout_on;
  23.  
  24. new MaxLevel;
  25. new StartedLevel;
  26. new g_msgSayText;
  27.  
  28. new cvar_KillXp;
  29. new cvar_HsXp;
  30. new cvar_ScoutXp;
  31.  
  32. new Forward_spawn;
  33. new Forward_levelup;
  34. new ForwardReturn;
  35.  
  36. const MAX_SCOUTS = 12
  37.  
  38. new const g_scoutNames[MAX_SCOUTS][32] =
  39. {
  40. "Normal Scout",
  41. "yellow Scout",
  42. "steyr scout",
  43. "sig sauer sg3000 scout",
  44. "safari scout",
  45. "pharaoh scout",
  46. "komando steyrscout scout",
  47. "default scout reskin gtwalq",
  48. "crossbow scout",
  49. "blue scout",
  50. "badass m24 scout",
  51. "ak scout"
  52. };
  53.  
  54. new const g_scoutLevels[MAX_SCOUTS] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }
  55.  
  56. new const g_scoutvModels[MAX_SCOUTS][256] =
  57. {
  58. "models/v_scout.mdl",
  59. "models/lolscouthnr/v_scout_yellow.mdl",
  60. "models/lolscouthnr/v_scout_steyr.mdl",
  61. "models/lolscouthnr/v_scout_sg3000.mdl",
  62. "models/lolscouthnr/v_scout_safari.mdl",
  63. "models/lolscouthnr/v_scout_pharaoh.mdl",
  64. "models/lolscouthnr/v_scout_komando.mdl",
  65. "models/lolscouthnr/v_scout_default.mdl",
  66. "models/lolscouthnr/v_scout_crossbow.mdl",
  67. "models/lolscouthnr/v_scout_blue.mdl",
  68. "models/lolscouthnr/v_scout_badass.mdl",
  69. "models/lolscouthnr/v_scout_ak.mdl"
  70. }
  71.  
  72. native register_maxlevels( maxlevel = 99, started_xp_level = 100 );
  73. native get_user_level( index );
  74. native get_user_xp( index );
  75.  
  76. public plugin_init() {
  77.  
  78. register_plugin(g_VAULTNAME, VERSION, AUTHOR);
  79. register_cvar("scout_skins", VERSION, FCVAR_SERVER); // Find Servers on Game-Monitor
  80. set_cvar_string("scout_skins", VERSION); // Find Servers on Game-Monitor
  81.  
  82. // register max levels 13 is the top level, 100 is the started level xp.
  83. register_maxlevels( 13, 100 );
  84.  
  85. //Admin commands
  86.  
  87. register_concmd("scout_givexp" ,"givexp",ADMIN_RCON,"Add xp to a player")
  88. register_concmd("scout_takexp", "takexp",ADMIN_RCON,"Remove xp from a player")
  89.  
  90. //Clcmd's
  91.  
  92. scout_on = register_cvar( "Scout_skins", "1" )
  93.  
  94. register_clcmd("say","HandleSay");
  95. register_clcmd("say_team","HandleSay")
  96. register_clcmd("say /scout", "ScoutSkinsMenu");
  97. register_clcmd("say /level", "PlayerLevelsMenu");
  98.  
  99. //Event's
  100.  
  101. register_event("CurWeapon","CurWeapon","be","1=1");
  102. register_event( "DeathMsg", "EventDeathMsg", "a" );
  103.  
  104. //Cvar's
  105.  
  106. cvar_KillXp = register_cvar( "kill_xp", "5" );
  107. cvar_HsXp = register_cvar( "hs_xp", "2" );
  108. cvar_ScoutXp = register_cvar( "Scout_xp", "3" );
  109.  
  110. //Ham's
  111.  
  112. RegisterHam( Ham_Spawn, "player", "FwdPlayerSpawn", 1 );
  113. RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
  114.  
  115. //Forward's
  116.  
  117. Forward_levelup = CreateMultiForward( "forward_client_levelup", ET_IGNORE, FP_CELL, FP_CELL, FP_CELL );
  118. Forward_spawn = CreateMultiForward( "forward_client_spawn", ET_IGNORE, FP_CELL , FP_CELL, FP_CELL );
  119.  
  120. set_task(15.0, "scoutmessage", 0, _, _, "b")
  121. set_task(35.0, "Levelmessage", 0, _, _, "b")
  122.  
  123. g_msgSayText = get_user_msgid("SayText");
  124. }
  125.  
  126. public plugin_precache() {
  127.  
  128. precache_model("models/lolscouthnr/v_scout_yellow.mdl")
  129. precache_model("models/lolscouthnr/v_scout_steyr.mdl")
  130. precache_model("models/lolscouthnr/v_scout_sg3000.mdl")
  131. precache_model("models/lolscouthnr/v_scout_safari.mdl")
  132. precache_model("models/lolscouthnr/v_scout_pharaoh.mdl")
  133. precache_model("models/lolscouthnr/v_scout_komando.mdl")
  134. precache_model("models/lolscouthnr/v_scout_default.mdl")
  135. precache_model("models/lolscouthnr/v_scout_crossbow.mdl")
  136. precache_model("models/lolscouthnr/v_scout_blue.mdl")
  137. precache_model("models/lolscouthnr/v_scout_badass.mdl")
  138. precache_model("models/lolscouthnr/v_scout_ak.mdl")
  139.  
  140. }
  141.  
  142. public plugin_natives( )
  143. {
  144. //Native's
  145.  
  146. register_library( "scout-Skins" );
  147.  
  148. register_native( "register_maxlevels", "_register_maxlevels" );
  149. register_native( "get_user_level", "_get_user_level" );
  150. register_native( "set_user_level", "_set_user_level" );
  151. register_native( "get_user_xp", "_get_user_xp" );
  152. register_native( "set_user_xp", "_set_user_xp" );
  153.  
  154.  
  155. register_library("HitAndRun"); // API libarary support
  156.  
  157. register_native("hnr_get_infected","_hnr_get_infected");
  158. register_native("hnr_get_lasthit","_hnr_get_lasthit");
  159. register_native("hnr_get_winner","_hnr_get_winner");
  160.  
  161. register_native("hnr_started","_hnr_started");
  162. register_native("hnr_get_event","_hnr_get_event");
  163.  
  164. register_native("hnr_get_user_rounds","_hnr_get_user_rounds");
  165.  
  166. register_native("hnr_get_user_xp","_hnr_get_user_xp");
  167.  
  168. register_native("hnr_get_user_level","_hnr_get_user_level");
  169.  
  170. register_native("hnr_get_user_powers","_hnr_get_user_powers");
  171. }
  172.  
  173. public _register_maxlevels( plugin, params )
  174. {
  175. if( MaxLevel != 0 && StartedLevel != 0 )
  176. {
  177. return;
  178. }
  179. else
  180. {
  181. MaxLevel = get_param( 1 );
  182. StartedLevel = get_param( 2 );
  183. }
  184. }
  185.  
  186. public _get_user_level( plugin, params )
  187. {
  188. return iLevel[ get_param( 1 ) ];
  189. }
  190.  
  191. public _set_user_level( plugin, params )
  192. {
  193. iLevel[ get_param( 1 ) ] = max( get_param( 2 ), MaxLevel );
  194.  
  195. FlsahLevelUp( get_param( 1 ) );
  196.  
  197. SaveData( get_param( 1 ) );
  198.  
  199. LoadData( get_param( 1 ) );
  200. }
  201.  
  202. public _get_user_xp( plugin, params )
  203. {
  204. return iXp[ get_param( 1 ) ];
  205. }
  206.  
  207. public _set_user_xp( plugin, params )
  208. {
  209. iXp[ get_param( 1 ) ] = get_param( 2 );
  210.  
  211. CheckLevel( get_param( 1 ) );
  212.  
  213. SaveData( get_param( 1 ) );
  214.  
  215. LoadData( get_param( 1 ) );
  216. }
  217.  
  218. public CheckLevel( id )
  219. {
  220. if( iLevel[id] == MaxLevel )
  221. {
  222. return;
  223. }
  224. else
  225. {
  226. new level = iLevel[id] > 0 ? iLevel[id] : 1;
  227.  
  228. new xp = level * StartedLevel;
  229.  
  230. if( iLevel[id] > 0 )
  231. {
  232. xp += ( xp * 4 / 2 );
  233. }
  234.  
  235. while( iXp[id] >= xp )
  236. {
  237. iLevel[id]++;
  238.  
  239. ColorChat(id,"^4Congratulations!^1 You'r have level up! You'r new^4 LEVEL^1 is: ^3%i^1.", iLevel[id]);
  240. ColorChat(0,"^3%s^1 has level up to^4 LEVEL^3 %i^1!",get_player_name(id), iLevel[id]);
  241.  
  242. FlsahLevelUp(id);
  243.  
  244. ExecuteForward( Forward_levelup, ForwardReturn, id, iLevel[id], iXp[id] );
  245.  
  246. SaveData( id );
  247.  
  248. CheckLevel( id );
  249.  
  250. break;
  251. }
  252. }
  253. }
  254.  
  255. public FlsahLevelUp( id )
  256. {
  257. message_begin( MSG_ONE, get_user_msgid( "ScreenFade" ), { 0, 0, 0}, id );
  258. write_short( 1 << 10 );
  259. write_short( 1 << 10 );
  260. write_short( 0 );
  261. write_byte( 0 );
  262. write_byte( 255 );
  263. write_byte( 215 );
  264. write_byte( 100 );
  265. message_end( );
  266. }
  267.  
  268.  
  269. public HandleSay(id){
  270.  
  271. if (get_pcvar_num(scout_on) == 0)
  272. {
  273. ColorChat(id, "The mod has been disabale.");
  274. return PLUGIN_HANDLED;
  275. }
  276.  
  277. new iMsg[200], iArgs[4][60];
  278. new level = iLevel[id] > 0 ? iLevel[id] : 1;
  279.  
  280. new xp = level * StartedLevel;
  281.  
  282. if( iLevel[id] > 0 )
  283. {
  284. xp += ( xp * 4 / 2 );
  285. }
  286.  
  287. read_argv(1,iMsg ,sizeof iMsg - 1);
  288. parse(iMsg,iArgs[0],charsmax(iArgs[]),iArgs[1],charsmax(iArgs[]),iArgs[2],charsmax(iArgs[]),iArgs[3],charsmax(iArgs[]));
  289.  
  290. if (equali(iArgs[0],"/level") || equali(iArgs[0],"/lvl") || equali(iArgs[0],"/xp"))
  291. {
  292. new player = cmd_target(id,iArgs[1],CMDTARGET_NO_BOTS);
  293.  
  294. if (!player)
  295. {
  296. ColorChat( id, "Your^4 LEVEL^1 is:^3 %i^4 |^1 Your^4 XP^1 is:^3 %i^1/^3%i^1.", iLevel[id], iXp[id], xp );
  297. }
  298. }
  299.  
  300. return 0;
  301. }
  302.  
  303. public EventDeathMsg(id)
  304. {
  305. if (get_pcvar_num(scout_on) == 0)
  306. return PLUGIN_HANDLED;
  307.  
  308. new killer = read_data( 1 );
  309. new victim = read_data( 2 );
  310.  
  311. if( killer == victim || ! is_user_connected( killer ) || ! is_user_connected( victim ) )
  312. {
  313. return PLUGIN_HANDLED;
  314. //return;
  315. }
  316.  
  317. new XpAmount = get_pcvar_num( cvar_KillXp );
  318.  
  319. if( read_data( 3 ) )
  320. {
  321. XpAmount += get_pcvar_num( cvar_HsXp );
  322. }
  323.  
  324. static sWeapon[ 26 ];
  325.  
  326. read_data( 4, sWeapon, sizeof( sWeapon ) - 1 );
  327.  
  328.  
  329. if( equal( sWeapon, "scout" ) )
  330. {
  331. XpAmount += get_pcvar_num( cvar_ScoutXp );
  332. }
  333.  
  334. iXp[ killer ] += XpAmount;
  335.  
  336. CheckLevel( killer );
  337.  
  338. SaveData( killer );
  339.  
  340. ColorChat( killer, "You have gained^3 %i^1 XP.", XpAmount );
  341.  
  342. return PLUGIN_HANDLED;
  343. }
  344.  
  345. public FwdPlayerSpawn( id )
  346. {
  347. ExecuteForward( Forward_spawn, ForwardReturn, id, iLevel[id], iXp[id] );
  348. }
  349.  
  350. public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
  351. {
  352. if( get_pcvar_num( scout_on ) == 0 )
  353. return HAM_IGNORED;
  354.  
  355. if( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_SCOUT )
  356. {
  357. SetHamParamFloat(4, damage + Scout_model[attacker]);
  358.  
  359. return HAM_HANDLED;
  360. }
  361.  
  362. return HAM_IGNORED;
  363. }
  364.  
  365. public ScoutSkinsMenu(id) {
  366.  
  367. if (!get_pcvar_num(scout_on))
  368. {
  369. ColorChat(id, "The mod has been disabale.");
  370. return PLUGIN_HANDLED;
  371. }
  372.  
  373. new szItem[256];
  374.  
  375. new level = iLevel[id] > 0 ? iLevel[id] : 1;
  376.  
  377. new xp = level * StartedLevel;
  378.  
  379. if( iLevel[id] > 0 )
  380. {
  381. xp += ( xp * 4 / 2 );
  382. }
  383.  
  384. formatex(szItem, charsmax(szItem), "\w[ \r%s \w] \yScout Skins Menu \rv%s^n\yYour Level: \r%d \w- \yYour XP: \r%d\w/\r%d\w.^n\yPage:\r", g_VAULTNAME, VERSION,iLevel[id],iXp[id], xp);
  385. new menu = menu_create( szItem, "ScoutSkinsMenu_Handler" );
  386.  
  387. for (new i = 0; i < MAX_SCOUTS; i++)
  388. {
  389. formatex(szItem, charsmax(szItem), iLevel[id] >= g_scoutLevels[i] ? "%s [\yUNLOCKED\w]" : "\d%s [\rLEVEL %d REQUIRE\d]", iLevel[id] >= g_scoutLevels[i] ? g_scoutNames[i] : "?????????", g_scoutLevels[i]),
  390. menu_additem(menu, szItem, .paccess = (iLevel[id] >= g_scoutLevels[i]) ? 0 : 1);
  391. }
  392.  
  393. menu_display(id, menu, 0 );
  394.  
  395. return PLUGIN_HANDLED;
  396. }
  397.  
  398. public ScoutSkinsMenu_Handler(id, menu, item)
  399. {
  400. if(item == MENU_EXIT)
  401. {
  402. menu_destroy(menu)
  403. return PLUGIN_HANDLED
  404. }
  405.  
  406. SetScout(id, item);
  407. ColorChat(id, "The Scout you chose is: ^4%s^1.", g_scoutNames[item]);
  408.  
  409. SaveData(id);
  410. return PLUGIN_HANDLED;
  411. }
  412.  
  413. public SetScout(id, item) {
  414.  
  415. Scout_model[id] = item
  416.  
  417. new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
  418. if ( Weapon != CSW_SCOUT )
  419. return PLUGIN_HANDLED
  420.  
  421. new vModel[56],pModel[56]
  422.  
  423. if (get_pcvar_num(scout_on) == 0)
  424. {
  425. format(vModel,55,"models/v_scout.mdl")
  426. return PLUGIN_HANDLED;
  427. }
  428.  
  429. format(vModel,55, g_scoutvModels[item])
  430. format(pModel,55,"models/p_Scout.mdl")
  431. entity_set_string(id, EV_SZ_viewmodel, vModel)
  432. entity_set_string(id, EV_SZ_weaponmodel, pModel)
  433.  
  434. return PLUGIN_HANDLED;
  435. }
  436.  
  437. public PlayerLevelsMenu(id)
  438. {
  439. if (get_pcvar_num(scout_on) == 0)
  440. {
  441. ColorChat(id, "The mod has been disabale.");
  442. return PLUGIN_HANDLED;
  443. }
  444.  
  445. new some[256], menu;
  446.  
  447. static players[32],szTemp[10],pnum;
  448. get_players(players,pnum,"ch");
  449.  
  450. formatex(some,255,"\w[ \r%s \w] \yPlayer's Level:\r", g_VAULTNAME);
  451.  
  452. menu = menu_create(some,"PlayerLevelsMenu_Handler");
  453.  
  454. for (new i; i < pnum; i++)
  455. {
  456. new level = iLevel[players[i]] > 0 ? iLevel[players[i]] : 1;
  457.  
  458. new xp = level * StartedLevel;
  459.  
  460. if( iLevel[players[i]] > 0 )
  461. {
  462. xp += ( xp * 4 / 2 );
  463. }
  464.  
  465. formatex(some,256,"%s \y(Level: \r%i\y) \w- \y(XP: \r%i\w/\r%i\y)",get_player_name(players[i]), iLevel[players[i]], iXp[players[i]], xp);
  466. num_to_str(players[i],szTemp,charsmax(szTemp));
  467. menu_additem(menu, some, szTemp);
  468. }
  469.  
  470. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  471. menu_display(id, menu);
  472.  
  473. return PLUGIN_HANDLED;
  474. }
  475.  
  476. public PlayerLevelsMenu_Handler(id,menu, item){
  477. if (item == MENU_EXIT)
  478. {
  479. menu_destroy(menu);
  480. return;
  481. }
  482.  
  483. new data[6] ,szName[64],access,callback;
  484.  
  485. menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback);
  486.  
  487. new player = str_to_num(data);
  488.  
  489. new level = iLevel[player] > 0 ? iLevel[player] : 1;
  490.  
  491. new xp = level * StartedLevel;
  492.  
  493. if( iLevel[player] > 0 )
  494. {
  495. xp += ( xp * 4 / 2 );
  496. }
  497.  
  498. ColorChat(id,"^3%s's ^4LEVEL ^1is: ^3%i ^1with ^3%i^1/^3%i ^4XP^1.",get_player_name(player), iLevel[player], iXp[player], xp);
  499. PlayerLevelsMenu(id);
  500. }
  501.  
  502. public CurWeapon(id)
  503. {
  504. // Set Knife Model
  505. SetScout(id, Scout_model[id])
  506. }
  507.  
  508. public givexp(id) {
  509. if (get_pcvar_num(scout_on) == 0)
  510. {
  511. ColorChat(id, "The mod has been disabale.");
  512. return PLUGIN_HANDLED;
  513. }
  514.  
  515. if( get_user_flags( id ) & ADMIN_RCON ) {
  516.  
  517. new PlayerToGive[32], XP[32]
  518. read_argv(1,PlayerToGive,31)
  519. read_argv(2,XP, 31)
  520. new Player = cmd_target(id,PlayerToGive,9)
  521.  
  522. if(!Player) {
  523.  
  524. return PLUGIN_HANDLED
  525.  
  526. }
  527.  
  528. new XPtoGive = str_to_num(XP)
  529. new name[32],owner[32]
  530. get_user_name(id,owner,31)
  531. get_user_name(Player,name,31)
  532. ColorChat(0,"^4ADMIN^3 %s^1 give to^4 %s^3 %s^1 XP.", owner,name,XP );
  533. iXp[Player]+= XPtoGive
  534. CheckLevel(Player);
  535. SaveData(id)
  536.  
  537. }
  538.  
  539. else {
  540.  
  541. client_print(id,print_console,"You have no acces to that command")
  542.  
  543. return PLUGIN_HANDLED
  544. }
  545.  
  546. return PLUGIN_HANDLED;
  547. }
  548.  
  549. public takexp(id) {
  550. if (get_pcvar_num(scout_on) == 0)
  551. {
  552. ColorChat(id, "The mod has been disabale.");
  553. return PLUGIN_HANDLED;
  554. }
  555.  
  556. if(get_user_flags(id) & ADMIN_RCON ) {
  557.  
  558.  
  559. new PlayerToTake[32], XP[32]
  560. read_argv(1,PlayerToTake,31 )
  561. read_argv(2,XP,31 )
  562. new Player = cmd_target(id,PlayerToTake,9)
  563.  
  564. if(!Player) {
  565.  
  566. return PLUGIN_HANDLED
  567.  
  568. }
  569.  
  570. new XPtoTake = str_to_num(XP)
  571. new name[32],owner[32]
  572. get_user_name(id,owner,31)
  573. get_user_name(Player,name,31)
  574. ColorChat(0,"^4ADMIN^3 %s^1 take to^4 %s^3 %s^1 XP.", owner,name,XP );
  575. iXp[ Player ]-=XPtoTake
  576. CheckLevel(Player);
  577. SaveData(id)
  578.  
  579. }
  580.  
  581. else {
  582.  
  583. client_print(id,print_console,"You have no acces to that command.")
  584.  
  585. return PLUGIN_HANDLED
  586.  
  587. }
  588.  
  589. return PLUGIN_HANDLED;
  590. }
  591.  
  592. public client_disconnect(id) {
  593.  
  594. if(task_exists(id)){
  595. remove_task(id)
  596. }
  597. SaveData(id);
  598. }
  599.  
  600.  
  601. public Scoutmessage(id) {
  602.  
  603. if (get_pcvar_num(scout_on) == 0)
  604. return PLUGIN_HANDLED;
  605.  
  606. ColorChat(0, "Type ^3/Scout ^1in chat to open the ^4Scout Skins Menu^1.");
  607. ColorChat(0, "This server is running ^4%s ^3v%s^1 by ^4%s^1.",g_VAULTNAME, VERSION, AUTHOR)
  608. return PLUGIN_HANDLED;
  609. }
  610.  
  611. public Levelmessage(id) {
  612.  
  613. if (get_pcvar_num(scout_on) == 0)
  614. return PLUGIN_HANDLED;
  615.  
  616. ColorChat(0,"To see other ^4Players Level ^1type ^3/level ^1in chat.");
  617. return PLUGIN_HANDLED;
  618. }
  619.  
  620. public client_putinserver(id) LoadData(id);
  621.  
  622. public SaveData(id){
  623.  
  624. new authid[32]
  625. get_user_authid(id, authid, 31)
  626.  
  627. new vaultkey[64]
  628. new vaultdata[64]
  629.  
  630. format(vaultkey, 63, "SCOUTMOD_%s", authid)
  631. format(vaultdata, 63, "%d", Scout_model[id])
  632. set_vaultdata(vaultkey, vaultdata)
  633.  
  634. new data[ 16 ];
  635.  
  636. get_user_authid( id, authid, sizeof( authid ) - 1 );
  637.  
  638. formatex( data, sizeof( data ) - 1, "%d %d", iLevel[id], iXp[id] );
  639.  
  640. fvault_set_data(g_VAULTNAME, authid, data );
  641.  
  642. return;
  643.  
  644.  
  645. }
  646.  
  647. public LoadData(id){
  648.  
  649. new authid[32]
  650. get_user_authid(id,authid,31)
  651.  
  652. new vaultkey[64], vaultdata[64]
  653.  
  654. format(vaultkey, 63, "SCOUTMOD_%s", authid)
  655. get_vaultdata(vaultkey, vaultdata, 63)
  656. Scout_model[id] = str_to_num(vaultdata)
  657.  
  658. new data[ 16 ], szLevel[ 5 ], szXp[ 5 ];
  659.  
  660. get_user_authid( id, authid, sizeof( authid ) - 1 );
  661.  
  662. if( fvault_get_data(g_VAULTNAME, authid, data, sizeof( data ) - 1 ) )
  663. {
  664. strbreak( data, szLevel, sizeof( szLevel ) - 1, szXp, sizeof( szXp ) - 1 );
  665.  
  666. iLevel[id] = str_to_num( szLevel );
  667. iXp[id] = str_to_num( szXp );
  668.  
  669. return;
  670. }
  671. else
  672. {
  673. iLevel[id] = 0;
  674. iXp[id] = 0;
  675.  
  676. return;
  677. }
  678. }
  679.  
  680. stock get_player_name(id){
  681. static szName[32];
  682. get_user_name(id,szName,31);
  683. return szName;
  684. }
  685.  
  686. stock ColorChat( const id, const string[ ], { Float, Sql, Resul, _ } : ... )
  687. {
  688. new msg[ 191 ], players[ 32 ], count = 1;
  689.  
  690. static len;
  691. if (!len)
  692. len = formatex( msg, charsmax( msg ), "^x04[^x01 Scout-Skins^x04 ]^x01 " );
  693.  
  694. vformat( msg[ len ], charsmax( msg ) - len, string, 3 );
  695.  
  696. if( id )
  697. players[ 0 ] = id;
  698. else
  699. get_players( players,count,"ch" );
  700.  
  701. for( new i = 0; i < count; i++ )
  702. {
  703. message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _ , players[ i ] );
  704. write_byte( players[ i ] );
  705. write_string( msg );
  706. message_end( );
  707. }
  708. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement