AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   New Plugin Submissions (https://forums.alliedmods.net/forumdisplay.php?f=26)
-   -   Half-Life: Zombie Mod X 1.1 [Last Update: 27/9/2019] (https://forums.alliedmods.net/showthread.php?t=315366)

rtxa 04-04-2019 10:02

Half-Life: Zombie Mod X 1.1 [Last Update: 27/9/2019]
 
4 Attachment(s)
Half-Life: Zombie Mod X

https://img.shields.io/badge/Author-rtxA-red https://img.shields.io/badge/Version-1.1-red https://img.shields.io/badge/Last%20...-27/9/2019-red

☉ Description

Zombie Mod X is a server-side modification for Half-Life. The game-play is a classic zombie outbreak scenario. Each round, a player is infected with a virus and he must infect the others in order to multiply. Round is won by exterminating the opposing force.

☉ Infection mode
  • Humans spawns in different locations, the virus is released after a while and someone turns out into a zombie.
  • Zombies must infect all humans to win.
  • Humans must eliminate all zombies to win.
  • Every infection gives you one frag, every zombie you kill gives you five frags.
☰ Commands

☉ General
  • zx_restart - restart the round.
  • zx_setzombie [name or #userid] - turns you or the specified player into a zombie.
  • zx_sethuman [name or #userid] - turns you or the specified player into a human.
  • zx_debug [0/1] - shows useful information to debug the plugin.
  • zx_light [a-z] - sets the map lighting level. [a = brightness; m = default; z = darkness]. Default: "f".
  • zx_sky "blood_" - sets the map sky. If you leave it empty, the sky of the map will remain unchanged.
  • zx_minplayers [0-32] - *minimum players to start a round. Default: 2*
  • zx_firstroundtime 15 - countdown to start the first round (in seconds).
  • zx_roundtime 240 - sets how many seconds longs the round.
  • zx_freezetime 3 - sets how many seconds longs freeze period.
  • zx_hud_x [-1.0 - 1.0] - sets position of HUD that shows player status on X axis.
  • zx_hud_y [-1.0 - 1.0] - sets position of HUD that shows player status on Y axis.
  • zx_hud_color "r g b" - sets color of HUD that shows player status.
  • zx_nightvision_color "r g b" - sets color of nightvision on zombies.
☉ Zombie
  • zombie_health 500 - zombie health points.
  • zombie_armor 250 - zombie armor points.
  • zombie_gravity 0.5 - zombie gravity.
  • zombie_maxspeed 360 - zombie max speed.
  • zombie_frags_infection 1 - frags given by infecting a human.
☉ Human
  • human_health 100 - human health points.
  • human_armor 0 - human armor points.
  • human_gravity 1.0 - human gravity.
  • human_maxspeed 300 - human max speed.
  • human_frags_kill 5 - frags given by killing a zombie.
☉ Preview



☰ Requirements
⚙ Installation
  • Download files resources.zip and zx_plugin_* and extract their content inside of the folder valve (e.g. "C:\Half-Life\valve").
  • Compile the file zx.sma and paste it (zx.amxx) in plugins folder ("valve/addons/amxmodx/plugins").
  • Go to configs folder ("valve/addons/amxmodx/configs"), open plugins.cfg and add a line at the end that says zx.amxx debug and save it.
  • In the folder valve, open the file server.cfg and add those commands at the end, separated line by line.
PHP Code:

mp_teamplay 1
mp_teamlist 
"hgrunt;zm_cso_host"
mp_defaultteam 1 // blocks change team
sv_maxspeed 400 // increase it to allow zombies to use custom speed. 

⛏ To do
  • ☑ Add night-vision for zombies.
  • ☐ Add zombie classes (use HL Player Models API).
  • ☐ Add more modes (Nemesis, Survivor, etc.).
  • ☐ Create an API to increase plugin extensibility.
☉ Notes
  • The mod has multi-language support. You can translate the plugin into any language editing zx.txt and zx_help.txt in lang's folder.
  • Ambience music is not included but you can add one by yourself. Just name a MP3 file to "ambience1.mp3" and save it in "valve/sound/zx/".
⚛ Additional plugins
  • Double Jump for zombies (you can find it on attachments).
☆ Thanks to:
  • Anggara_Nothing, when I started, his HLZM help me to understand better about how to create plugins for HL, etc.
  • Koshak - Port to HL of zombie model from CSO.
Most of resources are from CSO.

☉ Available Languages:

gabuch2 05-17-2019 22:18

Re: Half-Life: Zombie Mod X 1.0
 
Hello

Your function PrecacheTeamList() is not working as intended. I had to precache the models manually. (using defines)

Code:
// precache models from mp_teamlist new model[128]; formatex(model, charsmax(model), "models/player/%s/%s.mdl", HUMAN_MODEL, HUMAN_MODEL); precache_model(model); formatex(model, charsmax(model), "models/player/%s/%s.mdl", INFECTED_MODEL, INFECTED_MODEL); precache_model(model);

Additional bugs I found:
  • I don't know if the mod was intended to be played with bots, but once an infected spawned one of the bots accidentally killed himself with the RPG, this caused a round end (No one has won message).
  • Apparently the infected can still pickup items.

This was tested with HL Bugfixed using AMX 1.9

rtxa 05-18-2019 08:46

Re: Half-Life: Zombie Mod X 1.0
 
Quote:

Originally Posted by Gabe Iggy (Post 2652081)
Hello

Your function PrecacheTeamList() is not working as intended. I had to precache the models manually. (using defines)

Code:
// precache models from mp_teamlist new model[128]; formatex(model, charsmax(model), "models/player/%s/%s.mdl", HUMAN_MODEL, HUMAN_MODEL); precache_model(model); formatex(model, charsmax(model), "models/player/%s/%s.mdl", INFECTED_MODEL, INFECTED_MODEL); precache_model(model);

Additional bugs I found:
  • I don't know if the mod was intended to be played with bots, but once an infected spawned one of the bots accidentally killed himself with the RPG, this caused a round end (No one has won message).
  • Apparently the infected can still pickup items.

This was tested with HL Bugfixed using AMX 1.9

Thanks, I will check those later, but I need more information on some points. The mod is intented to be played with bots, as I do most of my test with them.
  • In what circustances is this happening? How many players were playing in that round? There were spectators?
  • Which items have pickup the infected?

gabuch2 05-18-2019 10:25

Re: Half-Life: Zombie Mod X 1.0
 
Quote:

Originally Posted by rtxa (Post 2652132)
Thanks, I will check those later, but I need more information on some points. The mod is intented to be played with bots, as I do most of my test with them.
  • In what circustances is this happening? How many players were playing in that round? There were spectators?
  • Which items have pickup the infected?

I was testing with 3 bots. Once any survivor died the round would end.

The infected could pickup any item.

As an additional note, I'm using a different Infected model, I don't know if that's the cause. A quick look at the code revealed that the infected model is not defined anywhere so I doubt that's the cause.

I upgraded to the latest 1.9 build just in case but the error persisted.

gabuch2 05-19-2019 20:46

Re: Half-Life: Zombie Mod X 1.0
 
UPDATE: Turns out the problem was on my end. The multimod plugin I was using wasn't executing the mod's required cvars in-time so the teamlist was defined on base of the previous mod's mp_teamplay cvar.

rtxa 05-19-2019 23:00

Re: Half-Life: Zombie Mod X 1.0
 
I was doing some tests and this are my conclusions
  • I didn't found any issue with PrecacheTeamList().
  • About player models, the game code depends of your teamindex more than your model (check ChangePlayerTeam()), so that is the reason there aren't defines for that. there shouldn't be any problem with it.
Quote:

Originally Posted by Gabe Iggy (Post 2652348)
UPDATE: Turns out the problem was on my end. The multimod plugin I was using wasn't executing the mod's required cvars in-time so the teamlist was defined on base of the previous mod's mp_teamplay cvar.

Well, I'm glad you found the reason, tell me if you still experience those issues (infected picking up items, round end, etc.). I didn't found anything strange, I have test this mod a lot in my sv with real players and no one has experience this issue.

quLeryuzz 05-31-2019 16:02

Re: Half-Life: Zombie Mod X 1.0
 
Code:

[tr]
CLASS_HUMAN                        = Insan
CLASS_ZOMBIE                = Zombi
TEAMNAME_HUMANS                = Insanlar
TEAMNAME_ZOMBIES        = Zombiler
ROUND_FIRSTROUND        = Tur %i sn. icinde baslayacak.
ROUND_FREEZE                = Unfreeze %i sn icerisinde.
ROUND_COUNTDOWN        = Enfeksiyon %i sn icerisinde.
ROUND_MINPLAYERS        = Turu baslatmak icin %i canli oyuncuya ihtiyac var.
ROUND_RESTART                = Yeniden Baslatiliyor..
ROUND_ZOMBIESWIN        = Zombiler dunyayi ele gecirdi!
ROUND_HUMANSWIN                = Enfeksiyon zapt edildi!
ROUND_DRAW                        = Kimse kazanmadi...
ROUND_TIMELEFT                = Tur Zamani:
HUD_STATUS                        = Isim: %n^nCan: %i^nZirh: %i^nSinif: %l
HUD_STATUS_SPEC                = Izlenilen: %n^nCan: %i^nZirh: %i^nSinif: %l

Code:

[tr]
HELP_RESTART = - Eli Yeniden Baslat
HELP_SETHUMAN = [name or #userid] - Zombiye donustur, sen veya oyuncu..
HELP_SETZOMBIE = [name or #userid] - Insana donustur, sen veya oyuncu..


thEsp 05-31-2019 16:47

Re: Half-Life: Zombie Mod X 1.0
 
HTML Code:

// zx.txt
[al]
CLASS_HUMAN                        = Njeri
CLASS_ZOMBIE                = Dhėmbpirės
TEAMNAME_HUMANS                = Njerėzit
TEAMNAME_ZOMBIES        = Dhėmbpirėsat
ROUND_FIRSTROUND        = Rundi fillon pėr %i
ROUND_FREEZE                = Shkrirja fillon pėr %i
ROUND_COUNTDOWN        = Infeksioni fillon pėr %i
ROUND_MINPLAYERS        = %i lojtar tė gjall nevojiten qė tė fillojė rundi.
ROUND_RESTART                = Duke rifilluar...
ROUND_ZOMBIESWIN        = Dhėmbpirėsat morrėn BOTĖN!
ROUND_HUMANSWIN                = Infeksioni u parandalua!
ROUND_DRAW                        = Askush nuk fitoi...
ROUND_TIMELEFT                = Koha rundit:
HUD_STATUS                        = Emri: %n^nShėndeti: %i^nPancir jeleku: %i^nLloji: %l
HUD_STATUS_SPEC                = Duke shikuar: %n^nShėndeti: %i^nPancir jeleku: %i^nLloji: %l

// zx_help.txt
[al]
HELP_RESTART = - rifillo rundin
HELP_SETHUMAN = [emri ose #userid] - kthen nė dhėmbpirės, ty ose lojtarin qė keni shtypur
HELP_SETZOMBIE = [emri ose #userid] - kthen nė njeri, ty ose lojtarin qė keni shtypur

// Save as UTF-8 without BOM encoding file


rtxa 06-06-2019 10:35

Re: Half-Life: Zombie Mod X 1.0
 
Thanks for you collaboration quLeryuzz and thEsp, I will put your translations in a new update as soon I finish to do some stuff, sorry for the late answer.

OciXCrom 06-06-2019 13:16

Re: Half-Life: Zombie Mod X 1.0
 
zx.txt:
PHP Code:

[mk]
CLASS_HUMAN             Chovek
CLASS_ZOMBIE        
Zombi
TEAMNAME_HUMANS        
Lugje
TEAMNAME_ZOMBIES    
Zombi
ROUND_FIRSTROUND    
Rundata zapochnuva za %i
ROUND_FREEZE        
Odmrznuvanje za %i
ROUND_COUNTDOWN     
Infekcija za %i
ROUND_MINPLAYERS     
Potrebni se %i zhivi igracha za da zapochne rundata.
ROUND_RESTART        Restartiranje...
ROUND_ZOMBIESWIN    Zombite go prezemaa SVETOT!
ROUND_HUMANSWIN        Infekcijata e zaprena!
ROUND_DRAW             Nikoj ne pobedi...
ROUND_TIMELEFT        Vreme na runda:
HUD_STATUS            Ime: %n^nZhivot: %i^nShtit: %i^nKlasa: %l
HUD_STATUS_SPEC        
Igrach: %n^nZhivot: %i^nShtit: %i^nKlasa: %

zx_help.txt:
PHP Code:

[mk]
HELP_RESTART = - restartiraj ja rundata
HELP_SETHUMAN 
= [ime ili #userid] - te pretvora tebe ili izbraniot igrach vo zombi
HELP_SETZOMBIE = [ime ili #userid] - te pretvora tebe ili izbraniot igrach vo chovek 

You have some mistakes in your [en] translation. Here are the fixed lines:

zx.txt:
Quote:

ROUND_MINPLAYERS = %i alive players are needed to start the round.
ROUND_HUMANSWIN = The infection has been contained!
ROUND_DRAW = No one has won...
zx_help.txt - the last two lines here don't really make sense in their current English translation, so here:

PHP Code:

HELP_SETHUMAN = [name or #userid] - turns you or the specified player into a zombie
HELP_SETZOMBIE = [name or #userid] - turns you or the specified player into a human 



All times are GMT -4. The time now is 01:54.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.