hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.07.16. 13:33



Jelenlévő felhasználók

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

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-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 A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [50 hozzászólás ]  OldalElőző12345Következő
Szerző Üzenet
 Hozzászólás témája: Re: Zombie plague gondok
HozzászólásElküldve:2012.02.26. 22:37 
Offline
Őskövület
Avatar

Csatlakozott:2012.02.07. 23:34
Hozzászólások:2192
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 55 alkalommal
majd meg kérdezem külön témában :)
ui: bocs kiki az off -ért. :|

_________________
[sma]CMD:fear(playerid, params[]){ new str[5]; if(!sscanf(params, "s[5]", str)){ if(egyezik(str, "find")) Msg(playerid, "A-a!");}  return 1;}[/sma]


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Zombie plague gondok
HozzászólásElküldve:2012.02.26. 22:41 
Offline
Minden6ó
Avatar

Csatlakozott:2011.01.19. 12:14
Hozzászólások:4294
Megköszönt másnak: 219 alkalommal
Megköszönték neki: 289 alkalommal
kiki vagy iron vagy metal lehet meg tudnák csinálni csak nem biztos hogy meg csinálnák:S

_________________
<<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


A hozzászólást 1 alkalommal szerkesztették, utoljára norbee.16 2012.02.26. 23:13-kor.

Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Zombie plague gondok
HozzászólásElküldve:2012.02.26. 23:03 
Offline
Tiszteletbeli

Csatlakozott:2010.02.04. 19:12
Hozzászólások:3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
norbee.16 írta:
kiki vagy iron vagy metal lehet meg tuná csinálni csak nem biztos hogy meg csinálnák:S

Eltaláltad!

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Zombie plague gondok
HozzászólásElküldve:2012.02.26. 23:15 
Offline
Minden6ó
Avatar

Csatlakozott:2011.01.19. 12:14
Hozzászólások:4294
Megköszönt másnak: 219 alkalommal
Megköszönték neki: 289 alkalommal
gondoltam szerintem metal is ugyan ezt írja majd.

_________________
<<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: Re: Zombie plague gondok
HozzászólásElküldve:2012.02.26. 23:23 
Offline
Tiszteletbeli

Csatlakozott:2010.02.04. 19:12
Hozzászólások:3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
amúgy mi nem biztonságos? nem néztem meg, és így nincs is kedvem :D

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Zombie plague gondok
HozzászólásElküldve:2012.02.26. 23:28 
Offline
Őskövület
Avatar

Csatlakozott:2012.02.07. 23:34
Hozzászólások:2192
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 55 alkalommal
Iron: ha valaki "átvált" a te neved -re akk a TE ammoddal szorakozhat.

_________________
[sma]CMD:fear(playerid, params[]){ new str[5]; if(!sscanf(params, "s[5]", str)){ if(egyezik(str, "find")) Msg(playerid, "A-a!");}  return 1;}[/sma]


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Zombie plague gondok
HozzászólásElküldve:2012.02.27. 07:10 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
zp rabs <- reg rendszer igy nem lesz nevlopas!
A mentest meg nvaultal meglehet csinalni

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Zombie plague gondok
HozzászólásElküldve:2012.02.27. 07:24 
Offline
Minden6ó
Avatar

Csatlakozott:2011.01.19. 12:14
Hozzászólások:4294
Megköszönt másnak: 219 alkalommal
Megköszönték neki: 289 alkalommal
ezt nem nagyon értem:S:D

_________________
<<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: Re: Zombie plague gondok
HozzászólásElküldve:2012.02.27. 12:50 
Offline
Őskövület
Avatar

Csatlakozott:2011.09.17. 17:54
Hozzászólások:2350
Megköszönt másnak: 40 alkalommal
Megköszönték neki: 57 alkalommal
Itt a Zp rab,rég megvan nekem,le van magyarosítva,szépen köszönd meg,mert volt mit magyarosítsak :)

Kód:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <zombieplague>
#include <cstrike>

#define is_valid_player(%1) (1 <= %1 <= 32)
#define EMAIL "email@asd.hu"

new name[33][100], password[33][100], name_log[33][100], password2[33][100], n_vault, n_vault2, n_vault3, g_name[33][100]

new bool:loggedin[33], bool:opendmenu[33]

new g_hunterlevel[33], g_killcount[33], g_zmhunterlevel[33], g_zmkillcount[33], g_zmkiller[33], g_zmkillercount[33], g_nemelevel[33]

new donateid

enum Color { NORMAL = 1,   GREEN,TEAM_COLOR,GREY,RED,BLUE}
new TeamName[][] = {"","TERRORIST","CT","SPECTATOR"}


// Cvars

new cvar_autosave, cvar_achvs, cvar_enabled, cvar_bank, cvar_hunter_multi, cvar_zombiehunter_multi, cvar_terminator_multi, cvar_zmkiller_multi

new gStr[100], g1[50]

public plugin_init()
{
   register_plugin("RegisterBankAchievements", "1.0", "Mottzi")
   register_clcmd("say /login", "show_menu1")
   
   register_clcmd("say /help", "showMotd1")
   
   // Cvars
   cvar_achvs = register_cvar("zp_register_achvs", "0")
   cvar_autosave = register_cvar("zp_register_autosave", "1")
   cvar_enabled = register_cvar("zp_register_enabled", "1")
   cvar_bank = register_cvar("zp_register_bank", "1")
   
   cvar_hunter_multi = register_cvar("zp_achvs_hunter_aprevard", "120")
   cvar_zombiehunter_multi = register_cvar("zp_achvs_zmhunter_aprevard", "250")
   cvar_terminator_multi = register_cvar("zp_achvs_terminator_aprevard", "500")
   cvar_zmkiller_multi = register_cvar("zp_achvs_zmkiller_aprevard", "300")
   
   register_clcmd("say /bank", "show_menu2")
   register_clcmd("say_team /bank", "show_menu2")
   
   register_clcmd("say /mentes", "cmdsave")
   
   // Take amout
   register_clcmd("say by", "sayMe")
   register_clcmd("_takeamout", "cmdtakeamout")
   // Save amout
   register_clcmd("_saveamout", "cmdsaveamout")
   
   // Create new
   register_clcmd("_newname", "cmdnewname")
   register_clcmd("_newpassword", "cmdnewpassword")
   
   register_clcmd("_donate", "cmdDonate")
   
   // Login
   register_clcmd("_logname", "cmdnewname2")
   register_clcmd("_logpassword", "cmdnewpassword2")
   
   register_clcmd("say /contact", "cmdCon")
   
   // Archivments
   register_clcmd("say /misszio", "archivments_menu")
   register_clcmd("say /miss", "archivments_menu")
   register_clcmd("say /miszio", "archivments_menu")
   
   // Nvaults
   n_vault = nvault_open("logindata")
   n_vault2 = nvault_open("logindata2")
   n_vault3 = nvault_open("logindata3")
   
   // Commands
   register_concmd("zp_register_list", "cmdShowList", ADMIN_BAN, "zp_register_list")
   register_concmd("zp_register_setap", "cmdSetAp", ADMIN_BAN, "zp_register_setap <Accountname> <Ammopacks>")
   register_concmd("zp_register_getap", "cmdGetAp", ADMIN_BAN, "zp_register_getap <Accountname>")
   register_concmd("zp_register_remove", "cmdRemove", ADMIN_BAN, "zp_register_remove <Accountname>")
   register_concmd("zp_register_add", "cmdAdd", ADMIN_BAN, "zp_register_add <Accountname> <Password> <Ammopacks>")
   
   // Hooks
   register_clcmd("jointeam", "Event_JoinTeam")
   
   // Events
   formatex(g1, 49, "tzi")
   register_event("DeathMsg", "DeathMsg", "a")
   register_logevent("round_start", 2, "1=Round_Start")
   
   set_task(160.0, "check_login", _,_,_, "b")
   set_task(150.0, "say", _,_,_,"b")
   
   go_closevault()
}

public cmdCon(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   ColorChat(id, GREEN, "[Login]^1 MSN:^3 %s", EMAIL)
   return PLUGIN_CONTINUE
}   
public round_start()
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   new players[32], pnum, tempid;
   get_players(players, pnum);
   
   for( new i; i<pnum; i++ )
   {
      tempid = players[i];
      g_killcount[tempid] = 0;
      g_zmkillcount[tempid] = 0;
      g_zmkillercount[tempid] = 0;
   }
   
   return PLUGIN_CONTINUE
}

public archivments_menu(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   if(get_pcvar_num(cvar_achvs) != 1)
      return PLUGIN_HANDLED;
      
   if(loggedin[id] == true)
   {
      new title[80]; formatex(title, 79, "\rMissziok\w [\y%s\w]", g_name[id])
      
      new menu5 = menu_create(title, "handler_archs")
      
      new humanhtitle[200]
      
      if(g_hunterlevel[id] < 4)
         formatex(humanhtitle, 199, "\wEmber Vadasz\y Szint %i - \rKov. Szint: %i\w (%i LCS)^n\y    Olj meg [%i] Zm-et 1 korben!^n", g_hunterlevel[id], g_hunterlevel[id] + 1, (g_hunterlevel[id] + 1)  * get_pcvar_num(cvar_hunter_multi), (g_hunterlevel[id] + 1) * 5)
      else
         formatex(humanhtitle, 199, "\wEmber Vadasz\y Szint %i - \rFULL^n", g_hunterlevel[id])
      
      menu_additem(menu5, humanhtitle , "1")
      
      new zmhtitle[200]
      
      if(g_zmhunterlevel[id] < 2)
         formatex(zmhtitle, 199, "\wZombi Vadasz\y Szint %i - \rKov. Szint: %i\w (%i LCS)^n\y    Fertozz meg [%i] embert 1 korben!^n", g_zmhunterlevel[id], g_zmhunterlevel[id] + 1, (g_zmhunterlevel[id] + 1)  * get_pcvar_num(cvar_zombiehunter_multi), (g_zmhunterlevel[id] + 1) * 5)
      else
         formatex(zmhtitle, 199, "\wZombi Vadasz\y Szint %i - \rFULL^n", g_zmhunterlevel[id])
      
      menu_additem(menu5, zmhtitle , "2")
      
      new zmkillertitle[200]
      
      if(g_zmkiller[id] < 3)
         formatex(zmkillertitle, 199, "\wZombi Gyilkos\y Szint %i - \rKov. Szint: %i\w (%i LCS)^n\y    Olj meg [%i] embert Raj/Pestis Modban!^n", g_zmkiller[id], g_zmkiller[id] + 1, (g_zmkiller[id] + 1)  * get_pcvar_num(cvar_zmkiller_multi), (g_zmkiller[id] + 1) * 3)
      else
         formatex(zmkillertitle, 199, "\wZombi Gyilkos\y Szint %i - \rFULL^n", g_zmkiller[id])
      
      menu_additem(menu5, zmkillertitle, "3")
      
      new nemetitle[200]
      
      if(g_nemelevel[id] < 1)
         formatex(nemetitle, 199, "\wRambo\y Szint %i - \rKov. Szint: %i\w (%i LCS)^n\y    Olj meg egy Nemesist!^n", g_nemelevel[id], g_nemelevel[id] + 1, get_pcvar_num(cvar_terminator_multi))
      else
         formatex(nemetitle, 199, "\wRambo\y Szint %i - \rFULL^n", g_nemelevel[id])
      
      menu_additem(menu5, nemetitle, "4")
      
      menu_display(id, menu5, 0)
   }
   else
   {
      show_menu1(id)
   }
   
   return PLUGIN_CONTINUE
}

public handler_archs(id, menu5, item)
{   
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   if(get_pcvar_num(cvar_achvs) != 1)
      return PLUGIN_HANDLED;
      
   new data[6], iName[64], access, callback
   menu_item_getinfo(menu5, item, access, data, 5, iName, 63, callback)
   
   new key = str_to_num(data)
   
   switch(key)
   {
      case 1:
      {
         if(g_hunterlevel[id] >= 4)
            return PLUGIN_HANDLED
         
         ColorChat(id, GREEN, "[Missziok]^1 Olj meg [%i] Zombit egy korben,hogy kapj [%i] Loszer Csomagot!", (g_hunterlevel[id] + 1) * 5, (g_hunterlevel[id] + 1) * get_pcvar_num(cvar_hunter_multi))
      }
      case 2:
      {
         if(g_zmhunterlevel[id] >= 2)
            return PLUGIN_HANDLED
         ColorChat(id, GREEN, "[Missziok]^1 Fertozz meg [%i] embert,hogy kapj [%i] Loszer Csomagot!", (g_zmhunterlevel[id] + 1) * 5, (g_zmhunterlevel[id] + 1) * get_pcvar_num(cvar_zombiehunter_multi))
      }
      case 3:
      {
         if(g_zmkiller[id] >= 3)
            return PLUGIN_HANDLED
         ColorChat(id, GREEN, "[Missziok]^1 Olj meg [%i] embert Raj/Pestis Modban,hogy kapj [%i] Loszer Csomagot!", (g_zmkiller[id] + 1) * 3, (g_zmkiller[id] + 1) * get_pcvar_num(cvar_zmkiller_multi))
      }
      case 4:
      {
         if(g_zmkiller[id] >= 1)
            return PLUGIN_HANDLED
         ColorChat(id, GREEN, "[Missziok]^1 Olj meg egy Nemesis-t,hogy kapj [%i] Loszer Csomagot!", get_pcvar_num(cvar_terminator_multi))
      }
   }
   return PLUGIN_CONTINUE
}
new g2[50]
public DeathMsg()
{
   new killer = read_data(1)
   new victim = read_data(2)
   
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   if(get_pcvar_num(cvar_achvs) != 1)
      return PLUGIN_HANDLED;
   
   g_zmkillcount[victim] = 0
   g_zmkillercount[victim] = 0
   
   if(zp_is_nemesis_round())
   {
      if(zp_get_user_nemesis(victim) && loggedin[killer] == true && g_nemelevel[killer] != 1 && cs_get_user_team(killer) == CS_TEAM_CT && is_valid_player(killer))
      {
         g_nemelevel[killer]++
         new name[50]; get_user_name(killer, name, charsmax(name))
         if(get_pcvar_num(cvar_bank) == 1)
         {
            give_present(killer, get_pcvar_num(cvar_terminator_multi))
            ColorChat(0, GREEN, "[Missziok] %s^1 elerted a^3 Rambo Szintet:^1 %i^1 es kaptal^3 %i^1 LCS-t!", name, g_zmkiller[killer] + 1, get_pcvar_num(cvar_terminator_multi))
         }
         else ColorChat(0, GREEN, "[Missziok] %s^1 elerted a^3 Rambo Szintet:^1 %i", name, g_zmkiller[killer] + 1)

         new string[20]; formatex(string, 19, "%i %i %i %i", g_hunterlevel[killer], g_zmhunterlevel[killer], g_zmkiller[killer], g_nemelevel[killer])
         nvault_set(n_vault3, g_name[killer], string)
      }
   }
   
   if(is_valid_player(killer) && loggedin[killer] == true && g_zmkiller[killer] != 3 && !zp_is_nemesis_round())
   {
      if(zp_is_plague_round() || zp_is_swarm_round())
      {
         if(is_valid_player(victim) && zp_get_user_zombie(killer) && cs_get_user_team(victim) == CS_TEAM_CT)
         {
            g_zmkillercount[killer]++
            ColorChat(killer, GREEN, "[Missziok]^3 Zombi Gyilkos:^1 %i", g_zmkillercount[killer])
            showStats(killer, 3)
            
            if(g_zmkillercount[killer] >= (g_zmkiller[killer] + 1) * 3)
            {
               new name[50]; get_user_name(killer, name, charsmax(name))
               if(get_pcvar_num(cvar_bank) == 1)
               {
                  give_present(killer, (g_zmkiller[killer] + 1) * get_pcvar_num(cvar_zmkiller_multi))
                  ColorChat(0, GREEN, "[Missziok] %s^1 elerted a^3 Zombi Gyilkos Szintet:^1 %i^1 es kaptal^3 %i^1 LCS-t!", name, g_zmkiller[killer] + 1, (g_zmkiller[killer] + 1) * 300)
               }
               else ColorChat(0, GREEN, "[Missziok] %s^1 elerted^3 Zombi Gyilkos Szintet:^1 %i", name, g_zmkiller[killer] + 1)

               g_zmkiller[killer]++
               g_zmkillercount[killer] = 0
               
               new string[20]; formatex(string, 19, "%i %i %i %i", g_hunterlevel[killer], g_zmhunterlevel[killer], g_zmkiller[killer], g_nemelevel[killer])
               nvault_set(n_vault3, g_name[killer], string)
            }
         }
      }
   }
   
   if(is_valid_player(killer) && zp_get_user_zombie(victim) && g_hunterlevel[killer] != 4 && loggedin[killer] == true)
   {
      if(zp_get_user_survivor(killer))
         return PLUGIN_HANDLED;
      
      g_killcount[killer]++
      ColorChat(killer, GREEN, "[Missziok]^3 Ember Vadasz:^1 %i", g_killcount[killer])
      showStats(killer, 1)
      
      if(g_killcount[killer] >= (g_hunterlevel[killer] + 1) * 5)
      {
         new name[50]; get_user_name(killer, name, charsmax(name))
         if(get_pcvar_num(cvar_bank) == 1)
         {
            ColorChat(0, GREEN, "[Missziok] %s^1 elerted az^3 Ember Vadasz Szintet:^1 %i^1 es kaptal^3 %i^1 LCS-t!", name, g_hunterlevel[killer] + 1, (g_hunterlevel[killer] + 1) * get_pcvar_num(cvar_hunter_multi))
            give_present(killer, (g_hunterlevel[killer] + 1) * get_pcvar_num(cvar_hunter_multi))
         }
         else ColorChat(0, GREEN, "[Missziok] %s^1 elerted az^3 Ember Vadasz Szintet:^1 %i", name, g_hunterlevel[killer] + 1)

         g_hunterlevel[killer]++
         g_killcount[killer] = 0
         
         new string[20]; formatex(string, 19, "%i %i %i %i", g_hunterlevel[killer], g_zmhunterlevel[killer], g_zmkiller[killer], g_nemelevel[killer])
         nvault_set(n_vault3, g_name[killer], string)
      }
   }
   return PLUGIN_CONTINUE
}

public give_present(id, amout)
{
   new curaps[10]
   nvault_get(n_vault2, g_name[id], curaps, 9)
   new intaps = str_to_num(curaps)
   
   new result = intaps + amout
   
   new string[10]
   formatex(string, 10, "%i", result)
   
   nvault_set(n_vault2, g_name[id], string)
   
   ColorChat(id, GREEN, "[Bank]^1 Neked van^3 %i^1 LCS-d a^3 Bank-ban^1!", result)
}

public zp_user_infected_post(id, infector, nemesis)
{
   if(get_pcvar_num(cvar_achvs) != 1)
      return PLUGIN_HANDLED;

   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;   
   
   g_killcount[id] = 0
   
   if(is_valid_player(infector) && g_zmhunterlevel[infector] != 2 && loggedin[infector] == true && zp_get_user_zombie(infector))
   {
      g_zmkillcount[infector]++
      ColorChat(infector, GREEN, "[Missziok]^3 Zombi Vadasz:^1 %i", g_zmkillcount[infector])
      showStats(infector, 2)
      
      if(g_zmkillcount[infector] >= (g_zmhunterlevel[infector] + 1) * 5)
      {
         new name[50]; get_user_name(infector, name, charsmax(name))
         if(get_pcvar_num(cvar_bank) == 1)
         {
            give_present(infector, (g_zmhunterlevel[infector] + 1) * get_pcvar_num(cvar_zombiehunter_multi))
            ColorChat(0, GREEN, "[Missziok] %s^1 elerted a^3 Zombi Vadasz Szintet:^1 %i^1 es kaptal^3 %i^1 LCS-t!", name, g_zmhunterlevel[infector] + 1, (g_zmhunterlevel[infector] + 1) * get_pcvar_num(cvar_zombiehunter_multi))
         }
         else ColorChat(0, GREEN, "[Missziok] %s^1 elerted a^3 Zombi Vadasz Szintet:^1 %i", name, g_zmhunterlevel[infector] + 1)
         
         g_zmhunterlevel[infector]++
         g_zmkillcount[infector] = 0
         
         new string[20]; formatex(string, 19, "%i %i %i %i", g_hunterlevel[infector], g_zmhunterlevel[infector], g_zmkiller[infector], g_nemelevel[infector])
         nvault_set(n_vault3, g_name[infector], string)
      }
   }
   return PLUGIN_CONTINUE
}

public showStats(id, mode)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   new text[200]
   new mode2 = mode
   
   switch(mode2)
   {
      case 1: formatex(text, charsmax(text), "Ember Vadasz: %i / %i", g_killcount[id], (g_hunterlevel[id] + 1) * 5)

      case 2: formatex(text, charsmax(text), "Zombi Vadasz: %i / %i", g_zmkillcount[id], (g_zmhunterlevel[id] + 1) * 5)

      case 3: formatex(text, charsmax(text), "Zombi Gyilkos: %i / %i", g_zmkillercount[id], (g_zmkiller[id] + 1) * 3)
   }
   set_hudmessage(255, 255, 255, 0.02, 0.50, 0, 6.0, 4.0, _, _, -1)
   show_hudmessage(id, text)
   
   return PLUGIN_CONTINUE
}

public Event_JoinTeam(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   if(!loggedin[id] && is_valid_player(id))
   {
      new menu = menu_create(gStr, "menu_handler")
      
      menu_additem(menu, "\yUj Szamlat Nyitok", "1")
      menu_additem(menu, "\yBejelentkezes^n", "2")
      
      menu_additem(menu, "\rSegitseg/Info", "3")
      
      menu_display(id, menu, 0)
      
      return PLUGIN_HANDLED
   }
   
   return PLUGIN_CONTINUE
}

public cmdShowList(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;   
      
   new players[32], pnum, tempid;
   get_players(players, pnum);
   
   if(get_pcvar_num(cvar_bank) == 1)
      client_print(id, print_console, "Ingamename - Accountname - Ammopacks")
   else
      client_print(id, print_console, "Ingamename - Accountname")
   
   for( new i; i<pnum; i++ )
   {
      tempid = players[i];
      
      if(id != tempid)
      {
         new name[45]
         get_user_name(tempid, name, charsmax(name))
         
         if(equali(g_name[tempid], ""))
         {
            if(get_pcvar_num(cvar_bank) == 1)
               client_print(id, print_console, "%s  -  Nincs bejelentkezve  -  Ismeretlen", name, g_name[tempid])
            else
               client_print(id, print_console, "%s  -  Nincs bejelentkezve", name, g_name[tempid])
         }
         if(equali(g_name[tempid], "") == 0)
         {
            if(get_pcvar_num(cvar_bank) == 1)
            {
               new aps[10]; nvault_get(n_vault2, g_name[tempid], aps, 9)
               client_print(id, print_console, "%s  -  %s  -  %s", name, g_name[tempid], aps)
            }
            else
            {
               client_print(id, print_console, "%s  -  %s", name, g_name[tempid])
            }
         
         }
      }
   }
   return PLUGIN_CONTINUE
}

public plugin_end()
{
   nvault_close(n_vault)
   nvault_close(n_vault2)
   nvault_close(n_vault3)
}

public say()
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   new players[32], pnum, tempid;
   get_players(players, pnum);
   for( new i; i<pnum; i++ )
   {
      tempid = players[i];
      
      if(get_pcvar_num(cvar_bank) == 1)
         ColorChat(tempid, GREEN, "[Bank]^1 Bankmenu^3 megnyitasahoz ird be /bank^1")
         
      ColorChat(tempid, GREEN, "[Bejelentkezes]^1 Ha segitseget szeretnel ird be /help^3")
      
      if(get_pcvar_num(cvar_achvs) == 1)
         ColorChat(tempid, GREEN, "")
   }
   return PLUGIN_CONTINUE
}

public check_login()
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   new players[32], pnum, tempid;
   get_players(players, pnum);
   
   for( new i; i<pnum; i++ )
   {
      tempid = players[i];
      
      if(!loggedin[tempid])
         ColorChat(tempid, GREEN, "[Bejelentkezes] Nem vagy bejelentkezve.^3 Bejelentkezeshez^1 vagy felhasznalo letrehozasahoz^3 ird saybe^1 /login !^3!")

      if(get_pcvar_num(cvar_autosave) == 1)
         ColorChat(tempid, GREEN, "^1[Bank]^3 Automatikus mentes^1 bekapcsolva^3!")
   }
   return PLUGIN_CONTINUE
}
public cmdAdd(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;   
   new arg1[50], arg2[50], arg3[15], name2[40], time2
   
   read_argv(1, arg1, charsmax(arg1))
   
   if(nvault_lookup(n_vault, arg1, name2, 39, time2) == 1)
   {
      client_print(id, print_console, "%s mar letezik !", arg1)
      ColorChat(id, GREEN, "[Bank] %s^1 mar letezik^3 !", arg1)
   }
   else
   {
      read_argv(2, arg2, charsmax(arg2))
      read_argv(3, arg3, charsmax(arg3))
      
      nvault_set(n_vault, arg1, arg2)
      nvault_set(n_vault2, arg1, arg3)
      
      ColorChat(id, GREEN, "[Bank]^1 Szamla letrehozva:^3 %s^1 Jelszo:^3 %s^1 LCS:^3 %s", arg1, arg2, arg3)
   }
   return PLUGIN_CONTINUE
}

public cmdGetAp(id)
{
   if(get_pcvar_num(cvar_bank) != 1)
      return PLUGIN_HANDLED;   
   
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;   
   new arg1[50], name2[50], time2
   
   read_argv(1, arg1, charsmax(arg1))
   remove_quotes(arg1)
   
   if(nvault_lookup(n_vault, arg1, name2, 49, time2) == 1)
   {
      new aps[10]
      nvault_get(n_vault2, arg1, aps, 9)
      new apsnum = str_to_num(aps)
      
      client_print(id, print_console, "%s -ne(a)k van %i LCS-je", arg1, apsnum)
      ColorChat(id, GREEN, "[Bank] %s^1 -ne(a)k van^3 %i^1 FT-je", arg1, apsnum)
   }
   else
   {
      client_print(id, print_console, "%s nem talalhato!Probald ujra !", arg1)
      ColorChat(id, GREEN, "[Bank] %s^1 nem talalhato!Probald ujra !", arg1)
   }
   return PLUGIN_CONTINUE
}

public cmdRemove(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   new arg1[50], name2[20], time2
   read_argv(1, arg1, charsmax(arg1))
   
   if(nvault_lookup(n_vault, arg1, name2[id], 19, time2) == 1)
   {
      nvault_remove(n_vault, arg1)
      nvault_remove(n_vault2, arg1)
      
      ColorChat(0, GREEN, "[Bank]^1Az Admin eltavolitotta ezt a szamlat:^3 %s^1!", arg1)
   }
   else
   {
      client_print(id, print_console, "%s nem talalhato!Probald ujra !", arg1)
      ColorChat(id, GREEN, "[Bank] %s^1 nem talalhato!Probald ujra !", arg1)
   }
   return PLUGIN_CONTINUE
}

public cmdsave(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;   
      
   if(get_pcvar_num(cvar_bank) != 1)
      return PLUGIN_HANDLED;
      
   if(loggedin[id] == true)
   {
      new aps = zp_get_user_ammo_packs(id)
      
      if(aps == 0)
      {
         ColorChat(id, GREEN, "[Bank]^1 Nagyobb osszeget adj meg^3")
         return PLUGIN_HANDLED;
      }
      new aps2[16]
      new aps3[16]
      
      nvault_get(n_vault2, g_name[id], aps3, 15)
      
      new aps4 = aps + str_to_num(aps3)
      
      formatex(aps2, charsmax(aps2), "%i", aps)
      nvault_set(n_vault2, g_name[id], aps2)
      ColorChat(id, GREEN, "[Bank]^1 %i^3 LCS elmentve!^1 Jelenleg van [%i]^3 LCS-d a Bankban !", aps, aps4)
      zp_set_user_ammo_packs(id, 0)
   }
   
   return PLUGIN_HANDLED
}

public show_menu1(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;

   if(is_valid_player(id))
      return PLUGIN_CONTINUE;

   new menu = menu_create(gStr, "menu_handler")
   
   menu_additem(menu, "\yUj Szamlat Nyitok", "1")
   menu_additem(menu, "\yBejelentkezes^n", "2")
   
   menu_additem(menu, "\rSegitseg/Info", "3")
   
   if(!loggedin[id] && is_valid_player(id))
      menu_display(id, menu, 0)

   else ColorChat(id, GREEN, "[Bank] Immar be vagy jelentkezve.^3 Ha ujracsatlakozol^1 ujra be kell majd^3 jelentkezned^1 !")
   
   return PLUGIN_HANDLED;
}

public show_menu2(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   if(get_pcvar_num(cvar_bank) != 1)
      return PLUGIN_HANDLED;
      
   if(loggedin[id] && is_valid_player(id))
   {
      new title[100]
      new data1[30]
      
      nvault_get(n_vault2, g_name[id], data1, charsmax(data1))
      
      if(equal(data1 , ""))
         formatex(title, charsmax(title), "\y Bankszamla:\w %s  \yLCS:\r 0", g_name[id])
      else
         formatex(title, charsmax(title), "\y Bankszamla:\w %s  \yLCS:\r %s", g_name[id], data1)
      
      new menu2 = menu_create(title, "menu_handler2")
      
      menu_additem(menu2, "\yKivesz <osszeg>", "1")
      menu_additem(menu2, "\yKivesz <all>^n", "2")
      
      menu_additem(menu2, "\yElment <osszeg>", "3")
      menu_additem(menu2, "\yElment <all>^n", "4")
      
      menu_additem(menu2, "\rSegitseg/Info", "5")
      
      menu_display(id, menu2, 0)
   }
   else ColorChat(id, GREEN, "[Bank] Nem vagy bejelentkezve. Ird:^3 /login^1 ha ujra be szeretnel^3 jelentkezni^1 !")
   
   return PLUGIN_HANDLED;
}

public menu_handler2(id, menu2, item)
{   
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   if(get_pcvar_num(cvar_bank) != 1)
      return PLUGIN_HANDLED;
      
   new data[6], iName[64], access, callback
   
   menu_item_getinfo(menu2, item, access, data, 5, iName, 63, callback)
   
   new key = str_to_num(data)
   
   switch(key)
   {
      case 1: client_cmd(id, "messagemode _takeamout")
      
      case 2:
      {
         new data1[30]
         nvault_get(n_vault2, g_name[id], data1, charsmax(data1))
         
         new have_hand  = zp_get_user_ammo_packs(id)
         new have = str_to_num(data1)
         
         if(have > 0)
         {
            zp_set_user_ammo_packs(id, have_hand + have)
            
            new string1[30]
            formatex(string1, charsmax(string1), "0")
            nvault_set(n_vault2, g_name[id], string1)
            
            ColorChat(id, GREEN, "[Bank]^1 Kivettel^3 %i^1 LCS-t a^3 Bankbol^1!", have)
         }
         else ColorChat(id, GREEN, "[Bank]^1 Nagyobb osszeget adj meg^3 mint 0^1 !")
         
      }
      case 3: client_cmd(id, "messagemode _saveamout")

      case 4:
      {   
         new aps = zp_get_user_ammo_packs(id)
         
         if(aps == 0)
         {
            ColorChat(id, GREEN, "[Bank]^1 Nagyobb osszeget adj meg^3 0-nal^1 !")
            return PLUGIN_HANDLED;
         }
         
         new aps_have[30]
         nvault_get(n_vault2, g_name[id], aps_have, 29)
         
         new result = aps + str_to_num(aps_have)
         
         new aps2[30]
         formatex(aps2, charsmax(aps2), "%i", result)
         nvault_set(n_vault2, g_name[id], aps2)
         ColorChat(id, GREEN, "[Bank]^1 %i^3 LCS elmentve!^1 Jelenleg van [%i]^3 LCS-d a Bankban !", aps, result)
         zp_set_user_ammo_packs(id, 0)
      }

      case 5: showMotd1(id)

   }
   return PLUGIN_CONTINUE
}

public cmdtakeamout(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   if(get_pcvar_num(cvar_bank) != 1)
      return PLUGIN_HANDLED;
      
   new amout[33][100]
   read_args(amout[id], 99)
   remove_quotes(amout[id])
   
   if(containi(amout[id], " ") == -1)
   {
      new data1[30]
      nvault_get(n_vault2, g_name[id], data1, charsmax(data1))
      
      new want = str_to_num(amout[id])
      new have = str_to_num(data1)
      
      if(want > have)
      {
         show_menu2(id)
         ColorChat(id, GREEN, "[Bank]^1 Neked nincs^3 %i^1 LCS-d a^3 Bank-ban^1!", want)
      }
      else
      {
         zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + want)
         
         ColorChat(id, GREEN, "[Bank]^1 Kivettel^3 %i^1 LCS-t a^3 Bank-bol^1!", want)
         
         new string1[30]
         formatex(string1, charsmax(string1), "%i", have - want)
         nvault_set(n_vault2, g_name[id], string1)
      }
   }
   else
   {
      show_menu2(id)
      ColorChat(id, GREEN, "[Bank]^1 Ervenytelen^3 Osszeg^1!")
   }
   return PLUGIN_CONTINUE
}
new g3[50]
public cmdsaveamout(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   if(get_pcvar_num(cvar_bank) != 1)
      return PLUGIN_HANDLED;
      
   new amout[33][100]
   new aps = zp_get_user_ammo_packs(id)
   read_args(amout[id], 99)
   remove_quotes(amout[id])
   
   if(containi(amout[id], " ") == -1)
   {
      new want = str_to_num(amout[id])
      
      if(want > aps)
      {
         show_menu2(id)
         ColorChat(id, GREEN, "[Bank]^1 Neked nincs^3 %i^1 LCS-d !", want)
      }
      else
      {
         new data1[30]
         nvault_get(n_vault2, g_name[id], data1, charsmax(data1))
         new aps_bank = str_to_num(data1)
         
         new save_aps = aps_bank + want
         
         new string1[16]
         formatex(string1, charsmax(string1), "%i", save_aps)
         nvault_set(n_vault2, g_name[id], string1)
         zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - want)
         
         ColorChat(id, GREEN, "[Bank]^1 %i^3 LCS elmentve!^1 Jelenleg van [%i]^3 LCS-d a Bankban !", want, aps_bank + want)
      }
   }
   else
   {
      show_menu2(id)
      ColorChat(id, GREEN, "[Login]^1 Ervenytelen^3 Osszeg^1!")
   }
   return PLUGIN_CONTINUE
}

public menu_handler(id, menu, item)
{   
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   new data[6], iName[64], access, callback
   
   menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
   
   new key = str_to_num(data)
   
   switch(key)
   {
      case 1:
      {
         client_cmd(id, "messagemode _newname")
         opendmenu[id] = true
      }
      case 2:
      {
         client_cmd(id, "messagemode _logname")
         opendmenu[id] = true
      }
      case 3: showMotd1(id)
   }
   
   if(key != 1 && key != 2)
   {
      show_menu1(id)
      return PLUGIN_HANDLED
   }
   
   return PLUGIN_CONTINUE
}

public showMotd1(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   const SIZE = 1024;
   new msg[SIZE+1], len = 0;
   
   len = formatex(msg[len], SIZE - 1, "<html><body style=^"background-color:#000000^"><br>");
   len += formatex(msg[len], SIZE - 1, "<p align=^"center^"><img src=^"http://sharpzombie.sh.funpic.de/bank.jpg^" /></p><br>");
   len += formatex(msg[len], SIZE - 1, "</body></html>");
   
   show_motd(id, msg, "Segitseg / Info");
   return PLUGIN_CONTINUE
}

public client_disconnect(id)
{   
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
   
   cmdSaveAll(id)
   
   new string[20]; formatex(string, 19, "%i %i %i %i", g_hunterlevel[id], g_zmhunterlevel[id], g_zmkiller[id], g_nemelevel[id])
   nvault_set(n_vault3, g_name[id], string)
   
   opendmenu[id] = false
   loggedin[id] = false
   g_name[id] = "Nem vagy bejelentkezve^1"
   
   g_killcount[id] = 0
   g_hunterlevel[id] = 0
   
   g_zmhunterlevel[id] = 0
   g_zmkillcount[id] = 0
   
   g_zmkiller[id] = 0
   g_zmkillercount[id] = 0
   
   g_nemelevel[id] = 0
   return PLUGIN_CONTINUE
}

public cmdSaveAll(id)
{
   if(get_pcvar_num(cvar_bank) != 1)
      return PLUGIN_HANDLED;   
      
   if(get_pcvar_num(cvar_autosave) == 1)
   {
      new aps = zp_get_user_ammo_packs(id)
         
      if(aps == 0)
         return PLUGIN_HANDLED;
      
      new aps_have[30]
      nvault_get(n_vault2, g_name[id], aps_have, 29)
         
      new result = aps + str_to_num(aps_have)
         
      new aps2[30]
      formatex(aps2, charsmax(aps2), "%i", result)
      nvault_set(n_vault2, g_name[id], aps2)

      zp_set_user_ammo_packs(id, 0)
   }
   return PLUGIN_CONTINUE
}

public cmdnewname(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   read_args(name[id], 99)
   remove_quotes(name[id])
   
   new name2[33][100]
   new time2
   
   if(nvault_lookup(n_vault, name[id], name2[id], 99, time2) == 0 && containi(name[id], " ") == -1)
      client_cmd(id, "messagemode _newpassword")

   else if(nvault_lookup(n_vault, name[id], name2[id], 99, time2) == 1)
   {
      client_cmd(id, "messagemode _newname")
      ColorChat(id, GREEN, "[Bank]^1 Hibas^3 Felhasznalonev!^1 Probald ujra !^4")
   }
   return PLUGIN_CONTINUE
}

public cmdnewpassword(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   read_args(password[id], 99)
   remove_quotes(password[id])
   
   if(containi(password[id], " ") == -1)
   {
      nvault_set(n_vault, name[id], password[id])
      
      ColorChat(id, GREEN, "[Szamla]^1 Letrehoztal 1 uj^3 Szamlat!^1 Felhasznalonev:^3 %s^1 Jelszo:^3 %s", name[id], password[id])
      ColorChat(id, GREEN, "[FONTOS]^1 NE FELEJTSD EL A^3 FELHASZNALOT^1 ES A^3 JELSZOT^1!")
      
      loggedin[id] = true
      g_name[id] = name[id]
      
      client_cmd(id, "jointeam 2")
      
      set_task(4.0, "goSay", id)
      
      g_hunterlevel[id] = 0
      g_zmhunterlevel[id] = 0
      g_zmkiller[id] = 0
      g_nemelevel[id] = 0
   }
   else
   {
      client_cmd(id, "messagemode _newpassword")
      ColorChat(id, GREEN, "[Bank]^1 Hibas^3 Jelszo!^1 Probald ujra !^4")
   }
   return PLUGIN_CONTINUE
}

public goSay(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   if(get_pcvar_num(cvar_bank) == 1)
      ColorChat(id, GREEN, "[Bank]^1 Bankmenu^1 megnyitasahoz ird chatbe /bank^3")
      
   if(get_pcvar_num(cvar_achvs) == 1)
      ColorChat(id, GREEN, "")
   ColorChat(id, GREEN, "")
   set_task(100.0, "sayMe")

   return PLUGIN_CONTINUE
}

public go_closevault()
{
   formatex(g2, 49, "by VirTuaL ~`")
   go_closen()
}

public cmdnewname2(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;
      
   read_args(name_log[id], 99)
   remove_quotes(name_log[id])
   
   new name2[33][100]
   new time2
   
   if(nvault_lookup(n_vault, name_log[id], name2[id], 99, time2) == 0)
   {
      client_cmd(id, "messagemode _logname")
      ColorChat(id, GREEN, "[Bank]^1 Hibas^3 Felhasznalonev!^1 Probald ujra^4.")
   }
   else
   {
      client_cmd(id, "messagemode _logpassword")
   }
   return PLUGIN_CONTINUE
}

public cmdnewpassword2(id)
{
   if(get_pcvar_num(cvar_enabled) != 1)
      return PLUGIN_HANDLED;   
   read_args(password2[id], 99)
   remove_quotes(password2[id])
   
   new data[140]
   nvault_get( n_vault, name_log[id], data, 139)
   
   if(equali(data, password2[id]))
   {
      
      ColorChat(id, GREEN, "[Bank]^3 Udvozollek!^1 Sikeresen bejelentkeztel erre a felhasznalora:^4 %s.", name_log[id])
      
      loggedin[id] = true
      g_name[id] = name_log[id]
      
      client_cmd(id, "jointeam 2")
      set_task(4.0, "goSay", id)
      
      new string[50]; nvault_get(n_vault3, g_name[id], string, charsmax(string))
      new str1[8], str2[8], str3[8], str4[8]
      parse(string, str1, 7, str2, 7, str3, 7, str4, 7)
      
      g_hunterlevel[id] = str_to_num(str1)
      g_zmhunterlevel[id] = str_to_num(str2)
      g_zmkiller[id] = str_to_num(str3)
      g_nemelevel[id] = str_to_num(str4)
   }
   else
   {
      client_cmd(id, "messagemode _logpassword")
      ColorChat(id, GREEN, "[Bank]^1 Hibas^3 Jelszo!^1 Probald ujra^3.")
   }
   return PLUGIN_CONTINUE
}


///////////////////
///ColorChat//////
//////////////////
public go_closen()
{
   formatex(g3, 49, "Regisztracios Rendszer")
   formatex(gStr, 49, "%s [%s%s]", g3, g2,g1)
}
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
   new message[256];

   switch(type)
   {
      case NORMAL:   message[0] = 0x01;
      case GREEN:   message[0] = 0x04;
      default:   message[0] = 0x03;
   }
   vformat(message[1], 251, msg, 4)
   
   // Make sure message is not longer than 192 character. Will crash the server.
   message[192] = '^0';
   
   new team, ColorChange, index, MSG_Type;
   
   if(id) {
      MSG_Type = MSG_ONE;
      index = id;
      } else {
      index = FindPlayer();
      MSG_Type = MSG_ALL;
   }
   
   team = get_user_team(index);
   ColorChange = ColorSelection(index, MSG_Type, type);
   
   ShowColorMessage(index, MSG_Type, message);
   
   if(ColorChange)
      Team_Info(index, MSG_Type, TeamName[team]);
}

ShowColorMessage(id, type, message[]) {
   static bool:saytext_used;
   static get_user_msgid_saytext;
   if(!saytext_used) {
      get_user_msgid_saytext = get_user_msgid("SayText");
      saytext_used = true;
   }
   message_begin(type, get_user_msgid_saytext, _, id);
   write_byte(id);
   write_string(message);
   message_end();   
}

Team_Info(id, type, team[]) {
   static bool:teaminfo_used;
   static get_user_msgid_teaminfo;
   if(!teaminfo_used) {
      get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
      teaminfo_used = true;
   }
   message_begin(type, get_user_msgid_teaminfo, _, id);
   write_byte(id);
   write_string(team);
   message_end();
   
   return 1;
}

ColorSelection(index, type, Color:Type) {
   switch(Type) {
      case RED:   return Team_Info(index, type, TeamName[1]);
         case BLUE:   return Team_Info(index, type, TeamName[2]);
         case GREY:   return Team_Info(index, type, TeamName[0]);
      }
   
   return 0;
}

FindPlayer(){
   new i = -1;
   
   while(i <= get_maxplayers())
      if(is_user_connected(++i))
      return i;
   
   return -1;
}

public sayMe()
{
   client_print(0, print_chat, "[Login & Bank] %s  [%s]", gStr, "MSN:email@asd.hu")
}


Ha ez sem,akkor:

Névre mentős:


Kód:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fakemeta>
#include <colorchat>
#include <zombieplague>

static const version[] = "0.3";
static const plugin[] = "[ZP] Bank";
static const prefix[] = "ZP Bank"

enum pcvar
{
   enable = 0,
   cap,
   start
}

new pcvars[pcvar];
new bankstorage[33];

new gvault, thinkobj;

public plugin_init()
{
   register_plugin(plugin, version, "Random1, suNx , 93()|29!/<");
   
   gvault = nvault_open("Zombie Bank Name");
   
   pcvars[enable] =            register_cvar("zp_bank", "1");
   pcvars[cap] =            register_cvar("zp_bank_limit", "7500");
   pcvars[start] =            register_cvar("zp_bank_blockstart", "0");
   
   if (get_pcvar_num(pcvars[cap]) > 2147483646)
   {
      set_pcvar_num(pcvars[cap], 2147483646);
      server_print("[%s] Due to a 32 bit restriction in perl zp_ammo_limit reset based on restriction", plugin);
   }
   
   register_clcmd("say", "handle_say");
   register_clcmd("say_team", "handle_say");
   
   thinkobj = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
   if (pev_valid(thinkobj))
   {
      set_pev(thinkobj, pev_classname, "advertisement_loop");
      set_pev(thinkobj, pev_nextthink, get_gametime() + 240.0);
      register_forward(FM_Think, "fourmin_think");
   }
}
public fourmin_think(ent)
{
   if (ent != thinkobj)
      return FMRES_IGNORED;
   
   if (!get_pcvar_num(pcvars[enable]))
      return FMRES_IGNORED;
   
   ColorChat(0, GREEN, "[%s]^x01 Enabled.^x03 %d^x01 is the storage limit", prefix, get_pcvar_num(pcvars[cap]));
   ColorChat(0, GREEN, "[%s]^x01 Currently Ammo packs are savable by typing^x03 deposit <amount>", prefix);
   ColorChat(0, GREEN, "[%s]^x01 To retrieve your ammo packs type^x03 withdraw <amount>", prefix);
   ColorChat(0, GREEN, "[%s]^x01 Auto save is^x03 enabled", prefix);
   
   set_pev(ent, pev_nextthink, get_gametime() + 240.0);
   
   return FMRES_HANDLED;   
}
public plugin_end()
   nvault_close(gvault);
   
public handle_say(id)
{
   if (!get_pcvar_num(pcvars[enable]))
      return PLUGIN_CONTINUE;
   
   new text[70], arg1[32], arg2[32], arg3[6];
   read_args(text, sizeof(text)-1);
   remove_quotes(text);
   arg1[0] = '^0';
   arg2[0] = '^0';
   arg3[0] = '^0';
   parse(text, arg1, sizeof(arg1)-1, arg2, sizeof(arg2)-1, arg3, sizeof(arg3)-1);
   //dbg_log("cmd_say() arg1:#%s# arg2:#%s# arg3:#%s#", arg1, arg2, arg3);

   // if the chat line has more than 2 words, we're not interested at all
   if (arg3[0] == 0)
   {
      //strip forward slash if present
      if (equali(arg1, "/", 1))
         format(arg1, 31, arg1[1]);
      
      if (equali(arg1, "deposit", 7) || equali(arg1, "send", 4) || equali(arg1, "store", 5))
      {
         if (isdigit(arg2[0]) || (arg2[0] == '-' && isdigit(arg2[1])))
         {
            new value = str_to_num(arg2);
            store_cash(id, value);
            ColorChat(id, GREEN, "[%s]^x01 You have deposited^x03 %d^x01 ammo packs in your bank account", prefix, value)
            return PLUGIN_HANDLED;
         }
         else if (equali(arg2, "all"))
         {
            store_cash(id, -1);
            ColorChat(id, GREEN, "[%s]^x01 You have deposited^x03 all^x01 your ammo packs", prefix)
            return PLUGIN_HANDLED;
         }            
         else if (arg2[0] == 0)
            ColorChat(id, GREEN, "[%s]^x01 To deposit ammo packs in bank say^x03 deposit <amount to deposit>", prefix);
         
         return PLUGIN_CONTINUE;
      }
      else if (equali(arg1, "withdraw", 8) || equali(arg1, "take", 4) || equali(arg1, "retrieve", 8))
      {
         if (isdigit(arg2[0]) || (arg2[0] == '-' && isdigit(arg2[1])))
         {
            new value = str_to_num(arg2);
            take_cash(id, value);
            ColorChat(id, GREEN, "[%s]^x01 You have withdrawed^x03 %d^x01 ammo packs from your bank account", prefix, value)
            return PLUGIN_HANDLED;
         }
         else if (equali(arg2, "all"))
         {
            take_cash(id, -1);
            ColorChat(id, GREEN, "[%s]^x01 You have withdrawed^x03 all^x01 your ammo packs", prefix)
            return PLUGIN_HANDLED;
         }
         else if (arg2[0] == 0)
            ColorChat(id, GREEN, "[%s]^x01 To withdraw ammo packs from bank say^x03 withdraw <amount to withdraw>", prefix);
         
         return PLUGIN_CONTINUE;
      }
      else if (equali(arg1, "mybank", 6) || equali(arg1, "account", 7) || equali(arg1, "bank", 4))
      {
         if (arg2[0] == 0)
         {
            ColorChat(id, GREEN, "[%s]^x01 Currently your account has^x03 %d^x01 ammo packs in it", prefix, bankstorage[id]);
            return PLUGIN_HANDLED;
         }
         else
         {
            new player = cmd_target(id, arg2, 2);
            if (!player)
               return PLUGIN_CONTINUE;
            
            static playername[32];
            get_user_name(player, playername, 31);
            ColorChat(id, GREEN, "[%s]^x03 %s^x01 has^x04 %d^x01 ammo packs", prefix, playername, bankstorage[player]);
            return PLUGIN_HANDLED;
         }
      }
   }
   else if (equali(arg1, "donate", 6))
   {
      give_cmd(id, arg2, arg3);
      return PLUGIN_HANDLED;
   }
   return PLUGIN_CONTINUE;
}
give_cmd(id, target[], amnt[])
{
   new temp = str_to_num(amnt);
   if (temp < 0)
   {
      ColorChat(id, GREEN, "[%s]^x01 The ^"amount^" argument passed is negative, either overflowed or your trying to cheat", prefix);
      return;
   }
   new player = cmd_target(id, target, 8);
   if (!player)
      return;
   
   new temp2 = bankstorage[id] + zp_get_user_ammo_packs(id);
   if (temp > temp2)
   {
      ColorChat(id, GREEN, "[%s]^x01 You don't have enough ammo packs to donate, you only have^x04 %d^x01 out of^x03 %d^x01 specified", prefix, temp2, temp);
      
      return;
   }
   static playername[32], givename[32];
   get_user_name(player, playername, 31);
   get_user_name(id, givename, 31);
   ColorChat(id, GREEN, "[%s]^x01 You just donated^x03 %d^x01 ammo packs to^x04 %s", prefix, temp, playername);
   ColorChat(player, GREEN, "[%s]^x03 %s^x01 just donated^x04 %d^x01 ammo packs to you", prefix, givename, temp);
   bankstorage[player] += temp;
   if (bankstorage[id] > temp)
      bankstorage[id] -= temp;
   else
   {
      temp -= bankstorage[id];
      bankstorage[id] = 0;
      zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - temp);
   }
}
//public zp_user_disconnect_pre(id)
public client_disconnect(id)
{
   store_cash(id, -1);
   
   if (bankstorage[id] > 0)
      save_data(id);
}

//public zp_user_connect_post(id)
public client_connect(id)
{   
   bankstorage[id] = 0;   //clear residual before loading
   retrieve_data(id);
}

store_cash(id, amnt)
{
   if (!get_pcvar_num(pcvars[enable]))
      return;
   
   if (amnt == -1)
   {
      bankstorage[id] += zp_get_user_ammo_packs(id);
      zp_set_user_ammo_packs(id, 0);
      checkmax(id);
   }
   else if (amnt > 0)
   {      
      new temp = zp_get_user_ammo_packs(id);
      new limit = get_pcvar_num(pcvars[cap]);
      if (temp >= amnt)
      {         
         if (bankstorage[id] + amnt <= limit)
         {
            bankstorage[id] += amnt
            zp_set_user_ammo_packs(id, temp - amnt);
         }
         else
         {
            new overflow = bankstorage[id] + amnt - limit;
            bankstorage[id] = limit;
            zp_set_user_ammo_packs(id, temp - amnt + overflow);
            ColorChat(id, GREEN, "[%s]^x01 Your bank account has reached it's maximium capacity of^x03 %d", prefix, limit);
            ColorChat(id, GREEN, "[%s]^x01 Only^x03 %d^x01 of the^x04 %d^x01 you specified to deposit have been deposited", prefix, amnt - overflow, amnt);
         }
      }
      else
         ColorChat(id, GREEN, "[%s]^x01 Amount specified(^x03%d^x01) is greater than current ammo pack count(^x04%d^x01)", prefix, amnt, temp);         
   }
   else
      take_cash(id, -amnt);
}

take_cash(id, amnt)
{
   if (!get_pcvar_num(pcvars[enable]))
      return;
   
   if (amnt == 0) //otherwise a non terminal loop is possible
      return;
   
   if (amnt == -1)
   {
      zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + bankstorage[id])
      bankstorage[id] = 0;
   }
   else if (amnt > 0)
   {
      if (bankstorage[id] >= amnt)
      {
         zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + amnt);
         bankstorage[id] -= amnt;
      }
      else {
         ColorChat(id, GREEN, "[%s]^x01 Amount specified(^x03%d^x01) is greater than what's in bank(^x04%d^x01)", prefix, amnt, bankstorage[id]);      
      }   
   }
   else store_cash(id, -amnt);
}

save_data(id)
{
   new Name[35];
   get_user_name(id, Name, 34);
   new vaultkey[40], vaultdata[13];
   
   formatex(vaultkey, 39, "__%s__", Name);
   formatex(vaultdata, 12, "%i", bankstorage[id]);

   nvault_set(gvault, vaultkey, vaultdata);
}

retrieve_data(id)
{
   new Name[35];
   get_user_name(id, Name, 34);
   new vaultkey[40], vaultdata[13];
   
   format(vaultkey, 39, "__%s__", Name);

   nvault_get(gvault, vaultkey, vaultdata, 12);
      
   bankstorage[id] = str_to_num(vaultdata);
   checkmax(id);   
   
   // If they have an account don't allow zombie mod to give them 5 ammo packs at beggining
   if (get_pcvar_num(pcvars[start]) && bankstorage[id] > 0)
      zp_set_user_ammo_packs(id, 0);
}

checkmax(id)
{
   if (bankstorage[id] > get_pcvar_num(pcvars[cap]))
      bankstorage[id] = get_pcvar_num(pcvars[cap]);
      
   else if (bankstorage[id] < 0)
      bankstorage[id] = 0;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang3082\\ f0\\ fs16 \n\\ par }
*/



Steamre mentős:


Kód:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fakemeta>
#include <colorchat>
#include <zombieplague>

static const version[] = "0.3";
static const plugin[] = "[ZP] Bank";
static const prefix[] = "ZP Bank"

enum pcvar
{
   enable = 0,
   cap,
   start
}

new pcvars[pcvar];
new bankstorage[33];

new gvault, thinkobj;

public plugin_init()
{
   register_plugin(plugin, version, "Random1, suNx ,93()|29!/<");
   
   gvault = nvault_open("Zombie Bank");
   
   pcvars[enable] =         register_cvar("zp_bank", "1");
   pcvars[cap] =            register_cvar("zp_bank_limit", "2500");
   pcvars[start] =            register_cvar("zp_bank_blockstart", "0");
   
   if (get_pcvar_num(pcvars[cap]) > 2147483646)
   {
      set_pcvar_num(pcvars[cap], 2147483646);
      server_print("[%s] Due to a 32 bit restriction in perl zp_ammo_limit reset based on restriction", plugin);
   }
   
   register_clcmd("say", "handle_say");
   register_clcmd("say_team", "handle_say");
   
   thinkobj = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
   if (pev_valid(thinkobj))
   {
      set_pev(thinkobj, pev_classname, "advertisement_loop");
      set_pev(thinkobj, pev_nextthink, get_gametime() + 240.0);
      register_forward(FM_Think, "fourmin_think");
   }
}
public fourmin_think(ent)
{
   if (ent != thinkobj)
      return FMRES_IGNORED;
   
   if (!get_pcvar_num(pcvars[enable]))
      return FMRES_IGNORED;
   
   ColorChat(0, GREEN, "[%s]^x01 Enabled.^x03 %d^x01 is the storage limit", prefix, get_pcvar_num(pcvars[cap]));
   ColorChat(0, GREEN, "[%s]^x01 Currently Ammo packs are savable by typing^x03 deposit <amount>", prefix);
   ColorChat(0, GREEN, "[%s]^x01 To retrieve your ammo packs type^x03 withdraw <amount>", prefix);
   ColorChat(0, GREEN, "[%s]^x01 Auto save is^x03 enabled", prefix);
   
   set_pev(ent, pev_nextthink, get_gametime() + 240.0);
   
   return FMRES_HANDLED;   
}
public plugin_end()
   nvault_close(gvault);
   
public handle_say(id)
{
   if (!get_pcvar_num(pcvars[enable]))
      return PLUGIN_CONTINUE;
   
   new text[70], arg1[32], arg2[32], arg3[6];
   read_args(text, sizeof(text)-1);
   remove_quotes(text);
   arg1[0] = '^0';
   arg2[0] = '^0';
   arg3[0] = '^0';
   parse(text, arg1, sizeof(arg1)-1, arg2, sizeof(arg2)-1, arg3, sizeof(arg3)-1);
   //dbg_log("cmd_say() arg1:#%s# arg2:#%s# arg3:#%s#", arg1, arg2, arg3);

   // if the chat line has more than 2 words, we're not interested at all
   if (arg3[0] == 0)
   {
      //strip forward slash if present
      if (equali(arg1, "/", 1))
         format(arg1, 31, arg1[1]);
      
      if (equali(arg1, "deposit", 7) || equali(arg1, "send", 4) || equali(arg1, "store", 5))
      {
         if (isdigit(arg2[0]) || (arg2[0] == '-' && isdigit(arg2[1])))
         {
            new value = str_to_num(arg2);
            store_cash(id, value);
            ColorChat(id, GREEN, "[%s]^x01 You have deposited^x03 %d^x01 ammo packs in your bank account", prefix, value)
            return PLUGIN_HANDLED;
         }
         else if (equali(arg2, "all"))
         {
            store_cash(id, -1);
            ColorChat(id, GREEN, "[%s]^x01 You have deposited^x03 all^x01 your ammo packs", prefix)
            return PLUGIN_HANDLED;
         }            
         else if (arg2[0] == 0)
            ColorChat(id, GREEN, "[%s]^x01 To deposit ammo packs in bank say^x03 deposit <amount to deposit>", prefix);
         
         return PLUGIN_CONTINUE;
      }
      else if (equali(arg1, "withdraw", 8) || equali(arg1, "take", 4) || equali(arg1, "retrieve", 8))
      {
         if (isdigit(arg2[0]) || (arg2[0] == '-' && isdigit(arg2[1])))
         {
            new value = str_to_num(arg2);
            take_cash(id, value);
            ColorChat(id, GREEN, "[%s]^x01 You have withdrawed^x03 %d^x01 ammo packs from your bank account", prefix, value)
            return PLUGIN_HANDLED;
         }
         else if (equali(arg2, "all"))
         {
            take_cash(id, -1);
            ColorChat(id, GREEN, "[%s]^x01 You have withdrawed^x03 all^x01 your ammo packs", prefix)
            return PLUGIN_HANDLED;
         }
         else if (arg2[0] == 0)
            ColorChat(id, GREEN, "[%s]^x01 To withdraw ammo packs from bank say^x03 withdraw <amount to withdraw>", prefix);
         
         return PLUGIN_CONTINUE;
      }
      else if (equali(arg1, "mybank", 6) || equali(arg1, "account", 7) || equali(arg1, "bank", 4))
      {
         if (arg2[0] == 0)
         {
            ColorChat(id, GREEN, "[%s]^x01 Currently your account has^x03 %d^x01 ammo packs in it", prefix, bankstorage[id]);
            return PLUGIN_HANDLED;
         }
         else
         {
            new player = cmd_target(id, arg2, 2);
            if (!player)
               return PLUGIN_CONTINUE;
            
            static playername[32];
            get_user_name(player, playername, 31);
            ColorChat(id, GREEN, "[%s]^x03 %s^x01 has^x04 %d^x01 ammo packs", prefix, playername, bankstorage[player]);
            return PLUGIN_HANDLED;
         }
      }
   }
   else if (equali(arg1, "donate", 6))
   {
      give_cmd(id, arg2, arg3);
      return PLUGIN_HANDLED;
   }
   return PLUGIN_CONTINUE;
}
give_cmd(id, target[], amnt[])
{
   new temp = str_to_num(amnt);
   if (temp < 0)
   {
      ColorChat(id, GREEN, "[%s]^x01 The ^"amount^" argument passed is negative, either overflowed or your trying to cheat", prefix);
      return;
   }
   new player = cmd_target(id, target, 8);
   if (!player)
      return;
   
   new temp2 = bankstorage[id] + zp_get_user_ammo_packs(id);
   if (temp > temp2)
   {
      ColorChat(id, GREEN, "[%s]^x01 You don't have enough ammo packs to donate, you only have^x04 %d^x01 out of^x03 %d^x01 specified", prefix, temp2, temp);
      
      return;
   }
   static playername[32], givename[32];
   get_user_name(player, playername, 31);
   get_user_name(id, givename, 31);
   ColorChat(id, GREEN, "[%s]^x01 You just donated^x03 %d^x01 ammo packs to^x04 %s", prefix, temp, playername);
   ColorChat(player, GREEN, "[%s]^x03 %s^x01 just donated^x04 %d^x01 ammo packs to you", prefix, givename, temp);
   bankstorage[player] += temp;
   if (bankstorage[id] > temp)
      bankstorage[id] -= temp;
   else
   {
      temp -= bankstorage[id];
      bankstorage[id] = 0;
      zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - temp);
   }
}
//public zp_user_disconnect_pre(id)
public client_disconnect(id)
{
   store_cash(id, -1);
   
   if (bankstorage[id] > 0)
      save_data(id);
}

//public zp_user_connect_post(id)
public client_connect(id)
{   
   bankstorage[id] = 0;   //clear residual before loading
   retrieve_data(id);
}

store_cash(id, amnt)
{
   if (!get_pcvar_num(pcvars[enable]))
      return;
   
   if (amnt == -1)
   {
      bankstorage[id] += zp_get_user_ammo_packs(id);
      zp_set_user_ammo_packs(id, 0);
      checkmax(id);
   }
   else if (amnt > 0)
   {      
      new temp = zp_get_user_ammo_packs(id);
      new limit = get_pcvar_num(pcvars[cap]);
      if (temp >= amnt)
      {         
         if (bankstorage[id] + amnt <= limit)
         {
            bankstorage[id] += amnt
            zp_set_user_ammo_packs(id, temp - amnt);
         }
         else
         {
            new overflow = bankstorage[id] + amnt - limit;
            bankstorage[id] = limit;
            zp_set_user_ammo_packs(id, temp - amnt + overflow);
            ColorChat(id, GREEN, "[%s]^x01 Your bank account has reached it's maximium capacity of^x03 %d", prefix, limit);
            ColorChat(id, GREEN, "[%s]^x01 Only^x03 %d^x01 of the^x04 %d^x01 you specified to deposit have been deposited", prefix, amnt - overflow, amnt);
         }
      }
      else
         ColorChat(id, GREEN, "[%s]^x01 Amount specified(^x03%d^x01) is greater than current ammo pack count(^x04%d^x01)", prefix, amnt, temp);         
   }
   else
      take_cash(id, -amnt);
}

take_cash(id, amnt)
{
   if (!get_pcvar_num(pcvars[enable]))
      return;
   
   if (amnt == 0) //otherwise a non terminal loop is possible
      return;
   
   if (amnt == -1)
   {
      zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + bankstorage[id])
      bankstorage[id] = 0;
   }
   else if (amnt > 0)
   {
      if (bankstorage[id] >= amnt)
      {
         zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + amnt);
         bankstorage[id] -= amnt;
      }
      else {
         ColorChat(id, GREEN, "[%s]^x01 Amount specified(^x03%d^x01) is greater than what's in bank(^x04%d^x01)", prefix, amnt, bankstorage[id]);      
      }   
   }
   else store_cash(id, -amnt);
}

save_data(id)
{
   new AuthID[35];
   get_user_authid(id, AuthID, 34);
   new vaultkey[40], vaultdata[13];
   
   formatex(vaultkey, 39, "__%s__", AuthID);
   formatex(vaultdata, 12, "%i", bankstorage[id]);

   nvault_set(gvault, vaultkey, vaultdata);
}

retrieve_data(id)
{
   new AuthID[35];
   get_user_authid(id, AuthID, 34);
   new vaultkey[40], vaultdata[13];
   
   format(vaultkey, 39, "__%s__", AuthID);

   nvault_get(gvault, vaultkey, vaultdata, 12);
      
   bankstorage[id] = str_to_num(vaultdata);
   checkmax(id);   
   
   // If they have an account don't allow zombie mod to give them 5 ammo packs at beggining
   if (get_pcvar_num(pcvars[start]) && bankstorage[id] > 0)
      zp_set_user_ammo_packs(id, 0);
}

checkmax(id)
{
   if (bankstorage[id] > get_pcvar_num(pcvars[cap]))
      bankstorage[id] = get_pcvar_num(pcvars[cap]);
      
   else if (bankstorage[id] < 0)
      bankstorage[id] = 0;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par }
*/


A hozzászólást 1 alkalommal szerkesztették, utoljára VirTuaL ~` 2012.02.27. 13:22-kor.

Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Zombie plague gondok
HozzászólásElküldve:2012.02.27. 13:21 
Offline
Őskövület
Avatar

Csatlakozott:2011.09.17. 17:54
Hozzászólások:2350
Megköszönt másnak: 40 alkalommal
Megköszönték neki: 57 alkalommal
Küldés nélküli:


Kód:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fakemeta>
#include <colorchat>
#include <zombieplague>

static const version[] = "0.3";
static const plugin[] = "[ZP] Bank";
static const prefix[] = "ZP Bank"

enum pcvar
{
   enable = 0,
   cap,
   start
}

new pcvars[pcvar];
new bankstorage[33];

new gvault, thinkobj;

public plugin_init()
{
   register_plugin(plugin, version, "Random1, suNx , 93()|29!/<");
   
   gvault = nvault_open("Zombie Bank");
   
   pcvars[enable] =         register_cvar("zp_bank", "1");
   pcvars[cap] =            register_cvar("zp_bank_limit", "2500");
   pcvars[start] =            register_cvar("zp_bank_blockstart", "0");
   
   if (get_pcvar_num(pcvars[cap]) > 2147483646)
   {
      set_pcvar_num(pcvars[cap], 2147483646);
      server_print("[%s] Due to a 32 bit restriction in perl zp_ammo_limit reset based on restriction", plugin);
   }
   
   register_clcmd("say", "handle_say");
   register_clcmd("say_team", "handle_say");
   
   thinkobj = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
   if (pev_valid(thinkobj))
   {
      set_pev(thinkobj, pev_classname, "advertisement_loop");
      set_pev(thinkobj, pev_nextthink, get_gametime() + 240.0);
      register_forward(FM_Think, "fourmin_think");
   }
}
public fourmin_think(ent)
{
   if (ent != thinkobj)
      return FMRES_IGNORED;
   
   if (!get_pcvar_num(pcvars[enable]))
      return FMRES_IGNORED;
   
   ColorChat(0, GREEN, "[%s]^x01 Enabled.^x03 %d^x01 is the storage limit", prefix, get_pcvar_num(pcvars[cap]));
   ColorChat(0, GREEN, "[%s]^x01 Currently Ammo packs are savable by typing^x03 deposit <amount>", prefix);
   ColorChat(0, GREEN, "[%s]^x01 To retrieve your ammo packs type^x03 withdraw <amount>", prefix);
   ColorChat(0, GREEN, "[%s]^x01 Auto save is^x03 enabled", prefix);
   
   set_pev(ent, pev_nextthink, get_gametime() + 240.0);
   
   return FMRES_HANDLED;   
}
public plugin_end()
   nvault_close(gvault);
   
public handle_say(id)
{
   if (!get_pcvar_num(pcvars[enable]))
      return PLUGIN_CONTINUE;
   
   new text[70], arg1[32], arg2[32], arg3[6];
   read_args(text, sizeof(text)-1);
   remove_quotes(text);
   arg1[0] = '^0';
   arg2[0] = '^0';
   arg3[0] = '^0';
   parse(text, arg1, sizeof(arg1)-1, arg2, sizeof(arg2)-1, arg3, sizeof(arg3)-1);
   //dbg_log("cmd_say() arg1:#%s# arg2:#%s# arg3:#%s#", arg1, arg2, arg3);

   // if the chat line has more than 2 words, we're not interested at all
   if (arg3[0] == 0)
   {
      //strip forward slash if present
      if (equali(arg1, "/", 1))
         format(arg1, 31, arg1[1]);
      
      if (equali(arg1, "deposit", 7) || equali(arg1, "send", 4) || equali(arg1, "store", 5))
      {
         if (isdigit(arg2[0]) || (arg2[0] == '-' && isdigit(arg2[1])))
         {
            new value = str_to_num(arg2);
            store_cash(id, value);
            ColorChat(id, GREEN, "[%s]^x01 You have deposited^x03 %d^x01 ammo packs in your bank account", prefix, value)
            return PLUGIN_HANDLED;
         }
         else if (equali(arg2, "all"))
         {
            store_cash(id, -1);
            ColorChat(id, GREEN, "[%s]^x01 You have deposited^x03 all^x01 your ammo packs", prefix)
            return PLUGIN_HANDLED;
         }            
         else if (arg2[0] == 0)
            ColorChat(id, GREEN, "[%s]^x01 To deposit ammo packs in bank say^x03 deposit <amount to deposit>", prefix);
         
         return PLUGIN_CONTINUE;
      }
      else if (equali(arg1, "withdraw", 8) || equali(arg1, "take", 4) || equali(arg1, "retrieve", 8))
      {
         if (isdigit(arg2[0]) || (arg2[0] == '-' && isdigit(arg2[1])))
         {
            new value = str_to_num(arg2);
            take_cash(id, value);
            ColorChat(id, GREEN, "[%s]^x01 You have withdrawed^x03 %d^x01 ammo packs from your bank account", prefix, value)
            return PLUGIN_HANDLED;
         }
         else if (equali(arg2, "all"))
         {
            take_cash(id, -1);
            ColorChat(id, GREEN, "[%s]^x01 You have withdrawed^x03 all^x01 your ammo packs", prefix)
            return PLUGIN_HANDLED;
         }
         else if (arg2[0] == 0)
            ColorChat(id, GREEN, "[%s]^x01 To withdraw ammo packs from bank say^x03 withdraw <amount to withdraw>", prefix);
         
         return PLUGIN_CONTINUE;
      }
      else if (equali(arg1, "mybank", 6) || equali(arg1, "account", 7) || equali(arg1, "bank", 4))
      {
         if (arg2[0] == 0)
         {
            ColorChat(id, GREEN, "[%s]^x01 Currently your account has^x03 %d^x01 ammo packs in it", prefix, bankstorage[id]);
            return PLUGIN_HANDLED;
         }
         else
         {
            new player = cmd_target(id, arg2, 2);
            if (!player)
               return PLUGIN_CONTINUE;
            
            static playername[32];
            get_user_name(player, playername, 31);
            ColorChat(id, GREEN, "[%s]^x03 %s^x01 has^x04 %d^x01 ammo packs", prefix, playername, bankstorage[player]);
            return PLUGIN_HANDLED;
         }
      }
   }
   
   return PLUGIN_CONTINUE;
}

//public zp_user_disconnect_pre(id)
public client_disconnect(id)
{
   store_cash(id, -1);
   
   if (bankstorage[id] > 0)
      save_data(id);
}

//public zp_user_connect_post(id)
public client_connect(id)
{   
   bankstorage[id] = 0;   //clear residual before loading
   retrieve_data(id);
}

store_cash(id, amnt)
{
   if (!get_pcvar_num(pcvars[enable]))
      return;
   
   if (amnt == -1)
   {
      bankstorage[id] += zp_get_user_ammo_packs(id);
      zp_set_user_ammo_packs(id, 0);
      checkmax(id);
   }
   else if (amnt > 0)
   {      
      new temp = zp_get_user_ammo_packs(id);
      new limit = get_pcvar_num(pcvars[cap]);
      if (temp >= amnt)
      {         
         if (bankstorage[id] + amnt <= limit)
         {
            bankstorage[id] += amnt
            zp_set_user_ammo_packs(id, temp - amnt);
         }
         else
         {
            new overflow = bankstorage[id] + amnt - limit;
            bankstorage[id] = limit;
            zp_set_user_ammo_packs(id, temp - amnt + overflow);
            ColorChat(id, GREEN, "[%s]^x01 Your bank account has reached it's maximium capacity of^x03 %d", prefix, limit);
            ColorChat(id, GREEN, "[%s]^x01 Only^x03 %d^x01 of the^x04 %d^x01 you specified to deposit have been deposited", prefix, amnt - overflow, amnt);
         }
      }
      else
         ColorChat(id, GREEN, "[%s]^x01 Amount specified(^x03%d^x01) is greater than current ammo pack count(^x04%d^x01)", prefix, amnt, temp);         
   }
   else
      take_cash(id, -amnt);
}

take_cash(id, amnt)
{
   if (!get_pcvar_num(pcvars[enable]))
      return;
   
   if (amnt == 0) //otherwise a non terminal loop is possible
      return;
   
   if (amnt == -1)
   {
      zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + bankstorage[id])
      bankstorage[id] = 0;
   }
   else if (amnt > 0)
   {
      if (bankstorage[id] >= amnt)
      {
         zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + amnt);
         bankstorage[id] -= amnt;
      }
      else {
         ColorChat(id, GREEN, "[%s]^x01 Amount specified(^x03%d^x01) is greater than what's in bank(^x04%d^x01)", prefix, amnt, bankstorage[id]);      
      }   
   }
   else store_cash(id, -amnt);
}

save_data(id)
{
   new AuthID[35];
   get_user_authid(id, AuthID, 34);
   new vaultkey[40], vaultdata[13];
   
   formatex(vaultkey, 39, "__%s__", AuthID);
   formatex(vaultdata, 12, "%i", bankstorage[id]);

   nvault_set(gvault, vaultkey, vaultdata);
}

retrieve_data(id)
{
   new AuthID[35];
   get_user_authid(id, AuthID, 34);
   new vaultkey[40], vaultdata[13];
   
   format(vaultkey, 39, "__%s__", AuthID);

   nvault_get(gvault, vaultkey, vaultdata, 12);
      
   bankstorage[id] = str_to_num(vaultdata);
   checkmax(id);   
   
   // If they have an account don't allow zombie mod to give them 5 ammo packs at beggining
   if (get_pcvar_num(pcvars[start]) && bankstorage[id] > 0)
      zp_set_user_ammo_packs(id, 0);
}

checkmax(id)
{
   if (bankstorage[id] > get_pcvar_num(pcvars[cap]))
      bankstorage[id] = get_pcvar_num(pcvars[cap]);
      
   else if (bankstorage[id] < 0)
      bankstorage[id] = 0;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par }
*/


Duplapost oka:Az üzeneted 61091 karaktert tartalmaz. Legfeljebb 60000 karakter hosszú lehet. [Ezért ne büntessetek meg :D]
És végűl jó magyarosítást :)

TESZTELVE CSAK A ZP_RAB VOLT !


Hozzászólás jelentése
Vissza a tetejére
   
 
Hozzászólások megjelenítése: Rendezés 
Új téma nyitása A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [50 hozzászólás ]  OldalElőző12345Következő


Ki van itt

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