←  Szukam pluginu

AMXX.pl: Support AMX Mod X i SourceMod

»

Zakaz podnoszenia broni z ziemii.

  • +
  • -
Zagond - zdjęcie Zagond 24.02.2012

Witam !
Poszukuję pluginu uniemożliwiającego podnoszenie broni z ziemi na własny serwer Paintball.
Są niektóre mapki, na których można podnieść np. awp, uzi itd.. wtedy to już nie jest Paintball, jest to bardzo denerwujące.
Proszę o podesłanie mi tego pluginu, jeżeli takowy istnieje. Chodzi mi konkretnie o to, żeby nie można było podnosić z ziemi żadnej broni, jedynie C4.
Bardzo mi na tym zależy, za każdą okazaną pomoc oczywiście plusik.
Pozdrawiam i z góry dziękuję !
Odpowiedz

gring0 - zdjęcie gring0 24.02.2012

spróbuj:


#include <amxmodx> 
#include <hamsandwich> 

public plugin_init() 
{ 
    register_plugin( "Block Weapon Pickup", "1.0", "Wrecked" ) 
     
    RegisterHam( Ham_Touch, "weaponbox", "HamTouchPre", 0 ) 
    RegisterHam( Ham_Touch, "armoury_entity", "HamTouchPre", 0 ) 
} 

public HamTouchPre( weapon ) 
    return HAM_SUPERCEDE; // blocks function call
Odpowiedz

  • +
  • -
Zagond - zdjęcie Zagond 26.02.2012

Działa, ale po wyrzuceniu C4, nie da się jej podnieść, a chodzi mi o to, żeby nie można było podnosić jakiejkolwiek broni, a C4 tak.
Odpowiedz

  • +
  • -
Zagond - zdjęcie Zagond 27.02.2012

@Refresh
Odpowiedz

pfkers - zdjęcie pfkers 29.02.2012

#include <amxmodx>
#include <hamsandwich>
#include <engine>
#include <fun>
new g_cvarDropAllWeapons
public plugin_init() {
register_plugin("dropallweapons", "1.0", "pfk")
g_cvarDropAllWeapons = register_cvar("DropAllWeapons", "1")

RegisterHam(Ham_Touch, "armoury_entity", "WeaponTouch");
RegisterHam(Ham_Touch, "weapon_shield", "WeaponTouch");
RegisterHam(Ham_Touch, "weaponbox", "WeaponTouch");
RegisterHam(Ham_Spawn, "player", "Spawned", 1)

register_event("CurWeapon","CurWeapon","be", "1=1")
}
public CurWeapon(id)
{
new iWpn = read_data(2)

if(iWpn == CSW_KNIFE || iWpn == CSW_C4)
return PLUGIN_CONTINUE

new mode = get_pcvar_num(g_cvarDropAllWeapons)
switch(mode)
{
case 1: {
engclient_cmd(id, "weapon_knife")
}
case 2: {
if(get_user_team(id) == 1)
{
engclient_cmd(id, "weapon_knife")
}
}
case 3: {
if(get_user_team(id) == 2)
{
engclient_cmd(id, "weapon_knife")
}
}
default: return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public Spawned(id)
{
new mode = get_pcvar_num(g_cvarDropAllWeapons)
switch(mode)
{
case 1: {
strip_user_weapons(id)
give_item(id, "weapon_knife")
}
case 2: {
if(get_user_team(id) == 1)
{
strip_user_weapons(id)
give_item(id, "weapon_knife")
}
}
case 3: {
if(get_user_team(id) == 2)
{
strip_user_weapons(id)
give_item(id, "weapon_knife")
}
}
default: return HAM_IGNORED
}
return HAM_IGNORED
}
public WeaponTouch(iWpn, id)
{
new model[23];
entity_get_string(iWpn, EV_SZ_model, model, 22)
if (!is_user_connected(id) || equal(model, "models/w_backpack.mdl"))
return PLUGIN_CONTINUE

new mode = get_pcvar_num(g_cvarDropAllWeapons)

switch(mode)
{
case 1: return HAM_SUPERCEDE
case 2: {
if(get_user_team(id) == 1)
return HAM_SUPERCEDE
}
case 3: {
if(get_user_team(id) == 2)
return HAM_SUPERCEDE
}
default: return HAM_IGNORED
}
return HAM_IGNORED
}



cvar wrzucasz do amxx.cfg najlepiej na koniec

DropAllWeapons 1
Użytkownik pfk92 edytował ten post 29.02.2012 01:05
Odpowiedz

  • +
  • -
Nakupenda. - zdjęcie Nakupenda. 29.02.2012

kodu pfk92 nawet nie próbuj

może tak:

#include <amxmodx>
#include <hamsandwich>

public plugin_init()
{
register_plugin( "Block Weapon Pickup", "1.0", "Wrecked" )

RegisterHam( Ham_Touch, "weaponbox", "HamTouchPre", 0 )
RegisterHam( Ham_Touch, "armoury_entity", "HamTouchPre", 0 )
}

public HamTouchPre( weapon ) {
if(weapon == CSW_C4)
return HAM_IGNORED; // jak C4 to nic sie nie dzieje
return HAM_SUPERCEDE; // w innym przypadku blokuje
}

Użytkownik Nakupenda. edytował ten post 29.02.2012 10:49
Odpowiedz

pfkers - zdjęcie pfkers 29.02.2012

Dlaczego ma nie probowac?? u mnie dziala bardzo dobrze
Odpowiedz

  • +
  • -
Nakupenda. - zdjęcie Nakupenda. 29.02.2012

na własny serwer Paintball.


a na PB są też inne bronie niż C4 i nóż, czego nie uwzględniłeś w swoim kodzie
Odpowiedz

pfkers - zdjęcie pfkers 29.02.2012

faktycznie troche sie zapedzilem i nie uwzglednilem tego..
Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 29.02.2012

Nakupenda. , pierwszy parametr Ham_Touch to ID bytu broni leżącej na ziemi, a nie ID broni. Powinno być raczej tak:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>

public plugin_init()
{
register_plugin( "Block Weapon Pickup", "1.0", "Wrecked" )

RegisterHam( Ham_Touch, "weaponbox", "HamTouchPre", 0 )
RegisterHam( Ham_Touch, "armoury_entity", "HamTouchPre", 0 )
}

public HamTouchPre( weapon ) {
if(!pev_valid(weapon))
return HAM_IGNORED;

new name[20];
pev(weapon, pev_model, name, 19);
if(containi(name, "w_backpack") != -1)
return HAM_IGNORED;

return HAM_SUPERCEDE;
}
Odpowiedz

  • +
  • -
Nakupenda. - zdjęcie Nakupenda. 29.02.2012

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>

public plugin_init()
{
register_plugin( "Block Weapon Pickup", "1.0", "Wrecked" )

RegisterHam( Ham_Touch, "weaponbox", "HamTouchPre", 0 )
RegisterHam( Ham_Touch, "armoury_entity", "HamTouchPre", 0 )
}

public HamTouchPre( weapon ) {
if(!pev_valid(weapon))
return HAM_IGNORED;

new name[20];
pev(weapon, pev_model, name, 19);
if(containi(name, "weapon_c4") != -1)
return HAM_IGNORED;

return HAM_SUPERCEDE;
}


to pod c4 byloby tak, goliath?

@down: achh, takie buty.. :D dzięki za info ;)
Goliath (29.02.2012 18:44):
Nope. To co podałem wyżej powinno zadziałać. Zauważ, że pobierana jest nazwa modelu bytu i sprawdzane czy zawiera on ciąg znaków "w_backpack". A jaką nazwę ma model wyrzuconej paki? "w_backpack.mdl", oczywiście :D.

Użytkownik Nakupenda. edytował ten post 29.02.2012 18:53
Odpowiedz