hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2026.01.06. 22:56



Jelenlévő felhasználók

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

A legtöbb felhasználó (2883 fő) 2025.07.30. 16:00-kor tartózkodott itt.

Regisztrált felhasználók: Google [Bot]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  [5 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Bank Rendszer
HozzászólásElküldve:2026.01.02. 15:28 
Offline
Jómunkásember
Avatar

Csatlakozott:2019.11.03. 22:00
Hozzászólások:392
Megköszönt másnak: 37 alkalommal
Megköszönték neki: 32 alkalommal
Plugin Neve:
Bank Rendszer
Plugint készitette:
Csabika20034
Játék:
Counter-Strike
Kategória:
Szórakoztató
Eredeti link:
Nincs megadva
Jóváhagyó:
Ismeretlen


Bank ~ Rendszer

A Plugin saját célra készűlt, annó idejébe de most már nincs szükségem rá.


Menű megnyitása: /bank

Ez a plugin egy komplex bankrendszert ad a szerverhez, amely tartalmaz kredit rendszert, kölcsönfelvételt kamattal, VIP boltot, fegyver boltot, valamint SQL alapú mentést SteamID alapján.

A játékosok ölésért Kreditetkapnak, amit különböző szolgáltatásokra költhetnek el. A rendszer automatikusan kezeli a hiteleket és a VIP lejáratokat.

Kreditrendszer

A játékosok ölésért 5–15 kredit közötti jutalmat kapnak
~ fegyver vásárlásra
~ VIP vásárlásra
~ kölcsön törlesztésre használható
~ A kredit és minden adat SQL adatbázisba mentődik

Fegyver Bolt

A /bank menüből elérhető fegyverbolt, ahol élő játékosok vásárolhatnak.
Fegyver Boltba Alap fegyverek vásárolhatóak meg!


Fegyver ~ Ár
AK47 ~ 300 kredit
M4A1 ~ 300 kredit
AWP ~ 500 kredit
Deagle ~ 200 kredit
USP ~ 150 kredit
HE gránát ~ 100 kredit
Villanó ~ 80 kredit
Füst ~ 80 kredit
Halott játékos nem vásárolhat.


Kölcsön (Hitel) rendszer

A játékosok egyszerre csak egy aktív kölcsönt vehetnek fel!
Új Kölcsön felvétele, csak törlesztés után lehetséges!

Felvehető összegek:
300 kredit10% kamat
600kredit15% kamat
1000 kredit20% kamat

A kölcsön felvétele megerősítést igényel
Ha 30 napig (2592000 mp) nem fizeti vissza:
a rendszer automatikusan levonja a kreditből


VIP Rendszer
A kreditből VIP státusz vásárolható.
VIP Tipusok
1 hónapos VIP – 250 kredit
Örök VIP – 500 kredit
Funkciók:
VIP chat prefix: [VIP]
VIP lejárat automatikusan ellenőrizve
Lejárt VIP esetén értesítés

  1. LOAN_AUTOPAY_TIME 2592000 Ennyi idő után automatikus hitel levonás
  2. VIP_MONTH_PRICE  250 1 hónapos VIP ára (kreditben)
  3. VIP_FOREVER_PRICE 500 Örök VIP ára
  4. VIP_MONTH_TIME 2592000 Havi VIP időtartama


Milyen szerverekre ajánlott?
~ Alap OnlyDust2 Szerverekre
~ Fun Szerverekre
~ Deathmatch Szerverekre
~ Zombie Szerverekre
~ GunGame Szerverekre

A plugint nem lehet letölteni, amíg nincs jóváhagyva!

_________________
~Script Webem


A hozzászólást 11 alkalommal szerkesztették, utoljára Csabika20034 2026.01.02. 17:07-kor.

Ők köszönték meg Csabika20034 nek ezt a hozzászólást: CyBorG (2026.01.03. 16:36)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája:
HozzászólásElküldve:2026.01.03. 16:36 
Offline
Újonc

Csatlakozott:2022.02.12. 19:19
Hozzászólások:2
Megköszönt másnak: 5 alkalommal
Szia Pontosan ilyen pluginra lenne szükségem.

_________________
****


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája:
HozzászólásElküldve:2026.01.03. 18:50 
Offline
Minden6ó
Avatar

Csatlakozott:2011.01.19. 12:14
Hozzászólások:4304
Megköszönt másnak: 219 alkalommal
Megköszönték neki: 289 alkalommal
 ! Moderátori megjegyzés (norbee.16):
Jóváhagyni nem fogom egyenlőre, de itt lesz az sma.


  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <sqlx>
  4. #include <cstrike>
  5. #include <fun>
  6.  
  7. /* ================= INFO ================= */
  8.  
  9. #define PLUGIN "Bank ~ Rendszer"
  10. #define VERSION "1.0"
  11. #define AUTHOR "Csabika20034"
  12.  
  13. #define MAXPLAYERS 32
  14. #define HUD_UPDATE_TIME 5.0
  15.  
  16. #define LOAN_AUTOPAY_TIME 2592000 //
  17.  
  18. #define VIP_MONTH_PRICE 250
  19. #define VIP_FOREVER_PRICE 500
  20. #define VIP_MONTH_TIME 2592000 // 30 nap = 1 hó
  21.  
  22. /* ===== WEAPON PRICES ===== */
  23. #define AK47_PRICE     300
  24. #define M4A1_PRICE     300
  25. #define AWP_PRICE      500
  26. #define DEAGLE_PRICE   200
  27. #define USP_PRICE      150
  28. #define HE_PRICE       100
  29. #define FLASH_PRICE    80
  30. #define SMOKE_PRICE    80
  31.  
  32. /* ===== SQL ===== */
  33. new const SQLINFO[][] =
  34. {
  35.     "Kiszolgáló",
  36.     "Felhasználó",
  37.     "Jelszó",
  38.     "Adatbázis név"
  39. }
  40.  
  41. new Handle:g_SqlTuple
  42.  
  43. /* ===== ADATOK ===== */
  44. new credits[33]
  45. new loan[33]
  46. new loan_start[33]
  47.  
  48. new vip_type[33]   // 0=none | 1=month | 2=forever
  49. new vip_expire[33]
  50.  
  51. new steamid[33][35]
  52. new pending_loan[33]
  53.  
  54. /* ================= INIT ================= */
  55.  
  56. public plugin_init()
  57. {
  58.     register_plugin(PLUGIN, VERSION, AUTHOR)
  59.  
  60.     register_clcmd("say /bank", "bank_menu")
  61.     register_clcmd("say_team /bank", "bank_menu")
  62.  
  63.     register_clcmd("say", "hook_say")
  64.     register_clcmd("say_team", "hook_say")
  65.  
  66.     register_event("DeathMsg","eDeathMsg","a")
  67.  
  68.     set_task(60.0, "loan_check", _, _, _, "b")
  69.     set_task(HUD_UPDATE_TIME, "hud_update", _, _, _, "b")
  70. }
  71.  
  72. /* ================= SQL ================= */
  73.  
  74. public plugin_cfg()
  75. {
  76.     g_SqlTuple = SQL_MakeDbTuple(
  77.         SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]
  78.     )
  79.  
  80.     static q[512]
  81.     formatex(q, charsmax(q),
  82.         "CREATE TABLE IF NOT EXISTS \\\`Banksystem\\\` (\
  83.        \\\`steamid\\\` VARCHAR(35) PRIMARY KEY,\
  84.        \\\`Credit\\\` INT,\
  85.        \\\`Loan\\\` INT,\
  86.        \\\`LoanStart\\\` INT,\
  87.        \\\`VipType\\\` INT,\
  88.        \\\`VipExpire\\\` INT);")
  89.  
  90.     SQL_ThreadQuery(g_SqlTuple, "QueryIgnore", q)
  91. }
  92.  
  93. public QueryIgnore(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Time)
  94. {
  95.     if(FailState != TQUERY_SUCCESS)
  96.         log_amx("SQL ERROR: %s", Error)
  97. }
  98.  
  99. /* ================= PLAYER ================= */
  100.  
  101. public client_putinserver(id)
  102. {
  103.     if(is_user_bot(id)) return
  104.  
  105.     get_user_authid(id, steamid[id], charsmax(steamid[]))
  106.     Load(id)
  107. }
  108.  
  109. public client_disconnected(id)
  110. {
  111.     if(!is_user_bot(id))
  112.         Update(id)
  113. }
  114.  
  115. /* ================= LOAD / SAVE ================= */
  116.  
  117. public Load(id)
  118. {
  119.     static q[256]
  120.     new Data[1]; Data[0] = id
  121.  
  122.     formatex(q, charsmax(q),
  123.         "SELECT * FROM \\\`Banksystem\\\` WHERE steamid=^"%s^";",
  124.         steamid[id])
  125.  
  126.     SQL_ThreadQuery(g_SqlTuple, "QueryLoad", q, Data, 1)
  127. }
  128.  
  129. public QueryLoad(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Time)
  130. {
  131.     if(FailState != TQUERY_SUCCESS) return
  132.  
  133.     new id = Data[0]
  134.  
  135.     if(SQL_NumRows(Query))
  136.     {
  137.         credits[id]    = SQL_ReadResult(Query, 1)
  138.         loan[id]       = SQL_ReadResult(Query, 2)
  139.         loan_start[id] = SQL_ReadResult(Query, 3)
  140.         vip_type[id]   = SQL_ReadResult(Query, 4)
  141.         vip_expire[id] = SQL_ReadResult(Query, 5)
  142.     }
  143.     else
  144.     {
  145.         Save(id)
  146.     }
  147. }
  148.  
  149. public Save(id)
  150. {
  151.     static q[256]
  152.     formatex(q, charsmax(q),
  153.         "INSERT INTO \\\`Banksystem\\\` VALUES (^"%s^",0,0,0,0,0);",
  154.         steamid[id])
  155.  
  156.     SQL_ThreadQuery(g_SqlTuple, "QueryIgnore", q)
  157. }
  158.  
  159. public Update(id)
  160. {
  161.     static q[256]
  162.     formatex(q, charsmax(q),
  163.         "UPDATE \\\`Banksystem\\\` SET Credit=%d,Loan=%d,LoanStart=%d,VipType=%d,VipExpire=%d \
  164.        WHERE steamid=^"%s^";",
  165.         credits[id], loan[id], loan_start[id],
  166.         vip_type[id], vip_expire[id], steamid[id])
  167.  
  168.     SQL_ThreadQuery(g_SqlTuple, "QueryIgnore", q)
  169. }
  170.  
  171. /* ================= CREDIT ON KILL ================= */
  172.  
  173. public eDeathMsg()
  174. {
  175.     new killer = read_data(1)
  176.     new victim = read_data(2)
  177.  
  178.     if(killer == victim || !is_user_connected(killer)) return
  179.  
  180.     new credit = random_num(5,15)
  181.     credits[killer] += credit
  182.  
  183.     client_print_color(killer, killer,
  184.         "^4[Server Name] ^1 Kaptál ^4%d^1 kreditet ölésért!", credit)
  185. }
  186.  
  187. /* ================= BANK MENU ================= */
  188.  
  189. public bank_menu(id)
  190. {
  191.     new m = menu_create("\yBANK MENÜ", "bank_handler")
  192.     menu_additem(m, "Kölcsön felvétele")
  193.     menu_additem(m, "Tartozás törlesztése")
  194.     menu_additem(m, "VIP bolt")
  195.     menu_additem(m, "Fegyver bolt")
  196.     menu_display(id, m)
  197. }
  198.  
  199. public bank_handler(id, menu, item)
  200. {
  201.     if(item == MENU_EXIT) return
  202.  
  203.     switch(item)
  204.     {
  205.         case 0: loan_menu(id)
  206.         case 1: repay_loan(id)
  207.         case 2: vip_menu(id)
  208.         case 3: weapon_shop_menu(id)
  209.     }
  210. }
  211.  
  212. /* ================= WEAPON SHOP ================= */
  213.  
  214. public weapon_shop_menu(id)
  215. {
  216.     if(!is_user_alive(id))
  217.     {
  218.         client_print_color(id, print_team_default, "^4[Server Name]^1 Halottként nem vásárolhatsz!")
  219.         return
  220.     }
  221.  
  222.     new m = menu_create("\yFEGYVER BOLT", "weapon_shop_handler")
  223.  
  224.     menu_additem(m, "\rAK47 \y \r300 \wkredit")
  225.     menu_additem(m, "\rM4A1 \y \r300 \wkredit")
  226.     menu_additem(m, "\rAWP \y \r500 \wkredit")
  227.     menu_additem(m, "\rDeagle \y \r200 \wkredit")
  228.     menu_additem(m, "\rUSP \y \r150 \wkredit")
  229.     menu_additem(m, "\rHE Gránát \y \r100 \wkredit")
  230.     menu_additem(m, "\rVillanó \y \r80 \wkredit")
  231.     menu_additem(m, "\rFüst \y \r80 \wkredit")
  232.  
  233.     menu_display(id, m)
  234. }
  235.  
  236. public weapon_shop_handler(id, menu, item)
  237. {
  238.     if(item == MENU_EXIT) return
  239.  
  240.     new price
  241.     new weapon[32]
  242.  
  243.     switch(item)
  244.     {
  245.         case 0: { price = AK47_PRICE; copy(weapon,31,"weapon_ak47"); }
  246.         case 1: { price = M4A1_PRICE; copy(weapon,31,"weapon_m4a1"); }
  247.         case 2: { price = AWP_PRICE; copy(weapon,31,"weapon_awp"); }
  248.         case 3: { price = DEAGLE_PRICE; copy(weapon,31,"weapon_deagle"); }
  249.         case 4: { price = USP_PRICE; copy(weapon,31,"weapon_usp"); }
  250.         case 5: { price = HE_PRICE; copy(weapon,31,"weapon_hegrenade"); }
  251.         case 6: { price = FLASH_PRICE; copy(weapon,31,"weapon_flashbang"); }
  252.         case 7: { price = SMOKE_PRICE; copy(weapon,31,"weapon_smokegrenade"); }
  253.     }
  254.  
  255.     if(credits[id] < price)
  256.     {
  257.           client_print_color(id, print_team_default,"^4[Server Name] ^1Nincs elég^3kredited!")
  258.         return
  259.     }
  260.  
  261.     credits[id] -= price
  262.     give_item(id, weapon)
  263.  
  264.  
  265.       client_print_color(id, print_team_default,"^4[Server Name]^1 Vásárlás sikeres! Maradt kredit:^3 %d", credits[id])
  266. }
  267.  
  268. /* ================= LOAN ================= */
  269.  
  270. stock get_interest_percent(amount)
  271. {
  272.     if(amount <= 300) return 10
  273.     if(amount <= 600) return 15
  274.     return 20
  275. }
  276.  
  277. public loan_menu(id)
  278. {
  279.     if(loan[id] > 0)
  280.     {
  281.           client_print_color(id, print_team_default,  "^4[Server Name]^1 Már van aktív tartozásod, törlesztés után azonnal újra felvehetsz ^3hitelt!")
  282.         return
  283.     }
  284.  
  285.     new m = menu_create("\yKÖLCSÖN", "loan_select")
  286.     menu_additem(m, "\r300 \wkredit")
  287.     menu_additem(m, "\r600 \wkredit")
  288.     menu_additem(m, "\r1000 \wkredit")
  289.     menu_display(id, m)
  290. }
  291.  
  292. public loan_select(id, menu, item)
  293. {
  294.     if(item == MENU_EXIT) return
  295.  
  296.     pending_loan[id] = (item == 0) ? 300 : (item == 1) ? 600 : 1000
  297.     loan_confirm_menu(id)
  298. }
  299.  
  300. public loan_confirm_menu(id)
  301. {
  302.     new a = pending_loan[id]
  303.     new i = get_interest_percent(a)
  304.     new r = a + (a * i / 100)
  305.  
  306.     new title[256]
  307.     format(title, charsmax(title),
  308.         "\yKölcsön megerősítés^nÖsszeg: %d^nKamat: %d%%^nVisszafizetés: %d",
  309.         a, i, r)
  310.  
  311.     new m = menu_create(title, "loan_confirm_handler")
  312.     menu_additem(m, "Igen")
  313.     menu_additem(m, "Nem")
  314.     menu_display(id, m)
  315. }
  316.  
  317. public loan_confirm_handler(id, menu, item)
  318. {
  319.     if(item != 0) return
  320.  
  321.     new a = pending_loan[id]
  322.     new i = get_interest_percent(a)
  323.  
  324.     credits[id] += a
  325.     loan[id] = a + (a * i / 100)
  326.     loan_start[id] = get_systime()
  327.  
  328.     client_print_color(id, print_team_default,  "^4[Server Name]^1 Kölcsön felvéve!")
  329. }
  330.  
  331. public repay_loan(id)
  332. {
  333.     if(loan[id] <= 0) return
  334.  
  335.     if(credits[id] < loan[id])
  336.     {
  337.        client_print_color(id, print_team_default,  "^4[Server Name]^1 Nincs elég ^1kredit!")
  338.         return
  339.     }
  340.  
  341.     credits[id] -= loan[id]
  342.     loan[id] = 0
  343.  
  344.    client_print_color(id, print_team_default,  "^4[Server Name] ^1Tartozás törlesztve!")
  345. }
  346.  
  347. /* ================= AUTO LOAN ================= */
  348.  
  349. public loan_check()
  350. {
  351.     for(new id=1; id<=32; id++)
  352.     {
  353.         if(!is_user_connected(id) || loan[id] <= 0) continue
  354.  
  355.         if(get_systime() - loan_start[id] >= LOAN_AUTOPAY_TIME)
  356.         {
  357.             credits[id] = max(0, credits[id] - loan[id])
  358.             loan[id] = 0
  359.              client_print_color(id, print_team_default, "^4[Server Name] ^1 Tartozás ^3automatikusan ^1levonva!")
  360.         }
  361.     }
  362. }
  363.  
  364. /* ================= VIP ================= */
  365.  
  366. public vip_menu(id)
  367. {
  368.     new m = menu_create("\yVIP BOLT", "vip_handler")
  369.     menu_additem(m, "\rVIP \y1 \whónap - 250 kredit")
  370.     menu_additem(m, "\rVIP \yörök \w- 500 kredit")
  371.     menu_display(id, m)
  372. }
  373.  
  374. public vip_handler(id, menu, item)
  375. {
  376.     if(item == MENU_EXIT) return
  377.  
  378.     if(item == 0 && credits[id] >= VIP_MONTH_PRICE)
  379.     {
  380.         credits[id] -= VIP_MONTH_PRICE
  381.         vip_type[id] = 1
  382.         vip_expire[id] = get_systime() + VIP_MONTH_TIME
  383.           client_print_color(id, print_team_default, "^4[Server Name]^3 1 ^1hónapos ^4VIP ^1aktiválva!")
  384.     }
  385.     else if(item == 1 && credits[id] >= VIP_FOREVER_PRICE)
  386.     {
  387.         credits[id] -= VIP_FOREVER_PRICE
  388.         vip_type[id] = 2
  389.         vip_expire[id] = 0
  390.        client_print_color(id, print_team_default, "^4[Server Name] ^1ÖRÖK ^3VIP ^1aktiválva!")
  391.     }
  392.     else
  393.     {
  394.         client_print_color(id, print_team_default,  "^4[Server Name] Nincs elég ^3kredit!")
  395.     }
  396. }
  397.  
  398. /* ================= CHAT ================= */
  399.  
  400. public hook_say(id)
  401. {
  402.     new msg[192]
  403.     read_args(msg, charsmax(msg))
  404.     remove_quotes(msg)
  405.  
  406.     if(!msg[0]) return PLUGIN_HANDLED
  407.  
  408.     if(vip_type[id] == 1 && vip_expire[id] < get_systime())
  409.     {
  410.         vip_type[id] = 0
  411.         vip_expire[id] = 0
  412.          client_print_color(id, print_team_default, "^4[Server Name] ^3VIP ^1lejárt!")
  413.     }
  414.  
  415.     new name[32]
  416.     get_user_name(id, name, charsmax(name))
  417.  
  418.     if(vip_type[id] > 0)
  419.         client_print_color(0, id, "^4[VIP]^3 %s^1: %s", name, msg)
  420.     else
  421.         client_print_color(0, id, "^3%s^1: %s", name, msg)
  422.  
  423.     return PLUGIN_HANDLED
  424. }
  425.  
  426. /* ================= HUD ================= */
  427.  
  428. public hud_update()
  429. {
  430.     for(new id=1; id<=32; id++)
  431.     {
  432.         if(!is_user_connected(id)) continue
  433.  
  434.         set_hudmessage(0,255,0,0.02,0.90,0,0.0,HUD_UPDATE_TIME,0.0,0.0)
  435.         show_hudmessage(id,
  436.             "Kredit: %d^nTartozás: %d",
  437.             credits[id], loan[id])
  438.     }
  439. }
  440.  
  441. /* ================= END ================= */
  442.  
  443. public plugin_end()
  444. {
  445.     SQL_FreeHandle(g_SqlTuple)
  446. }

_________________
<<eb@>>Team Website - Közösség
17Buddies - Általam készített pályák.
GameBanana - Általam készített pályák/vágott hangok.

Kép
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája:
HozzászólásElküldve:2026.01.03. 22:23 
Offline
Jómunkásember
Avatar

Csatlakozott:2019.11.03. 22:00
Hozzászólások:392
Megköszönt másnak: 37 alkalommal
Megköszönték neki: 32 alkalommal
Ezt hogy érted hogy egyenlőre?

_________________
~Script Webem


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája:
HozzászólásElküldve:2026.01.04. 03:27 
Offline
Minden6ó
Avatar

Csatlakozott:2011.01.19. 12:14
Hozzászólások:4304
Megköszönt másnak: 219 alkalommal
Megköszönték neki: 289 alkalommal
Ha lesz időm/energiám hozzá akkor átnézegetem a pluginokat, csak ennyire gondoltam.

_________________
<<eb@>>Team Website - Közösség
17Buddies - Általam készített pályák.
GameBanana - Általam készített pályák/vágott hangok.

Kép
Kép


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


Ki van itt

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