|
Veteran Member
Join Date: Aug 2008
Location: NeverLand
|

01-26-2010
, 11:40
Jail Break manager models
|
#1
|
Hi, I got this jail break manager thats was in polish but someone translate it to english and then I translate it to spanish, but I have a problem all worked fine until I wanted to change prisoners (Terrorists) models. First I tried changing the name of the model in the code (#define TERRMODEL) and im sure all files are in the place they should be, but it crashes my server. Also I tried changig to cstrike (cs_set_user_model) but still crashing
Do anyone know how to fix it?
I added some comments on model change so you people can identify it faster
PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <amxmisc> #include <hamsandwich> #include <cstrike> #include <fakemeta_util>
#define PLUGIN "JailBreak Manager" #define VERSION "1.8" #define AUTHOR "Sn!ff3r"
#define fm_remove_weaponbox(%1) dllfunc(DLLFunc_Think, %1) #define USERTASK 921 #define USERTASK2 721 #define UPDATEDELAY 1.0 #define OFFSET_TEAM 114 #define fm_cs_set_user_nobuy(%1) set_pdata_int(%1, 235, get_pdata_int(%1, 235) & ~(1<<0))
#define TERRMODEL "wiezien2" // Here I changed the model name #define CTMODEL "straznik"
new static reasons[][] = { "flogger", "violar a chris", "colaboracion al atentado del 11/9", "atentado a la AMIA", "matar a kennedy" }
new wanted[512] new cvar_countdays, cvar_terroinfo, cvar_winmessages, cvar_models, cvar_fists, cvar_wanted, cvar_revolt, cvar_stripweapons, cvar_maxcts, cvar_nobuy, cvar_crowbar, cvar_playerinfo new days, hudmessage, hudmessage2, hudmessage3, hudmessage4, nowanted, crowbaruser new userreason[33], bool:changedModel[33 char] new bool:revolt_started, StatusText, terronum, terroalive, bool:disabled_weapons
new static fist_models[][] = { "models/p_bknuckles.mdl", "models/v_bknuckles.mdl" } new static crowbar_models[][] = { "models/p_crowbar.mdl", "models/v_crowbar.mdl" } new static fist_sounds[][] = { "weapons/cbar_hitbod2.wav", "weapons/cbar_hitbod1.wav", "weapons/bullet_hit1.wav", "weapons/bullet_hit2.wav" }
new weapons[][] = { "weaponbox", "armoury_entity", "weapon_shield" }
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("chooseteam", "client_chooseteam") register_logevent("round_end", 2, "1=Round_End") register_event("TextMsg","restart_roundsnum","a","2&#Game_C"/*,"2&#Game_w"*/) register_event("CurWeapon", "CurWeapon", "be", "1=1", "2=29") register_event("HLTV", "new_round", "a", "1=0", "2=0") register_event("DeathMsg","client_death","a") register_event("StatusValue", "showStatus", "be", "1=2", "2!0") register_event("StatusValue", "hideStatus", "be", "1=1", "2=0") register_message(get_user_msgid("TextMsg") ,"TextMsg") register_message(get_user_msgid("ShowMenu"), "ShowMenu") register_message(get_user_msgid("VGUIMenu"), "VGUIMenu") register_message(get_user_msgid("StatusIcon") , "StatusIcon") register_forward(FM_SetClientKeyValue,"SetClientKeyValue") register_forward(FM_EmitSound, "EmitSound") RegisterHam(Ham_Spawn, "player", "client_spawn", 1) RegisterHam(Ham_TakeDamage, "player", "client_damage") for(new slot = 0; slot < sizeof weapons; slot++) { RegisterHam(Ham_Touch, weapons[slot], "WeapEntTouch") disabled_weapons = true } hudmessage = CreateHudSyncObj() hudmessage2 = CreateHudSyncObj() hudmessage3 = CreateHudSyncObj() hudmessage4 = CreateHudSyncObj() StatusText = get_user_msgid("StatusText") cvar_countdays = register_cvar("jailbreak_countdays", "1") cvar_terroinfo = register_cvar("jailbreak_terroinfo", "1") cvar_winmessages = register_cvar("jailbreak_winmessages", "1") cvar_models = register_cvar("jailbreak_newmodels", "1") cvar_fists = register_cvar("jailbreak_fists", "1") cvar_wanted = register_cvar("jailbreak_wanted", "1") cvar_revolt = register_cvar("jailbreak_revolt", "1") cvar_stripweapons = register_cvar("jailbreak_stripweapons", "1") cvar_maxcts = register_cvar("jailbreak_maxcts", "4") cvar_nobuy = register_cvar("jailbreak_blockbuy", "1") cvar_crowbar = register_cvar("jailbreak_terrocrowbar", "1") cvar_playerinfo = register_cvar("jailbreak_playerinfo", "1") }
public plugin_cfg() { static cfgdir[32] get_configsdir(cfgdir, charsmax(cfgdir)) server_cmd("exec %s/jailbreak.cfg", cfgdir) }
public plugin_precache() { if(!file_exists("sound/misc/pito.txt")) { set_fail_state("ERROR") } static modelname[128], i formatex(modelname, 127, "models/player/%s/%s.mdl", TERRMODEL, TERRMODEL) // Precache seems to be ok engfunc(EngFunc_PrecacheModel, modelname) formatex(modelname, 127, "models/player/%s/%s.mdl", CTMODEL, CTMODEL) engfunc(EngFunc_PrecacheModel, modelname) for(i = 0; i < sizeof fist_models; i++) engfunc(EngFunc_PrecacheModel,fist_models[i]) for(i = 0; i < sizeof fist_sounds; i++) engfunc(EngFunc_PrecacheSound,fist_sounds[i]) for(i = 0; i < sizeof crowbar_models; i++) engfunc(EngFunc_PrecacheModel,crowbar_models[i]) }
public round_end() { days ++ if(get_pcvar_num(cvar_stripweapons)) { static players[32], inum, i get_players(players, inum, "ah") for (i = 0; i < inum; ++i) if(cs_get_user_team(players[i]) == CS_TEAM_T) fm_strip_user_weapons(players[i]) disabled_weapons = true } }
public restart_roundsnum() { days = 0 }
public new_round() { formatex(wanted, 511, "Nadie es el mas buscado") update_terro() nowanted = true revolt_started = false crowbaruser = 0 if(get_pcvar_num(cvar_crowbar)) set_task(5.0, "random_crowbar") }
public random_crowbar() { static players[32], inum, id get_players(players, inum, "ahe", "TERRORIST") if(inum) { id = players[random(inum)] set_hudmessage(random_num(0,255), random_num(0,255), random_num(0,255), -1.0, 0.3, 2, 0.5, 5.0) ShowSyncHudMsg(id, hudmessage3, "= Conseguiste una barra = ") crowbaruser = id CurWeapon(id) } }
public TextMsg(iMsgid, iDest, id) { if(get_pcvar_num(cvar_winmessages)) { static message[32] get_msg_arg_string(2, message, charsmax(message)) if(equal(message, "#Terrorists_Win")) set_msg_arg_string(2, "Ganaron los prisioneros!") else if(equal(message, "#CTs_Win")) set_msg_arg_string(2, "Ganaron los guardias!") } }
public StatusIcon(iMsgid, iDest, id) { if(get_pcvar_num(cvar_nobuy)) { static szIcon[5] get_msg_arg_string(2, szIcon, 4) if(szIcon[0] == 'b' && szIcon[2] == 'y' && szIcon[3] == 'z') { if(get_msg_arg_int(1)) { fm_cs_set_user_nobuy(id) return PLUGIN_HANDLED } } } return PLUGIN_CONTINUE }
public SetClientKeyValue(id, const infobuffer[], const key[]) { return equal(key,"model") && changedModel{id} ? FMRES_SUPERCEDE : FMRES_IGNORED }
public CurWeapon(id) { if(is_user_alive(id)) { if(get_pcvar_num(cvar_fists) && id != crowbaruser) { set_pev(id, pev_viewmodel2, fist_models[1]) set_pev(id, pev_weaponmodel2, fist_models[0]) } else if(get_pcvar_num(cvar_crowbar) && id == crowbaruser) { set_pev(id, pev_viewmodel2, crowbar_models[1]) set_pev(id, pev_weaponmodel2, crowbar_models[0]) } } }
public EmitSound(id, channel, sample[]) { if(get_pcvar_num(cvar_fists)) { if(is_user_alive(id)) { if(equal(sample, "weapons/knife_", 14)) { if(equal(sample, "weapons/knife_hit", 17)) { emit_sound(id, CHAN_WEAPON, "weapons/bullet_hit2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if(equal(sample,"weapons/knife_stab.wav")) { emit_sound(id, CHAN_WEAPON, "weapons/cbar_hitbod2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } else if(equal(sample,"weapons/knife_hitwall1.wav")) { emit_sound(id, CHAN_WEAPON, "weapons/cbar_hitbod1.wav", 1.0, ATTN_NORM, 0, PITCH_LOW) return FMRES_SUPERCEDE } } } } return FMRES_IGNORED }
public showStatus(id) { if(get_pcvar_num(cvar_playerinfo)) { if(is_user_alive(id)) { static name[33], pid pid = read_data(2) get_user_name(pid, name, 32) switch(cs_get_user_team(pid)) { case CS_TEAM_T: { set_hudmessage(100, 255, 0, -1.0, 0.80, 0, 0.01, 3.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, hudmessage4, "Prisionero: %s [%d HP]", name, get_user_health(pid)) } case CS_TEAM_CT: { set_hudmessage(0, 255, 100, -1.0, 0.80, 0, 0.01, 3.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, hudmessage4, "Guardia: %s [%d HP]", name, get_user_health(pid)) } } } } }
public hideStatus(id) { if(get_pcvar_num(cvar_playerinfo)) ClearSyncHud(id, hudmessage4) }
public start_revolt() { set_hudmessage(random_num(0,255), random_num(0,255), random_num(0,255), -1.0, 0.3, 2, 0.5, 5.0) ShowSyncHudMsg(0, hudmessage3, "= Los prisioneros se rebelaron ! =") client_cmd(0,"speak ambience/siren") set_task(8.0, "stop_sound", 0) revolt_started = true }
public ShowMenu(iMsgid, iDest, id) { static code[32] get_msg_arg_string(4, code, charsmax(code)) if(equal(code, "#Team_Select") || equal(code, "#IG_Team_Select") && cs_get_user_team(id) != CS_TEAM_CT) { static ctcount ctcount = active_players(CS_TEAM_CT) if(ctcount >= get_pcvar_num(cvar_maxcts)) { static param[2] param[0] = iMsgid set_task(0.1, "join_terrorist", id, param, sizeof(param)) return PLUGIN_HANDLED } } return PLUGIN_CONTINUE }
public VGUIMenu(iMsgid, iDest, id) { if(get_msg_arg_int(1) != 2) return PLUGIN_CONTINUE static ctcount ctcount = active_players(CS_TEAM_CT) if(ctcount >= get_pcvar_num(cvar_maxcts) && cs_get_user_team(id) != CS_TEAM_CT) { static param[2] param[0] = iMsgid set_task(0.1, "join_terrorist", id, param, sizeof(param)) return PLUGIN_HANDLED } return PLUGIN_CONTINUE }
public join_terrorist(param[], id) { handle_join(id, param[0], /*CS_TEAM_T*/ 1) set_task(5.0, "check_valid_team", id) }
public check_valid_team(id) { if(cs_get_user_team(id) != CS_TEAM_T) cs_set_user_team(id, CS_TEAM_T) }
public client_connect(id) { client_cmd(id, "hud_centerid 0") }
public client_chooseteam(id) { static ctcount ctcount = active_players(CS_TEAM_CT) if(ctcount >= get_pcvar_num(cvar_maxcts) && cs_get_user_team(id) == CS_TEAM_T) { client_print(id, print_chat, "No te podes cambiar de equipo.") return PLUGIN_HANDLED } return PLUGIN_CONTINUE }
public client_damage(victim, entid, attacker, Float:damage, damagebits) { if(!is_user_connected(victim) || !is_user_connected(attacker)) return HAM_IGNORED if(get_pcvar_num(cvar_revolt)) { if(cs_get_user_team(attacker) == CS_TEAM_T && cs_get_user_team(victim) == CS_TEAM_CT) { if(!revolt_started) start_revolt() } } if(get_pcvar_num(cvar_crowbar)) { if(cs_get_user_team(attacker) == CS_TEAM_T && attacker == crowbaruser) { damage *= 50.0 SetHamParamFloat(4, damage) return HAM_OVERRIDE } } return HAM_IGNORED }
public client_spawn(id) { if(get_pcvar_num(cvar_countdays)) { set_hudmessage(random_num(0,255), random_num(0,255), random_num(0,255), -1.0, 0.3, 2, 0.5, 5.0) ShowSyncHudMsg(id, hudmessage3, "= El dia %d va a comenzar = ", days) } if(get_pcvar_num(cvar_terroinfo)) { if(task_exists(id + USERTASK)) remove_task(id + USERTASK) if(cs_get_user_team(id) == CS_TEAM_T) { userreason[id] = random_num(0, sizeof reasons - 1) set_task(UPDATEDELAY, "client_jailinfo", id + USERTASK, _, _, "b") } } if(get_pcvar_num(cvar_wanted)) { if(task_exists(id + USERTASK2)) remove_task(id + USERTASK2) if(cs_get_user_team(id) == CS_TEAM_CT) set_task(UPDATEDELAY, "client_wantedinfo", id + USERTASK2, _, _, "b") update_terro() } if(get_pcvar_num(cvar_models)) { static CsTeams:team team = cs_get_user_team(id) if(team == CS_TEAM_T) { cs_set_user_model(id, "models/player/wiezien2/wiezien2") // Changed to cstrike changedModel{id} = true } else if (team == CS_TEAM_CT) { set_user_model(id, CTMODEL) // Original model change changedModel{id} = true } } if(get_pcvar_num(cvar_stripweapons)) set_task(0.1, "give_weapons", id) }
public give_weapons(id) { if(is_user_alive(id)) { fm_strip_user_weapons(id) fm_give_item(id, "weapon_knife") if(cs_get_user_team(id) == CS_TEAM_CT) { switch(random_num(0,3)) { case 0: { fm_give_item(id, "weapon_m3") cs_set_user_bpammo(id, CSW_M3, 120) } case 1: { fm_give_item(id, "weapon_mp5navy") cs_set_user_bpammo(id, CSW_MP5NAVY, 120) } case 2: { fm_give_item(id, "weapon_xm1014") cs_set_user_bpammo(id, CSW_XM1014, 120) } case 3: { fm_give_item(id, "weapon_mac10") cs_set_user_bpammo(id, CSW_MAC10, 120) } } fm_give_item(id, "weapon_usp") cs_set_user_bpammo(id, CSW_USP, 100) } } disabled_weapons = false }
public WeapEntTouch(this, idother) { if(disabled_weapons) return HAM_SUPERCEDE static model[33] pev(this, pev_model, model, 32) if(equal(model, "models/w_glock18.mdl")) { if(pev_valid(this)) { fm_remove_weaponbox(this) return HAM_SUPERCEDE } } return HAM_IGNORED }
public client_disconnect(id) { userreason[id] = -1 if(task_exists(id + USERTASK)) remove_task(id + USERTASK) changedModel{id} = false }
public client_death() { if(get_pcvar_num(cvar_wanted)) { static victim, killer victim = read_data(2) killer = read_data(1) if(is_user_connected(victim) && is_user_connected(killer)) { if(cs_get_user_team(victim) == CS_TEAM_CT && cs_get_user_team(killer) == CS_TEAM_T) { static name[33] get_user_name(killer, name, charsmax(name)) if(contain(wanted, name) == -1) { if(nowanted) replace_all(wanted, 511, "Nadie es buscado", "") replace_all(wanted, charsmax(wanted), "Los mas buscados: ^n", "") format(wanted, charsmax(wanted), "Los mas buscados: ^n%s^n%s", wanted, name) nowanted = false } } if(cs_get_user_team(victim) == CS_TEAM_T) { static name[33] get_user_name(victim, name, charsmax(name)) if(contain(wanted, name) != -1) { static buffer[64] formatex(buffer, charsmax(buffer), "^n%s", name) replace_all(wanted, charsmax(wanted), buffer, "") if(strlen(wanted) < 20) { formatex(wanted, 511, "Nadie es buscado") nowanted = true } } update_terro() } } } }
public client_jailinfo(TASKID) { static id id = TASKID - USERTASK set_hudmessage(0, 255, 0, 0.8, 0.1, 0, 6.0, 12.0) ShowSyncHudMsg(id, hudmessage, "Dia %d | Estas preso por %s.", days, reasons[userreason[id]]) }
public client_wantedinfo(TASKID) { static id id = TASKID - USERTASK2; (nowanted) ? set_hudmessage(255, 255, 255, 0.01, 0.4, 0, 0.5, UPDATEDELAY) : set_hudmessage(255, 0, 0, 0.01, 0.4, 2, 0.5, UPDATEDELAY) ShowSyncHudMsg(id, hudmessage2, "%s", wanted) static text[128] formatex(text,127,"Prisioneros: %d vivos, %d total", terroalive, terronum) message_begin(MSG_ONE_UNRELIABLE, StatusText, {0,0,0}, id) write_byte(0) write_string(text) message_end() }
public stop_sound(id) { client_cmd(id, "stopsound") }
stock set_user_model(id,model[]) { engfunc(EngFunc_SetClientKeyValue, id, engfunc(EngFunc_GetInfoKeyBuffer,id), "model", model) }
stock active_players(CsTeams:team, bool:aliveonly = false) { static players[32], inum, i, active, CsTeams:playerteam (aliveonly) ? get_players(players, inum, "ah") : get_players(players, inum, "h") active = 0 for (i = 0; i < inum; ++i) { playerteam = cs_get_user_team(players[i]) if(playerteam == team) active++ } return active }
stock handle_join(id, iMsgid, iTeam) { static iMsgBlock iMsgBlock = get_msg_block(iMsgid) set_msg_block(iMsgid, BLOCK_SET) static team[2] num_to_str(iTeam, team, charsmax(team)) engclient_cmd(id, "jointeam", team) engclient_cmd(id, "joinclass", "1") set_msg_block(iMsgid, iMsgBlock) client_print(id, print_chat, "No podes cambiar de equipo.") }
stock update_terro() { terronum = active_players(CS_TEAM_T, false) terroalive = active_players(CS_TEAM_T, true) }
__________________
|
|