JUANko

[ZP][TUT] Los zombies no pueden atacar mientras se congelan

Recommended Posts

¿Cómo hacer que un zombie no pueda atacar mientras se congela?

 

 (Zombie Plague vesion 4.2 & 4.3)

 

  • Requerimientos
  1. El archivo zombie_plague40.sma ubicado en addons/amxmodx/scripting
  2. El archivo zombieplague.inc ubicado en addons/amxmodx/scripting/include

  3. Tener AMX Studio descargado.

 

  • Tutorial
  1. Abrimos el archivo zombie_plague40.sma con el AMX Studio, &  buscamos lo siguiente:

 

 

  • Buscamos

 

// CS Player PData Offsets (win32)
const PDATA_SAFE = 2
const OFFSET_PAINSHOCK = 108 // ConnorMcLeod
const OFFSET_CSTEAMS = 114
const OFFSET_CSMONEY = 115
const OFFSET_CSMENUCODE = 205
const OFFSET_FLASHLIGHT_BATTERY = 244
const OFFSET_CSDEATHS = 444
const OFFSET_MODELINDEX = 491 // Orangutanz

 

  • Insertar desplazamiento

const OFFSET_NEXTATTACK = 83

 
  • Quedaría así

// CS Player PData Offsets (win32)
const PDATA_SAFE = 2
const OFFSET_PAINSHOCK = 108 // ConnorMcLeod
const OFFSET_CSTEAMS = 114
const OFFSET_CSMONEY = 115
const OFFSET_CSMENUCODE = 205
const OFFSET_FLASHLIGHT_BATTERY = 244
const OFFSET_CSDEATHS = 444
const OFFSET_MODELINDEX = 491 // Orangutanz
const OFFSET_NEXTATTACK = 83

 
  • Ahora buscamos lo siguiente

// Save player's old gravity and maxspeed (bugfix)
pev(victim, pev_gravity, g_frozen_gravity[victim])
pev(victim, pev_maxspeed, g_frozen_maxspeed[victim])

// Prevent from jumping
if (pev(victim, pev_flags) & FL_ONGROUND)
set_pev(victim, pev_gravity, 999999.9) // set really high
else
set_pev(victim, pev_gravity, 0.000001) // no gravity

// Prevent from moving
set_pev(victim, pev_maxspeed, 1.0)

// Set a task to remove the freeze
g_frozen[victim] = true;
set_task(get_pcvar_float(cvar_freezeduration), "remove_freeze", victim)

 
  • Añadir

set_pdata_float(id, OFFSET_NEXTATTACK, get_pcvar_float(cvar_freezeduration), OFFSET_LINUX)

 

  • Quedaría así

// Save player's old gravity and maxspeed (bugfix)
pev(victim, pev_gravity, g_frozen_gravity[victim])
pev(victim, pev_maxspeed, g_frozen_maxspeed[victim])

// Prevent from jumping
if (pev(victim, pev_flags) & FL_ONGROUND)
set_pev(victim, pev_gravity, 999999.9) // set really high
else
set_pev(victim, pev_gravity, 0.000001) // no gravity

// Prevent from moving
set_pev(victim, pev_maxspeed, 1.0)
set_pdata_float(victim, OFFSET_NEXTATTACK, get_pcvar_float(cvar_freezeduration), OFFSET_LINUX)
// Set a task to remove the freeze
g_frozen[victim] = true;
set_task(get_pcvar_float(cvar_freezeduration), "remove_freeze", victim)

 
 
  • LISTO! AHORA A COMPILAR A AMXX :)
  • PD: SOLO TRATO DE AYUDAR & APORTAR POR ALGUIEN QUE LO NECESITE EN SU SERVIDOR GRACIAS, ESPERO QUE TE SIRVA DE AYUDA!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now