Skocz do zawartości

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

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

GHW Weapon Replacement czy da sie zablokowac?


  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 stasekstaskowy

    Wszechpomocny

  • Użytkownik

Reputacja: 155
Profesjonalista

  • Postów:339
  • GG:
  • Lokalizacja:Daleko
Offline

Napisano 23.06.2010 10:38

Witam!
Mam pytanie czy gdy na serwerze jest plugin GHW Weapon Replacement i ktos np nie chcialby miec podmienionych modeli to moglby wylaczyc ten plugin?(zastopowac dla danego gracza) Jesli mozna byloby tak zrobic to czy nie zostanie on kickniety z powodu innych modeli?
  • +
  • -
  • 0
Moja oferta
- Nowe itemy, klasy, questy dla COD mod'a
- Pisanie, Edytowanie oraz Naprawianie pluginów
Kontakt PW lub Na stronce
Pomoglem? Odwdziecz sie daj Dołączona grafika

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 23.06.2010 10:41

Pobrać i tak muszą się każdemu, jedynie trzeba by dać jakiś warunek dzięki któremu nie każdemu by się ustawiał dany model.
  • +
  • -
  • 0

#3 stasekstaskowy

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 155
Profesjonalista

  • Postów:339
  • GG:
  • Lokalizacja:Daleko
Offline

Napisano 23.06.2010 11:37

Czy jesli dodam taki kod do oryginalnego kodu to bedzie to dzialac czy nie?
Jesli nie to proszę mnie poprawic lub wytknac gdzie sa bledy
public plugin_init() 
{
register_clcmd("say /modeleoff","modele_off");
register_clcmd("say /modeleon","modele_on");
}

public modele_on()
{
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
client_print(id,print_chat,"Modele zostaly wlaczone");
return PLUGIN_CONTINUE;
}

public modele_off(id)
{
client_print(id,print_chat,"Modele zostaly wylaczone");
return PLUGIN_CONTINUE;
}


Zrobilem cos takiego:
#define VERSION	"1.3"

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define MAX_SOUNDS 50
#define MAX_p_MODELS 50
#define MAX_v_MODELS 50
#define MAX_w_MODELS 50

#define MAP_CONFIGS 1

new new_sounds[MAX_SOUNDS][48]
new old_sounds[MAX_SOUNDS][48]
new sounds_team[MAX_SOUNDS]
new soundsnum

new new_p_models[MAX_p_MODELS][48]
new old_p_models[MAX_p_MODELS][48]
new p_models_team[MAX_p_MODELS]
new p_modelsnum
new k = 0
new new_v_models[MAX_v_MODELS][48]
new old_v_models[MAX_v_MODELS][48]
new v_models_team[MAX_p_MODELS]
new v_modelsnum

new new_w_models[MAX_w_MODELS][48]
new old_w_models[MAX_w_MODELS][48]
new w_models_team[MAX_p_MODELS]
new w_modelsnum

new maxplayers

public plugin_init()
{
register_plugin("Weapon Model + Sound Replacement",VERSION,"GHW_Chronic")
register_forward(FM_EmitSound,"Sound_Hook")
register_forward(FM_SetModel,"W_Model_Hook",1)
register_logevent("newround",2,"1=Round_Start")
register_event("CurWeapon","Changeweapon_Hook","be","1=1")
maxplayers = get_maxplayers()
register_clcmd("say /modeleoff","modele_off");
register_clcmd("say_team /modeleon","modele_on");

}

public plugin_precache()
{
new configfile[200]
new configsdir[200]
new map[32]
get_configsdir(configsdir,199)
get_mapname(map,31)
format(configfile,199,"%s/new_weapons_%s.ini",configsdir,map)
if(file_exists(configfile))
{
load_models(configfile)
}
else
{
format(configfile,199,"%s/new_weapons.ini",configsdir)
load_models(configfile)
}
}

public load_models(configfile[])
{
if(file_exists(configfile))
{
new read[96], left[48], right[48], right2[32], trash, team
for(new i=0;i<file_size(configfile,1);i++)
{
read_file(configfile,i,read,95,trash)
if(containi(read,";")!=0 && containi(read," ")!=-1)
{
strbreak(read,left,47,right,47)
team=0
if(containi(right," ")!=-1)
{
strbreak(right,right,47,right2,31)
replace_all(right2,31,"^"","")
if(
equali(right2,"T") ||
equali(right2,"Terrorist") ||
equali(right2,"Terrorists") ||
equali(right2,"Blue") ||
equali(right2,"B") ||
equali(right2,"Allies") ||
equali(right2,"1")
) team=1
else if(
equali(right2,"CT") ||
equali(right2,"Counter") ||
equali(right2,"Counter-Terrorist") ||
equali(right2,"Counter-Terrorists") ||
equali(right2,"CounterTerrorists") ||
equali(right2,"CounterTerrorist") ||
equali(right2,"Red") ||
equali(right2,"R") ||
equali(right2,"Axis") ||
equali(right2,"2")
) team=2
else if(
equali(right2,"Yellow") ||
equali(right2,"Y") ||
equali(right2,"3")
) team=3
else if(
equali(right2,"Green") ||
equali(right2,"G") ||
equali(right2,"4")
) team=4
}
replace_all(right,47,"^"","")
if(file_exists(right))
{
if(containi(right,".mdl")==strlen(right)-4)
{
if(!precache_model(right))
{
log_amx("Error attempting to precache model: ^"%s^" (Line %d of new_weapons.ini)",right,i+1)
}
else if(containi(left,"models/p_")==0)
{
format(new_p_models[p_modelsnum],47,right)
format(old_p_models[p_modelsnum],47,left)
p_models_team[p_modelsnum]=team
p_modelsnum++
}
else if(containi(left,"models/v_")==0)
{
format(new_v_models[v_modelsnum],47,right)
format(old_v_models[v_modelsnum],47,left)
v_models_team[v_modelsnum]=team
v_modelsnum++
}
else if(containi(left,"models/w_")==0)
{
format(new_w_models[w_modelsnum],47,right)
format(old_w_models[w_modelsnum],47,left)
w_models_team[w_modelsnum]=team
w_modelsnum++
}
else
{
log_amx("Model type(p_ / v_ / w_) unknown for model: ^"%s^" (Line %d of new_weapons.ini)",right,i+1)
}
}
else if(containi(right,".wav")==strlen(right)-4 || containi(right,".mp3")==strlen(right)-4)
{
replace(right,47,"sound/","")
replace(left,47,"sound/","")
if(!precache_sound(right))
{
log_amx("Error attempting to precache sound: ^"%s^" (Line %d of new_weapons.ini)",right,i+1)
}
else
{
format(new_sounds[soundsnum],47,right)
format(old_sounds[soundsnum],47,left)
sounds_team[soundsnum]=team
soundsnum++
}
}
else
{
log_amx("Invalid File: ^"%s^" (Line %d of new_weapons.ini)",right,i+1)
}
}
else
{
log_amx("File Inexistent: ^"%s^" (Line %d of new_weapons.ini)",right,i+1)
}
/*if(!file_exists(left))
{
log_amx("Warning: File Inexistent: ^"%s^" (Line %d of new_weapons.ini). ONLY A WARNING. PLUGIN WILL STILL WORK!!!!",left,i+1)
}*/
}
}
}
}

public Changeweapon_Hook(id)
{
if(!is_user_alive(id))
{
return PLUGIN_CONTINUE
}
static model[32], i, team

team = get_user_team(id)

pev(id,pev_viewmodel2,model,31)
for(i=0;i<v_modelsnum;i++)
{
if(equali(model,old_v_models[i]))
{
if(v_models_team[i]==team || !v_models_team[i])
{
set_pev(id,pev_viewmodel2,new_v_models[i])
break;
}
}
}

pev(id,pev_weaponmodel2,model,31)
for(i=0;i<p_modelsnum;i++)
{
if(equali(model,old_p_models[i]))
{
if(p_models_team[i]==team || !p_models_team[i])
{
set_pev(id,pev_weaponmodel2,new_p_models[i])
break;
}
}
}
return PLUGIN_CONTINUE
}

public Sound_Hook(id,channel,sample[])
{
if(!is_user_alive(id))
{
return FMRES_IGNORED
}
if(channel!=CHAN_WEAPON && channel!=CHAN_ITEM)
{
return FMRES_IGNORED
}

static i, team

team = get_user_team(id)

for(i=0;i<soundsnum;i++)
{
if(equali(sample,old_sounds[i]))
{
if(sounds_team[i]==team || !sounds_team[i])
{
engfunc(EngFunc_EmitSound,id,CHAN_WEAPON,new_sounds[i],1.0,ATTN_NORM,0,PITCH_NORM)
return FMRES_SUPERCEDE
}
}
}
return FMRES_IGNORED
}

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
}

public newround()
{
static ent, classname[8], model[32]
ent = engfunc(EngFunc_FindEntityInSphere,maxplayers,Float:{0.0,0.0,0.0},4800.0)
while(ent)
{
if(pev_valid(ent))
{
pev(ent,pev_classname,classname,7)
if(containi(classname,"armoury")!=-1)
{
pev(ent,pev_model,model,31)
if (k == 1)
{
modele_off()
}
else
{
W_Model_Hook(ent,model)
}
}
ent = engfunc(EngFunc_FindEntityInSphere,ent,Float:{0.0,0.0,0.0},4800.0)
}
}
}
public modele_on(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
k = 0
return PLUGIN_CONTINUE;
}

public modele_off()
{

k = 1
return FMRES_IGNORED
return PLUGIN_CONTINUE;
}

ale nie dziala co jest zle?

Użytkownik stasekstaskowy edytował ten post 23.06.2010 12:08

  • +
  • -
  • 0
Moja oferta
- Nowe itemy, klasy, questy dla COD mod'a
- Pisanie, Edytowanie oraz Naprawianie pluginów
Kontakt PW lub Na stronce
Pomoglem? Odwdziecz sie daj Dołączona grafika

#4 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 23.06.2010 12:14

podmien sobie

public W_Model_Hook(ent,model[])
{
	if(!pev_valid(ent)&&!ustaw_model[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
}
na gorze daj
new ustaw_model[33]


a to twoje zmien na takie cos

public modele_on(id)
{
       if(ustaw_model[id]) ustaw_model[id]=0
       else ustaw_model[id]=1
}
i do plugin init dopisz

register_clcmd("say /modele","modele_on");

  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#5 stasekstaskowy

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 155
Profesjonalista

  • Postów:339
  • GG:
  • Lokalizacja:Daleko
Offline

Napisano 23.06.2010 19:23

niestety brak rezulatatu ;/

23 czerwiec 2010 - 19:23:
juz dziala zrobilem to inaczej ;)
  • +
  • -
  • 0
Moja oferta
- Nowe itemy, klasy, questy dla COD mod'a
- Pisanie, Edytowanie oraz Naprawianie pluginów
Kontakt PW lub Na stronce
Pomoglem? Odwdziecz sie daj Dołączona grafika

#6 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 24.06.2010 22:19

Po stronie gracza jest taka komenda cl_minmodels
dasz na 0 to widzisz tylko standardowe modele
dasz na 1 to widzisz podmienione

...
albo odwrotnie :D
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych