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

szukam broni blokada broni dla tt


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
16 odpowiedzi w tym temacie

#1 ToTylkoKasia

    Pomocny

  • Girl

Reputacja: 4
Nowy

  • Postów:59
Offline

Napisano 24.08.2015 20:22

Cześć.

Szukam pluginu, który ma za zadanie wprowadzić blokadę używania wszystkich broni dla tt ( zombie ) na serwer BaseBuilder.

Nie chodzi o działka, czy inne takie rzeczy tylko bronie, np. Ak47.


  • +
  • -
  • 0

#2 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 25.08.2015 02:23

ham_deploy * + strip_weapons ;)


  • +
  • -
  • 0

#3 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 25.08.2015 03:09

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

#define GetBlock(%0)	g_iBitBlockedWeapons & (1<<(%0 & 31))
#define SetBlock(%0)	g_iBitBlockedWeapons |= (1<<(%0 & 31))
#define ClearBlock(%0)	g_iBitBlockedWeapons &= ~(1<<(%0 & 31))

new g_iBitBlockedWeapons;

public plugin_init()
{
	register_plugin("Block Weapons", "1.0", "asiap");

	RegisterHamPlayer(Ham_Spawn, "SpawnPlayer");

	new szBlockTouchGun[][] = {
		"armoury_entity", "weaponbox", "weapon_shield"
	};

	for(new i; i < sizeof szBlockTouchGun; i++)
	{
		RegisterHam(Ham_Touch, szBlockTouchGun[i], "TouchGun");
	}

	new szName[24];
	for(new i = CSW_P228; i <= CSW_P90; i++)
	{
		if(!(1<<CSW_KNIFE & 1<<i) && get_weaponname(i, szName, 23))
		{
			RegisterHam(Ham_Item_Deploy, szName, "ItemDeploy", 1);
		}
	}
}

public client_disconnect(id)
{
	if(~GetBlock(id))
	{
		return;
	}
	ClearBlock(id);
}

public SpawnPlayer(id)
{
	switch(get_user_team(id)) {
		case 1:
		{
			if(~GetBlock(id))
			{
				SetBlock(id);
			}
		}
		case 2:
		{
			if(GetBlock(id))
			{
				ClearBlock(id);
			}
		}
	}
}

public ItemDeploy(iEnt)
{
	new iPlayer;
	if(~GetBlock((iPlayer = get_pdata_cbase(iEnt, 41, 4))) != 1) return;

	engclient_cmd(iPlayer, "weapon_knife");
}

public TouchGun(iEnt, id)
{
	if(!is_user_alive(id) || ~GetBlock(id))
	{
		return HAM_IGNORED;
	}
	return HAM_SUPERCEDE;
}

lub
 

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

#define GetBlock(%0)	g_iBitBlockedWeapons & (1<<(%0 & 31))
#define SetBlock(%0)	g_iBitBlockedWeapons |= (1<<(%0 & 31))
#define ClearBlock(%0)	g_iBitBlockedWeapons &= ~(1<<(%0 & 31))

new g_iBitBlockedWeapons;

public plugin_init()
{
	register_plugin("Block Weapons", "1.0", "asiap");

	register_event("TeamInfo", "TeamInfo", "a");
	register_event("WeapPickup", "WeapPickup", "be", "1!29");
}

public client_disconnect(id)
{
	if(~GetBlock(id))
	{
		return;
	}
	ClearBlock(id);
}

public TeamInfo()
{
	new szTeam[2], iPlayer = read_data(1);
	read_data(2, szTeam, 1);

	switch(szTeam[0])
	{
		case 't':
		{
			if(~GetBlock(iPlayer))
			{
				SetBlock(iPlayer);
			}
		}
		case 'c':
		{
			if(GetBlock(iPlayer))
			{
				ClearBlock(iPlayer);
			}
		}
	}
}

public WeapPickup(id)
{
	new iWeapon = read_data(1);
	new szWeapon[24];
	get_weaponname(iWeapon, szWeapon, 23);

	new iEnt;
	while((iEnt = engfunc(EngFunc_FindEntityByString, iEnt, "classname", szWeapon)) && pev(iEnt, pev_owner) != id)
	{
	}

	if(!iEnt)
	{
		return;
	}

	ExecuteHam(Ham_Weapon_RetireWeapon, iEnt);

	if(ExecuteHam(Ham_RemovePlayerItem, id, iEnt))
	{
		ExecuteHam(Ham_Item_Kill, iEnt);
		set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<iWeapon));
	}
}

Użytkownik Asiap edytował ten post 25.08.2015 03:27

  • +
  • -
  • 1

#4 ToTylkoKasia

    Pomocny

  • Autor tematu
  • Girl

Reputacja: 4
Nowy

  • Postów:59
Offline

Napisano 25.08.2015 11:02

A czy mogłabyś mi podać pliki do pobrania tego? amxx i sma


  • +
  • -
  • 0

#5 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 25.08.2015 13:55

wklej na https://www.amxmodx....webcompiler.cgina to duze pole

a w tym mniejszym podaj nazwe pluginu i nacisnij compile ;)

ukarze sie link do pobrania pliku amxx


  • +
  • -
  • 1

#6 ToTylkoKasia

    Pomocny

  • Autor tematu
  • Girl

Reputacja: 4
Nowy

  • Postów:59
Offline

Napisano 25.08.2015 16:38

No o tym wiem, bym tak zrobiła, ale..

 

Nie mam pojęcia jak zrobić z tej notatki plik .sma : P


  • +
  • -
  • 0

#7 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 25.08.2015 16:57

No o tym wiem, bym tak zrobiła, ale..

 

Nie mam pojęcia jak zrobić z tej notatki plik .sma : P

 

Kopiujesz tekst do notatnika, klikasz "zapisz jako" i wpisujesz nazwe pliku. Na koncu dopisujesz ".sma" to tyle.


  • +
  • -
  • 2

b35020692_qesnxqa.png


#8 ToTylkoKasia

    Pomocny

  • Autor tematu
  • Girl

Reputacja: 4
Nowy

  • Postów:59
Offline

Napisano 25.08.2015 17:20

A no dobra, dziękuję bardzo :P

 


  • +
  • -
  • 0

#9 ToTylkoKasia

    Pomocny

  • Autor tematu
  • Girl

Reputacja: 4
Nowy

  • Postów:59
Offline

Napisano 25.08.2015 21:34

Przepraszam za 2 posty pod rząd, ale to co mi Asiap dałaś nie działa. Pierwszego się nie da skomplikować, a drugie na serwerze nie blokuje broni dla zm.

Dodam jeszcze że ma blookować wszystkie bronie oprócz noża.


  • +
  • -
  • 0

#10 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 25.08.2015 22:37

dzialaja oby dwa kody

 

w pierwszym zamien

if(~GetBlock((iPlayer = get_pdata_cbase(iEnt, 41, 4))) != 1) return;

na

if(~GetBlock((iPlayer = get_pdata_cbase(iEnt, 41, 4)))) return;

Użytkownik Asiap edytował ten post 25.08.2015 22:40

  • +
  • -
  • 0

#11 ToTylkoKasia

    Pomocny

  • Autor tematu
  • Girl

Reputacja: 4
Nowy

  • Postów:59
Offline

Napisano 27.08.2015 12:55

Zamieniłam to i nadal nie można skomplikować. Wyślij cytowanym tekstem co mam wkleić.


  • +
  • -
  • 0

#12 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 27.08.2015 14:51

#include amxmodx
#include fun
#include fakemeta

#define strip_user_weapons2(%0) strip_user_weapons(%0), set_pdata_int(%0, 116, 0) // Dziekujemy Cypisowi za kod :))

public plugin_init()
{
    register_plugin("Blokada broni dla tt","1.0","NoLiFeR")
    register_event("CurWeapon","CurWeapon","be", "1=1", "2!=29") //rejestruje wyciagniecie wszystkiego oprocz kosy TAK mozna to zrobic lepiej, lecz to jest najprostsza opcja.
}

public CurWeapon(id)
{
    if(get_user_team(id) == 1)
        strip_user_weapons2(id) // zabranie wszystkiego z wyjatkiem kosy
}

Użytkownik NoLiFeR edytował ten post 27.08.2015 14:52

  • +
  • -
  • 1

#13 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 27.08.2015 16:19

nie uzywa sie eventu CurWeapon do takich celow....  :wstyd:

 

w zalaczniku jest sma i amxx mojego piewszego kodu Załączony plik  block_weapons.sma   1,37 KB  133 Ilość pobrań
  block_weapons.amxx


  • +
  • -
  • 1

#14 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 27.08.2015 18:19

nie uzywa sie eventu CurWeapon do takich celow....  :wstyd:

 

w zalaczniku jest sma i amxx mojego piewszego kodu attachicon.gifblock_weapons.sma

 

Nie minusuje sie innych, probujacych pomoc :facepalm:


  • +
  • -
  • 0

b35020692_qesnxqa.png


#15 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 27.08.2015 19:04

Napisałem, ze są inne, wydajniejsze sposoby. lecz użyłem tego, ponieważ najprościej jest zrozumieć ten event...

Mów amatorowi o kanapce 

	for(new i = CSW_P228; i <= CSW_P90; i++)
	{
		if(i != CSW_KNIFE && get_weaponname(i, szName, 23))
		{
			RegisterHam(Ham_Item_Deploy, szName, "ItemDeploy", 1);
		}
	}

Chodzi o to, aby dana osoba zrozumiała dany przez Ciebie kod. jak on może wiedzieć że CSW_P228 jest pierwszym weaponem, a CSW_P90 ostatnim ._. ?
a tutaj       

if(i != CSW_KNIFE && get_weaponname(i, szName, 23))

Pobierasz nazwe broni w pętli okej... Amator nie zorientuje się dlaczego funkcje parametrów której używasz do zarejestrowania danego wydarzenia umieściłeś w warunku i będzie robił byki...

Plugin jest niejasno napisany, przez co może być źle interpretowany przez osoby nie znające się na rzeczy tak jak ty czy ja...

 


	if(~GetBlock((iPlayer = get_pdata_cbase(iEnt, 41, 4)))) return;

Co to za potwór... Skąd się wział... Potem mamy na forum tematy takiego typu.

Nie rzecz w tym, aby dać użytkownikowi gotowca... Trzeba powiedzieć mu dlaczego akurat tak zakodowałeś ten plugin...

Wtedy będzie on mógł pojąć pewne rzeczy, i w niektórych przypadkach samemu sobie poradzić.


Użytkownik NoLiFeR edytował ten post 27.08.2015 19:05

  • +
  • -
  • 1

#16 ToTylkoKasia

    Pomocny

  • Autor tematu
  • Girl

Reputacja: 4
Nowy

  • Postów:59
Offline

Napisano 27.08.2015 20:08

Sprawdze i powiem czy działają.


Użytkownik ToTylkoKasia edytował ten post 27.08.2015 20:15

  • +
  • -
  • 0

#17 ToTylkoKasia

    Pomocny

  • Autor tematu
  • Girl

Reputacja: 4
Nowy

  • Postów:59
Offline

Napisano 27.08.2015 21:37

Plugin Asi działa, dziękuje ;)


  • +
  • -
  • 0




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

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