void func_ladder_touch()
-{
+{SELFPARAM();
#ifdef SVQC
if (!other.iscreature)
return;
- if (other.vehicle_flags & VHF_ISVEHICLE)
+ if(IS_VEHICLE(other))
return;
#endif
#ifdef CSQC
}
#ifdef SVQC
-float func_ladder_send(entity to, float sf)
+bool func_ladder_send(entity this, entity to, float sf)
{
- WriteByte(MSG_ENTITY, ENT_CLIENT_LADDER);
+ WriteHeader(MSG_ENTITY, ENT_CLIENT_LADDER);
WriteString(MSG_ENTITY, self.classname);
- WriteByte(MSG_ENTITY, self.warpzone_isboxy);
WriteByte(MSG_ENTITY, self.skin);
WriteByte(MSG_ENTITY, self.speed);
- WriteByte(MSG_ENTITY, self.scale);
- WriteCoord(MSG_ENTITY, self.origin_x);
- WriteCoord(MSG_ENTITY, self.origin_y);
- WriteCoord(MSG_ENTITY, self.origin_z);
-
- WriteCoord(MSG_ENTITY, self.mins_x);
- WriteCoord(MSG_ENTITY, self.mins_y);
- WriteCoord(MSG_ENTITY, self.mins_z);
- WriteCoord(MSG_ENTITY, self.maxs_x);
- WriteCoord(MSG_ENTITY, self.maxs_y);
- WriteCoord(MSG_ENTITY, self.maxs_z);
-
- WriteCoord(MSG_ENTITY, self.movedir_x);
- WriteCoord(MSG_ENTITY, self.movedir_y);
- WriteCoord(MSG_ENTITY, self.movedir_z);
-
- WriteCoord(MSG_ENTITY, self.angles_x);
- WriteCoord(MSG_ENTITY, self.angles_y);
- WriteCoord(MSG_ENTITY, self.angles_z);
+ WriteString(MSG_ENTITY, self.mdl);
+
+ trigger_common_write(false);
return true;
}
void func_ladder_link()
{
- Net_LinkEntity(self, false, 0, func_ladder_send);
+ //self.SendEntity = func_ladder_send;
+ //self.SendFlags = 0xFFFFFF;
+ //self.model = "null";
}
-void spawnfunc_func_ladder()
+spawnfunc(func_ladder)
{
+ self.mdl = self.model;
EXACTTRIGGER_INIT;
self.touch = func_ladder_touch;
func_ladder_link();
}
-void spawnfunc_func_water()
+spawnfunc(func_water)
{
+ self.mdl = self.model;
EXACTTRIGGER_INIT;
self.touch = func_ladder_touch;
.float speed;
void ent_func_ladder()
-{
+{SELFPARAM();
self.classname = strzone(ReadString());
- self.warpzone_isboxy = ReadByte();
self.skin = ReadByte();
self.speed = ReadByte();
- self.scale = ReadByte();
- self.origin_x = ReadCoord();
- self.origin_y = ReadCoord();
- self.origin_z = ReadCoord();
- setorigin(self, self.origin);
- self.mins_x = ReadCoord();
- self.mins_y = ReadCoord();
- self.mins_z = ReadCoord();
- self.maxs_x = ReadCoord();
- self.maxs_y = ReadCoord();
- self.maxs_z = ReadCoord();
- setsize(self, self.mins, self.maxs);
- self.movedir_x = ReadCoord();
- self.movedir_y = ReadCoord();
- self.movedir_z = ReadCoord();
- self.angles_x = ReadCoord();
- self.angles_y = ReadCoord();
- self.angles_z = ReadCoord();
+ self.model = strzone(ReadString());
+
+ trigger_common_read(false);
+ self.mins = self.maxs = '0 0 0';
self.solid = SOLID_TRIGGER;
self.draw = trigger_draw_generic;
self.trigger_touch = func_ladder_touch;
self.drawmask = MASK_NORMAL;
self.move_time = time;
+ self.entremove = trigger_remove_generic;
+
+ //precache_model(self.mdl);
+ EXACTTRIGGER_INIT;
}
#endif