hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.07.05. 06:15



Jelenlévő felhasználók

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

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-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  [3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: VIP Vásárlás időre (Javítás)
HozzászólásElküldve:2016.08.14. 11:43 
Offline
Nagyúr
Avatar

Csatlakozott:2016.03.05. 20:56
Hozzászólások:666
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 124 alkalommal
Sziasztok.

Olyan problémám lenne, hogy sehogysem tudom megcsinálni ezt a plugint.
Valaki tudna segíteni?

Úgy kellene, hogy ADMIN_LEVEL_H jogot adjon vásárláskor és 30napra
Valamint, hogy vip_pont ne kelljen hozzá

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <colorchat>
  4.  
  5. #define PLUGIN "New Plug-In"
  6. #define VERSION "1.0"
  7. #define AUTHOR "author"
  8.  
  9. new vip_pont[33], a_nap[33], a_honap[33], a_ev[33], arany[33]
  10.  
  11. public plugin_init() {
  12.     register_plugin(PLUGIN, VERSION, AUTHOR)
  13. }
  14. public vip(id) {
  15.     static honap[5], nap[5], ev[7]
  16.     format_time(honap, sizeof(honap) - 1, "%m")
  17.     format_time(nap, sizeof(nap) - 1, "%d")
  18.     format_time(ev, sizeof(ev) - 1, "%Y")
  19.     new jelenlegi_honap = str_to_num(honap)
  20.     new jelenlegi_nap = str_to_num(nap)
  21.     new jelenlegi_ev = str_to_num(ev)
  22.    
  23.     new menu = menu_create("Vip Vasarlas", "vip_h")
  24.    
  25.    
  26.     if(vip_pont[id] == 5 && a_ev[id] == jelenlegi_ev && a_honap[id] == 1 && jelenlegi_honap && a_nap[id]-jelenlegi_nap)
  27.         menu_additem(menu, "VIP [Megvasarolva]", "1", 0)
  28.     else
  29.         menu_additem(menu, "VIP - 16000 Arany", "1", 0)
  30.    
  31.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
  32.     menu_setprop(menu, MPROP_EXITNAME, "\dKilA©pA©s")
  33.     menu_display(id, menu, 0)
  34.     return PLUGIN_HANDLED
  35. }
  36.  
  37. public vip_h(id, menu, item) {
  38.     if(item == MENU_EXIT)
  39.     {
  40.         menu_destroy(menu)
  41.         return PLUGIN_HANDLED
  42.     }
  43.     new data[9], access, callback, szName[64]
  44.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  45.     new key = str_to_num(data)
  46.    
  47.     static honap[5], nap[5], ev[7]
  48.     format_time(honap, sizeof(honap) - 1, "%m")
  49.     format_time(nap, sizeof(nap) - 1, "%d")
  50.     format_time(ev, sizeof(ev) - 1, "%Y")
  51.     new jelenlegi_honap = str_to_num(honap)
  52.     new jelenlegi_nap = str_to_num(nap)
  53.     new jelenlegi_ev = str_to_num(ev)
  54.    
  55.     switch(key) {
  56.         case 1:{
  57.             if(vip_pont[id] == 5 && a_ev[id] == jelenlegi_ev && a_honap[id] == 1 && jelenlegi_honap && a_nap[id]-jelenlegi_nap)
  58.             {
  59.                 if(arany[id] >= 16000){
  60.                     vip_pont[id] -= 5
  61.                     arany[id] -= 16000
  62.                     ColorChat(id, RED, "^4[Info] ^1Sikeres vasarlas!")
  63.                 }
  64.                 else
  65.                 {
  66.                     vip(id)
  67.                     ColorChat(id, RED, "^4[Info] ^1Nincs eleg Aranyad!")
  68.                 }
  69.             }
  70.             else
  71.             {
  72.                 vip(id)
  73.                 ColorChat(id, RED, "^4[Info] ^1Nem vagy VIP!")
  74.             }
  75.         }
  76.     }
  77.     return PLUGIN_HANDLED
  78. }

_________________
Global Offensive modok:

Global Offensive Mode 1.0
Global Offensive Mode 3.0
exodus Global Offensive 4.0


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: VIP Vásárlás időre (Javítás)
HozzászólásElküldve:2016.08.14. 11:55 
Offline
Senior Tag

Csatlakozott:2016.06.01. 21:49
Hozzászólások:234
Megköszönt másnak: 29 alkalommal
Megköszönték neki: 17 alkalommal
Helló!

Ezt még régebben próbálkoztam vele :DD, van benne egy pár helyes írás angolul
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <dhudmessage>
  4. #include <fun>
  5.  
  6. new const PLUGIN[] = "VIPSyStem";
  7. new const VERSION[] = "1.0";
  8. new const AUTHOR[] = "Pista";
  9.  
  10. new const PREFIX[] = "Information";
  11.  
  12. new g_VIP[33], Gold[33]
  13.  
  14. new g_month[33], g_day[33], g_year[33]
  15.  
  16. new GoldKill, GoldKillHs;
  17.  
  18. new const TEXT[][] = {
  19.     { "\wVIP\y SyStem\d Made By:\r Pista" },
  20.     { "\wWhat can the VIP?" }
  21. }
  22.  
  23. public plugin_init() {
  24.     register_plugin(PLUGIN, VERSION, AUTHOR)
  25.    
  26.     register_clcmd("say /vip", "ShowMenu")
  27.     register_event("DeathMsg", "Death", "a")
  28.     register_event("CurWeapon", "KnifeWeapon", "be", "1=1")
  29.    
  30.     register_concmd("give_gold", "GoldGive", ADMIN_CFG, "<username, #userid, authid | @all> <Gold>")
  31.     register_concmd("remove_gold", "GoldRemove", ADMIN_CFG, "<username, #userid, authid | @all> <Gold>")
  32.    
  33.     register_cvar("SmoothKills", "2");
  34.     GoldKill = get_cvar_num("SmoothKills");
  35.    
  36.     register_cvar("HsKills", "4");
  37.     GoldKillHs = get_cvar_num("HsKills")
  38.    
  39.     set_task(60.0, "Message",_,_,_, "b")
  40. }
  41. public ShowMenu(id) {
  42.     new szText[512], menu;
  43.    
  44.     format(szText, charsmax(szText), "%s^n\yGold:\r %d", TEXT[0], Gold[id])
  45.     menu = menu_create(szText, "ShowMenuh")
  46.    
  47.     static month[5], day[5], year[7]
  48.     format_time(month, sizeof(month) - 1, "%m")
  49.     format_time(day, sizeof(day) - 1, "%d")
  50.     format_time(year, sizeof(year) - 1, "%Y")
  51.    
  52.     new current_month = str_to_num(month)
  53.     new current_day = str_to_num(day)
  54.     new current_year = str_to_num(year)
  55.    
  56.     if(g_VIP[id] == 1 && g_year[id] == current_year && g_month[id] == current_month && g_day[id]-current_day < 4) {
  57.         format(szText, charsmax(szText), "\wVIP\y [BUY]^n\d         Expire:\r %d.%d.%d^n", g_year[id], g_month[id], g_day[id])
  58.         menu_additem(menu, szText, "1")
  59.     }
  60.     else if(g_VIP[id] == 1 && g_year[id] == current_year && g_month[id] == current_month && g_day[id]-current_day >= 3) {
  61.         format(szText, charsmax(szText), "\wVIP\y [BUY]^n\d         Expire:\r %d.%d.%d^n", g_year[id], g_month[id], g_day[id])
  62.         menu_additem(menu, szText, "1")
  63.     }
  64.     else if(g_VIP[id] != 1 && g_year[id] == current_year && g_month[id] == current_month && g_day[id]-current_day < 4) {
  65.         format(szText, charsmax(szText), "\wVIP\y [BUY]^n\d         Expire:\r %d.%d.%d^n", g_year[id], g_month[id], g_day[id])
  66.         menu_additem(menu, szText, "1")
  67.     }
  68.     else if(g_VIP[id] == 0) {
  69.     menu_additem(menu, "\wVIP\y [BUY]\r 100.000 Gold\d 31 days^n", "1")
  70.     }
  71.     else {
  72.         format(szText, charsmax(szText), "\wVIP\y [BUY]^n\d         Expire:\r %d.%d.%d^n", g_year[id], g_month[id], g_day[id])
  73.         menu_additem(menu, szText, "1")
  74.     }
  75.     format(szText, charsmax(szText), "%s", TEXT[1])
  76.     menu_additem(menu, szText, "2")
  77.    
  78.     menu_display(id, menu)
  79. }
  80. public ShowMenuh(id, menu, item) {
  81.     if(item == MENU_EXIT) {
  82.         menu_destroy(menu)
  83.         return PLUGIN_HANDLED
  84.     }
  85.     new data[6], szName[64], access, callback
  86.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  87.    
  88.     new key = str_to_num(data)
  89.    
  90.     switch(key) {
  91.         case 1: {
  92.             if(g_VIP[id] != 1) {
  93.                 if(Gold[id] >= 100000) {
  94.                     g_VIP[id] = 1
  95.                     Gold[id] -= 100000
  96.                     print_color(id, "!g[%s]!y Successful Buying!", PREFIX)
  97.                     g_day[id] = 31
  98.                 }
  99.                 else {
  100.                     print_color(id, "!g[%s]!y I'm sorry, no enough Gold!", PREFIX)
  101.                     ShowMenu(id)
  102.                 }
  103.             }
  104.             else {
  105.                 print_color(id, "!g[%s]!y Already purchased!", PREFIX)
  106.                 ShowMenu(id)
  107.             }
  108.         }
  109.         case 2: show_motd(id,"addons/amxmodx/configs/vips.txt");
  110.     }
  111.     menu_destroy(menu)
  112.     return PLUGIN_HANDLED
  113. }
  114. public Death() {
  115.     new Killer = read_data(1)
  116.     new Victim = read_data(2)
  117.    
  118.     if(Killer != Victim && get_user_team(Killer) != get_user_team(Victim) && is_user_connected(Killer)) {
  119.         if(read_data(3)) {
  120.             Gold[Killer] += GoldKillHs;
  121.             set_dhudmessage(0, 170, 255, -1.0, 0.16, 0, 6.0, 2.0)
  122.             show_dhudmessage(Killer, "+%d Gold HS!", GoldKillHs)
  123.         }
  124.         else if(GoldKill != 0) {
  125.             Gold[Killer] += GoldKill;
  126.             set_dhudmessage(0, 170, 255, -1.0, 0.16, 0, 6.0, 2.0)
  127.             show_dhudmessage(Killer, "+%d Gold!", GoldKill)
  128.         }
  129.     }
  130. }
  131. public KnifeWeapon(id) {
  132.     new Weapon = get_user_weapon(id)
  133.    
  134.     if(g_VIP[id] == 1 && Weapon == CSW_KNIFE) {
  135.         set_task(1.0, "HPGive", id)
  136.     }
  137. }
  138. public HPGive(id) {
  139.     if(get_user_health(id) < 110) {
  140.         set_task(1.0, "HPGive", id)
  141.         set_user_health(id, get_user_health(id) + 1)
  142.     }
  143.     else {
  144.         set_hudmessage(0, 85, 255, -1.0, 0.25, 2, 6.0, 6.0)
  145.         show_hudmessage(id, "You've reached the max health!")
  146.        
  147.         return PLUGIN_HANDLED
  148.     }
  149.     return PLUGIN_CONTINUE
  150. }
  151. public client_putinserver(id) {
  152.     set_task(1.0, "VIPLoad", id)
  153. }
  154. public VIPLoad(id) {
  155.     static month[5], day[5], year[7]
  156.     format_time(month, sizeof(month) - 1, "%m")
  157.     format_time(day, sizeof(day) - 1, "%d")
  158.     format_time(year, sizeof(year) - 1, "%Y")
  159.    
  160.     new current_month = str_to_num(month)
  161.     new current_day = str_to_num(day)
  162.     new current_year = str_to_num(year)
  163.    
  164.     if(g_VIP[id] == 1 && g_year[id] < current_year || g_month[id] == current_month && g_day[id] < current_day || g_year[id] == current_year && g_month[id] == current_month && g_day[id] < current_day) {
  165.         print_color(id, "!g[%s]!y The expiration of the vip!", PREFIX)
  166.         g_VIP[id] = 0
  167.         ShowMenu(id)
  168.     }
  169. }
  170. public Message() {
  171.     print_color(0, "!g[%s]!y If VIP you would use!g /vip!y command!!y VIP SySteam Made by:!t Pista", PREFIX)
  172. }
  173. public GoldGive(iPlayer, level, cid) {
  174.     if(!cmd_access(iPlayer, level, cid, 3)) return PLUGIN_HANDLED;
  175.  
  176.     new arg[32]
  177.     read_argv(1, arg, 31)
  178.  
  179.     new GiveGold[32]
  180.     read_argv(2, GiveGold, charsmax(GiveGold))
  181.  
  182.     new GoldGive = str_to_num(GiveGold)
  183.  
  184.     new AdminName[32]
  185.     new TargetName[32]
  186.     get_user_name(iPlayer, AdminName, charsmax (AdminName))
  187.  
  188.     if(arg[0]=='@') {
  189.         if(equali(arg[1],"All") || equali(arg[1],"ALL")) {
  190.             new players[32], totalplayers, All
  191.             get_players(players, totalplayers)
  192.  
  193.             for(new i = 0; i <totalplayers; i++) {
  194.                 All = players[i]
  195.                 Gold[All] += GoldGive
  196.             }
  197.         }
  198.         else if(equali(arg[1],"T") || equali(arg[1],"t")) {
  199.             new players[32], totalplayers, T
  200.             get_players(players, totalplayers)
  201.  
  202.             for(new i = 0; i <totalplayers; i++) {
  203.                 if(get_user_team(players[i]) == 1) {
  204.                     T = players[i]
  205.                     Gold[T] += GoldGive
  206.                 }
  207.             }
  208.         }
  209.         else if(equali(arg[1],"CT") || equali(arg[1],"ct")) {
  210.             new players[32], totalplayers, CT
  211.             get_players( players, totalplayers )
  212.  
  213.             for(new i = 0; i <totalplayers; i++) {
  214.                 if(get_user_team(players[i]) == 2) {
  215.                     CT = players[i]
  216.                     Gold[CT] += GoldGive
  217.                 }
  218.             }
  219.         }
  220.     }
  221.     else {
  222.         new iTarget = cmd_target(iPlayer, arg, 3)
  223.         get_user_name(iTarget, TargetName, charsmax (TargetName))
  224.  
  225.         if(iTarget) {
  226.             Gold[iTarget] += GoldGive
  227.         }
  228.     }
  229.     return PLUGIN_HANDLED
  230. }
  231. public GoldRemove(iPlayer, level, cid) {
  232.     if(!cmd_access(iPlayer, level, cid, 3)) return PLUGIN_HANDLED;
  233.  
  234.     new arg[32]
  235.     read_argv(1, arg, 31)
  236.  
  237.     new GiveGold[32]
  238.     read_argv(2, GiveGold, charsmax(GiveGold))
  239.  
  240.     new GoldGive = str_to_num(GiveGold)
  241.  
  242.     new AdminName[32]
  243.     new TargetName[32]
  244.     get_user_name(iPlayer, AdminName, charsmax (AdminName))
  245.  
  246.     if(arg[0]=='@') {
  247.         if(equali(arg[1],"All") || equali(arg[1],"ALL")) {
  248.             new players[32], totalplayers, All
  249.             get_players(players, totalplayers)
  250.  
  251.             for(new i = 0; i <totalplayers; i++) {
  252.                 All = players[i]
  253.                 Gold[All] -= GoldGive
  254.             }
  255.         }
  256.         else if(equali(arg[1],"T") || equali(arg[1],"t")) {
  257.             new players[32], totalplayers, T
  258.             get_players(players, totalplayers)
  259.  
  260.             for(new i = 0; i <totalplayers; i++) {
  261.                 if(get_user_team(players[i]) == 1) {
  262.                     T = players[i]
  263.                     Gold[T] -= GoldGive
  264.                 }
  265.             }
  266.         }
  267.         else if(equali(arg[1],"CT") || equali(arg[1],"ct")) {
  268.             new players[32], totalplayers, CT
  269.             get_players( players, totalplayers )
  270.  
  271.             for(new i = 0; i <totalplayers; i++) {
  272.                 if(get_user_team(players[i]) == 2) {
  273.                     CT = players[i]
  274.                     Gold[CT] -= GoldGive
  275.                 }
  276.             }
  277.         }
  278.     }
  279.     else {
  280.         new iTarget = cmd_target(iPlayer, arg, 3)
  281.         get_user_name(iTarget, TargetName, charsmax (TargetName))
  282.  
  283.         if(iTarget) {
  284.             Gold[iTarget] -= GoldGive
  285.         }
  286.     }
  287.     return PLUGIN_HANDLED
  288. }
  289. stock print_color(const id, const input[], any:...) {
  290.         new count = 1, players[32]
  291.         static msg[191]
  292.         vformat(msg, 190, input, 3)
  293.  
  294.         replace_all(msg, 190, "!g", "^4")
  295.         replace_all(msg, 190, "!y", "^1")
  296.         replace_all(msg, 190, "!t", "^3")      
  297.  
  298.         if(id)players[0] = id; else get_players(players, count, "ch")
  299.     {
  300.                 for(new i = 0; i <count; i++)
  301.         {
  302.                         if (is_user_connected(players[i]))
  303.             {
  304.                                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  305.                                 write_byte(players[i])
  306.                                 write_string(msg)
  307.                                 message_end()
  308.                         }
  309.                 }
  310.         }
  311.         return PLUGIN_HANDLED
  312. }

_________________
*pbT# Knife Hamarosan.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: VIP Vásárlás időre (Javítás)
HozzászólásElküldve:2016.08.14. 16:52 
Offline
Nagyúr
Avatar

Csatlakozott:2016.03.05. 20:56
Hozzászólások:666
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 124 alkalommal
Helló.

Köszönöm.

Viszont a mentés nemjó mivel ha megveszem a vip-et és lecsatlakozok vagy mapváltást nyomok akkor újra vehetem meg.

Valamint még annyit, hogy akinek a g_VIP = 1 Azaz aktív azoknak, hogyan adjam meg, hogy ADMIN_LEVEL_H joggal rendelkezzenek?

_________________
Global Offensive modok:

Global Offensive Mode 1.0
Global Offensive Mode 3.0
exodus Global Offensive 4.0


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  [3 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 2 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