<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Reign of the Undead - Revolution - Modding & Mapping]]></title>
		<link>https://modszombies.com/</link>
		<description><![CDATA[Reign of the Undead - Revolution - https://modszombies.com]]></description>
		<pubDate>Thu, 30 Apr 2026 11:00:09 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Zombies Mod V3]]></title>
			<link>https://modszombies.com/thread-Zombies-Mod-V3</link>
			<pubDate>Sun, 29 Jun 2025 19:28:04 +0200</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-Zombies-Mod-V3</guid>
			<description><![CDATA[Hey Fabio, <br />
<br />
I downloaded your Zombies mod(a different one from your current one) from a place called VCoDMods, and I am wondering if I am missing something to get players to download the files correctly? They get hung up when a client gets so far into downloading the mod. I uploaded all the files into my mod folder and have the exact same files in my redirect. So I know there isn't a mismatch. <br />
Any reason why this would be hanging up in the middle of downloading? I can get in the server if i place the same files directly into my own UO/fs_game folder... So i know it's working, and no problems when i start up the server.. Linux - Debian12<br />
<br />
Thanks for any help you can offer, I know you're a busy man!]]></description>
			<content:encoded><![CDATA[Hey Fabio, <br />
<br />
I downloaded your Zombies mod(a different one from your current one) from a place called VCoDMods, and I am wondering if I am missing something to get players to download the files correctly? They get hung up when a client gets so far into downloading the mod. I uploaded all the files into my mod folder and have the exact same files in my redirect. So I know there isn't a mismatch. <br />
Any reason why this would be hanging up in the middle of downloading? I can get in the server if i place the same files directly into my own UO/fs_game folder... So i know it's working, and no problems when i start up the server.. Linux - Debian12<br />
<br />
Thanks for any help you can offer, I know you're a busy man!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Panzerfaust]]></title>
			<link>https://modszombies.com/thread-Panzerfaust</link>
			<pubDate>Thu, 20 Feb 2025 13:54:02 +0100</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-Panzerfaust</guid>
			<description><![CDATA[Hello everyone , im serach for script /mod which do a "unlimited panzerfaust from crates"<br />
 for example at map carentan in spawn american are crate with 4 panzerfaust if you USe all of them new dont spawn  in crate and I serach a way to do respawn IT.  Or this is write in map file and I cand do anything to do IT?]]></description>
			<content:encoded><![CDATA[Hello everyone , im serach for script /mod which do a "unlimited panzerfaust from crates"<br />
 for example at map carentan in spawn american are crate with 4 panzerfaust if you USe all of them new dont spawn  in crate and I serach a way to do respawn IT.  Or this is write in map file and I cand do anything to do IT?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Waypoint Editor]]></title>
			<link>https://modszombies.com/thread-Waypoint-Editor</link>
			<pubDate>Sat, 08 Feb 2025 19:47:17 +0100</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-Waypoint-Editor</guid>
			<description><![CDATA[Can anyone here point me to a download for making waypoints in custom maps for United Offensive? <br />
Any help would be much appreciated!]]></description>
			<content:encoded><![CDATA[Can anyone here point me to a download for making waypoints in custom maps for United Offensive? <br />
Any help would be much appreciated!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Help]  How to make script for 2x Score]]></title>
			<link>https://modszombies.com/thread-Help-How-to-make-script-for-2x-Score</link>
			<pubDate>Fri, 07 Dec 2018 11:49:17 +0100</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-Help-How-to-make-script-for-2x-Score</guid>
			<description><![CDATA[Hi friends! <br />
<br />
My friend called KarTal need script for 2x Score or Damage.]]></description>
			<content:encoded><![CDATA[Hi friends! <br />
<br />
My friend called KarTal need script for 2x Score or Damage.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Need more information]]></title>
			<link>https://modszombies.com/thread-Need-more-information</link>
			<pubDate>Tue, 31 Jul 2018 18:41:56 +0200</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-Need-more-information</guid>
			<description><![CDATA[Hello Guys,<br />
<br />
this Thread is only for modder sorry <img src="https://modszombies.com/images/smilies/yahoo/1.gif" alt="1" title="1" class="smilie smilie_95" /><br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>//This code has been released 27/07/2018<br />
//Cheat area <br />
ammo()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;self iPrintlnBold("^1Admins:" + adm[0] + " Gave you Unlimited Clip!"); //[number] depend of your guid<br />
&nbsp;&nbsp;&nbsp;&nbsp;while(isAlive(self) &amp;&amp; self.sessionstate == "playing")<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotWeapon("primary", self getWeaponSlotWeapon("primary"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotClipAmmo("primary",  999);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotAmmo("primary",  999);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotWeapon("primaryb", self getWeaponSlotWeapon("primaryb"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotClipAmmo("primaryb",  999);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotAmmo("primaryb",  999);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotWeapon("pistol", self getWeaponSlotWeapon("pistol"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotClipAmmo("pistol",  999);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotAmmo("pistol",  999);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wait 0.01;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</code></div></div>
<br />
miss grenade, smoke nade and arty. Can you help me please]]></description>
			<content:encoded><![CDATA[Hello Guys,<br />
<br />
this Thread is only for modder sorry <img src="https://modszombies.com/images/smilies/yahoo/1.gif" alt="1" title="1" class="smilie smilie_95" /><br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>//This code has been released 27/07/2018<br />
//Cheat area <br />
ammo()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;self iPrintlnBold("^1Admins:" + adm[0] + " Gave you Unlimited Clip!"); //[number] depend of your guid<br />
&nbsp;&nbsp;&nbsp;&nbsp;while(isAlive(self) &amp;&amp; self.sessionstate == "playing")<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotWeapon("primary", self getWeaponSlotWeapon("primary"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotClipAmmo("primary",  999);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotAmmo("primary",  999);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotWeapon("primaryb", self getWeaponSlotWeapon("primaryb"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotClipAmmo("primaryb",  999);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotAmmo("primaryb",  999);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotWeapon("pistol", self getWeaponSlotWeapon("pistol"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotClipAmmo("pistol",  999);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self setWeaponSlotAmmo("pistol",  999);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wait 0.01;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</code></div></div>
<br />
miss grenade, smoke nade and arty. Can you help me please]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[AWE Callback Override (in MM2)]]></title>
			<link>https://modszombies.com/thread-AWE-Callback-Override-in-MM2</link>
			<pubDate>Mon, 19 Mar 2018 02:06:47 +0100</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-AWE-Callback-Override-in-MM2</guid>
			<description><![CDATA[Here is the callback override stuff so you load _mc2\_callbacks from _callbacksetup.gsc. _mc2\_players.gsc is then loaded by _callbacks.gsc.<br />
<br />
To make is so everything is not crammed in tdm.gsc callbacks. Less clutter, more organized <br />
<br />
_callbacksetup.gsc<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>// Callback Setup<br />
// This script provides the hooks from code into script for the gametype callback functions.<br />
<br />
//=============================================================================<br />
// Code Callback functions<br />
<br />
/*================<br />
Called by code after the level's main script function has run.<br />
================*/<br />
CodeCallback_StartGameType()<br />
{<br />
// If the gametype has not beed started, run the startup<br />
if(!isDefined(level.gametypestarted) || !level.gametypestarted)<br />
{<br />
[[level.callbackStartGameType]]();<br />
<br />
level.gametypestarted = true; // so we know that the gametype has been started up<br />
}<br />
}<br />
<br />
/*================<br />
Called when a player begins connecting to the server.<br />
Called again for every map change or tournement restart.<br />
<br />
Return undefined if the client should be allowed, otherwise return<br />
a string with the reason for denial.<br />
<br />
Otherwise, the client will be sent the current gamestate<br />
and will eventually get to ClientBegin.<br />
<br />
firstTime will be qtrue the very first time a client connects<br />
to the server machine, but qfalse on map changes and tournement<br />
restarts.<br />
================*/<br />
CodeCallback_PlayerConnect()<br />
{<br />
self endon("disconnect");<br />
[[level.callbackPlayerConnect]]();<br />
}<br />
<br />
/*================<br />
Called when a player drops from the server.<br />
Will not be called between levels.<br />
self is the player that is disconnecting.<br />
================*/<br />
CodeCallback_PlayerDisconnect()<br />
{<br />
self notify("disconnect");<br />
[[level.callbackPlayerDisconnect]]();<br />
}<br />
<br />
/*================<br />
Called when a player has taken damage.<br />
self is the player that took damage.<br />
================*/<br />
CodeCallback_PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset)<br />
{<br />
self endon("disconnect");<br />
[[level.callbackPlayerDamage]](eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset);<br />
}<br />
<br />
/*================<br />
Called when a player has been killed.<br />
self is the player that was killed.<br />
================*/<br />
CodeCallback_PlayerKilled(eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration)<br />
{<br />
self endon("disconnect");<br />
[[level.callbackPlayerKilled]](eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration);<br />
}<br />
<br />
//=============================================================================<br />
<br />
/*================<br />
Setup any misc callbacks stuff like defines and default callbacks<br />
================*/<br />
SetupCallbacks()<br />
{<br />
<br />
// MERCILESS<br />
_mc2&#92;_callbacks::init(); <br />
<br />
SetDefaultCallbacks();<br />
<br />
// Set defined for damage flags used in the playerDamage callback<br />
level.iDFLAGS_RADIUS = 1;<br />
level.iDFLAGS_NO_ARMOR = 2;<br />
level.iDFLAGS_NO_KNOCKBACK = 4;<br />
level.iDFLAGS_NO_TEAM_PROTECTION = 8;<br />
level.iDFLAGS_NO_PROTECTION = 16;<br />
level.iDFLAGS_PASSTHRU = 32;<br />
}<br />
<br />
/*================<br />
Called from the gametype script to store off the default callback functions.<br />
This allows the callbacks to be overridden by level script, but not lost.<br />
================*/<br />
SetDefaultCallbacks()<br />
{<br />
level.default_CallbackStartGameType = level.callbackStartGameType;<br />
level.default_CallbackPlayerConnect = level.callbackPlayerConnect;<br />
level.default_CallbackPlayerDisconnect = level.callbackPlayerDisconnect;<br />
level.default_CallbackPlayerDamage = level.callbackPlayerDamage;<br />
level.default_CallbackPlayerKilled = level.callbackPlayerKilled;<br />
}<br />
<br />
/*================<br />
Called when a gametype is not supported.<br />
================*/<br />
AbortLevel()<br />
{<br />
println("Aborting level - gametype is not supported");<br />
<br />
level.callbackStartGameType = ::callbackVoid;<br />
level.callbackPlayerConnect = ::callbackVoid;<br />
level.callbackPlayerDisconnect = ::callbackVoid;<br />
level.callbackPlayerDamage = ::callbackVoid;<br />
level.callbackPlayerKilled = ::callbackVoid;<br />
<br />
setcvar("g_gametype", "dm");<br />
<br />
exitLevel(false);<br />
}<br />
/*================<br />
================*/<br />
callbackVoid()<br />
{<br />
}</code></div></div>
<br />
_mc2\_callbacks.gsc<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>init()<br />
{<br />
// Override callbacks<br />
level.mc2_callbackStartGameType = level.callbackStartGameType;<br />
level.mc2_callbackPlayerConnect = level.callbackPlayerConnect;<br />
level.mc2_callbackPlayerDisconnect = level.callbackPlayerDisconnect;<br />
level.mc2_callbackPlayerDamage = level.callbackPlayerDamage;<br />
level.mc2_callbackPlayerKilled = level.callbackPlayerKilled;<br />
<br />
level.callbackStartGameType = ::Callback_StartGameType;<br />
level.callbackPlayerConnect = ::Callback_PlayerConnect;<br />
level.callbackPlayerDisconnect = ::Callback_PlayerDisconnect;<br />
level.callbackPlayerDamage = ::Callback_PlayerDamage;<br />
level.callbackPlayerKilled = ::Callback_PlayerKilled;<br />
}<br />
<br />
Callback_StartGameType()<br />
{<br />
_mc2&#92;_player::StartGametype();<br />
[[level.mc2_callbackStartGameType]]();<br />
}<br />
<br />
Callback_PlayerConnect()<br />
{<br />
self endon("disconnect");<br />
self _mc2&#92;_player::PlayerConnect();<br />
[[level.mc2_callbackPlayerConnect]]();<br />
}<br />
<br />
Callback_PlayerDisconnect()<br />
{<br />
self endon("disconnect");<br />
self _mc2&#92;_player::PlayerDisconnect();<br />
[[level.mc2_callbackPlayerDisconnect]]();<br />
}<br />
<br />
Callback_PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime)<br />
{<br />
self endon("disconnect");<br />
<br />
iDamage = self _mc2&#92;_player::PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime);<br />
<br />
if(iDamage&gt;=0)<br />
{<br />
[[level.mc2_callbackPlayerDamage]](eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime);<br />
_mc2&#92;_player::PostPlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime);<br />
}<br />
/* OFF TEMP<br />
// Update healthbar<br />
if (isdefined(self) &amp;&amp; isPlayer(self))<br />
self mc2&#92;_healthbar::UpdateHealthBar();<br />
if (isdefined(eAttacker) &amp;&amp; isPlayer(eAttacker))<br />
eAttacker mc2&#92;_healhbar::UpdateHealthBar();<br />
*/ <br />
}<br />
<br />
Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration)<br />
{<br />
self endon("disconnect");<br />
self _mc2&#92;_player::PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration);<br />
[[level.mc2_callbackPlayerKilled]](eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration);<br />
}</code></div></div>
<br />
then _players.gsc loads each script:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>StartGameType()<br />
{ <br />
//Flags<br />
_mc2&#92;_levelflags::InitPlayer_Flags();<br />
<br />
//sprint<br />
//if(getcvarint("scr_" + self.pers["pClass"] + "_speed") &lt; 1)<br />
self.maxspeed = getcvar("g_speed");<br />
//else<br />
// self.maxspeed = getcvarint("scr_" + self.pers["pClass"] + "_speed");<br />
<br />
//bots<br />
thread _mc2&#92;_bots::init();<br />
thread _mc2&#92;_bots::addTestClients();<br />
<br />
//SpawnProtection int<br />
_mc2&#92;_protect::init();<br />
<br />
_mc2&#92;_mc2_init::init();<br />
_mc2&#92;pb::pb_init();<br />
<br />
thread _mc2&#92;_mc2_classes::init();<br />
thread _mc2&#92;_mc2_classes::MonitorClasses();<br />
<br />
// _mc2&#92;_mortars::init(); //update later<br />
_mc2&#92;_artillery::init();<br />
_mc2&#92;_mc2_special::init(); //Eliminate later<br />
// Sprinting<br />
thread _mc2&#92;_sprinting::init();  // Added by bell<br />
_mc2&#92;_healthpacks::init();<br />
<br />
  thread _mc2&#92;_protect::nozombie(); <br />
  <br />
thread _mc2&#92;_bannerimage::banner_image("gfx/hud/logo_mc1.tga", 179,45,15,-5);<br />
}<br />
PlayerConnect()<br />
{<br />
<br />
<br />
<br />
}<br />
PlayerDisconnect()<br />
{<br />
<br />
<br />
}<br />
spawnPlayer()<br />
{<br />
//Spawn Protection<br />
_mc2&#92;_protect::ProtectSpawnPlayer();<br />
<br />
if(isdefined(game["german_soldiertype"]) &amp;&amp; (game["german_soldiertype"] == "winterlight"||game["german_soldiertype"] == "winterdark")<br />
||isdefined(game["russian_soldiertype"]) &amp;&amp; (game["russian_soldiertype"] == "padded"||game["russian_soldiertype"] == "coats")&amp;&amp;level.scr_coldbreath==1)<br />
self thread _mc2&#92;_coldbreath::breath();<br />
<br />
<br />
//Skins<br />
self thread _mc2&#92;_playermodels::checkAttachment_head();<br />
self thread _mc2&#92;_playermodels::checkAttachment_hat();<br />
<br />
self thread _mc2&#92;_buttonusage::checkStance();<br />
self thread _mc2&#92;_buttonusage::check_adsbutton();<br />
<br />
//deadbody handling<br />
//self thread _mc2&#92;_mc2_gore::check_nade();<br />
self thread _mc2&#92;_mc2_gore::body_shooting(); <br />
<br />
_mc2&#92;_mc2_hud::hud();<br />
<br />
//Reset some HUD Elems<br />
_mc2&#92;_clearhud::resetHUD();<br />
<br />
self _mc2&#92;_sprinting::RunOnSpawn(); // Added by bell<br />
<br />
//Wait until player dies<br />
self waittill("TimeToDie", attacker);<br />
<br />
_mc2&#92;_sprinting::CleanupKilled(); // Added by bell<br />
<br />
//Clean up HUD Elems<br />
_mc2&#92;_clearhud::hud_playerdeath();<br />
<br />
//Obitsys<br />
_mc2&#92;_obitsys::ObitSpawnPlayer(attacker);<br />
}<br />
spawnSpectator()<br />
{<br />
self _mc2&#92;_clearhud::resetHUD();<br />
self _mc2&#92;_clearhud::hud_playerdeath();<br />
if(isDefined(self.sprot))<br />
self.sprot destroy();<br />
<br />
}<br />
PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime)<br />
{<br />
if(isdefined(self.burned)&amp;&amp;self.burned==1||sMeansOfDeath == "MOD_UNKNOWN"||sMeansOfDeath == "MOD_FALLING"||isDefined(self.protected))return;<br />
<br />
if (!isDefined(vPoint))<br />
vPoint = self.origin + (0,0,11);<br />
<br />
if(isDefined(self.scr) &amp;&amp; self.health - iDamage &gt; 0 )<br />
self thread _mc2&#92;_painsounds::_doSounds("pain",sMeansOfDeath);<br />
<br />
if (isPlayer(eAttacker) &amp;&amp; sMeansOfDeath != "MOD_FALLING" &amp;&amp; level.scr_bloodyscreen)<br />
{<br />
if(sMeansOfDeath == "MOD_MELEE" || distance(eAttacker.origin , self.origin ) &lt;= 48 )<br />
eAttacker thread _mc2&#92;_mc2_gore::Splatter_View();<br />
<br />
if(level.scr_showhit )<br />
eAttacker thread _mc2&#92;_mc2_gore::showhit();<br />
}<br />
if(sHitLoc == "head" || shitLoc=="none" || sHitLoc=="helmet")<br />
{<br />
if(level.scr_bloodyscreen &amp;&amp; (!isDefined(self.thrown)))<br />
self thread _mc2&#92;_mc2_gore::Splatter_View();<br />
}<br />
if(level.scr_extragore &amp;&amp; sMeansOfDeath != "MOD_GRENADE" &amp;&amp; sMeansOfDeath != "MOD_GRENADE_SPLASH")<br />
{<br />
if(level.bloodfx==0)return;<br />
else if(level.bloodfx==1)<br />
{<br />
switch (randomint(3))<br />
{<br />
case 0: playfx(level._effect["hit_extra1_mc"],vPoint,vDir);break; <br />
case 1: playfx(level._effect["hit_extra2_mc"],vPoint,vDir);break;<br />
case 2: playfx(level._effect["hit_extra3_mc"],vPoint,vDir);break;<br />
}<br />
}<br />
else<br />
{<br />
switch (randomint(3))<br />
{<br />
case 0: playfx(level._effect["hit_extra1"],vPoint,vDir);break; <br />
case 1: playfx(level._effect["hit_extra2"],vPoint,vDir);break;<br />
case 2: playfx(level._effect["hit_extra3"],vPoint,vDir);break;<br />
}<br />
}<br />
}<br />
<br />
if(sHitLoc == "right_hand"|| sHitLoc == "left_hand" || sHitLoc == "gun" || sHitLoc == "right_arm_lower" || sHitLoc == "left_arm_lower")<br />
{ <br />
if ( isAlive(self) &amp;&amp; level.scr_dropweaponhit &gt; randomint(99))<br />
self dropItem(self getcurrentweapon());<br />
}<br />
if(level.realism &amp;&amp; sHitLoc == "left_leg_upper" || sHitLoc == "right_leg_upper" || sHitLoc == "left_leg_lower" || sHitLoc == "right_leg_lower" || sHitLoc == "left_foot" || sHitLoc == "right_foot")<br />
{<br />
if(self.stance==2)<br />
_mc2&#92;_forceto::forceto("crouch");<br />
else if(self.stance==1)<br />
_mc2&#92;_forceto::forceto("prone");<br />
}<br />
<br />
if(sHitLoc == "head"|| sHitLoc=="helmet")<br />
{ <br />
<br />
if( self.health - iDamage &lt; 1  &amp;&amp;  (iDamage &gt;= level.scr_decap_min) &amp;&amp; sMeansOfDeath != "MOD_MELEE" )<br />
{<br />
}<br />
else <br />
if(self.decaped != 1 )<br />
{<br />
self thread _mc2&#92;_painsounds::_doSounds("death",sMeansOfDeath); <br />
} <br />
}<br />
<br />
if(sHitLoc == "none")<br />
{ <br />
if(sMeansOfDeath == "MOD_PROJECTILE" || sMeansOfDeath == "MOD_PROJECTILE_SPLASH" || sMeansOfDeath == "MOD_GRENADE" || sMeansOfDeath == "MOD_GRENADE_SPLASH" || sMeansOfDeath == "MOD_EXPLOSIVE")<br />
{<br />
if(self.health - iDamage &lt; 1)<br />
{<br />
if(isDefined(eInflictor))<br />
{<br />
if(distance(eInflictor.origin,self.origin)&lt;=100)<br />
{<br />
}<br />
else if(distance(eInflictor.origin,self.origin)&gt;100)<br />
{<br />
if( (iDamage &gt;= level.scr_decap_min) &amp;&amp; (level.scr_decap_chance &gt;= randomint(100)) &amp;&amp; (sMeansOfDeath != "MOD_MELEE") &amp;&amp; (!isDefined(self.thrown)) )<br />
{<br />
}<br />
else<br />
{<br />
self thread _mc2&#92;_painsounds::_doSounds("death",sMeansOfDeath);<br />
}<br />
}<br />
}<br />
}<br />
}<br />
}<br />
}<br />
PostPlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime)<br />
{<br />
//Gas Nade<br />
self thread _mc2&#92;_gasnade::GasPlayerDamage(vPoint, eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, level.mustardgas, vDir, sHitLoc, psOffsetTime);<br />
<br />
//flame nade<br />
self thread _mc2&#92;_flamenade::FlamePlayerDamage(vPoint, eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, level.flamenade, vDir, sHitLoc, psOffsetTime);<br />
<br />
//helmet pop<br />
thread _mc2&#92;_helmetpop::HelmetPlayerDamage(sHitLoc, sMeansOfDeath, self.helm, vPoint, self.curhat, iDamage, "death", org, ch, vDir, model);<br />
<br />
}<br />
PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration)<br />
{<br />
<br />
if(self.sessionteam == "spectator")<br />
return;<br />
<br />
if(isPlayer(attacker))<br />
{<br />
if(attacker == self) // killed himself<br />
{<br />
}<br />
else<br />
{<br />
<br />
if(level.awe_teamplay &amp;&amp; self.pers["team"] == attacker.pers["team"]) // killed by a friendly<br />
{<br />
attacker _mc2&#92;_teamkilling::TeamKill();<br />
}<br />
else // killed by an enemy<br />
{<br />
}<br />
}<br />
}<br />
else // If you weren't killed by a player, you were in the wrong place at the wrong time<br />
{<br />
}<br />
<br />
// Drop health<br />
_mc2&#92;_healthpacks::dropHealth();<br />
<br />
//Bloodpools<br />
_mc2&#92;_bloodpools::BloodPlayerKilled(self.burned, self.origin);<br />
<br />
//PlayerBurn<br />
_mc2&#92;_playerburn::BurnPlayerKilled(self.burned, sWeapon);<br />
<br />
}<br />
endMap()<br />
{<br />
//remove bots<br />
thread _mc2&#92;_bots::removeTestClients();<br />
<br />
}</code></div></div>
]]></description>
			<content:encoded><![CDATA[Here is the callback override stuff so you load _mc2\_callbacks from _callbacksetup.gsc. _mc2\_players.gsc is then loaded by _callbacks.gsc.<br />
<br />
To make is so everything is not crammed in tdm.gsc callbacks. Less clutter, more organized <br />
<br />
_callbacksetup.gsc<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>// Callback Setup<br />
// This script provides the hooks from code into script for the gametype callback functions.<br />
<br />
//=============================================================================<br />
// Code Callback functions<br />
<br />
/*================<br />
Called by code after the level's main script function has run.<br />
================*/<br />
CodeCallback_StartGameType()<br />
{<br />
// If the gametype has not beed started, run the startup<br />
if(!isDefined(level.gametypestarted) || !level.gametypestarted)<br />
{<br />
[[level.callbackStartGameType]]();<br />
<br />
level.gametypestarted = true; // so we know that the gametype has been started up<br />
}<br />
}<br />
<br />
/*================<br />
Called when a player begins connecting to the server.<br />
Called again for every map change or tournement restart.<br />
<br />
Return undefined if the client should be allowed, otherwise return<br />
a string with the reason for denial.<br />
<br />
Otherwise, the client will be sent the current gamestate<br />
and will eventually get to ClientBegin.<br />
<br />
firstTime will be qtrue the very first time a client connects<br />
to the server machine, but qfalse on map changes and tournement<br />
restarts.<br />
================*/<br />
CodeCallback_PlayerConnect()<br />
{<br />
self endon("disconnect");<br />
[[level.callbackPlayerConnect]]();<br />
}<br />
<br />
/*================<br />
Called when a player drops from the server.<br />
Will not be called between levels.<br />
self is the player that is disconnecting.<br />
================*/<br />
CodeCallback_PlayerDisconnect()<br />
{<br />
self notify("disconnect");<br />
[[level.callbackPlayerDisconnect]]();<br />
}<br />
<br />
/*================<br />
Called when a player has taken damage.<br />
self is the player that took damage.<br />
================*/<br />
CodeCallback_PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset)<br />
{<br />
self endon("disconnect");<br />
[[level.callbackPlayerDamage]](eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset);<br />
}<br />
<br />
/*================<br />
Called when a player has been killed.<br />
self is the player that was killed.<br />
================*/<br />
CodeCallback_PlayerKilled(eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration)<br />
{<br />
self endon("disconnect");<br />
[[level.callbackPlayerKilled]](eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration);<br />
}<br />
<br />
//=============================================================================<br />
<br />
/*================<br />
Setup any misc callbacks stuff like defines and default callbacks<br />
================*/<br />
SetupCallbacks()<br />
{<br />
<br />
// MERCILESS<br />
_mc2&#92;_callbacks::init(); <br />
<br />
SetDefaultCallbacks();<br />
<br />
// Set defined for damage flags used in the playerDamage callback<br />
level.iDFLAGS_RADIUS = 1;<br />
level.iDFLAGS_NO_ARMOR = 2;<br />
level.iDFLAGS_NO_KNOCKBACK = 4;<br />
level.iDFLAGS_NO_TEAM_PROTECTION = 8;<br />
level.iDFLAGS_NO_PROTECTION = 16;<br />
level.iDFLAGS_PASSTHRU = 32;<br />
}<br />
<br />
/*================<br />
Called from the gametype script to store off the default callback functions.<br />
This allows the callbacks to be overridden by level script, but not lost.<br />
================*/<br />
SetDefaultCallbacks()<br />
{<br />
level.default_CallbackStartGameType = level.callbackStartGameType;<br />
level.default_CallbackPlayerConnect = level.callbackPlayerConnect;<br />
level.default_CallbackPlayerDisconnect = level.callbackPlayerDisconnect;<br />
level.default_CallbackPlayerDamage = level.callbackPlayerDamage;<br />
level.default_CallbackPlayerKilled = level.callbackPlayerKilled;<br />
}<br />
<br />
/*================<br />
Called when a gametype is not supported.<br />
================*/<br />
AbortLevel()<br />
{<br />
println("Aborting level - gametype is not supported");<br />
<br />
level.callbackStartGameType = ::callbackVoid;<br />
level.callbackPlayerConnect = ::callbackVoid;<br />
level.callbackPlayerDisconnect = ::callbackVoid;<br />
level.callbackPlayerDamage = ::callbackVoid;<br />
level.callbackPlayerKilled = ::callbackVoid;<br />
<br />
setcvar("g_gametype", "dm");<br />
<br />
exitLevel(false);<br />
}<br />
/*================<br />
================*/<br />
callbackVoid()<br />
{<br />
}</code></div></div>
<br />
_mc2\_callbacks.gsc<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>init()<br />
{<br />
// Override callbacks<br />
level.mc2_callbackStartGameType = level.callbackStartGameType;<br />
level.mc2_callbackPlayerConnect = level.callbackPlayerConnect;<br />
level.mc2_callbackPlayerDisconnect = level.callbackPlayerDisconnect;<br />
level.mc2_callbackPlayerDamage = level.callbackPlayerDamage;<br />
level.mc2_callbackPlayerKilled = level.callbackPlayerKilled;<br />
<br />
level.callbackStartGameType = ::Callback_StartGameType;<br />
level.callbackPlayerConnect = ::Callback_PlayerConnect;<br />
level.callbackPlayerDisconnect = ::Callback_PlayerDisconnect;<br />
level.callbackPlayerDamage = ::Callback_PlayerDamage;<br />
level.callbackPlayerKilled = ::Callback_PlayerKilled;<br />
}<br />
<br />
Callback_StartGameType()<br />
{<br />
_mc2&#92;_player::StartGametype();<br />
[[level.mc2_callbackStartGameType]]();<br />
}<br />
<br />
Callback_PlayerConnect()<br />
{<br />
self endon("disconnect");<br />
self _mc2&#92;_player::PlayerConnect();<br />
[[level.mc2_callbackPlayerConnect]]();<br />
}<br />
<br />
Callback_PlayerDisconnect()<br />
{<br />
self endon("disconnect");<br />
self _mc2&#92;_player::PlayerDisconnect();<br />
[[level.mc2_callbackPlayerDisconnect]]();<br />
}<br />
<br />
Callback_PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime)<br />
{<br />
self endon("disconnect");<br />
<br />
iDamage = self _mc2&#92;_player::PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime);<br />
<br />
if(iDamage&gt;=0)<br />
{<br />
[[level.mc2_callbackPlayerDamage]](eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime);<br />
_mc2&#92;_player::PostPlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime);<br />
}<br />
/* OFF TEMP<br />
// Update healthbar<br />
if (isdefined(self) &amp;&amp; isPlayer(self))<br />
self mc2&#92;_healthbar::UpdateHealthBar();<br />
if (isdefined(eAttacker) &amp;&amp; isPlayer(eAttacker))<br />
eAttacker mc2&#92;_healhbar::UpdateHealthBar();<br />
*/ <br />
}<br />
<br />
Callback_PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration)<br />
{<br />
self endon("disconnect");<br />
self _mc2&#92;_player::PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration);<br />
[[level.mc2_callbackPlayerKilled]](eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration);<br />
}</code></div></div>
<br />
then _players.gsc loads each script:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>StartGameType()<br />
{ <br />
//Flags<br />
_mc2&#92;_levelflags::InitPlayer_Flags();<br />
<br />
//sprint<br />
//if(getcvarint("scr_" + self.pers["pClass"] + "_speed") &lt; 1)<br />
self.maxspeed = getcvar("g_speed");<br />
//else<br />
// self.maxspeed = getcvarint("scr_" + self.pers["pClass"] + "_speed");<br />
<br />
//bots<br />
thread _mc2&#92;_bots::init();<br />
thread _mc2&#92;_bots::addTestClients();<br />
<br />
//SpawnProtection int<br />
_mc2&#92;_protect::init();<br />
<br />
_mc2&#92;_mc2_init::init();<br />
_mc2&#92;pb::pb_init();<br />
<br />
thread _mc2&#92;_mc2_classes::init();<br />
thread _mc2&#92;_mc2_classes::MonitorClasses();<br />
<br />
// _mc2&#92;_mortars::init(); //update later<br />
_mc2&#92;_artillery::init();<br />
_mc2&#92;_mc2_special::init(); //Eliminate later<br />
// Sprinting<br />
thread _mc2&#92;_sprinting::init();  // Added by bell<br />
_mc2&#92;_healthpacks::init();<br />
<br />
  thread _mc2&#92;_protect::nozombie(); <br />
  <br />
thread _mc2&#92;_bannerimage::banner_image("gfx/hud/logo_mc1.tga", 179,45,15,-5);<br />
}<br />
PlayerConnect()<br />
{<br />
<br />
<br />
<br />
}<br />
PlayerDisconnect()<br />
{<br />
<br />
<br />
}<br />
spawnPlayer()<br />
{<br />
//Spawn Protection<br />
_mc2&#92;_protect::ProtectSpawnPlayer();<br />
<br />
if(isdefined(game["german_soldiertype"]) &amp;&amp; (game["german_soldiertype"] == "winterlight"||game["german_soldiertype"] == "winterdark")<br />
||isdefined(game["russian_soldiertype"]) &amp;&amp; (game["russian_soldiertype"] == "padded"||game["russian_soldiertype"] == "coats")&amp;&amp;level.scr_coldbreath==1)<br />
self thread _mc2&#92;_coldbreath::breath();<br />
<br />
<br />
//Skins<br />
self thread _mc2&#92;_playermodels::checkAttachment_head();<br />
self thread _mc2&#92;_playermodels::checkAttachment_hat();<br />
<br />
self thread _mc2&#92;_buttonusage::checkStance();<br />
self thread _mc2&#92;_buttonusage::check_adsbutton();<br />
<br />
//deadbody handling<br />
//self thread _mc2&#92;_mc2_gore::check_nade();<br />
self thread _mc2&#92;_mc2_gore::body_shooting(); <br />
<br />
_mc2&#92;_mc2_hud::hud();<br />
<br />
//Reset some HUD Elems<br />
_mc2&#92;_clearhud::resetHUD();<br />
<br />
self _mc2&#92;_sprinting::RunOnSpawn(); // Added by bell<br />
<br />
//Wait until player dies<br />
self waittill("TimeToDie", attacker);<br />
<br />
_mc2&#92;_sprinting::CleanupKilled(); // Added by bell<br />
<br />
//Clean up HUD Elems<br />
_mc2&#92;_clearhud::hud_playerdeath();<br />
<br />
//Obitsys<br />
_mc2&#92;_obitsys::ObitSpawnPlayer(attacker);<br />
}<br />
spawnSpectator()<br />
{<br />
self _mc2&#92;_clearhud::resetHUD();<br />
self _mc2&#92;_clearhud::hud_playerdeath();<br />
if(isDefined(self.sprot))<br />
self.sprot destroy();<br />
<br />
}<br />
PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime)<br />
{<br />
if(isdefined(self.burned)&amp;&amp;self.burned==1||sMeansOfDeath == "MOD_UNKNOWN"||sMeansOfDeath == "MOD_FALLING"||isDefined(self.protected))return;<br />
<br />
if (!isDefined(vPoint))<br />
vPoint = self.origin + (0,0,11);<br />
<br />
if(isDefined(self.scr) &amp;&amp; self.health - iDamage &gt; 0 )<br />
self thread _mc2&#92;_painsounds::_doSounds("pain",sMeansOfDeath);<br />
<br />
if (isPlayer(eAttacker) &amp;&amp; sMeansOfDeath != "MOD_FALLING" &amp;&amp; level.scr_bloodyscreen)<br />
{<br />
if(sMeansOfDeath == "MOD_MELEE" || distance(eAttacker.origin , self.origin ) &lt;= 48 )<br />
eAttacker thread _mc2&#92;_mc2_gore::Splatter_View();<br />
<br />
if(level.scr_showhit )<br />
eAttacker thread _mc2&#92;_mc2_gore::showhit();<br />
}<br />
if(sHitLoc == "head" || shitLoc=="none" || sHitLoc=="helmet")<br />
{<br />
if(level.scr_bloodyscreen &amp;&amp; (!isDefined(self.thrown)))<br />
self thread _mc2&#92;_mc2_gore::Splatter_View();<br />
}<br />
if(level.scr_extragore &amp;&amp; sMeansOfDeath != "MOD_GRENADE" &amp;&amp; sMeansOfDeath != "MOD_GRENADE_SPLASH")<br />
{<br />
if(level.bloodfx==0)return;<br />
else if(level.bloodfx==1)<br />
{<br />
switch (randomint(3))<br />
{<br />
case 0: playfx(level._effect["hit_extra1_mc"],vPoint,vDir);break; <br />
case 1: playfx(level._effect["hit_extra2_mc"],vPoint,vDir);break;<br />
case 2: playfx(level._effect["hit_extra3_mc"],vPoint,vDir);break;<br />
}<br />
}<br />
else<br />
{<br />
switch (randomint(3))<br />
{<br />
case 0: playfx(level._effect["hit_extra1"],vPoint,vDir);break; <br />
case 1: playfx(level._effect["hit_extra2"],vPoint,vDir);break;<br />
case 2: playfx(level._effect["hit_extra3"],vPoint,vDir);break;<br />
}<br />
}<br />
}<br />
<br />
if(sHitLoc == "right_hand"|| sHitLoc == "left_hand" || sHitLoc == "gun" || sHitLoc == "right_arm_lower" || sHitLoc == "left_arm_lower")<br />
{ <br />
if ( isAlive(self) &amp;&amp; level.scr_dropweaponhit &gt; randomint(99))<br />
self dropItem(self getcurrentweapon());<br />
}<br />
if(level.realism &amp;&amp; sHitLoc == "left_leg_upper" || sHitLoc == "right_leg_upper" || sHitLoc == "left_leg_lower" || sHitLoc == "right_leg_lower" || sHitLoc == "left_foot" || sHitLoc == "right_foot")<br />
{<br />
if(self.stance==2)<br />
_mc2&#92;_forceto::forceto("crouch");<br />
else if(self.stance==1)<br />
_mc2&#92;_forceto::forceto("prone");<br />
}<br />
<br />
if(sHitLoc == "head"|| sHitLoc=="helmet")<br />
{ <br />
<br />
if( self.health - iDamage &lt; 1  &amp;&amp;  (iDamage &gt;= level.scr_decap_min) &amp;&amp; sMeansOfDeath != "MOD_MELEE" )<br />
{<br />
}<br />
else <br />
if(self.decaped != 1 )<br />
{<br />
self thread _mc2&#92;_painsounds::_doSounds("death",sMeansOfDeath); <br />
} <br />
}<br />
<br />
if(sHitLoc == "none")<br />
{ <br />
if(sMeansOfDeath == "MOD_PROJECTILE" || sMeansOfDeath == "MOD_PROJECTILE_SPLASH" || sMeansOfDeath == "MOD_GRENADE" || sMeansOfDeath == "MOD_GRENADE_SPLASH" || sMeansOfDeath == "MOD_EXPLOSIVE")<br />
{<br />
if(self.health - iDamage &lt; 1)<br />
{<br />
if(isDefined(eInflictor))<br />
{<br />
if(distance(eInflictor.origin,self.origin)&lt;=100)<br />
{<br />
}<br />
else if(distance(eInflictor.origin,self.origin)&gt;100)<br />
{<br />
if( (iDamage &gt;= level.scr_decap_min) &amp;&amp; (level.scr_decap_chance &gt;= randomint(100)) &amp;&amp; (sMeansOfDeath != "MOD_MELEE") &amp;&amp; (!isDefined(self.thrown)) )<br />
{<br />
}<br />
else<br />
{<br />
self thread _mc2&#92;_painsounds::_doSounds("death",sMeansOfDeath);<br />
}<br />
}<br />
}<br />
}<br />
}<br />
}<br />
}<br />
PostPlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime)<br />
{<br />
//Gas Nade<br />
self thread _mc2&#92;_gasnade::GasPlayerDamage(vPoint, eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, level.mustardgas, vDir, sHitLoc, psOffsetTime);<br />
<br />
//flame nade<br />
self thread _mc2&#92;_flamenade::FlamePlayerDamage(vPoint, eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, level.flamenade, vDir, sHitLoc, psOffsetTime);<br />
<br />
//helmet pop<br />
thread _mc2&#92;_helmetpop::HelmetPlayerDamage(sHitLoc, sMeansOfDeath, self.helm, vPoint, self.curhat, iDamage, "death", org, ch, vDir, model);<br />
<br />
}<br />
PlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration)<br />
{<br />
<br />
if(self.sessionteam == "spectator")<br />
return;<br />
<br />
if(isPlayer(attacker))<br />
{<br />
if(attacker == self) // killed himself<br />
{<br />
}<br />
else<br />
{<br />
<br />
if(level.awe_teamplay &amp;&amp; self.pers["team"] == attacker.pers["team"]) // killed by a friendly<br />
{<br />
attacker _mc2&#92;_teamkilling::TeamKill();<br />
}<br />
else // killed by an enemy<br />
{<br />
}<br />
}<br />
}<br />
else // If you weren't killed by a player, you were in the wrong place at the wrong time<br />
{<br />
}<br />
<br />
// Drop health<br />
_mc2&#92;_healthpacks::dropHealth();<br />
<br />
//Bloodpools<br />
_mc2&#92;_bloodpools::BloodPlayerKilled(self.burned, self.origin);<br />
<br />
//PlayerBurn<br />
_mc2&#92;_playerburn::BurnPlayerKilled(self.burned, sWeapon);<br />
<br />
}<br />
endMap()<br />
{<br />
//remove bots<br />
thread _mc2&#92;_bots::removeTestClients();<br />
<br />
}</code></div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Become a Better Self Learned Coding Master?]]></title>
			<link>https://modszombies.com/thread-Become-a-Better-Self-Learned-Coding-Master</link>
			<pubDate>Sun, 18 Mar 2018 18:09:36 +0100</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-Become-a-Better-Self-Learned-Coding-Master</guid>
			<description><![CDATA[Server Side Coding is were it's at. You can add new weapons, maps, and models. But at the end of the day it's still stock CoD1/UO with some assets. To be a modder you need to know more than just client side script menu coding, if you want to do more then spinoff carbon copies...<br />
<br />
I consider myself visual and learn by doing person. Sitting in college reading 1,000 page books on "theory" and hearing lecture would be ultra weird to me.<br />
<br />
Most of the information can be found outside of textbooks and academia. Cut out the student loans and monologues, mind as well sign up for those non-credit online programming courses. Like a project based online course were you build a basic game like a side-scroller Mega Man or something.<br />
<br />
Anyone tried one of these?<br />
<br />
1. edX<br />
2. Khan Acamedy<br />
3. Udemy<br />
4. Alison<br />
5. Udacity<br />
6. Code Academy<br />
7.Lynda<br />
8. Duolingo<br />
9. Team Tree House<br />
10. OpenCulture<br />
<br />
I'd likely enroll in those courses if anyone can recommend them. Still would be far cheaper then College or Trade School.]]></description>
			<content:encoded><![CDATA[Server Side Coding is were it's at. You can add new weapons, maps, and models. But at the end of the day it's still stock CoD1/UO with some assets. To be a modder you need to know more than just client side script menu coding, if you want to do more then spinoff carbon copies...<br />
<br />
I consider myself visual and learn by doing person. Sitting in college reading 1,000 page books on "theory" and hearing lecture would be ultra weird to me.<br />
<br />
Most of the information can be found outside of textbooks and academia. Cut out the student loans and monologues, mind as well sign up for those non-credit online programming courses. Like a project based online course were you build a basic game like a side-scroller Mega Man or something.<br />
<br />
Anyone tried one of these?<br />
<br />
1. edX<br />
2. Khan Acamedy<br />
3. Udemy<br />
4. Alison<br />
5. Udacity<br />
6. Code Academy<br />
7.Lynda<br />
8. Duolingo<br />
9. Team Tree House<br />
10. OpenCulture<br />
<br />
I'd likely enroll in those courses if anyone can recommend them. Still would be far cheaper then College or Trade School.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Uninitialized Variable in C Argument ???]]></title>
			<link>https://modszombies.com/thread-Uninitialized-Variable-in-C-Argument</link>
			<pubDate>Sun, 18 Mar 2018 00:23:07 +0100</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-Uninitialized-Variable-in-C-Argument</guid>
			<description><![CDATA[Keep getting errors when rearranging files and split it them off to own scripts. This seemed to have happened after adding AWE Callback Override into CoD2 Merciless Mod 2. So I don't have to edit each callback from gametype and do "thread _mc2/_player:<img src="https://modszombies.com/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" />layerkilled(blah, blah);"<br />
<br />
It makes it so _players.gsc loads other scripts without cramming everything into gametype files.<br />
<br />
<a href="https://github.com/PlusIce4/Merciless-Mod-2" target="_blank">https://github.com/PlusIce4/Merciless-Mod-2</a><br />
<br />
Going to post the revisions in "Testnet" Branch:<br />
<br />
<a href="https://github.com/PlusIce4/Merciless-Mod-2/tree/Testnet" target="_blank">https://github.com/PlusIce4/Merciless-Mo...ee/Testnet</a>]]></description>
			<content:encoded><![CDATA[Keep getting errors when rearranging files and split it them off to own scripts. This seemed to have happened after adding AWE Callback Override into CoD2 Merciless Mod 2. So I don't have to edit each callback from gametype and do "thread _mc2/_player:<img src="https://modszombies.com/images/smilies/tongue.gif" alt="Tongue" title="Tongue" class="smilie smilie_5" />layerkilled(blah, blah);"<br />
<br />
It makes it so _players.gsc loads other scripts without cramming everything into gametype files.<br />
<br />
<a href="https://github.com/PlusIce4/Merciless-Mod-2" target="_blank">https://github.com/PlusIce4/Merciless-Mod-2</a><br />
<br />
Going to post the revisions in "Testnet" Branch:<br />
<br />
<a href="https://github.com/PlusIce4/Merciless-Mod-2/tree/Testnet" target="_blank">https://github.com/PlusIce4/Merciless-Mo...ee/Testnet</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[mp_sports_hall]]></title>
			<link>https://modszombies.com/thread-mp-sports-hall</link>
			<pubDate>Thu, 28 Apr 2016 22:27:05 +0200</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-mp-sports-hall</guid>
			<description><![CDATA[I will be making a remake of mp_fnrp_sports_hall from CoD4 RotU to CoD UO RotU with the help of fabio and {BA}Jimmy Markou, here is the map from CoD4: <a href="http://www.moddb.com/mods/reign-of-the-undead-zombies/addons/mp-fnrp-sports-hall1" target="_blank">http://www.moddb.com/mods/reign-of-the-u...orts-hall1</a><br />
<br />
Here are the custom textures: <a href="http://www.mediafire.com/view/dzyqzkq171d7vfe/banner.jpg" target="_blank">http://www.mediafire.com/view/dzyqzkq171...banner.jpg</a><br />
<a href="http://www.mediafire.com/view/mx8oo7h7yvd25cd/bb.jpg" target="_blank">http://www.mediafire.com/view/mx8oo7h7yvd25cd/bb.jpg</a><br />
<a href="http://www.mediafire.com/view/18uwcwjx2x2u1s2/bb2.jpg" target="_blank">http://www.mediafire.com/view/18uwcwjx2x2u1s2/bb2.jpg</a><br />
<a href="http://www.mediafire.com/view/a15wynovvq6bscj/mods.jpg" target="_blank">http://www.mediafire.com/view/a15wynovvq6bscj/mods.jpg</a><br />
<a href="http://www.mediafire.com/view/3etrskwy21ckbgz/ts.jpg" target="_blank">http://www.mediafire.com/view/3etrskwy21ckbgz/ts.jpg</a><br />
<br />
Want to help us?<br />
Any suggestions? <br />
Do you like the custom textures?]]></description>
			<content:encoded><![CDATA[I will be making a remake of mp_fnrp_sports_hall from CoD4 RotU to CoD UO RotU with the help of fabio and {BA}Jimmy Markou, here is the map from CoD4: <a href="http://www.moddb.com/mods/reign-of-the-undead-zombies/addons/mp-fnrp-sports-hall1" target="_blank">http://www.moddb.com/mods/reign-of-the-u...orts-hall1</a><br />
<br />
Here are the custom textures: <a href="http://www.mediafire.com/view/dzyqzkq171d7vfe/banner.jpg" target="_blank">http://www.mediafire.com/view/dzyqzkq171...banner.jpg</a><br />
<a href="http://www.mediafire.com/view/mx8oo7h7yvd25cd/bb.jpg" target="_blank">http://www.mediafire.com/view/mx8oo7h7yvd25cd/bb.jpg</a><br />
<a href="http://www.mediafire.com/view/18uwcwjx2x2u1s2/bb2.jpg" target="_blank">http://www.mediafire.com/view/18uwcwjx2x2u1s2/bb2.jpg</a><br />
<a href="http://www.mediafire.com/view/a15wynovvq6bscj/mods.jpg" target="_blank">http://www.mediafire.com/view/a15wynovvq6bscj/mods.jpg</a><br />
<a href="http://www.mediafire.com/view/3etrskwy21ckbgz/ts.jpg" target="_blank">http://www.mediafire.com/view/3etrskwy21ckbgz/ts.jpg</a><br />
<br />
Want to help us?<br />
Any suggestions? <br />
Do you like the custom textures?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Need Help Making A Map]]></title>
			<link>https://modszombies.com/thread-Need-Help-Making-A-Map</link>
			<pubDate>Sat, 16 Apr 2016 22:06:22 +0200</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-Need-Help-Making-A-Map</guid>
			<description><![CDATA[Will anyone be kind enough to help me make a RotU map? <img src="https://modszombies.com/images/smilies/yahoo/1.gif" alt="1" title="1" class="smilie smilie_95" />]]></description>
			<content:encoded><![CDATA[Will anyone be kind enough to help me make a RotU map? <img src="https://modszombies.com/images/smilies/yahoo/1.gif" alt="1" title="1" class="smilie smilie_95" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[mp_ratskitchen]]></title>
			<link>https://modszombies.com/thread-mp-ratskitchen</link>
			<pubDate>Mon, 04 Jan 2016 00:15:55 +0100</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-mp-ratskitchen</guid>
			<description><![CDATA[Hey guys, I know many of you like this map as I have discussed it with you in TS,  Suggestion is Rats Kitchen, think it would be a very fun map to add to the collection as it is huge and very open. <br />
<br />
Thanks-  Short7 <img src="https://modszombies.com/images/smilies/dodgy.gif" alt="Dodgy" title="Dodgy" class="smilie smilie_14" />]]></description>
			<content:encoded><![CDATA[Hey guys, I know many of you like this map as I have discussed it with you in TS,  Suggestion is Rats Kitchen, think it would be a very fun map to add to the collection as it is huge and very open. <br />
<br />
Thanks-  Short7 <img src="https://modszombies.com/images/smilies/dodgy.gif" alt="Dodgy" title="Dodgy" class="smilie smilie_14" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[New Music?!]]></title>
			<link>https://modszombies.com/thread-New-Music</link>
			<pubDate>Wed, 14 Oct 2015 23:05:48 +0200</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-New-Music</guid>
			<description><![CDATA[Fabio, do you have the power to place more songs in the server?  If so I will post a few suggestions that I would love to see in the servers, maybe new song for every wave like we have now?  (Bodies, Dog Round)]]></description>
			<content:encoded><![CDATA[Fabio, do you have the power to place more songs in the server?  If so I will post a few suggestions that I would love to see in the servers, maybe new song for every wave like we have now?  (Bodies, Dog Round)]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Pack O Punch Mod on Rotu]]></title>
			<link>https://modszombies.com/thread-Pack-O-Punch-Mod-on-Rotu</link>
			<pubDate>Wed, 22 Jul 2015 08:07:57 +0200</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-Pack-O-Punch-Mod-on-Rotu</guid>
			<description><![CDATA[I want to Rotu have Pack O Punch you dont know what is it ? It's a Machine who is upgrading your gun to More Powerful<br />
<br />
Then I want to have that idea for the Rotu Server it's all <br />
<br />
<br />
<br />
<br />
Send : CptPrice]]></description>
			<content:encoded><![CDATA[I want to Rotu have Pack O Punch you dont know what is it ? It's a Machine who is upgrading your gun to More Powerful<br />
<br />
Then I want to have that idea for the Rotu Server it's all <br />
<br />
<br />
<br />
<br />
Send : CptPrice]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[New Map Idea]]></title>
			<link>https://modszombies.com/thread-New-Map-Idea</link>
			<pubDate>Mon, 23 Jun 2014 09:32:39 +0200</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-New-Map-Idea</guid>
			<description><![CDATA[I don't know how to create maps, but I have some ideas. <br />
You know, now there is the FIFA World Cup, and I was thinking about the map "Pitch", something similar to a football pitch, closed by banisters. On the ground there would be footballs, benches and guns' chest and shop would be near one of two goals! <br />
What do you think about it?]]></description>
			<content:encoded><![CDATA[I don't know how to create maps, but I have some ideas. <br />
You know, now there is the FIFA World Cup, and I was thinking about the map "Pitch", something similar to a football pitch, closed by banisters. On the ground there would be footballs, benches and guns' chest and shop would be near one of two goals! <br />
What do you think about it?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[mods]]></title>
			<link>https://modszombies.com/thread-mods</link>
			<pubDate>Thu, 19 Dec 2013 18:40:23 +0100</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-mods</guid>
			<description><![CDATA[Hi, I am just new on this forum, but I think some of you already saw me on your server.<br />
I have  a coduo clan, which is almost dying <img src="https://modszombies.com/images/smilies/sad.gif" alt="Sad" title="Sad" class="smilie smilie_8" /><br />
We had a great mod on it, but it wasn't flawless. Unfortunally I don't know anything about mod building.<br />
I was just wondering if there is a tutorial how to enhance a mod?<br />
I'd like to get some bugs out of it.<br />
Thx for replying]]></description>
			<content:encoded><![CDATA[Hi, I am just new on this forum, but I think some of you already saw me on your server.<br />
I have  a coduo clan, which is almost dying <img src="https://modszombies.com/images/smilies/sad.gif" alt="Sad" title="Sad" class="smilie smilie_8" /><br />
We had a great mod on it, but it wasn't flawless. Unfortunally I don't know anything about mod building.<br />
I was just wondering if there is a tutorial how to enhance a mod?<br />
I'd like to get some bugs out of it.<br />
Thx for replying]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[chopper_mg_mp]]></title>
			<link>https://modszombies.com/thread-chopper-mg-mp</link>
			<pubDate>Mon, 09 Jul 2012 00:50:34 +0200</pubDate>
			<guid isPermaLink="false">https://modszombies.com/thread-chopper-mg-mp</guid>
			<description><![CDATA[Fabio, v37, I'm trying to go over some demos I recorded on Zombies Mod V3 ages ago. Some say I'm missing chopper_mg_mp or something like that. I know exactly what it means, but I appear to be missing a couple .pk3 files from Zombies mod which I need.<br />
I have, <br />
w_awe_uo_v2.1_client<br />
z_zombie_mod_client_v3<br />
z_zombie_mod_client_xupdate_v3<br />
z_zombie_mod_client_yupdate_v3<br />
z_zombie_mod_client_zupdate_v3<br />
z_zombie_mod_client_zzupdate_v3<br />
z_zombie_mod_client_zzzupdate_v3<br />
z_zombie_mod_client_zzzzupdate_v3<br />
z_zombie_mod_sound_v3<br />
z_zombie_mod_sound_xupdate_v3<br />
z_zombie_mod_sound_yupdate_v3<br />
z_zombie_mod_sound_zupdate_v3<br />
z_zombie_mod_sound_zzupdate_v3<br />
z_zombie_mod_z_oldschool_pak<br />
z_zombie_mod_z_oldschool_pak2<br />
z_zombie_mod_z_oldschool_pak3<br />
z_zombie_mod_z_oldschool_pak5<br />
z_zombie_mod_z_oldschool_pak6<br />
<br />
I presume I'm missing oldschool_pak4 and oldschool_pak1... FABIOOOOO]]></description>
			<content:encoded><![CDATA[Fabio, v37, I'm trying to go over some demos I recorded on Zombies Mod V3 ages ago. Some say I'm missing chopper_mg_mp or something like that. I know exactly what it means, but I appear to be missing a couple .pk3 files from Zombies mod which I need.<br />
I have, <br />
w_awe_uo_v2.1_client<br />
z_zombie_mod_client_v3<br />
z_zombie_mod_client_xupdate_v3<br />
z_zombie_mod_client_yupdate_v3<br />
z_zombie_mod_client_zupdate_v3<br />
z_zombie_mod_client_zzupdate_v3<br />
z_zombie_mod_client_zzzupdate_v3<br />
z_zombie_mod_client_zzzzupdate_v3<br />
z_zombie_mod_sound_v3<br />
z_zombie_mod_sound_xupdate_v3<br />
z_zombie_mod_sound_yupdate_v3<br />
z_zombie_mod_sound_zupdate_v3<br />
z_zombie_mod_sound_zzupdate_v3<br />
z_zombie_mod_z_oldschool_pak<br />
z_zombie_mod_z_oldschool_pak2<br />
z_zombie_mod_z_oldschool_pak3<br />
z_zombie_mod_z_oldschool_pak5<br />
z_zombie_mod_z_oldschool_pak6<br />
<br />
I presume I'm missing oldschool_pak4 and oldschool_pak1... FABIOOOOO]]></content:encoded>
		</item>
	</channel>
</rss>