Jump to content


Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Posted Image Posted Image

Guest Message by DevFuse
 

Precache modelu tylko dla danego teamu


  • This topic is locked This topic is locked
3 replies to this topic

#1 becometa

    Życzliwy

  • Użytkownik

  • Reputacja: 1
    Nowy

  • Postów:33
  • GG:
  • Lokalizacja:Łódź
Offline

Posted 28.11.2010 12:01

Cały czas zastanawiam się czy jest możliwe aby precache'owany model działał tylko na graczy z danego team'u.

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ć?

Edited by becometa, 28.11.2010 12:02.

  • +
  • -
  • 0

#2 ShoWmaN

    Życzliwy

  • Użytkownik

  • Reputacja: 5
    Nowy

  • Postów:28
  • Lokalizacja:Toruń
Offline

Posted 28.11.2010 12:33

Łap ;D w tym przypadku tt dostaje inna kose.
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 );
}
}

  • +
  • -
  • 0

#3 R3X

    Godlike

  • Przyjaciel

  • Reputacja: 2,987
    Godlike

  • Postów:4,248
  • Lokalizacja:Nie
Offline

Posted 28.11.2010 14:08

chyba nie o to chodzi :P

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;
}

  • +
  • -
  • 0

#4 becometa

    Życzliwy

  • Autor tematu
  • Użytkownik

  • Reputacja: 1
    Nowy

  • Postów:33
  • GG:
  • Lokalizacja:Łódź
Offline

Posted 28.11.2010 15:28

Ogółem to chodzi mi o przerobienie oryginalnego walkguarda, aby funkcja numer 5

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" }

nie blokowała wszystkich graczy ale tylko team 2(CT), tym samym przepuszczając team 1(TT) przez precache'owany model.

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 :)

Edited by becometa, 28.11.2010 15:33.

  • +
  • -
  • 0




  


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg

Sign In