hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.24. 19:24



Jelenlévő felhasználók

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

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [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  [ 17 hozzászólás ]  Oldal 1 2 Következő
Szerző Üzenet
 Hozzászólás témája: Zombie xp
HozzászólásElküldve: 2011.11.25. 17:04 
Offline
Nagyúr
Avatar

Csatlakozott: 2011.09.07. 18:41
Hozzászólások: 642
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 6 alkalommal
Szereztem a egy plugint a netről és csak az sma-t adtak a plugin szinteket rakott volna a zombi modba.Compilelnem és nem engedi hibat ír ki valaki segítsen.

Kód:
   -*- [ZP] Server Addon: XP Level System || Update [v. 2.0]-*-
   -------------------------------------------
   
   ~~~~~~~~~~~~~~~
   - Description -
   ~~~~~~~~~~~~~~~
   Level System

   ~~~~~~~~~~~~~~~
   - Changelog -
   ~~~~~~~~~~~~~~~
   v. 1.0 - Plugin Released. Testing...
   v. 1.1 - Fixed Save Level.
   v. 1.2 - Added New cvars, fixed codes + Added plugin code Player Name
   v. 1.3 - Update version: added new cvars + system bonuses
   v. 1.4 - New modes for nemesis level & survivor level, added cvars
   v. 1.5 - Testing...
   v. 1.6 - Added cvars, Plugin Released.
   v. 1.7 - Added Multilangual, Update plugin
   v. 1.8 - v. 1.9 - Fixed Level Up bugs
   v. 2.0 - Added new cvars + XP Level Extended: Real Level System.
================================================================================*/

#include <amxmodx>
#include <nvault>
#include <fakemeta_util>
#include <hamsandwich>
#include <zombieplague>

#define PLUGIN "[ZP] Server Addon: XP Level System"
#define VERSION "2.0"
#define AUTHOR "Re.Act!ve"
#pragma tabsize 0

new SayText
new g_level[32], g_level_data, g_frags_level, frags_data[32], frags_del[32], g_ScreenFade, g_level_del[33], g_level_bonus, g_ammo
new g_level_max, g_give_ammo, g_give_ammopacks, g_level_num, g_level_info, g_player_name, g_levels[32], g_h_damage
new g_h_health, g_h_speed, g_z_damage
new bool:g_play[32], g_bonus[32]
new sound_level_up[] = { "misc/zp_level_up.wav"}
new sound_health[] = { "items/medshot4.wav"}
// Zombie Classes MUST be registered on plugin_precache

public plugin_precache()
{
        precache_sound( sound_level_up )
        precache_sound( sound_health )
}

public plugin_init()
{
   g_frags_level = register_cvar("zp_level_frags", "40")         // Сколько фрагов нужно поднять на карте, чтобы срубить новый левел
   g_level_max  = register_cvar("zp_level_max", "250")         // Максимальный левел
   g_give_ammo = register_cvar("zp_level_give_ammo", "1")   // Давать аммо паки при каждом полученном левле?
   g_give_ammopacks = register_cvar("zp_level_ammo", "45")   // Сколько давать аммопаков? (если выше установлено 1)

   g_h_damage = register_cvar("zp_level_h_damage", "2")      // Увеличивать с каждым уровнем урон на Х у людей
   g_h_health = register_cvar("zp_level_h_health", "10")      // Люди получают за каждый левел дополнительные Х хп
   g_h_speed = register_cvar("zp_level_h_speed", "1.0")      // На сколько величивать скорость людей с каждым уровнем?
   g_z_damage = register_cvar("zp_level_z_damage", "3")      // Увеличивать с каждым уровнем урон на Х у зомби

   g_level_info = register_cvar("zp_level_info", "1")            // Показывать инфу о игроке, когда вы вводите в чат info <nick>
   g_player_name = register_cvar("zp_player_name", "1")      // Показывать инфу, при наведении курсором на игрока?
   g_level_bonus = register_cvar("zp_level_bonus_on", "1")      // Можно ли будет снимать мегабонус? (за получение опр. левла)
   g_level_num = register_cvar("zp_level_number", "10")      // Каждые Х левлов будет возможность снять  мегабонус (если выше 1)
   g_ammo = register_cvar("zp_level_bonus", "1000")         // Сколько аммо паков этот мегабонус?

   g_level_data = nvault_open("Leveling_Save")
   register_clcmd("say","say_info");
   register_clcmd("say_team","say_info");
   SayText = get_user_msgid("SayText")
   register_event("DeathMsg", "Frags_Manager", "a", "1>0")
   RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
   register_dictionary("zp_level_system.txt")
   register_event("StatusValue","show_status","be","1=2","2!0")
          register_event("StatusValue","hide_status","be","1=1","2=0")
   g_ScreenFade = get_user_msgid( "ScreenFade" )   
   register_plugin(PLUGIN, VERSION, AUTHOR)      
}

public zp_round_started(gamemode, id)
{
   if( !zp_get_user_zombie(id) && is_user_alive(id) )
   {
      new h_health[32], h_speed[32], n = 1;
      while( g_level[id] != n )
      {
      h_health[id] = n * get_pcvar_num(g_h_health);
      h_speed[id] = n * get_pcvar_num(g_h_speed);
      n = n + 1;
      }
      fm_set_user_health( id, get_user_health(id) + h_health[id] )
      fm_set_user_maxspeed( id, fm_get_user_maxspeed(id) + h_speed[id] )
      emit_sound(id, CHAN_STREAM, sound_health, 1.0, ATTN_NORM, 0, PITCH_HIGH )
   }
}

public client_putinserver(id)
{
   Level_Load(id)
   if( (g_level[id] < 1) || (g_level[id] == 0) ) g_level[id] = 1;
   if(g_level[id] < get_pcvar_num(g_level_num))
   g_levels[id] = get_pcvar_num(g_level_num);
   else
   {
      new n = 1;
      while( g_level[id] > ( n * get_pcvar_num(g_level_num)) )
      {
      g_levels[id] = n * get_pcvar_num(g_level_num);
      n = n + 1;
      }
   }
   g_play[id] = true;
   g_level_del[id] = 0;
   frags_del[id] = 0;
}

public client_disconnect(id)
{
   g_play[id] = false;
   Level_Save(id)
}

public hide_status(id)
{
       set_hudmessage(0,0,0,0.0,0.0,0, 0.0, 0.01, 0.0, 0.0, 4)
       show_hudmessage(id,"")
}

public show_status(id)
{
       new name[32],pid = read_data(2)
       get_user_name(pid,name,31)
      if (!zp_get_user_zombie(pid) && !zp_get_user_zombie(id) && (get_pcvar_num(g_player_name) == 1) )
   {
             set_hudmessage(0,0,255,-1.0,0.60,1, 0.01, 3.0, 0.01, 0.01, 4)
             show_hudmessage(id,"%L", LANG_PLAYER, "PLAYER_NAME_H", name, g_level[pid],                         get_user_health(pid),get_user_armor(pid),zp_get_user_ammo_packs(pid))   
   }   
    if(zp_get_user_zombie(id) && zp_get_user_zombie(pid) && (get_pcvar_num(g_player_name) == 1) )
   {
        set_hudmessage(255,0,0,-1.0,0.60,1, 0.01, 3.0, 0.01, 0.01, 4)
        show_hudmessage(id,"%L", LANG_PLAYER, "PLAYER_NAME_Z", name, g_level[pid], get_user_health(pid), zp_get_user_ammo_packs(pid))   
   }   
}

public say_info(id)
{
   new text[70], arg1[32], target[32]
   read_args(text, sizeof(text)-1);
   remove_quotes(text);
   arg1[0] = '^0';
   target[0] = '^0';
   parse(text, arg1, sizeof(arg1)-1, target, sizeof(target)-1);
   if ( equali(arg1, "info", 4) )
   {
      info_player(id, target);
   }
   if ( equali(arg1, "bonusme", 7) && (get_pcvar_num(g_level_info) == 1))
   {
      bonus_player(id);
   }
   return PLUGIN_CONTINUE;
}

public zp_extra_item_selected(id, itemid)
{
   Level_Save(id)
}

public zp_user_infected_post(id, infector)
{
   Level_Save(id);
   Level_Save(infector);
}

public info_player(id, target[])
{
   new target_2;
   target_2 = find_player("bl", target)
   static name[32], nameid[32];
   get_user_name(target_2, name, sizeof name - 1)
   get_user_name(id, nameid, sizeof nameid - 1)
   if(!target_2)
   {
      ChatColor(id, "!g[ZP] !y%L", LANG_PLAYER, "LEVEL_INFO_NONAME")
      return PLUGIN_HANDLED
   }

   ChatColor(id, "!g[INFO]!t %L", LANG_PLAYER, "LEVEL_INFO", name, g_level[target_2], zp_get_user_ammo_packs(target_2) )
   ChatColor(target_2, "!g[INFO]!t %L ", LANG_PLAYER, "LEVEL_INFO_YOU", nameid)
   return PLUGIN_HANDLED
}

public bonus_player(id)
{
   if( (g_level[id] == g_levels[id]) && (get_pcvar_num(g_level_bonus) == 1) && g_bonus[id])
   {
   g_levels[id] = g_levels[id] * 2;
   g_level_del[id] = g_level[id];
   g_bonus[id] = false;
   ChatColor(id, "!g[BONUS]%L", LANG_PLAYER, "LEVEL_MEGABONUS", g_level[id], get_pcvar_num(g_ammo) )
   zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + get_pcvar_num(g_ammo) )
   Level_Save(id)
   }
   else
   {
      if(g_level[id] < g_levels[id])
      {
         g_levels[id] = get_pcvar_num(g_level_num);
         ChatColor(id, "!g[BONUS] !y %L", LANG_PLAYER, "LEVEL_NOMEGABONUS", g_levels[id], get_pcvar_num(g_ammo) )
      }
      else
      {
         g_levels[id] = get_pcvar_num(g_level_num) * 2;
         ChatColor(id, "!g[BONUS] !y %L", LANG_PLAYER, "LEVEL_NOMEGABONUS", g_levels[id], get_pcvar_num(g_ammo) )
      }

      Level_Save(id)
   }
   return PLUGIN_HANDLED
}

public vip_status(id)
{
   if( is_user_alive(id) && g_play[id])
   {
      set_hudmessage(255, 200, 3, 0.02, 0.868, 0, 0.0, 3.0, 2.0, 1.0, -1)
      show_hudmessage(id,"%L", LANG_PLAYER, "LEVEL_STATUS", g_level[id])
   }
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_bits)
{
   if ( !zp_get_user_zombie(attacker) && is_user_alive(attacker) )
   {
      new h_damage[32], n = 1;
      while( g_level[attacker] != n )
      {
      h_damage[attacker] = n * get_pcvar_num(g_h_damage);
      n = n + 1;
      }
      SetHamParamFloat(4, damage + h_damage[attacker]);
   }
   else
   {
      if ( zp_get_user_zombie(attacker) && is_user_alive(attacker) )
      {
         new z_damage[32], i = 1;
         while( g_level[attacker] != i )
         {
         z_damage[attacker] = i * get_pcvar_num(g_z_damage);
         i = i + 1;
         }
         SetHamParamFloat(4, damage + z_damage[attacker]);
      }
   }
}

public Level_Save(id)
{
   new key[64], data[256]
   new name[33];
   get_user_name(id,name,32)
         
   format(key, 63, "%s-/", name)
   format(data, 255, "%i#", g_level[id])
   
   nvault_set(g_level_data, key, data)
   return PLUGIN_CONTINUE;
}

public Level_Load(id)
{
   new key[64], data[256]
   new name[33];
   get_user_name(id,name,32)
         
   format(key, 63, "%s-/", name)
   format(data, 255, "%i#", g_level[id])
   
   nvault_get(g_level_data, key, data, 255)
   replace_all(data, 255, "#", " ")
   
   new givelevel[32]
   parse(data, givelevel, 31)
   g_level[id] = str_to_num(givelevel)
   
   set_task(2.0, "vip_status", id, _, _, "b")
}

public Frags_Manager()
{
   new frags[32] , attacker = read_data(1)
   // new victim = read_data(2)
   new aname[32]
   get_user_name(attacker, aname, sizeof aname - 1)
   frags_data[attacker] = get_user_frags(attacker)
   frags[attacker] = frags_data[attacker] - frags_del[attacker]
   if( (frags[attacker] >= get_pcvar_num(g_frags_level)) && (g_level[attacker] <= get_pcvar_num(g_level_max)) )
   {
      g_bonus[attacker] = true;
      g_level[attacker] = g_level[attacker] + 1;
      message_begin(MSG_ONE_UNRELIABLE, g_ScreenFade, _, attacker)
             write_short(1<<12) // duration
           write_short(1) // hold time
      write_short(0x0000) // fade type
      write_byte(0) // red
      write_byte(200) // green
      write_byte(0) // blue
      write_byte(160) // alpha
      message_end()
      emit_sound(attacker, CHAN_STREAM, sound_level_up, 1.0, ATTN_NORM, 0, PITCH_HIGH )
      set_hudmessage(0, 200, 0, 0.65, 0.5, 0, 0.0, 3.0, 2.0, 1.0, -1)
      show_hudmessage(0, "%L", LANG_PLAYER, "LEVEL_UP", aname, g_level[attacker])
      if(get_pcvar_num(g_give_ammo) == 1)
      {
         ChatColor(attacker, "!g[LEVEL] !y %L", LANG_PLAYER, "BONUS_LEVEL", get_pcvar_num(g_give_ammopacks) )
         zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + get_pcvar_num(g_give_ammopacks) )
      }
      frags_del[attacker] = frags_data[attacker]
      Level_Save(attacker);
   }
   else
   {
      if(g_level[attacker] == get_pcvar_num(g_level_max))
      ChatColor(attacker, "!g[LEVEL]!y %L", LANG_PLAYER, "LEVEL_MAX", g_level[attacker] )
   }
}

stock ChatColor(const id, const input[], any:...)
{
   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)
   
   replace_all(msg, 190, "!g", "^4") // Green Color
   replace_all(msg, 190, "!y", "^1") // Default Color
   replace_all(msg, 190, "!t", "^3") // Team Color
   replace_all(msg, 190, "!t2", "^0") // Team2 Color
   
   if (id) players[0] = id; else get_players(players, count, "ch")
   {
      for (new i = 0; i < count; i++)
      {
         if (is_user_connected(players[i]))
         {
            message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i])
            write_byte(players[i]);
            write_string(msg);
            message_end();
         }
      }
   }
}


És a hiba:
Could not locate output file elérisi hely... pluginneve.amx
Nagyon kérem segítsetek!!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombie xp
HozzászólásElküldve: 2011.11.25. 20:22 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Más hiba is lesz.
Írd le, vagy másold ki ide, mit ír ki a fordító a futás végén.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombie xp
HozzászólásElküldve: 2011.11.25. 21:05 
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
A legelején az 1. karakter "-" helyett "/" :D


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombie xp
HozzászólásElküldve: 2011.11.25. 21:54 
Offline
Imperátor
Avatar

Csatlakozott: 2009.04.21. 09:33
Hozzászólások: 3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
IrOn123 írta:
A legelején az 1. karakter "-" helyett "/" :D

Lol :D
Rá kellett volna néznem a kódra :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombie xp
HozzászólásElküldve: 2011.11.26. 13:00 
Offline
Nagyúr
Avatar

Csatlakozott: 2011.09.07. 18:41
Hozzászólások: 642
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 6 alkalommal
Valaki akk mecsinálná nekem (compileleest meg javitast) mert én szerintem ha belenyúlok még nagyobb galibát csinálok :D

ammx-et pmbe vagy passzolja el valaki de ide is jo


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombie xp
HozzászólásElküldve: 2011.11.26. 13:03 
Offline
Developer
Avatar

Csatlakozott: 2011.06.01. 21:11
Hozzászólások: 7965
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
IrOn123 írta:
A legelején az 1. karakter "-" helyett "/" :D


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombie xp
HozzászólásElküldve: 2011.11.26. 13:07 
Offline
Nagyúr
Avatar

Csatlakozott: 2011.09.07. 18:41
Hozzászólások: 642
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 6 alkalommal
nah figy a legegysyerűbb hogy probald meg compilelni a kijavitott valtozatot mert nekem megint hibat ir


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombie xp
HozzászólásElküldve: 2011.11.26. 13:13 
Offline
Developer
Avatar

Csatlakozott: 2011.06.01. 21:11
Hozzászólások: 7965
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
Kód:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

Header size:           1768 bytes
Code size:            14004 bytes
Data size:             5696 bytes
Stack/heap size:      16384 bytes; max. usage is unknown, due to recursion
Total requirements:   37852 bytes
Done.

Compilation Time: 1,80 sec


0error 0warning, done


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombie xp
HozzászólásElküldve: 2011.11.26. 13:14 
Offline
Nagyúr
Avatar

Csatlakozott: 2011.09.07. 18:41
Hozzászólások: 642
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 6 alkalommal
te mivel compilelsz? :DDDDD
am megdobhatnál azzal a pluginnal


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombie xp
HozzászólásElküldve: 2011.11.26. 13:16 
Offline
Developer
Avatar

Csatlakozott: 2011.06.01. 21:11
Hozzászólások: 7965
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
Szedd ki az elejéről a leírás, a plugin az includektől kezdődjön! Amxxpc.amxx-el konvertálok ha letöltöd amxmodxet abban benne van:)


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  [ 17 hozzászólás ]  Oldal 1 2 Következő


Ki van itt

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