Guest User

Untitled

a guest
Dec 8th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.43 KB | None | 0 0
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <colorchat>
  5. #include <cstrike>
  6. #include <fun>
  7. #include <engine>
  8. #include <nvault>
  9.  
  10. new const PLUGIN[] = "Skill MOD"
  11. new const VERSION[] = "1.0"
  12. new const AUTHOR[] = "CerberuS"
  13.  
  14. new bool:brzina50[33]
  15. new bool:brzina75[33]
  16. new bool:brzina150[33]
  17. new bool:brzina300[33]
  18.  
  19. new skill_poeni[33];
  20. new sacuvati;
  21. new hud_poruka;
  22. new kill_xp;
  23.  
  24. new level_igraca[33] = 1
  25. new xp_igraca[33] = 1
  26. new xp_levela[33] = 33
  27.  
  28. public Message_Connect()
  29. {
  30.     ColorChat(0, TEAM_COLOR, "Dobro Dosli na^4 %s^1 v^3%d^1 By:^4 %s", PLUGIN, VERSION, AUTHOR)
  31. }
  32. public plugin_init()
  33. {
  34.     register_plugin(PLUGIN, VERSION, AUTHOR)
  35.    
  36.     sacuvati = nvault_open("Skill_MOD");
  37.    
  38.     register_event("DeathMsg", "Death", "ade");
  39.         register_logevent("Pocetak_Runde", 2, "1=Round_Start");
  40.     register_event( "CurWeapon", "CurWeapon", "be", "1=1" );
  41.    
  42.     kill_xp = register_cvar("kill_xp", "74");
  43.  
  44.     register_clcmd("say /menu", "Shop_Menu")
  45.     register_clcmd("say_team /menu", "Shop_Menu")
  46.  
  47.     hud_poruka= CreateHudSyncObj();
  48. }
  49. public Death()
  50. {
  51.     new id = read_data(2);
  52.     new attacker = read_data(1);
  53.  
  54.     if(!is_user_alive(attacker) || !is_user_connected(attacker))
  55.         return PLUGIN_CONTINUE;
  56.        
  57.     if(get_user_team(id) != get_user_team(attacker))
  58.     {
  59.         skill_poeni[attacker]++
  60.  
  61.         new novi_xp = get_pcvar_num(kill_xp);
  62.         xp_igraca[attacker] += novi_xp;
  63.     }
  64.    
  65.     Provera(attacker);
  66.     return PLUGIN_CONTINUE;
  67. }
  68.  
  69. public Provera(id)
  70. {
  71.     if(!is_user_connected(id))
  72.     {
  73.         return PLUGIN_HANDLED
  74.             }
  75.     new level_ratio = 33
  76.     new max_level = 2000
  77.        
  78.     while(xp_igraca[id] >=xp_levela[id] && level_igraca[id] < max_level)
  79.     {
  80.         level_igraca[id]++
  81.         xp_levela[id] = level_igraca[id] * (2 * level_ratio)
  82.     }
  83.     Save(id)
  84.     return PLUGIN_CONTINUE
  85. }  
  86. public Osnovno(id)
  87. {
  88.     set_task(0.1, "Osnovno", id);
  89.    
  90.     if(!is_user_alive(id))
  91.     {
  92.         new igrac = entity_get_int(id, EV_INT_iuser2);
  93.         if(!igrac)
  94.             return PLUGIN_CONTINUE;
  95.    
  96.         set_hudmessage(0, 255, 0, -1.0, 0.19, 0, 6.0, 0.0)
  97.         ShowSyncHudMsg(id, hud_poruka, "[Level: %i]^n[Iskustvo: %i/%i][Zdravlje: %d]^n[Skill Poeni: %i]^n ^n[Skill MOD By: %s]",level_igraca[igrac], xp_igraca[igrac], xp_levela[igrac], get_user_health(igrac), skill_poeni[igrac], AUTHOR)
  98.  
  99.         return PLUGIN_CONTINUE;
  100.     }  
  101.     set_hudmessage(0, 255, 0, -1.0, 0.19, 0, 6.0, 0.0)
  102.     ShowSyncHudMsg(id, hud_poruka, "[Level: %i]^n[Iskustvo: %i/%i]^n[Zdravlje: %d]^n[Skill Poeni: %i]^n ^n[Skill MOD By: %s]", level_igraca[id], xp_igraca[id] , xp_levela[id],get_user_health(id), skill_poeni[id], AUTHOR)
  103.  
  104.     return PLUGIN_CONTINUE;
  105. }
  106.  
  107.  
  108. public Save(id)
  109. {
  110.     new vaultkey[128],vaultdata[256], ID_igraca[64];
  111.     format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i", skill_poeni[id], xp_igraca[id],xp_levela[id],level_igraca[id]);
  112.    
  113.     get_user_authid(id, ID_igraca, charsmax(ID_igraca))
  114.    
  115.     format(vaultkey, charsmax(vaultkey),"%s", ID_igraca);
  116.     nvault_set(sacuvati,vaultkey,vaultdata);
  117.    
  118.     return PLUGIN_CONTINUE;
  119. }
  120. public Ucitaj(id)
  121. {
  122.     new vaultkey[128],vaultdata[256], ID_igraca[64];
  123.    
  124.     get_user_authid(id, ID_igraca, charsmax(ID_igraca))
  125.    
  126.     format(vaultkey, charsmax(vaultkey),"%s", ID_igraca);
  127.     nvault_get(sacuvati,vaultkey,vaultdata,255);
  128.    
  129.     replace_all(vaultdata, 255, "#", " ");
  130.    
  131.     new playerdata[4][32];
  132.    
  133.     parse(vaultdata, playerdata[0], 31, playerdata[1], 31, playerdata[2], 31, playerdata[3], 31);
  134.    
  135.     skill_poeni[id] = str_to_num(playerdata[0]);
  136.     xp_igraca[id] = str_to_num(playerdata[1]);
  137.     xp_levela[id] = str_to_num(playerdata[2]);
  138.     level_igraca[id] = str_to_num(playerdata[3]);
  139.    
  140.     return PLUGIN_CONTINUE;
  141. }
  142. public client_connect(id)
  143. {
  144.     Ucitaj(id)
  145.     set_task(10.0, "Message_Connect", id)
  146.     set_task(3.0, "Osnovno", id);
  147.  
  148.     brzina50[id] = false
  149.     brzina75[id] = false
  150.     brzina150[id] = false
  151.     brzina300[id] = false
  152. }
  153. public client_disconnect(id)
  154. {
  155.     Save(id)
  156. }
  157. public Pocetak_Runde(id)
  158. {
  159.     brzina50[id] = false
  160.     brzina75[id] = false
  161.     brzina150[id] = false
  162.     brzina300[id] = false
  163. }
  164. public CurWeapon(id)
  165. {  
  166.     if(brzina50[id])
  167.         {
  168.         set_user_maxspeed(id , get_user_maxspeed(id) + 50.0)
  169.         }
  170.     if(brzina75[id])
  171.         {
  172.         set_user_maxspeed(id , get_user_maxspeed(id) + 75.0)
  173.         }
  174.     if(brzina150[id])
  175.         {
  176.         set_user_maxspeed(id , get_user_maxspeed(id) +150.0)
  177.         }
  178.     if(brzina300[id])
  179.         {
  180.         set_user_maxspeed(id , get_user_maxspeed(id) + 300.0)
  181.         }
  182.         return PLUGIN_HANDLED;
  183. }
  184. /* GLAVNI MENU + HANDLE (ALL)*/
  185. public Menu(id)
  186. {
  187.     new menu = menu_create("\dMenu:", "Menu_Handle");
  188.     menu_additem(menu, "\w Kupite Brzinu (\r Buy Spped\w) ");
  189.     menu_additem(menu, "\w Kupite Energiju (\r Buy HP\w)");
  190.     menu_additem(menu, "\w Kupite Armor (\r Buy AP\w)");
  191.     menu_display(id, menu);
  192. }
  193.  
  194. public Menu_Handle(id, menu, item)
  195. {  
  196.     if(item == MENU_EXIT)
  197.     {
  198.         menu_destroy(menu) 
  199.         ColorChat(id,TEAM_COLOR,"^4[Menu]^3 Napustili ste Glavni Menu.");
  200.         return PLUGIN_HANDLED
  201.     }
  202.     menu_display(id, menu)
  203.     switch(item)
  204.     {
  205.         case 0:
  206.         {
  207.             new menu1 = menu_create("\dSpeed Menu:", "Speed_Handle");
  208.             menu_additem(menu1, "\w +50 Speed (\rCena: 10 Skill poena\w)");
  209.             menu_additem(menu1, "\w +75 Speed (\rCena: 50 Skill poena\w)");
  210.             menu_additem(menu1, "\w +150 Speed (\rCena: 75 Skill poena\w)");
  211.             menu_additem(menu1, "\w +300 Speed (\rCena: 100 Skill poena\w)");
  212.             menu_display(id, menu1);
  213.         }
  214.         case 1:
  215.         {
  216.             new menu2 = menu_create("\dHP Menu:", "HP_Handle");
  217.             menu_additem(menu2, "\w +75 HP (\rCena: 20 Skill poena\w)");
  218.             menu_additem(menu2, "\w +120 HP (\rCena: 40 Skill poena\w)");
  219.             menu_additem(menu2, "\w +150 HP (\rCena: 60 Skill poena\w)");
  220.             menu_additem(menu2, "\w +200 HP (\rCena: 100 Skill poena\w)");
  221.             menu_display(id, menu2);
  222.         }
  223.         case 2:
  224.         {
  225.             new menu3 = menu_create("\dArmor Menu:", "Armor_Handle");
  226.             menu_additem(menu3, "\w +75 Armor (\rCena: 10 Skill poena\w)");
  227.             menu_additem(menu3, "\w +150 Armor (\rCena: 25 Skill poena\w)");
  228.             menu_additem(menu3, "\w +300 Armor (\rCena: 40 Skill poena\w)");
  229.             menu_additem(menu3, "\w +500 Armor (\rCena: 70 Skill poena\w)");
  230.             menu_display(id, menu3);
  231.         }
  232.     }
  233.     return PLUGIN_CONTINUE
  234. }
  235. public Speed_Handle(id, menu, item)
  236. {  
  237.     if(item == MENU_EXIT)
  238.     {
  239.         menu_destroy(menu) 
  240.         ColorChat(id,TEAM_COLOR,"^4[Shop]^3 Napustili ste Shop.");
  241.         return PLUGIN_HANDLED
  242.     }
  243.     menu_display(id, menu)
  244.     switch(item)
  245.     {
  246.         case 0:
  247.         {
  248.             if (skill_poeni[id]<10)
  249.             {
  250.                 ColorChat(id,TEAM_COLOR,"[Shop]^1 Nemas dovoljno Skill Poena.");
  251.                 return PLUGIN_CONTINUE;
  252.             }
  253.             brzina50[id] = true
  254.             set_user_maxspeed(id , get_user_maxspeed(id) + 50.0)
  255.             skill_poeni[id] -=10
  256.             ColorChat(id,TEAM_COLOR,"^4[Shop]^1Kupio si^3 +50 Speed")
  257.         }
  258.         case 1:
  259.         {
  260.             if (skill_poeni[id]<50)
  261.             {
  262.                 ColorChat(id,TEAM_COLOR,"[Shop]^1 Nemas dovoljno Skill Poena.");
  263.                 return PLUGIN_CONTINUE;
  264.             }
  265.             brzina75[id] = true
  266.             set_user_maxspeed(id , get_user_maxspeed(id) + 75.0)
  267.             skill_poeni[id] -= 50
  268.             ColorChat(id,TEAM_COLOR,"^4[Shop]^1Kupio si^3 +75 Speed")
  269.         }
  270.         case 2:
  271.         {
  272.             if (skill_poeni[id]<75)
  273.             {
  274.                 ColorChat(id,TEAM_COLOR,"[Shop]^1 Nemas dovoljno Skill Poena.");
  275.                 return PLUGIN_CONTINUE;
  276.             }
  277.             brzina150[id] = true
  278.             set_user_maxspeed(id , get_user_maxspeed(id) + 150.0)
  279.             skill_poeni[id] -= 75
  280.             ColorChat(id,TEAM_COLOR,"^4[Shop]^1Kupio si^3 +150 Speed");
  281.         }
  282.         case 3:
  283.         {
  284.             if (skill_poeni[id]<100)
  285.             {
  286.                 ColorChat(id,TEAM_COLOR,"[Shop]^1 Nemas dovoljno Skill Poena.");
  287.                 return PLUGIN_CONTINUE;
  288.             }
  289.             brzina300[id] = true
  290.             set_user_maxspeed(id , get_user_maxspeed(id) + 300.0)
  291.             skill_poeni[id] -= 100
  292.             ColorChat(id,TEAM_COLOR,"^4[Shop]^1Kupio si^3 +300 Speed");
  293.         }
  294.     }
  295.     return PLUGIN_CONTINUE
  296. }
  297. public HP_Handle(id, menu, item)
  298. {  
  299.     if(item == MENU_EXIT)
  300.     {
  301.         menu_destroy(menu) 
  302.         ColorChat(id,TEAM_COLOR,"^4[Shop]^3 Napustili ste Shop.");
  303.         return PLUGIN_HANDLED
  304.     }
  305.     menu_display(id, menu)
  306.     switch(item)
  307.     {
  308.         case 0:
  309.         {
  310.             if (skill_poeni[id]<20)
  311.             {
  312.                 ColorChat(id,TEAM_COLOR,"[Shop]^1 Nemas dovoljno Skill Poena.");
  313.                 return PLUGIN_CONTINUE;
  314.             }
  315.             skill_poeni[id] -= 20
  316.             set_user_health(id, get_user_health(id) + 75)
  317.             ColorChat(id,TEAM_COLOR,"^4[Shop]^1Kupio si^3 75 HP")
  318.         }
  319.         case 1:
  320.         {
  321.             if (skill_poeni[id]<40)
  322.             {
  323.                 ColorChat(id,TEAM_COLOR,"[Shop]^1 Nemas dovoljno Skill Poena.");
  324.                 return PLUGIN_CONTINUE;
  325.             }
  326.             skill_poeni[id] -= 40
  327.             set_user_health(id, get_user_health(id) +  120)
  328.             ColorChat(id,TEAM_COLOR,"^4[Shop]^1Kupio si^3 120 HP");
  329.         }
  330.         case 2:
  331.         {
  332.             if (skill_poeni[id]<60)
  333.             {
  334.                 ColorChat(id,TEAM_COLOR,"[Shop]^1 Nemas dovoljno Skill Poena.");
  335.                 return PLUGIN_CONTINUE;
  336.             }
  337.             skill_poeni[id] -= 60
  338.             set_user_health(id, get_user_health(id) +  150)
  339.             ColorChat(id,TEAM_COLOR,"^4[Shop]^1Kupio si^3 150 HP");
  340.         }
  341.         case 3:
  342.         {
  343.             if (skill_poeni[id]<100)
  344.             {
  345.                 ColorChat(id,TEAM_COLOR,"[Shop]^1 Nemas dovoljno Skill Poena.");
  346.                 return PLUGIN_CONTINUE;
  347.             }
  348.             skill_poeni[id] -= 100
  349.             set_user_health(id, get_user_health(id) +  200)
  350.             ColorChat(id,TEAM_COLOR,"^4[Shop]^1Kupio si^3 200 HP");
  351.         }
  352.     }
  353.     return PLUGIN_CONTINUE
  354. }
  355. public Armor_Handle(id, menu, item)
  356. {  
  357.     if(item == MENU_EXIT)
  358.     {
  359.         menu_destroy(menu) 
  360.         ColorChat(id,TEAM_COLOR,"^4[Shop]^3 Napustili ste Shop.");
  361.         return PLUGIN_HANDLED
  362.     }
  363.     menu_display(id, menu)
  364.     switch(item)
  365.     {
  366.         case 0:
  367.         {
  368.             if (skill_poeni[id]<10)
  369.             {
  370.                 ColorChat(id,TEAM_COLOR,"[Shop]^1 Nemas dovoljno Skill Poena.");
  371.                 return PLUGIN_CONTINUE;
  372.             }
  373.             skill_poeni[id] -= 10
  374.             set_user_armor(id, get_user_armor(id) + 75)
  375.             ColorChat(id,TEAM_COLOR,"^4[Shop]^1Kupio si^3 75 Armora")
  376.         }
  377.         case 1:
  378.         {
  379.             if (skill_poeni[id]<25)
  380.             {
  381.                 ColorChat(id,TEAM_COLOR,"[Shop]^1 Nemas dovoljno Skill Poena.");
  382.                 return PLUGIN_CONTINUE;
  383.             }
  384.             skill_poeni[id] -= 25
  385.             set_user_armor(id, get_user_armor(id) +  150)
  386.             ColorChat(id,TEAM_COLOR,"^4[Shop]^1Kupio si^3 150 Armora");
  387.         }
  388.         case 2:
  389.         {
  390.             if (skill_poeni[id]<40)
  391.             {
  392.                 ColorChat(id,TEAM_COLOR,"[Shop]^1 Nemas dovoljno Skill Poena.");
  393.                 return PLUGIN_CONTINUE;
  394.             }
  395.             skill_poeni[id] -= 40
  396.             set_user_armor(id, get_user_armor(id) +  300)
  397.             ColorChat(id,TEAM_COLOR,"^4[Shop]^1Kupio si^3 300 Armora");
  398.         }
  399.         case 3:
  400.         {
  401.             if (skill_poeni[id]<70)
  402.             {
  403.                 ColorChat(id,TEAM_COLOR,"[Shop]^1 Nemas dovoljno Skill Poena.");
  404.                 return PLUGIN_CONTINUE;
  405.             }
  406.             skill_poeni[id] -= 70
  407.             set_user_armor(id, get_user_armor(id) +  500)
  408.             ColorChat(id,TEAM_COLOR,"^4[Shop]^1Kupio si^3 500 Armora");
  409.         }
  410.     }
  411.     return PLUGIN_CONTINUE
  412. }
Add Comment
Please, Sign In to add comment