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

Funkcja: jeśli gracz ma daną broń, to zostaje mu ona odebranaif(user_has_weapon(id, CSW_)) ???


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

#1 Sooldierr

    Zaawansowany

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:94
  • Lokalizacja:Turek
Offline

Napisano 16.04.2014 10:58

Witam, mam problem z napisaniem małego prostego pluginu. który reagował by na broń którą określę w kodzie.

Jeśli gracz wejdzie w posiadanie pewnej broni, przez kupno lub znalezienie na mapie to zostaje mu odebrana ta broń, albo zabrane wszystkie i dany nóż.

 

Są gracze, którzy w jakiś sposób umieją obejść Weapon restricted, nie mam pojęcia jak to robią i kupują broń SG550 (autokampa CT).

 

O to kod mojego pluginu:

#include <amxmodx>
#include <fun>

#define indeks 305

public plugin_init() 
{
	register_plugin("WeaponStrip", "1.0", "$OLDIER")
	CmdStrip(indeks)
}

public CmdStrip(id)
{
	id -= indeks;
	if (is_user_alive(id))
	{
		if(user_has_weapon(id, CSW_SG550))
		{
			strip_user_weapons(id);
			give_item(id, "weapon_knife");
		}
	}
}

Korzystałem także zamiennie

user_has_weapon

na:

get_user_weapon

oraz:

get_user_weapons

  • +
  • -
  • 0

#2 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 16.04.2014 11:09

Na wstępie grzecznie zaproszę Cię do paradników abyś zrozumiał "jak się korzysta z id w operacjach na graczu" i jak to działa. Twój plugin (zabierania broni) nie wykona się bo gracz o id 0 nie żyje.


  • +
  • -
  • 0

#3 Drago36

    Profesjonalista - if you know what i mean

  • Power User

Reputacja: 561
Wszechwiedzący

  • Postów:707
  • GG:
  • Imię:Mów mi D.ave
  • Lokalizacja:Polska
Offline

Napisano 16.04.2014 12:12

Nie lepiej w CurWeapon?

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fun>


public plugin_init() {
	register_event("CurWeapon","CurWeapon","be", "1=1")
}

public CurWeapon(id) 
{
	new wid = read_data(2)
	
	if(!is_user_alive(id))
		return PLUGIN_CONTINUE

	if(wid == CSW_SG550)
	{
		strip_user_weapons(id)
		give_item(id, "weapon_knife")
	}
	return PLUGIN_CONTINUE
}

sharkowy (16.04.2014 13:05):
btw. SG550 to Krieg bodajże, a nie autokampa CT, weapon_g3sg1 <-- to jest chyba autokampa ;P

  • +
  • -
  • 2

#4 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 16.04.2014 13:03

#include <amxmodx>
#include <amxmisc>
#include <stripweapons>

public plugin_init() {
	register_event("CurWeapon","CurWeapon","be", "1=1")
}

public CurWeapon(id) 
{
	new wid = read_data(2)
	
	if(!is_user_alive(id))
		return PLUGIN_CONTINUE

	if(wid == CSW_SG550) StripWeapons(id,Primary,true);
	return PLUGIN_CONTINUE
}

Albo jeszcze lepiej ? :&

 

Potrzebujesz tylko jeszcze dodatkowej biblioteki http://amxx.pl/dokum...44/stripweapons , ale zabierać będzie tylko konkretną broń.


  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#5 Sooldierr

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:94
  • Lokalizacja:Turek
Offline

Napisano 16.04.2014 13:12

Dzięki, nie myślałem, że użyć eventu do tego.

 

A jeszcze jedna sprawa. Otóż mam serwer ZombieMod Biohazard.

I mam zablokowane kupno autokampy G3SG1. Ale jest taki bonus dla gracza, który ubije ostatniego Zombie, to otrzymuje właśnie tą broń wraz pakietem granatów.

 

I teraz chodzi mi o to.

 

Jeśli tym samym sposobem gracz mógłby kupić autokampę G3SG1, to jak to zablokować (kupowanie) tak, żeby, nie odbierało graczowi bonusu?

 

Jakiś event na buy?

 

sharkowy, krieg Commando, tez jednym zoomem to jest SG552 :) Dobrze jest, czyhałem, aż koleś zabije z autokampy CT i w konsoli ujawniło się SG550 :)

 

Ogen Dogen o nie wiedziałem, że da radę zabrać z jednego slota właśnie, dzięki zawsze to krótszy kod i mniej funkcji do wykonania :)


Użytkownik Sooldierr edytował ten post 16.04.2014 13:30

  • +
  • -
  • 0

#6 Drago36

    Profesjonalista - if you know what i mean

  • Power User

Reputacja: 561
Wszechwiedzący

  • Postów:707
  • GG:
  • Imię:Mów mi D.ave
  • Lokalizacja:Polska
Offline

Napisano 16.04.2014 13:46

Ok, a ten bonus dla ostatniego gracza to masz w osobnym pluginie, czy w silniku?

Najlepiej jakby ci się udało znaleźć ten kod i wstawił go tu.


  • +
  • -
  • 0

#7 Sooldierr

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:94
  • Lokalizacja:Turek
Offline

Napisano 16.04.2014 14:08

On jest w całym kodzie Biohazard, którego źródła niestety nie posiadam.

 

Rozumiem, że chciałeś nie zmieniać sposobu odbierania broni, a wykluczyć ten event/funckcję otrzymywania bonusu czy jak to tam nazwać tak?


  • +
  • -
  • 0

#8 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 16.04.2014 15:19

Myślę że ten kod też się nada , bo CurWeapon to podnoszenie broni a gdy kupujesz to tak jakbyś podniósł.


  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#9 Drago36

    Profesjonalista - if you know what i mean

  • Power User

Reputacja: 561
Wszechwiedzący

  • Postów:707
  • GG:
  • Imię:Mów mi D.ave
  • Lokalizacja:Polska
Offline

Napisano 16.04.2014 15:21

Ogen Dogen, kod się nada, ale trzeba go zedytować tak, aby temu graczowi co zyskał bonus, nie wyrzucało autolamy.

Sooldier wrzuć plik silnika .sma tu.


  • +
  • -
  • 0

#10 artowir97

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
  • Imię:Artur
  • Lokalizacja:Łódź
Offline

Napisano 16.04.2014 15:43

pooeze ktos?? http://amxx.pl/topic...zy-cos-takiego/

 

bo nikt nie spojzal

 


  • +
  • -
  • 0

#11 Sooldierr

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:94
  • Lokalizacja:Turek
Offline

Napisano 16.04.2014 16:15

Drago36

 

Niestety nie mam kodu źródłowego :P ma go tylko główny właściciel serwera

 


  • +
  • -
  • 0

#12 Sooldierr

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:94
  • Lokalizacja:Turek
Offline

Napisano 16.04.2014 18:26

Nie mogę już edytować. Ale może gdyby dało radę jakoś odnieść się do eventu w grze, gdy zostaje zabity ostatni terrorysta?

Wszak zombie są w drużynie TT. I jakoś odnieść się wtedy, że ten który zabił to mu nie zabiera. 


  • +
  • -
  • 0

#13 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 22.04.2014 13:15

W pluginie, który daje bonus dodajesz globalną tablicę 33 elementową
W client_connect wpisujesz False w komórkę odpowiadającą ID gracza
W momencie dodania graczowi bonusu - autokampy, w komórkę odpowiadającą ID gracza wpisujesz True.
W momencie śmierci gracza, wpisujesz spowrotem False.

Kod "pilnujący", aby nikt nieuprawniony nie używał autokampy wrzucasz do tego pluginu i dodajesz:
    if(GraczMozeMiecAutokampe[id])
        return PLUGIN_CONTINUE
GraczMozeMiecAutokampe zamieniasz na nazwę globalnej tablicy, którą utworzyłeś wcześniej.

Więc bez kodu tamtego pluginu sobie nie poradzisz. Ewentualnie "właściciela" serwera możesz skierować do tego postu, aby dodał odpowiednie rzeczy do tamtego pluginu.
  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark





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

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