←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Czy da się podmienić model W ?

Zablokowany

  • +
  • -
emblaze - zdjęcie emblaze 10.09.2009

Witam.
Mam taką prośbe/pytanie :D Jak podmienić model granata "W" (world) ale z warunkiem if ?
Bo szczeze mówiąc nie wiem w ogóle jak to zrobić ;> A jeśli się da to jeszcze tak:
- Jeśli u atakującego (tego co rzuca) zmienna bool (na id) jest równa np. true to wtedy ten jego granat wygląda inaczej, a jeśli ta zmienna u atakującego jest równa np. false to ma wyglądać normalnie ;>
Rozumiecie coś z tego ? :D Jeśli tak to proszę o pomoc :) Jeśli się nie da to cóż trudno, ale zapytać można :D
A tak przy okazji (po co zakładać drugi temat, nawet nie wiem w jakim dziale xD ) Czy w folderze valve jest model klucza francuskiego (tzn do HL) bo tak mi sie kojazy, że był, ale nie moge go znaleźć :D Jeśli jest to o jakiej nazwie ? :D
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 10.09.2009

public W_Model_Hook(ent,model[])
{
	if(!pev_valid(ent))
	{
		return FMRES_IGNORED
	}
	static i
	for(i=0;i<w_modelsnum;i++)
	{
		if(equali(model,old_w_models[i]))
		{
			engfunc(EngFunc_SetModel,ent,new_w_models[i])
			return FMRES_SUPERCEDE
		}
	}
	return FMRES_IGNORED
}
Zmień for(i=0;i:D
if(equali(model,nazwa modelu chyba)
engfunc(EngFunc_SetModel,ent,nazwa new modelu)
GHW

Edit:
jeszcze chyba to:
public newround()
{
	static ent, classname[8], model[32]
	ent = engfunc(EngFunc_FindEntityInSphere,maxplayers,Float:{0.0,0.0,0.0},4800.0)
	while(ent)
	{
		pev(ent,pev_classname,classname,7)
		if(containi(classname,"armoury")!=-1)
		{
			pev(ent,pev_model,model,31)
			W_Model_Hook(ent,model)
		}
		ent = engfunc(EngFunc_FindEntityInSphere,ent,Float:{0.0,0.0,0.0},4800.0)
	}
}
Odpowiedz

  • +
  • -
emblaze - zdjęcie emblaze 10.09.2009

Vertricus, dużo z tego wiem :lol: :D Właśnie patrzyłem do GHW replace, i nie jestem pewien jak to zrobić :D A w ogóle register_event nie podałes :P Potrzebowałbym to z troche z lepszą instrukcją ;) + Gdzie dodać if'a O:)
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 10.09.2009

Właśnie patrzyłem do GHW replace, i nie jestem pewien jak to zrobić :D


register_forward(FM_SetModel,"W_Model_Hook",1)
public W_Model_Hook(ent,model[])
{
	if(!pev_valid(ent))
	{
		return FMRES_IGNORED
	}
	static i
	for(i=0;i<w_modelsnum;i++)
	{
		if(equali(model,old_w_models[i]))
		{
			engfunc(EngFunc_SetModel,ent,new_w_models[i])
			return FMRES_SUPERCEDE
		}
	}
	return FMRES_IGNORED
}
To właśnie z GHW Weapon Replacement'a
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 10.09.2009

A tu przykładowy plugin:
#include <amxmodx>
#include <fakemeta>

new const stary_model[] = "models/w_flashbang.mdl"
new const nowy_model[] = "models/w_knife.mdl"
new bool:moze_model[33]

public plugin_init() {
	register_plugin("Zmiana modelu", "0.1", "AMXX")
	
	register_clcmd("say /mozemodel", "say_mozemodel")
	
	register_forward(FM_SetModel, "W_Model_Hook", 1)
}

public client_connect(id)
	moze_model[id] = false

public say_mozemodel(id)
{
	moze_model[id] = true
	return PLUGIN_HANDLED
}

public W_Model_Hook(ent,model[])
{
	if(!pev_valid(ent))
	{
		return FMRES_IGNORED
	}
	
	new id = pev(ent,pev_owner)
	
	if (moze_model[id] && equali(model, stary_model))
	{
		engfunc(EngFunc_SetModel, ent, nowy_model)
		return FMRES_SUPERCEDE
	}
	
	return FMRES_IGNORED
}

public plugin_precache()
{
	precache_model(nowy_model)
}

Po wpisaniu w say "/mozemodel" rzuca się nożem zamiast FB
Odpowiedz

  • +
  • -
emblaze - zdjęcie emblaze 10.09.2009

lol działa ! :D Myślałem, że to tak nie odpali ^^
Dzięki temu znowu więcej zdziałam w moim modzie xD
Dzięki :D Leci pomógł :D
A ten model tego klucza francuskiego ? :D
Odpowiedz
Zablokowany