HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include < amxmodx >
  4. #include < amxmisc >
  5. #include < nvault >
  6. #include < cstrike >
  7.  
  8. #define PLUGIN "player_boost"
  9. #define VERSION "1.0 beta"
  10. #define AUTHOR "RoCk-MaN"
  11.  
  12. new szModel[32], szBuy[32], szCach[32], Float: szTime[32], szVault;
  13. new iKey = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0;
  14.  
  15. public plugin_init()
  16. {
  17. register_plugin(PLUGIN, VERSION, AUTHOR);
  18. register_event("ResetHUD", "set_players_models", "be");
  19. szVault = nvault_open("model_ka4");
  20. register_clcmd("say /models", "menu_player");
  21. register_menu("Models", iKey, "func_menu");
  22. }
  23.  
  24. public plugin_precache() {
  25. precache_model("models/player/henry/henry.mdl");
  26. precache_model("models/player/dominique/dominique.mdl");
  27. precache_model("models/player/zim/zim.mdl");
  28. }
  29.  
  30. public menu_player(id) {
  31. static menu[ 512 ] , iLen ;
  32. iLen = 0;
  33. static const _info[ 4 ][ ] = { "Alap", "Henry", "Dominique", "Zim" };
  34. iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r[\yModellek Vásárlása\r]^n\wPénzed: \y%d^nModelled: %s^n^n", szCach[id], _info[szModel[id]]);
  35.  
  36. iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r1. %sModell vásárlás^n", szBuy[id] < 3 ? "\w" : "\d" );
  37. iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r2. %sModell: %s %s^n", szBuy[id] >= 1 ? "\w" : "\d", _info[1], szModel[id] == 1 ? "\d[\yBekapcsolva\d]" : "\d[\rKikapcsolva\d]");
  38. iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r3. %sModell: %s %s^n", szBuy[id] >= 2 ? "\w" : "\d", _info[2], szModel[id] == 2 ? "\d[\yBekapcsolva\d]" : "\d[\rKikapcsolva\d]");
  39. iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r4. %sModell: %s %s^n", szBuy[id] >= 3 ? "\w" : "\d", _info[3], szModel[id] == 3 ? "\d[\yBekapcsolva\d]" : "\d[\rKikapcsolva\d]");
  40.  
  41. iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "^n\r0. \wKilépés" );
  42.  
  43. szBuy[id] < 3 ? ( iKey |= MENU_KEY_1 ) : ( iKey &= ~MENU_KEY_1 );
  44. szBuy[id] >= 1 ? ( iKey |= MENU_KEY_2 ) : ( iKey &= ~MENU_KEY_2 );
  45. szBuy[id] >= 2 ? ( iKey |= MENU_KEY_3 ) : ( iKey &= ~MENU_KEY_3 );
  46. szBuy[id] >= 3 ? ( iKey |= MENU_KEY_4 ) : ( iKey &= ~MENU_KEY_4 );
  47.  
  48. ( iKey &= ~MENU_KEY_5 );( iKey &= ~MENU_KEY_6 );( iKey &= ~MENU_KEY_7 );( iKey &= ~MENU_KEY_8 );( iKey &= ~MENU_KEY_9 );
  49.  
  50. show_menu( id , iKey , menu , -1 , "Models" ) ;
  51. return PLUGIN_CONTINUE ;
  52. }
  53.  
  54. public func_menu(id, key)
  55. {
  56. switch(key) {
  57. case 0: {
  58. szCach[id] -= 200;
  59. szBuy[id]++;
  60. menu_player(id);
  61. }
  62. case 1: {
  63. szModel[id] = szModel[id] ? 0 : 1;
  64. set_players_models(id);
  65. menu_player(id);
  66. }
  67. case 2: {
  68. szModel[id] = szModel[id] ? 0 : 2;
  69. set_players_models(id);
  70. menu_player(id);
  71. }
  72. case 3: {
  73. szModel[id] = szModel[id] ? 0 : 3;
  74. set_players_models(id);
  75. menu_player(id);
  76. }
  77. }
  78. }
  79.  
  80. public set_players_models(id) {
  81.  
  82. if(!is_user_connected(id))
  83. return PLUGIN_CONTINUE;
  84.  
  85. switch( szModel[id] ) {
  86. case 0: cs_reset_user_model(id);
  87. case 1: cs_set_user_model(id, "henry");
  88. case 2: cs_set_user_model(id, "dominique");
  89. case 3: cs_set_user_model(id, "zim");
  90. }
  91. return PLUGIN_CONTINUE;
  92. }
  93.  
  94. public client_putinserver(id) {
  95. szModel[id] = 0;
  96. szBuy[id] = 0;
  97. LoadData(id);
  98. szTime[id] = get_gametime();
  99. set_task(482.0, "give_cach", id);
  100. }
  101. public client_disconnect(id) {
  102. SaveData(id)
  103. szTime[id] = 0.0;
  104. szModel[id] = 0;
  105. szBuy[id] = 0;
  106. remove_task(id);
  107. }
  108.  
  109. public give_cach(id) {
  110. szCach[id] += random_num( 1, 10 );
  111. }
  112.  
  113. public plugin_end() {
  114. for(new i = 0; i < get_maxplayers(); i++) {
  115. SaveData(i);
  116. }
  117. nvault_close(szVault);
  118. }
  119. public SaveData(id) {
  120. if(is_user_bot(id))
  121. return PLUGIN_HANDLED;
  122.  
  123. new AuthID[35];
  124.  
  125. get_user_authid(id,AuthID,35);
  126.  
  127. new vaultkey[64],vaultdata[256];
  128. format(vaultkey,63,"%s-Mod",AuthID);
  129. format(vaultdata,255,"%i#%i#", szCach[id], szBuy[id]);
  130. nvault_set(szVault,vaultkey,vaultdata);
  131. return PLUGIN_CONTINUE;
  132. }
  133.  
  134. public LoadData(id) {
  135. new AuthID[35];
  136.  
  137. get_user_authid(id,AuthID,35);
  138.  
  139. new vaultkey[64],vaultdata[256];
  140. format(vaultkey,63,"%s-Mod",AuthID);
  141. format(vaultdata,255,"%i#%i#", szCach[id], szBuy[id]);
  142. nvault_get(szVault,vaultkey,vaultdata,255);
  143.  
  144. replace_all(vaultdata, 255, "#", " ");
  145.  
  146. new playercach[32], playerbuy[32];
  147.  
  148. parse(vaultdata, playercach, 31, playerbuy, 31);
  149. szCach[id] = str_to_num(playercach);
  150. szBuy[id] = str_to_num(playerbuy);
  151. return PLUGIN_CONTINUE;
  152. }
  153. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  154. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1058\\ f0\\ fs16 \n\\ par }
  155. */
  156.