#include <zombie_escape>
// Defintions.
#define MAX_MODEL_LENGTH 64
// Variables.
new bool:g_bHumanCustomModel[MAX_CLIENTS+1]
new bool:g_bZombieCustomModel[MAX_CLIENTS+1]
new g_szHumanCustomModel[MAX_CLIENTS+1][MAX_MODEL_LENGTH]
new g_szZombieCustomModel[MAX_CLIENTS+1][MAX_MODEL_LENGTH]
// Forward called after server activation.
public plugin_init() {
// Load plugin.
register_plugin("[ZE] Resource", "0.1", "Escapers-Zone.NET")
}
// Forward allows registering natives.
public plugin_natives() {
register_native("ze_set_user_model", "_native_set_user_model", 0)
register_native("ze_reset_user_model", "_native_reset_user_model", 0)
}
// Forward called when set player Human (when cure).
public ze_user_humanized(id) {
// Human Custom Model is enabled?
if (g_bHumanCustomModel[id]) {
// Set player new Human Model.
rg_set_user_model(id, g_szHumanCustomModel[id])
}
}
// Forward called after infect Human.
public ze_user_infected(iVictim, iAttacker)
{
// Zombie Custom Model is enabled?
if (g_bZombieCustomModel[id]) {
// Set player new Zombie Model.
rg_set_user_model(id, g_szZombieCustomModel[id])
}
}
public _native_set_user_model(id, szModel[], iTeam) {
// Player not found?
if (!is_user_connected(id)) {
log_error(AMX_ERR_NATIVE, "[ZE] Invalid Player (%d)", id)
return 0; // Return false.
}
// Set player Human/Zombie Model.
switch (iTeam) {
case ZE_TEAM_HUMAN: {
g_bHumanCustomModel[id] = true
copy(g_szHumanCustomModel[id], charsmax(g_szHumanCustomModel[]), szModel)
} case ZE_TEAM_ZOMBIE: {
g_bZombieCustomModel[id] = true
copy(g_szZombieCustomModel[id], charsmax(g_szZombieCustomModel[]), szModel)
} default: {
log_error(AMX_ERR_NATIVE, "[ZE] Invalid Team (%d)", iTeam)
return 0; // Return false.
}
}
// Return true.
return 1;
}
public _native_reset_user_model(id, iTeam) {
// Player not found?
if (!is_user_connected(id)) {
log_error(AMX_ERR_NATIVE, "[ZE] Invalid Player (%d)", id)
return 0; // Return false.
}
// Set player Human/Zombie Model.
switch (iTeam) {
case ZE_TEAM_HUMAN: {
g_bHumanCustomModel[id] = false
g_szHumanCustomModel[id] = '^0'
} case ZE_TEAM_ZOMBIE: {
g_bZombieCustomModel[id] = false
g_szZombieCustomModel[id] = '^0'
} default: {
log_error(AMX_ERR_NATIVE, "[ZE] Invalid Team (%d)", iTeam)
return 0; // Return false.
}
}
// Return true.
return 1;
}