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.
|
Plugin usuwający pistolety
#1
Napisano 04.03.2010 21:44
#2
Napisano 04.03.2010 22:03
#include < amxmodx >
#include < engine >
#include < fakemeta >
new const bron_na_mapie[ ] = "armoury_entity";
new gSpawned;
public plugin_precache( ) {
gSpawned = register_forward( FM_Spawn, "FindSpawn" );
}
public plugin_init( ) {
if( gSpawned > 0 ) {
unregister_forward( FM_Spawn, gSpawned );
}
}
public FindSpawn( iEntity ) {
static szName[ 32 ];
entity_get_string( iEntity, EV_SZ_classname, szName, 31 );
if( equal( szName, bron_na_mapie ) ) {
remove_entity( iEntity );
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}
Nie testowałem, ale powinno usunąć wszystkie byty na mapie 'armoury_entity' tj. z bronią, ale nie mam pojęcia jak pobrać czy to byt z pistoletem. Może ktoś inny będzie wiedział.
@
W zasadzie tak teraz włączyłem VHE i w bycie 'armoury_entity' nie ma możliwości dania pistoletów, a co za tym idzie nie wiem jaki byt wyszukać, który ustawia pistolety, żeby móc go usunąć/zmienić wartość Key'a.
Użytkownik Ortega edytował ten post 04.03.2010 22:14
#3
Napisano 04.03.2010 22:15
#4
Napisano 04.03.2010 22:15
#5
Napisano 04.03.2010 22:24
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#define PLUGIN "Usun pistolet"
#define VERSION "1.0"
#define AUTHOR "Mochi"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "HamSpawn", 1)
}
public HamSpawn(id)
{
new weapons[32],i,num
get_user_weapons(id,weapons,num)
for(i=0;i<num;i++)
{
if(jest_pistoletem(weapons[i]))
{
new name[32]
get_weaponname(weapons[i],name,31)
ham_strip_weapon(id,name)
}
}
}
stock jest_pistoletem(weapon)
{
if(weapon != CSW_USP
&& weapon != CSW_GLOCK18
&& weapon != CSW_ELITE
&& weapon != CSW_FIVESEVEN
&& weapon != CSW_P228
&& weapon != CSW_DEAGLE)
return 0
return 1
}
stock ham_strip_weapon(id,weapon[])
{
if(!equal(weapon, "weapon_", 7) ) return 0
new wId = get_weaponid(weapon)
if(!wId) return 0
new wEnt
while( (wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname", weapon) ) && pev(wEnt, pev_owner) != id) {}
if(!wEnt) return 0
if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon, wEnt)
if(!ExecuteHamB(Ham_RemovePlayerItem, id, wEnt)) return 0
ExecuteHamB(Ham_Item_Kill ,wEnt)
set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<wId) )
return 1
}
Użytkownik Mochi edytował ten post 05.03.2010 13:56
#6
Napisano 04.03.2010 22:45
get_weaponname(id,weapons[i],31)Powinno być:
get_weaponname(weapons[i], name ,31)
//edit
Od kiedy nóż jest pistoletem
Użytkownik Peyote edytował ten post 04.03.2010 22:48
#7
Napisano 05.03.2010 13:55
Użytkownik Mochi edytował ten post 05.03.2010 13:56
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych


Dodatki SourceMod



Temat jest zamknięty









