hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.01. 10:20



Jelenlévő felhasználók

Jelenleg 284 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 284 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 6 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: menü beírása.
HozzászólásElküldve: 2015.02.12. 17:26 
Offline
Jómunkásember

Csatlakozott: 2014.08.22. 22:10
Hozzászólások: 477
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 8 alkalommal
Sziasztok! van ez az xp rendszer. Ebbe valaki írna egy menüt ami már pontért van és nem xp-ért ? a menübe elég lessz csak 1 usp SMA:
SMA Forráskód: [ Mindet kijelol ]
  1. /////////////////////////////////////////////////////////////////////////////
  2. //==============================
  3. //= Szintrendszer =
  4. //==============================
  5. //
  6. //---------------------
  7. //- Description -
  8. //---------------------
  9. //
  10. //This plugin include the features:
  11. //** XP System - nVault
  12. //** Level System - nVault
  13. //** Cvars to control all bonus per lvl
  14. //** Commands to Add & Remove XP
  15. //** Level behind the Nick Name
  16. //** Bonus Per level
  17. //** ADM Chat Colors Support
  18. //** ...
  19. //
  20. //----------------------
  21. //- Requirements -
  22. //----------------------
  23. //
  24. //** AMXX: Version 1.8.1
  25. //** AMXX Modules: Cstrike, Fun, Engine, Fakemeta, ColorChat, nVault and Hamsandwich modules
  26. //
  27. //----------------------
  28. //- Installation -
  29. //----------------------
  30. //
  31. //1- Download and compile the plugin from:
  32. //2- Upload the amxx file to your server (cstrike>addons>amxmodx>plugins).
  33. //3- Edit the config file and add the plugin (cstrike>addons>amxmodx>configs>plugins.ini).
  34. //
  35. //----------------------
  36. //- Contact Info -
  37. //----------------------
  38. //
  39. //For reporting bugs or post your feedback visit:
  40. //https://forums.alliedmods.net/showthread.php?p=1810627
  41. //
  42. //If you want some private job PM ME on alliedmodders Forum's or send me and email to:
  43. //
  44. //-----------------
  45. //- Credits -
  46. //-----------------
  47. //
  48. //** Ex1ne
  49. //- XP System & Level System
  50. //
  51. //** matsi
  52. //- Observations and optimizations
  53. //
  54. //** tre3fla
  55. //- Suggestion and request
  56. //
  57. //** ConnorMcLeod
  58. //- Suggestion, SayTxt and Admin Chat Colors Code
  59. //
  60. //** xBatista
  61. //- ShowHud Help
  62. //
  63. //------------------
  64. //- Updates Logs -
  65. //------------------
  66. //
  67. //** v0.0.1 [Oct 2012]
  68. //- First Release
  69. //
  70. //** v0.0.2 [Oct 2012]
  71. //- Optimize & Improve Code
  72. //
  73. //** v0.0.3 [Oct 2012]
  74. //- Optimize Code
  75. //
  76. //** v0.0.4 [Oct 2012]
  77. //- Improve Level Prefix and Personal Info
  78. //
  79. //** v0.0.5 [Oct 2012]
  80. //- Optimize EventDeathMsg
  81. //- Improve Check Level
  82. //
  83. //** v0.0.6 [Oct 2012]
  84. //- Fix Damage Bug
  85. //- Fix Messages Bugs
  86. //
  87. //** v0.0.7 [Oct 2012]
  88. //- Fix Index of Bounds
  89. //
  90. //** v0.0.8 [Oct 2012]
  91. //- Added feature Admin Chat Colors
  92. //
  93. //** v0.0.9 [Oct 2012]
  94. //- Fix some Bugs & Added XP Reward MSG CVAR
  95. //
  96. //** v1.0 [Jan 2013]
  97. //- Fix Give & Remove XP Command
  98. //
  99. ////////////////////////////////////////////////////////////////////
  100.  
  101. #include <amxmodx>
  102. #include <amxmisc>
  103. #include <nvault>
  104. enum Color
  105. {
  106. NORMAL = 1, // clients scr_concolor cvar color
  107. GREEN, // Green Color
  108. TEAM_COLOR, // Red, grey, blue
  109. GREY, // grey
  110. RED, // Red
  111. BLUE, // Blue
  112. }
  113.  
  114. new TeamName[][] =
  115. {
  116. "",
  117. "TERRORIST",
  118. "CT",
  119. "SPECTATOR"
  120. }
  121.  
  122. ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
  123. {
  124. static message[256];
  125.  
  126. switch(type)
  127. {
  128. case NORMAL: // clients scr_concolor cvar color
  129. {
  130. message[0] = 0x01;
  131. }
  132. case GREEN: // Green
  133. {
  134. message[0] = 0x04;
  135. }
  136. default: // White, Red, Blue
  137. {
  138. message[0] = 0x03;
  139. }
  140. }
  141.  
  142. vformat(message[1], 251, msg, 4);
  143. message[192] = '^0';
  144.  
  145. static team, ColorChange, index, MSG_Type;
  146.  
  147. if(id)
  148. {
  149. MSG_Type = MSG_ONE;
  150. index = id;
  151. } else {
  152. index = FindPlayer();
  153. MSG_Type = MSG_ALL;
  154. }
  155.  
  156. team = get_user_team(index);
  157. ColorChange = ColorSelection(index, MSG_Type, type);
  158.  
  159. ShowColorMessage(index, MSG_Type, message);
  160.  
  161. if(ColorChange)
  162. {
  163. Team_Info(index, MSG_Type, TeamName[team]);
  164. }
  165. }
  166.  
  167. ShowColorMessage(id, type, message[])
  168. {
  169. message_begin(type, get_user_msgid("SayText"), _, id);
  170. write_byte(id)
  171. write_string(message);
  172. message_end();
  173. }
  174.  
  175. Team_Info(id, type, team[])
  176. {
  177. message_begin(type, get_user_msgid("TeamInfo"), _, id);
  178. write_byte(id);
  179. write_string(team);
  180. message_end();
  181.  
  182. return 1;
  183. }
  184.  
  185. ColorSelection(index, type, Color:Type)
  186. {
  187. switch(Type)
  188. {
  189. case RED:
  190. {
  191. return Team_Info(index, type, TeamName[1]);
  192. }
  193. case BLUE:
  194. {
  195. return Team_Info(index, type, TeamName[2]);
  196. }
  197. case GREY:
  198. {
  199. return Team_Info(index, type, TeamName[0]);
  200. }
  201. }
  202.  
  203. return 0;
  204. }
  205.  
  206. FindPlayer()
  207. {
  208. static i;
  209. i = -1;
  210.  
  211. while(i <= get_maxplayers())
  212. {
  213. if(is_user_connected(++i))
  214. {
  215. return i;
  216. }
  217. }
  218.  
  219. return -1;
  220. }
  221.  
  222. #include <cstrike>
  223. #include <fun>
  224. #include <hamsandwich>
  225. #include <fakemeta>
  226.  
  227. new Level[33], eXP[33]
  228. new KillXp, HsXp, HeXp/*, KnifeXp*/
  229. new gVault
  230.  
  231. new const szPrefix[] = "[^4Szintrendszer^3] -"
  232.  
  233. #define MaxLevels 12
  234. #define IsPlayer(%1) ( 1 <= %1 <= g_iMaxPlayers )
  235. #define TASK_SHOW_HUD 10113
  236.  
  237. new g_msgHudSync
  238. new bool:is_user_ignored[ 33 ]
  239.  
  240. new const Levels[MaxLevels] =
  241. {
  242. 100, // Starter #1
  243. 150, // Noob #2
  244. 200, // Beginner #3
  245. 250, // Knifer #4
  246. 300, // Rambo #5
  247. 350, // Butcher #6
  248. 400, // Matrix #7
  249. 450, // Probhop #8
  250. 550, // Freak #9
  251. 600, // Racer #10
  252. 650, // Kill Bill #11
  253. 700 // Respected Player #12
  254. }
  255. new const Prefix[MaxLevels +1][] =
  256. {
  257. "Kezdo", // 0
  258. "Ujonc", // 1
  259. "Halado", // 2
  260. "TudValamit", // 3
  261. "Gyilkos", // 4
  262. "LoL", // 5
  263. "Orult", // 6
  264. "Wh-s", // 7
  265. "Legyozhetetlen", // 8
  266. "Aimos", // 9
  267. "Mester", // 10
  268. "Eszmeletlen", // 11
  269. "LegenD" // 12
  270. }
  271.  
  272. // Bonus Stuff
  273. new healthperlevel,
  274. armorperlevel,
  275. speedperlevel,
  276. damageperlevel,
  277. gravityperlvl
  278.  
  279. new g_iMaxPlayers
  280.  
  281. // ADMIN CHAT COLORS by ConnorMcLeod
  282. enum _:ADMIN_DATAS
  283. {
  284. m_szName[32],
  285. m_iFlag
  286. }
  287.  
  288. new const AdminsDatas[][ADMIN_DATAS] =
  289. {
  290. {"Owner", ADMIN_IMMUNITY},
  291. {"Manager", ADMIN_BAN},
  292. // {"SuperAdmin", ADMIN_CFG},
  293. {"Admin", ADMIN_KICK},
  294. {"VIP", ADMIN_RESERVATION}
  295. };
  296.  
  297. public plugin_init()
  298. {
  299. register_plugin("Deathrun XP & Level Mod", "0.0.9", "Freestyle")
  300.  
  301. register_message(get_user_msgid("SayText"),"Message_SayText"); // CREDITS TO ConnorMcLeod
  302.  
  303. RegisterHam ( Ham_Spawn, "player", "Ham_CheckOthers_Bonus", 1);
  304. RegisterHam ( Ham_TakeDamage, "player", "Ham_CheckDamage_Bonus", .Post = false );
  305. RegisterHam ( Ham_Item_PreFrame, "player", "Ham_CheckSpeed_Bonus", 1);
  306.  
  307. g_iMaxPlayers = get_maxplayers( );
  308.  
  309. register_cvar( "AdminChatColors_On", "1" ); // Admin Tag - Example: [Admin] Freestyle
  310. register_cvar( "XP_Reward_MSG", "1" ); // Message of the XP Gain
  311.  
  312. // CHAT COMMANDS //
  313. register_clcmd ( "say /xp", "ShowPlayerXP")
  314. register_clcmd ( "say_team /xp", "ShowPlayerXP")
  315. register_clcmd ( "say /level", "ShowPlayerLevel")
  316. register_clcmd ( "say_team /level", "ShowPlayerLevel")
  317.  
  318. // XP SYSTEM //
  319. KillXp = register_cvar("drxp_per_kill", "1")
  320. HsXp = register_cvar("drxp_per_hs", "1")
  321. HeXp = register_cvar("drxp_per_nade_kill", "2")
  322. //KnifeXp = register_cvar("drxp_per_knife_kill", "2")
  323.  
  324. // Give & Remove XP //
  325. register_concmd ( "give_xp", "CmdAddXP", ADMIN_RCON, "<nick, #userid, authid | @all> <xp>" )
  326. register_concmd ( "remove_xp", "CmdRemoveXP", ADMIN_RCON, "<nick, #userid, authid | @all> <xp>" )
  327.  
  328. /* Bonus Stuff */
  329.  
  330. // Health Per Level //
  331. healthperlevel = register_cvar("health_per_lvl", "0")
  332.  
  333. // Armor Per Level //
  334. armorperlevel = register_cvar("armor_per_lvl", "0")
  335.  
  336. // Speed Per Level //
  337. speedperlevel = register_cvar("speed_per_lvl", "0")
  338.  
  339. // Gravity Per Level //
  340. gravityperlvl = register_cvar("gravity_per_lvl", "0") // NERVER MORE THAN 66 PER LVL
  341.  
  342. // Damage Per Level //
  343. damageperlevel = register_cvar("damage_per_lvl", "0")
  344.  
  345. g_msgHudSync = CreateHudSyncObj()
  346. }
  347.  
  348. public plugin_cfg( )
  349. {
  350. gVault = nvault_open( "DEATHRUN_XP" )
  351.  
  352. if ( gVault == INVALID_HANDLE )
  353. set_fail_state( "Error opening nVault" );
  354. }
  355.  
  356. /* INFO ABOUT PERSONAL XP/LEVEL */
  357. public ShowPlayerXP(id)
  358. {
  359. ColorChat(id, GREY, "%s Neked ^4%i^3 XP-d van es a szinted: ^4%s^3!", szPrefix, eXP[id], Prefix[Level[id]])
  360. }
  361.  
  362. public ShowPlayerLevel(id)
  363. {
  364. new name[32]
  365. get_user_name(id, name, sizeof(name) -1)
  366.  
  367. ColorChat(id, GREY, "%s A te szinted: ^4%s^3 ^4%i^3 XP-vel!", szPrefix, Prefix[Level[id]], eXP[id])
  368. }
  369.  
  370. public Ham_CheckDamage_Bonus( pevVictim, pevInflictor, pevAttacker, Float:flDamage, iDmgBits )
  371. {
  372. if( !( 1 <= pevAttacker <= g_iMaxPlayers) )
  373. {
  374. return HAM_HANDLED;
  375. }
  376.  
  377. if( !is_user_alive( pevAttacker ) )
  378. {
  379. return HAM_HANDLED;
  380. }
  381.  
  382. SetHamParamFloat( 4 , flDamage + ( get_pcvar_num( damageperlevel ) * Level[ pevAttacker ] ) )
  383.  
  384. return HAM_IGNORED;
  385. }
  386.  
  387. /* Speed Check */
  388. public Ham_CheckSpeed_Bonus( id )
  389. {
  390. if( !is_user_alive( id ) || cs_get_user_team( id ) != CS_TEAM_T )
  391. {
  392. return HAM_IGNORED;
  393. }
  394.  
  395. set_user_maxspeed( id, 250.0 + ( get_pcvar_num(speedperlevel) * Level[ id ] ) );
  396.  
  397. return HAM_IGNORED;
  398. }
  399.  
  400. /* HP & AP & Gravity Check */
  401. public Ham_CheckOthers_Bonus(id)
  402. {
  403. if( !is_user_alive( id ) || cs_get_user_team( id ) != CS_TEAM_T )
  404. return HAM_IGNORED;
  405.  
  406. // HP Check
  407. new HPCheck = ( get_user_health(id) + get_pcvar_num(healthperlevel) * Level[ id ] );
  408. set_user_health( id, HPCheck );
  409.  
  410. // AP Check
  411. new APCheck = ( get_user_armor(id) + get_pcvar_num(armorperlevel) * Level[ id ] );
  412. set_user_armor( id, APCheck );
  413.  
  414. // Gravity
  415. new GRAVITYCheck = 800 - ( get_pcvar_num( gravityperlvl ) * Level[ id ] );
  416.  
  417. if(get_pcvar_num(gravityperlvl) > 66)
  418. {
  419. set_user_gravity( id, float( 8 ) / 800.0 );
  420. }
  421. else
  422. {
  423. set_user_gravity( id, float( GRAVITYCheck ) / 800.0 );
  424. }
  425.  
  426. remove_task( TASK_SHOW_HUD + id );
  427.  
  428. set_task(0.1, "ShowHud", TASK_SHOW_HUD + id)
  429.  
  430. return HAM_IGNORED;
  431. }
  432.  
  433. /* Respected Player Join / Leave Stuff */
  434.  
  435. public LvL_12_PlayerJoin(id)
  436. {
  437. new name[32]
  438. get_user_name(id, name, sizeof(name) -1)
  439.  
  440. ColorChat(0, GREY, "%s ^4Egy LegenD : ^1%s^4 belepett,^1%i^4 XP-je van!", szPrefix, name, eXP[id])
  441. }
  442.  
  443. public LvL_12_PlayerRemove(id)
  444. {
  445. new name[32]
  446. get_user_name(id, name, sizeof(name) -1)
  447.  
  448. ColorChat(0, GREY, "%s ^4Egy LegenD : %s lelepett %i XP-je van!", szPrefix, name, eXP[id])
  449. }
  450.  
  451. public plugin_end( )
  452. nvault_close( gVault )
  453.  
  454. public client_putinserver(id)
  455. {
  456. LoadData(id)
  457. set_task( 3.0, "ShowHud", id, .flags = "b" );
  458.  
  459. if(Level[id] == 12)
  460. {
  461. set_task(5.0, "LvL_12_PlayerJoin", id)
  462. }
  463. }
  464.  
  465. public client_disconnect(id)
  466. {
  467. SaveData(id)
  468.  
  469. if(Level[id] == 12)
  470. {
  471. set_task(1.0, "LvL_12_PlayerRemove", id)
  472. }
  473. }
  474.  
  475. /* XP REWARDS */
  476. public client_death( iKiller, iVictim, wpnindex, hitplace )
  477. {
  478. new vname[32]
  479. new kname[32]
  480.  
  481. get_user_name( iKiller, kname, charsmax( kname ) )
  482. get_user_name( iVictim, vname, charsmax( vname ) )
  483.  
  484. if( is_user_ignored[ iKiller ] )
  485. return PLUGIN_HANDLED_MAIN
  486.  
  487. get_user_name( iKiller, kname, charsmax( kname ) )
  488. get_user_name( iVictim, vname, charsmax( vname ) )
  489.  
  490. if( iKiller != iVictim && ( 1 <= iKiller <= g_iMaxPlayers ) && ( 1 <= iVictim <= g_iMaxPlayers ) && !( hitplace == HIT_HEAD ) && !( wpnindex == CSW_HEGRENADE ) )
  491. {
  492. eXP[iKiller] += get_pcvar_num(KillXp)
  493.  
  494. if( get_cvar_num("XP_Reward_MSG") == 1 )
  495. {
  496. ColorChat ( iKiller, GREY, "%s Kaptal^4 %i^3 XP-t mert megolted ^4 %s^3-t", szPrefix, get_pcvar_num(KillXp), vname )
  497. }
  498. }
  499.  
  500. if( hitplace == HIT_HEAD )
  501. {
  502. eXP[iKiller] += get_pcvar_num(HsXp)
  503.  
  504. if( get_cvar_num("XP_Reward_MSG") == 1 )
  505. {
  506. ColorChat ( iKiller, GREY, "%s Kaptal^4 %i^3 XP-t mert megolted ^4 %s^3-t", szPrefix, get_pcvar_num (HsXp), vname )
  507. }
  508. }
  509.  
  510. if( wpnindex == CSW_HEGRENADE && iKiller != iVictim )
  511. {
  512. eXP[iKiller] += get_pcvar_num(HeXp)
  513.  
  514. if( get_cvar_num("XP_Reward_MSG") == 1 )
  515. {
  516. ColorChat( iKiller, GREEN, "%s Kaptal^4 %i^3 XP-t mert megolted ^4 %s^3-t", szPrefix, get_pcvar_num (HeXp), vname )
  517. }
  518. }
  519. CheckLevel(iKiller)
  520. SaveData(iKiller)
  521.  
  522. return PLUGIN_CONTINUE
  523. }
  524.  
  525. public CheckLevel(id)
  526. {
  527. if(Level[id] < MaxLevels-1)
  528. {
  529. while(eXP[id] >= Levels[Level[id]])
  530. {
  531. Level[id] += 1
  532. ColorChat(id, GREY, "%s Gratulalok szintet leptel, mostani szinted szama : ^4%i^3", szPrefix, Level[id])
  533. }
  534. }
  535. }
  536.  
  537. /* HUD PERMANENT INFO */
  538. public ShowHud(task)
  539. {
  540. new id = task - TASK_SHOW_HUD
  541.  
  542. if(!is_user_alive(id))
  543. return;
  544.  
  545. set_hudmessage(0, 0, 0, 0.02, 0.33, 0, 0.0, 0.3, 0.0, 0.0)
  546. ShowSyncHudMsg(id, g_msgHudSync,"[Szinted : %s]^n[XP-d : %i]", Prefix[Level[id]], eXP[id])
  547.  
  548. set_task(0.1, "ShowHud", TASK_SHOW_HUD + id)
  549. }
  550.  
  551. /* nVault Stuff */
  552. public SaveData(id)
  553. {
  554. new AuthID[35]
  555. get_user_authid(id,AuthID,34)
  556. new vaultkey[64],vaultdata[256]
  557.  
  558. format(vaultkey,63,"%s-Mod",AuthID)
  559. format(vaultdata,255,"%i#%i#",eXP[id],Level[id])
  560.  
  561. nvault_set(gVault,vaultkey,vaultdata)
  562.  
  563. return PLUGIN_CONTINUE
  564. }
  565. public LoadData(id)
  566. {
  567. new AuthID[35]
  568. get_user_authid(id,AuthID,34)
  569. new vaultkey[64],vaultdata[256]
  570.  
  571. format(vaultkey,63,"%s-Mod",AuthID)
  572. format(vaultdata,255,"%i#%i#",eXP[id],Level[id])
  573.  
  574. nvault_get(gVault,vaultkey,vaultdata,255)
  575.  
  576. replace_all(vaultdata, 255, "#", " ")
  577.  
  578. new playerxp[32], playerlevel[32]
  579.  
  580. parse(vaultdata, playerxp, 31, playerlevel, 31)
  581.  
  582. eXP[id] = str_to_num(playerxp)
  583.  
  584. Level[id] = str_to_num(playerlevel)
  585.  
  586. return PLUGIN_CONTINUE
  587. }
  588.  
  589. /* Remove And Add XP */
  590. public CmdAddXP ( iPlayer, level, cid )
  591. {
  592. if( !cmd_access( iPlayer, level, cid, 3 ) ) return PLUGIN_HANDLED;
  593.  
  594. new arg [ 32 ]
  595. read_argv ( 1, arg, 31 )
  596.  
  597. new AddXP [ 32 ]
  598. read_argv ( 2, AddXP, charsmax ( AddXP ) )
  599.  
  600. new XPtoGive = str_to_num ( AddXP )
  601.  
  602. new AdminName [ 32 ]
  603. new TargetName [ 32 ]
  604. get_user_name ( iPlayer, AdminName, charsmax ( AdminName ) )
  605.  
  606. if( arg[0]=='@' )
  607. {
  608. if( equali(arg[1],"All") || equali(arg[1],"ALL") )
  609. {
  610. new players[32], totalplayers, All
  611. get_players( players, totalplayers )
  612.  
  613. for ( new i = 0; i < totalplayers; i++ )
  614. {
  615. All = players[ i ]
  616.  
  617. eXP[ All ] += XPtoGive
  618. }
  619.  
  620. CheckLevel( All )
  621. ColorChat ( 0, GREY, "%s ^1%s^3 adott^1 %i^3 XP-t minden ^1 jatekosnak^3!", szPrefix, AdminName, XPtoGive )
  622. }
  623. else if( equali(arg[1],"T") || equali(arg[1],"t") )
  624. {
  625. new players[32], totalplayers, T
  626. get_players( players, totalplayers )
  627.  
  628. for ( new i = 0; i < totalplayers; i++ )
  629. {
  630. if ( get_user_team(players[ i ]) == 1 )
  631. {
  632. T = players[ i ]
  633.  
  634. eXP[ T ] += XPtoGive
  635. }
  636. }
  637.  
  638. CheckLevel( T )
  639. ColorChat ( 0, GREY, "%s ^1%s^3 adott^1 %i^3 XP-t minden^1 Terrornak^3!", szPrefix, AdminName, XPtoGive )
  640. }
  641. else if( equali(arg[1],"CT") || equali(arg[1],"ct") )
  642. {
  643. new players[32], totalplayers, CT
  644. get_players( players, totalplayers )
  645.  
  646. for( new i = 0; i < totalplayers; i++ )
  647. {
  648. if( get_user_team(players[ i ] ) == 2 )
  649. {
  650. CT = players[ i ]
  651.  
  652. eXP[ CT ] += XPtoGive
  653. }
  654. }
  655.  
  656. CheckLevel( CT )
  657. ColorChat ( 0, GREY, "%s ^1%s^3 adott^1 %i^3 XP-t minden^1 CT-nek^3!", szPrefix, AdminName, XPtoGive )
  658. }
  659. }
  660. else
  661. {
  662. new iTarget = cmd_target( iPlayer, arg, 3 )
  663. get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )
  664.  
  665. if( iTarget )
  666. {
  667. eXP[ iTarget ] += XPtoGive
  668.  
  669. CheckLevel( iTarget )
  670. ColorChat ( 0, GREY, "%s ^1%s^3 adott^1 %i^3 XP-t ^1 %s-nek^3", szPrefix, AdminName, XPtoGive, TargetName )
  671. }
  672. }
  673. return PLUGIN_HANDLED
  674. }
  675.  
  676. public CmdRemoveXP ( iPlayer, level, cid )
  677. {
  678. if( !cmd_access(iPlayer, level, cid, 3) ) return PLUGIN_HANDLED;
  679.  
  680. new arg [ 32 ]
  681. read_argv ( 1, arg, 31 )
  682.  
  683. new RemoveXP [ 32 ]
  684. read_argv ( 2, RemoveXP, charsmax ( RemoveXP ) )
  685.  
  686. new XPtoRemove = str_to_num ( RemoveXP )
  687.  
  688. new AdminName [ 32 ]
  689. new TargetName [ 32 ]
  690. get_user_name ( iPlayer, AdminName, charsmax ( AdminName ) )
  691.  
  692. if( arg[0]=='@' )
  693. {
  694. if( equali(arg[1],"All") || equali(arg[1],"ALL") )
  695. {
  696. new players[32], totalplayers, All
  697. get_players( players, totalplayers )
  698.  
  699. for ( new i = 0; i < totalplayers; i++ )
  700. {
  701. All = players[ i ]
  702.  
  703. eXP[ All ] -= XPtoRemove
  704. }
  705.  
  706. CheckLevel( All )
  707. ColorChat ( 0, GREY, "%s ^1%s^3 elvett^1 %i^3 XP-t ^1mindenkitol^3!", szPrefix, AdminName, XPtoRemove )
  708. }
  709. else if( equali(arg[1],"T") || equali(arg[1],"t") )
  710. {
  711. new players[32], totalplayers, T
  712. get_players( players, totalplayers )
  713.  
  714. for ( new i = 0; i < totalplayers; i++ )
  715. {
  716. if ( get_user_team(players[ i ]) == 1 )
  717. {
  718. T = players[ i ]
  719.  
  720. eXP[ T ] -= XPtoRemove
  721. }
  722. }
  723.  
  724. CheckLevel( T )
  725. ColorChat ( 0, GREY, "%s ^1%s^3 elvett^1 %i^3 XP-t minden^1 Terroristatol^3!", szPrefix, AdminName, XPtoRemove )
  726. }
  727. else if( equali(arg[1],"CT") || equali(arg[1],"ct") )
  728. {
  729. new players[32], totalplayers, CT
  730. get_players( players, totalplayers )
  731.  
  732. for( new i = 0; i < totalplayers; i++ )
  733. {
  734. if( get_user_team(players[ i ] ) == 2 )
  735. {
  736. CT = players[ i ]
  737.  
  738. eXP[ CT ] -= XPtoRemove
  739. }
  740. }
  741.  
  742. CheckLevel( CT )
  743. ColorChat ( 0, GREY, "%s ^1%s^3 elvett^1 %i^3 XP-t minden^1 CT-tol^3!", szPrefix, AdminName, XPtoRemove )
  744. }
  745. }
  746. else
  747. {
  748. new iTarget = cmd_target( iPlayer, arg, 3 )
  749. get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )
  750.  
  751. if( !iTarget )
  752. return PLUGIN_HANDLED
  753.  
  754. eXP[ iTarget ] -= XPtoRemove
  755.  
  756. CheckLevel( iTarget )
  757. ColorChat ( 0, GREY, "%s ^1%s^3 adott^1 %i^3 XP-t ^1 %s-nek^3", szPrefix, AdminName, XPtoRemove, TargetName )
  758. }
  759.  
  760. return PLUGIN_HANDLED
  761. }
  762. /* Level Behind Nick & AdminChatColors
  763.   CREDITS TO ConnorMcLeod */
  764. public Message_SayText(msgId,msgDest,msgEnt)
  765. {
  766. new id = get_msg_arg_int(1);
  767. if( is_user_connected(id) )
  768. {
  769. if( get_cvar_num("AdminChatColors_On") == 1 )
  770. {
  771. new flags = get_user_flags(id)
  772. for(new i; i<sizeof(AdminsDatas); i++)
  773. {
  774. if( flags & AdminsDatas[i][m_iFlag] )
  775. {
  776. new szChannel[64]
  777. get_msg_arg_string(2, szChannel, charsmax(szChannel))
  778.  
  779. if( equal(szChannel, "#Cstrike_Chat_All") )
  780. {
  781. formatex(szChannel, charsmax(szChannel), "^4[%s - %s] ^3%%s1 ^1: %%s2", Prefix[Level[id]], AdminsDatas[i][m_szName])
  782. set_msg_arg_string(2, szChannel)
  783. }
  784. else if( !equal(szChannel, "#Cstrike_Name_Change") )
  785. {
  786. format(szChannel, charsmax(szChannel), "^4[%s - %s] %s", Prefix[Level[id]], AdminsDatas[i][m_szName], szChannel)
  787. set_msg_arg_string(2, szChannel)
  788. }
  789. return
  790. }
  791. else
  792. {
  793. new szChannel[64]
  794. get_msg_arg_string(2, szChannel, charsmax(szChannel))
  795.  
  796. if( equal(szChannel, "#Cstrike_Chat_All") )
  797. {
  798. formatex(szChannel, charsmax(szChannel), "^4[%s] ^3%%s1 ^1: %%s2", Prefix[Level[id]])
  799. set_msg_arg_string(2, szChannel)
  800. }
  801. else if( !equal(szChannel, "#Cstrike_Name_Change") )
  802. {
  803. format(szChannel, charsmax(szChannel), "^4[%s] %s", Prefix[Level[id]], szChannel)
  804. set_msg_arg_string(2, szChannel)
  805. }
  806. return
  807. }
  808. }
  809. }
  810. else
  811. {
  812. new szChannel[64]
  813. get_msg_arg_string(2, szChannel, charsmax(szChannel));
  814.  
  815. if( equal(szChannel, "#Cstrike_Chat_All") )
  816. {
  817. formatex(szChannel, charsmax(szChannel), "^4[%s] ^3%%s1 ^1: %%s2", Prefix[Level[id]])
  818. set_msg_arg_string(2, szChannel)
  819. }
  820. else if( !equal(szChannel, "#Cstrike_Name_Change") )
  821. {
  822. format(szChannel, charsmax(szChannel), "^4[%s] %s", Prefix[Level[id]], szChannel)
  823. set_msg_arg_string(2, szChannel)
  824. }
  825. return
  826. }
  827. }
  828. }
  829.  

_________________
Soha se késő megköszönni! :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: menü beírása.
HozzászólásElküldve: 2015.02.12. 18:28 
Offline
Tud valamit
Avatar

Csatlakozott: 2014.12.19. 23:49
Hozzászólások: 100
Megköszönt másnak: 19 alkalommal
Megköszönték neki: 23 alkalommal
A pont és az xp az egy.. Ha az ölések számára gondolsz akk írd meg..

_________________
[mozgo]^^^ [.:~Be4tBox~:.] ^^^[/mozgo]

Ők köszönték meg beatboxhunterr nek ezt a hozzászólást: xD|OFFICIAL (2015.02.16. 21:42)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: menü beírása.
HozzászólásElküldve: 2015.02.12. 18:30 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.07.22. 17:59
Hozzászólások: 667
Megköszönt másnak: 49 alkalommal
Megköszönték neki: 36 alkalommal
A pont és az xp nem egy.

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: menü beírása.
HozzászólásElküldve: 2015.02.12. 18:45 
Offline
Jómunkásember

Csatlakozott: 2014.08.22. 22:10
Hozzászólások: 477
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 8 alkalommal
V!rusHD írta:
A pont és az xp nem egy.

xp kell :) jajj elirtam :S

_________________
Soha se késő megköszönni! :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: menü beírása.
HozzászólásElküldve: 2015.02.12. 18:49 
Offline
Nagyúr

Csatlakozott: 2014.05.10. 16:41
Hozzászólások: 721
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 64 alkalommal
Ebbe most 1 menüt akarsz? És abban legyen 1 usp?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: menü beírása.
HozzászólásElküldve: 2015.02.12. 19:11 
Offline
Jómunkásember

Csatlakozott: 2014.08.22. 22:10
Hozzászólások: 477
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 8 alkalommal
NuD[!]e írta:
Ebbe most 1 menüt akarsz? És abban legyen 1 usp?

igen igen :)

_________________
Soha se késő megköszönni! :)


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 6 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 35 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole