Veteran Member
Join Date: Oct 2006
Location: Germany
|
05-03-2011
, 07:58
Re: Furien Mod
|
#24
|
hier das funktioniert das plugin
models für t und ct's
messer model für t und ct's
PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <fakemeta> #include <hamsandwich>
#define PLUGIN "Team Models" #define VERSION "1.0" #define AUTHOR "vato loco [GE-S]"
#define XO_WEAPONS 4 #define XO_TEAM 114 #define m_pPlayer 41
#define SetBits(%1,%2) %1 |= 1<<(%2 & 31) #define DelBits(%1,%2) %1 &= ~(1<<(%2 & 31)) #define GetBits(%1,%2) %1 & 1<<(%2 & 31)
new const g_CustomKnife_T[] = "models/v_knife_t.mdl" new const g_CustomKnife_C[] = "models/v_knife_c.mdl"
new const g_sModelPath[][] = { "models/player/assasins_t/assasins_t.mdl", "models/player/assasins_c/assasins_c.mdl" }
new g_bAlive new g_iplayermodel[33][32] new g_ent_playermodel[33] new g_ent_weaponmodel[33]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn", 1) RegisterHam(Ham_Item_Deploy, "weapon_knife", "fw_Knife_Deploy", 1) register_forward(FM_AddToFullPack, "fw_AddToFullPack", 1) register_message(get_user_msgid("ClCorpse"), "MsgCorpse") register_message(get_user_msgid("CurWeapon"), "MsgCurWeapon") set_msg_block(get_user_msgid("ClCorpse"), BLOCK_SET) }
public plugin_precache() { for(new i = 0; i < sizeof(g_sModelPath); i++) { precache_model(g_sModelPath[i]) } precache_model(g_CustomKnife_T) precache_model(g_CustomKnife_C) }
public client_connect(id) { DelBits(g_bAlive, id) }
public client_disconnect(id) { DelBits(g_bAlive, id) if(fm_has_custom_model(id)) { fm_remove_model_ents(id) } }
public fw_PlayerSpawn(id) { if(is_user_alive(id)) { SetBits(g_bAlive, id) new iTeam = get_pdata_int(id, XO_TEAM) switch(iTeam) { case 1 : { copy(g_iplayermodel[id], charsmax(g_iplayermodel[]), "assasins_t") fm_set_user_model(id, g_iplayermodel[id]) } case 2: { copy(g_iplayermodel[id], charsmax(g_iplayermodel[]), "assasins_c") fm_set_user_model(id, g_iplayermodel[id]) } } } }
public fw_PlayerKilled(id) { DelBits(g_bAlive, id) if(fm_has_custom_model(id)) { if(pev_valid(g_ent_weaponmodel[id])) { engfunc(EngFunc_RemoveEntity, g_ent_weaponmodel[id]) g_ent_weaponmodel[id] = 0 } } }
public fw_Knife_Deploy(iEnt) { new id = get_pdata_cbase(iEnt, m_pPlayer, XO_WEAPONS) if(GetBits(g_bAlive, id)) { new iTeam = get_pdata_int(id, XO_TEAM) switch(iTeam) { case 1: set_pev(id, pev_viewmodel2, g_CustomKnife_T) case 2: set_pev(id, pev_viewmodel2, g_CustomKnife_C) } } }
public fw_AddToFullPack(es, e, ent, host, hostflags, player) { if(!(GetBits(g_bAlive, host))) { return FMRES_IGNORED } if(player && host != ent) { if(GetBits(g_bAlive, ent)) { set_es(es, ES_RenderMode, kRenderTransAlpha) set_es(es, ES_RenderAmt, 0) } } return FMRES_IGNORED }
public MsgCorpse() { static id; id = get_msg_arg_int(12) if(fm_has_custom_model(id) && GetBits(g_bAlive, id)) { set_msg_arg_string(1, g_iplayermodel[id]) } }
public MsgCurWeapon(Msgid, Dest, id) { if(fm_has_custom_model(id) && GetBits(g_bAlive, id)) { fm_set_weaponmodel_ent(id) } }
stock fm_set_user_model(id, const model[]) { set_pev(id, pev_rendermode, kRenderTransTexture) set_pev(id, pev_renderamt, 1.0) static modelpath[100] formatex(modelpath, sizeof modelpath -1, "models/player/%s/%s.mdl", model, model) if(!pev_valid(g_ent_playermodel[id])) { g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")) if(!pev_valid(g_ent_playermodel[id])) return set_pev(g_ent_playermodel[id], pev_classname, "ent_playermodel") set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW) set_pev(g_ent_playermodel[id], pev_aiment, id) set_pev(g_ent_playermodel[id], pev_owner, id) } engfunc(EngFunc_SetModel, g_ent_playermodel[id], modelpath) }
stock fm_set_weaponmodel_ent(id) { static model[100] pev(id, pev_weaponmodel2, model, sizeof model - 1) if (!pev_valid(g_ent_weaponmodel[id])) { g_ent_weaponmodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")) if (!pev_valid(g_ent_weaponmodel[id])) return; set_pev(g_ent_weaponmodel[id], pev_classname, "weapon_model") set_pev(g_ent_weaponmodel[id], pev_movetype, MOVETYPE_FOLLOW) set_pev(g_ent_weaponmodel[id], pev_aiment, id) set_pev(g_ent_weaponmodel[id], pev_owner, id) } engfunc(EngFunc_SetModel, g_ent_weaponmodel[id], model) }
stock fm_remove_model_ents(id) { if (pev_valid(g_ent_playermodel[id])) { engfunc(EngFunc_RemoveEntity, g_ent_playermodel[id]) g_ent_playermodel[id] = 0 } if (pev_valid(g_ent_weaponmodel[id])) { engfunc(EngFunc_RemoveEntity, g_ent_weaponmodel[id]) g_ent_weaponmodel[id] = 0 } }
stock fm_has_custom_model(id) { return pev_valid(g_ent_playermodel[id]) ? true : false }
__________________
Last edited by vato loco [GE-S]; 05-03-2011 at 10:53.
|
|