Precache modelu tylko dla danego teamu
becometa
28.11.2010
Cały czas zastanawiam się czy jest możliwe aby precache'owany model działał tylko na graczy z danego team'u.
Użytkownik becometa edytował ten post 28.11.2010 12:02
new entity = fm_create_entity("info_target") set_pev(entity, pev_classname, "wgz") fm_entity_set_model(entity, "models/gib_skull.mdl") fm_entity_set_origin(entity, position) set_pev(entity, pev_movetype, MOVETYPE_FLY) new id = pev(entity, ZID) if (editor) { set_pev(entity, pev_solid, SOLID_NOT) } else { set_pev(entity, pev_solid, solidtyp[ZM:id]) } fm_entity_set_size(entity, mins, maxs) fm_set_entity_visibility(entity, 0) set_pev(entity, ZONE, zm) set_pev(entity, CTIME, campt)dajmy na to, że chcę aby był widoczny tylko dla teamu CT, w jaki sposób tego dokonać?
Użytkownik becometa edytował ten post 28.11.2010 12:02
ShoWmaN
28.11.2010
Łap ;D w tym przypadku tt dostaje inna kose.
zmień se nazwę modelu bo tu jest pod base bulidera
zmień se nazwę modelu bo tu jest pod base bulidera
#include < amxmodx >
#include < cstrike >
#include < engine >
#include < hamsandwich >
const m_pPlayer = 41;
new const g_szTerrKnife[ ] = "models/v_knife_zombie.mdl";
public plugin_precache( ) {
precache_model( g_szTerrKnife );
}
public plugin_init( ) {
register_plugin( "Terrorist Knife Model", "0.0.1", "Exolent" );
RegisterHam( Ham_Item_Deploy, "weapon_knife", "FwdKnifeDeploy", 1 );
}
public FwdKnifeDeploy( iEntity ) {
new client = get_pdata_cbase( iEntity, m_pPlayer, 4 );
if( cs_get_user_team( client ) == CS_TEAM_T ) {
entity_set_string( client, EV_SZ_viewmodel, g_szTerrKnife );
}
}
R3X
28.11.2010
chyba nie o to chodzi 
Jest taka funkcja, która decyduje o wysłanym do konkretnego gracza stanie bytu, tzn jednemu możesz go wysłać z normalnym renderowaniem i innemu z TransAlfa+0 - czyli niewidzialny. Ta funkcja nazywa się FM_AddToFullPack, jest to bardzo często wywolywany forward i nie powinieneś tam używać zbyt wielu funkcji, dlatego przyda Ci się tablica drużyn
giTeams[] - każdy gracz ma tam wpisane do której drużyny należy (Event TeamInfo)
oraz tablica bytów
giEnts[512] - każdy byt ma tam wpisane 0, jeśli każdy ma go zobaczyć i 1 jeśli tylko CT

Jest taka funkcja, która decyduje o wysłanym do konkretnego gracza stanie bytu, tzn jednemu możesz go wysłać z normalnym renderowaniem i innemu z TransAlfa+0 - czyli niewidzialny. Ta funkcja nazywa się FM_AddToFullPack, jest to bardzo często wywolywany forward i nie powinieneś tam używać zbyt wielu funkcji, dlatego przyda Ci się tablica drużyn
giTeams[] - każdy gracz ma tam wpisane do której drużyny należy (Event TeamInfo)
oraz tablica bytów
giEnts[512] - każdy byt ma tam wpisane 0, jeśli każdy ma go zobaczyć i 1 jeśli tylko CT
register_forward(FM_AddToFullPack, "fwAddToFullPack", 1); public fwAddToFullPack(es_handle, e, ENT, HOST, hostflags, player, set){ if(player) return FMRES_IGNORED; if(giTeams[HOST] == 1 && giEnts[ENT]){ set_es( es_handle, ES_RenderMode, kRenderTransAlpha ); set_es( es_handle, ES_RenderAmt, 0); return FMRES_HANDLED; } return FMRES_IGNORED; }
becometa
28.11.2010
Ogółem to chodzi mi o przerobienie oryginalnego walkguarda, aby funkcja numer 5
Prościej mówiąc chcę stworzyć niewidzialną ścianę oddziaływającą tylko na team 2.
R3X, dzięki za wytłumaczenie, cenię sobie to ale wiedzę to ja mam praktycznie zerową, cały czas lecę na dokumentacji i gotowych funkcjach ;f
Gdybyś ty bądź ktokolwiek inny był w stanie takie coś wykonać i wytłumaczyć po ludzku co za co odpowiada i dlaczego akurat to tutaj, byłbym arcy wdzięczny
Użytkownik becometa edytował ten post 28.11.2010 15:33
nie blokowała wszystkich graczy ale tylko team 2(CT), tym samym przepuszczając team 1(TT) przez precache'owany model.new zonemode[ZONEMODE][] = { "ZONE_MODE_NONE", "ZONE_MODE_CAMPER", "ZONE_MODE_CAMPER_T1", "ZONE_MODE_CAMPER_T2", "ZONE_MODE_BLOCKING", "ZONE_MODE_CHEATER", "ZONE_MODE_CHEATER_T1", "ZONE_MODE_CHEATER_T2" }
Prościej mówiąc chcę stworzyć niewidzialną ścianę oddziaływającą tylko na team 2.
R3X, dzięki za wytłumaczenie, cenię sobie to ale wiedzę to ja mam praktycznie zerową, cały czas lecę na dokumentacji i gotowych funkcjach ;f
Gdybyś ty bądź ktokolwiek inny był w stanie takie coś wykonać i wytłumaczyć po ludzku co za co odpowiada i dlaczego akurat to tutaj, byłbym arcy wdzięczny

Użytkownik becometa edytował ten post 28.11.2010 15:33