Advertisement
mihay111

skinzombiemodels[zm]

Aug 8th, 2019
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.07 KB | None | 0 0
  1. #pragma tabsize 0
  2.  
  3. #include <amxmodx>
  4. #include <fvault>
  5. #include <hamsandwich>
  6. #include <zombieplague>
  7.  
  8. //modelele se pun in /models/player/nume_model/nume_model.mdl
  9. new const Models[][] = {//numele la modele
  10. "Spiderman",
  11. "Halo",
  12. "Redor",
  13.  
  14. "Batman",
  15. "Death"
  16. }
  17.  
  18. new model1[33],model2[33],model3[33],model4[33], model5[33]
  19.  
  20.  
  21. #define NUME_SKIN_1 "Spiderman"
  22. #define PRET_SKIN_1 750
  23.  
  24. #define NUME_SKIN_2 "Halo"
  25. #define PRET_SKIN_2 2050
  26.  
  27. #define NUME_SKIN_3 "Redor"
  28. #define PRET_SKIN_3 630
  29.  
  30.  
  31. #define NUME_SKIN_4 "Batman"
  32. #define PRET_SKIN_4 450
  33.  
  34.  
  35. #define NUME_SKIN_5 "Death"
  36. #define PRET_SKIN_5 24500
  37.  
  38.  
  39.  
  40. new const g_vault_name[] = "SkinShop";
  41. new authid[33],data[128];
  42.  
  43.  
  44. public plugin_init() {
  45. register_plugin("skin_zombie", "1.0", "Rainq & Levin")
  46. //register_clcmd("say","SayFC")
  47. //register_clcmd("say_team","SayFC")
  48.  
  49. register_clcmd("say /skin","SkinSHOP")
  50. register_clcmd("say_team /skin","SkinSHOP")
  51.  
  52. RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost")
  53. }
  54.  
  55. public plugin_precache()
  56. {
  57. new szBuffer[ 128 ]
  58. for( new i; i < sizeof Models; i++ )
  59. {
  60. formatex( szBuffer, charsmax( szBuffer ), "models/player/%s/%s.mdl", Models[ i ], Models[ i ] )
  61. precache_model( szBuffer )
  62.  
  63. // Support modelT.mdl files
  64. //V1
  65. replace(szBuffer, charsmax(szBuffer), ".mdl", "T.mdl")
  66. if(file_exists(szBuffer)) precache_model(szBuffer)
  67.  
  68. //V2
  69. /*formatex(szBuffer, charsmax(szBuffer), "models/player/%s/%sT.mdl", Models[ i ], Models[ i ])
  70. if (file_exists(szBuffer)) precache_model(szBuffer)*/
  71. }
  72. }
  73.  
  74. public client_putinserver(plr) if( !is_user_hltv(plr) || !is_user_bot(plr) ) LoadExp(plr);
  75.  
  76. public fwHamPlayerSpawnPost(id) set_task(1.0,"SM",id)
  77.  
  78. public SM(id)
  79. {
  80. if(is_user_alive(id)&&!zp_get_user_zombie(id))
  81. {
  82. if(model1[id]==1&&model2[id]==1&&model3[id]==1&&
  83. model4[id]==1 && model5[id]==1) zp_override_user_model( id, Models[ random_num( 0, charsmax( Models ) ) ] )
  84.  
  85. /*else if(model1[id]==1&&model2[id]==1) zp_override_user_model( id, Models[ random_num( 0, 1 ) ] )
  86. else if(model2[id]==1&&model3[id]==1) zp_override_user_model( id, Models[ random_num( 1, 2 ) ] )
  87. else if(model1[id]==1&&model3[id]==1) zp_override_user_model( id, Models[ 0 ],1 )*/
  88. else if(model1[id]==1) zp_override_user_model( id, Models[ 0 ] )
  89. else if(model2[id]==1) zp_override_user_model( id, Models[ 1 ] )
  90. else if(model3[id]==1) zp_override_user_model( id, Models[ 2 ] )
  91.  
  92. else if(model4[id]==1) zp_override_user_model( id, Models[ 3 ] )
  93. else if(model5[id]==1) zp_override_user_model( id, Models[ 4 ] )
  94. }
  95. }
  96.  
  97. public client_disconnect(plr)
  98. {
  99. SaveExp(plr);
  100.  
  101. model1[plr] = 0;
  102. model2[plr] = 0;
  103. model3[plr] = 0;
  104.  
  105. model4[plr] = 0;
  106. model5[plr] = 0;
  107. }
  108.  
  109. public zp_user_humanized_post(id, survivor) SM(id)
  110.  
  111. public SayFC(id)
  112. {
  113. new args[ 192 ]
  114. read_args( args, charsmax( args ) )
  115. remove_quotes( args )
  116.  
  117. if( contain( args, "skin" ) != -1 ) client_print( id, print_chat, "Vrei sa ai propriu skin? Scrie /skin si poti cumpara propriu skin cu ammo!" )
  118. }
  119.  
  120. public SkinSHOP(id)
  121. {
  122. if(get_user_team(id)!=ZP_TEAM_HUMAN||zp_get_user_zombie(id))
  123. {
  124. //client_print(id,print_chat,"Trebuie sa fii om pentru a avea acces la Skinuri.")
  125. return PLUGIN_HANDLED
  126. }
  127.  
  128. new form[512]
  129. new gMenu = menu_create( "Glorius # Skin", "thisContent" );
  130.  
  131. if(model1[id]!=1) formatex(form,charsmax(form),"\r%s -\y %d\r ammo [NU DETII]",NUME_SKIN_1,PRET_SKIN_1)
  132. else formatex(form,charsmax(form),"\r%s -\y [INVENTAR]",NUME_SKIN_1)
  133. menu_additem( gMenu, form, "1");
  134.  
  135. if(model2[id]!=1) formatex(form,charsmax(form),"\r%s -\y %d\r ammo [NU DETII]",NUME_SKIN_2,PRET_SKIN_2)
  136. else formatex(form,charsmax(form),"\r%s -\y [INVENTAR]",NUME_SKIN_2)
  137. menu_additem( gMenu, form, "2");
  138.  
  139. if(model3[id]!=1) formatex(form,charsmax(form),"\r%s -\y %d\r ammo [NU DETII]",NUME_SKIN_3,PRET_SKIN_3)
  140. else formatex(form,charsmax(form),"\r%s -\y [INVENTAR]",NUME_SKIN_3)
  141. menu_additem( gMenu, form, "3");
  142.  
  143.  
  144. if(model4[id]!=1) formatex(form,charsmax(form),"\r%s -\y %d\r ammo [NU DETII]",NUME_SKIN_4,PRET_SKIN_4)
  145. else formatex(form,charsmax(form),"\r%s -\y [INVENTAR]",NUME_SKIN_4)
  146. menu_additem( gMenu, form, "4");
  147.  
  148.  
  149. if(model5[id]!=1) formatex(form,charsmax(form),"\r%s -\y %d\r ammo [NU DETII]",NUME_SKIN_5,PRET_SKIN_5)
  150. else formatex(form,charsmax(form),"\r%s -\y [INVENTAR]",NUME_SKIN_5)
  151. menu_additem( gMenu, form, "5");
  152.  
  153.  
  154. //menu_setprop( gMenu, MPROP_EXIT, MEXIT_ALL );
  155. menu_display( id, gMenu );
  156.  
  157. return PLUGIN_CONTINUE
  158. }
  159.  
  160. public thisContent( id, Menu, Item )
  161. {
  162. if( Item < 0 ) return 0;
  163.  
  164. if( !is_user_alive( id ) )
  165. {
  166. //client_print( id, print_chat, "Trebuie sa fii in viata pentru a-ti seta un Skin!" )
  167. return 0
  168. }
  169.  
  170. new Key[ 3 ];
  171. new Access, CallBack;
  172. menu_item_getinfo( Menu, Item, Access, Key, 2, _, _, CallBack );
  173. new isKey = str_to_num( Key );
  174. switch( isKey )
  175. {
  176. case 1:
  177. {
  178. if(model1[id]==1)
  179. {
  180. //client_print( id, print_chat, "Felicitari! Ti-ai setat %s.", NUME_SKIN_1 )
  181.  
  182. zp_override_user_model(id,Models[ 0 ],1)
  183.  
  184. return PLUGIN_HANDLED
  185. }
  186.  
  187. if( zp_get_user_ammo_packs( id ) < PRET_SKIN_1 )
  188. {
  189. //client_print( id, print_chat, "Nu ai suficient ammo." )
  190. return PLUGIN_HANDLED
  191. }
  192.  
  193. zp_set_user_ammo_packs( id, zp_get_user_ammo_packs( id ) - PRET_SKIN_1 )
  194. //client_print( id, print_chat, "Felicitari! Ai achizitionat %s pentru %d pachete ammo", NUME_SKIN_1, PRET_SKIN_1 )
  195.  
  196. zp_override_user_model(id,Models[ 0 ],1)
  197.  
  198. model1[ id ] = 1
  199. }
  200. case 2:
  201. {
  202. if(model2[id]==1)
  203. {
  204. //client_print( id, print_chat, "Felicitari! Ti-ai setat %s.", NUME_SKIN_2 )
  205.  
  206. zp_override_user_model(id,Models[ 1 ],1)
  207.  
  208. return PLUGIN_HANDLED
  209. }
  210.  
  211. if( zp_get_user_ammo_packs( id ) < PRET_SKIN_2 )
  212. {
  213. //client_print( id, print_chat, "Nu ai suficient ammo." )
  214. return PLUGIN_HANDLED
  215. }
  216.  
  217. zp_set_user_ammo_packs( id, zp_get_user_ammo_packs( id ) - PRET_SKIN_2 )
  218. //client_print( id, print_chat, "Felicitari! Ai achizitionat %s pentru %d pachete ammo", NUME_SKIN_2, PRET_SKIN_2 )
  219.  
  220. zp_override_user_model(id,Models[ 1 ],1)
  221.  
  222. model2[ id ] = 1
  223. }
  224. case 3:
  225. {
  226. if(model3[id]==1)
  227. {
  228. //client_print( id, print_chat, "Felicitari! Ti-ai setat %s.", NUME_SKIN_3 )
  229.  
  230. zp_override_user_model(id,Models[ 2 ],1)
  231.  
  232. return PLUGIN_HANDLED
  233. }
  234.  
  235. if( zp_get_user_ammo_packs( id ) < PRET_SKIN_3 )
  236. {
  237. //client_print( id, print_chat, "Nu ai suficient ammo." )
  238. return PLUGIN_HANDLED
  239. }
  240.  
  241. zp_set_user_ammo_packs( id, zp_get_user_ammo_packs( id ) - PRET_SKIN_3 )
  242. //client_print( id, print_chat, "Felicitari! Ai achizitionat %s pentru %d pachete ammo", NUME_SKIN_3, PRET_SKIN_3 )
  243.  
  244. zp_override_user_model(id,Models[ 2 ],1)
  245.  
  246. model3[ id ] = 1
  247. }
  248.  
  249. case 4:
  250. {
  251. if(model4[id]==1)
  252. {
  253. //client_print( id, print_chat, "Felicitari! Ti-ai setat %s.", NUME_SKIN_4 )
  254.  
  255. zp_override_user_model(id,Models[ 3 ],1)
  256.  
  257. return PLUGIN_HANDLED
  258. }
  259.  
  260. if( zp_get_user_ammo_packs( id ) < PRET_SKIN_4 )
  261. {
  262. //client_print( id, print_chat, "Nu ai suficient ammo." )
  263. return PLUGIN_HANDLED
  264. }
  265.  
  266. zp_set_user_ammo_packs( id, zp_get_user_ammo_packs( id ) - PRET_SKIN_4 )
  267. //client_print( id, print_chat, "Felicitari! Ai achizitionat %s pentru %d pachete ammo", NUME_SKIN_4, PRET_SKIN_4 )
  268.  
  269. zp_override_user_model(id,Models[ 3 ],1)
  270.  
  271. model4[ id ] = 1
  272. }
  273.  
  274. case 5:
  275. {
  276. if(model5[id]==1)
  277. {
  278. //client_print( id, print_chat, "Felicitari! Ti-ai setat %s.", NUME_SKIN_5 )
  279.  
  280. zp_override_user_model(id,Models[ 4 ],1)
  281.  
  282. return PLUGIN_HANDLED
  283. }
  284.  
  285. if( zp_get_user_ammo_packs( id ) < PRET_SKIN_5 )
  286. {
  287. //client_print( id, print_chat, "Nu ai suficient ammo." )
  288. return PLUGIN_HANDLED
  289. }
  290.  
  291. zp_set_user_ammo_packs( id, zp_get_user_ammo_packs( id ) - PRET_SKIN_5 )
  292. //client_print( id, print_chat, "Felicitari! Ai achizitionat %s pentru %d pachete ammo", NUME_SKIN_5, PRET_SKIN_5 )
  293.  
  294. zp_override_user_model(id,Models[ 4 ],1)
  295.  
  296. model5[ id ] = 1
  297. }
  298.  
  299. }
  300.  
  301. return 1;
  302. }
  303.  
  304. LoadExp(plr)
  305. {
  306. get_user_name(plr, authid, sizeof(authid) - 1);
  307.  
  308. new szModel1[5],szModel2[5],szModel3[5], szModel4[5], szModel5[5]
  309. if( fvault_get_data(g_vault_name, authid, data, sizeof(data) - 1) )
  310. {
  311. parse(data,szModel1,charsmax(szModel1),szModel2,charsmax(szModel2),szModel3,charsmax(szModel3) ,szModel4,charsmax(szModel4),szModel5,charsmax(szModel5))
  312.  
  313. model1[plr] = str_to_num(szModel1);
  314. model2[plr] = str_to_num(szModel2);
  315. model3[plr] = str_to_num(szModel3);
  316.  
  317. model4[plr] = str_to_num(szModel4);
  318. model5[plr] = str_to_num(szModel5);
  319. }
  320. else
  321. {
  322. model1[plr] = 0;
  323. model2[plr] = 0;
  324. model3[plr] = 0;
  325.  
  326. model4[plr] = 0;
  327. model5[plr] = 0;
  328. }
  329. }
  330. SaveExp(plr)
  331. {
  332. get_user_name(plr, authid, sizeof(authid) - 1);
  333.  
  334. formatex( data, sizeof( data ) - 1, "%d %d %d %d %d", model1[plr],model2[plr],model3[plr] ,model4[plr],model5[plr]);
  335.  
  336. fvault_set_data(g_vault_name, authid, data);
  337. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement