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
Klasa

Wyrzucenie broni

klasa

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

#1 SP3D!

    Profesjonalista

  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:201
  • Imię:Tomek
Offline

Napisano 23.07.2017 14:25

Mam Problem z klasą dodałem wyrzucenie broni: https://amxx.pl/topi...-przeciwnikowi/

 

i przy kompilacji wyskakuje error

 

klasa_hitman.sma(48) : error 001: expected token: ")", but found "return"
 

Załączone pliki


  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 23.07.2017 14:30

Na lini 47 albo 48 brakuje zamykającego nawiasu. Nie zaglądałem w kod jak cos, ale tak wynika z błędu.


  • +
  • -
  • 1

#3 Aexis

    Pomocny

  • Użytkownik

Reputacja: 35
Życzliwy

  • Postów:59
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wrocław
Offline

Napisano 23.07.2017 17:05

:)

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fun>
#include <hamsandwich>
        
new const nazwa[]   = "Hitman |Premium|";
new const opis[]    = "";
new const bronie    = (1<<CSW_HEGRENADE)|(1<<CSW_ELITE)|(1<<CSW_SG550);
new const zdrowie   = 30;
new const kondycja  = 20;
new const inteligencja = 30;
new const wytrzymalosc = 30;  
new const frakcja[] = "Ludzie";

new bool:ma_klase[33]
    
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, frakcja);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}

public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_E))
{
client_print(id, print_chat, "[Hitman |Premium|] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
give_item(id, "weapon_hegrenade");
ma_klase[id] = true;   
return COD_CONTINUE;
}

public cod_class_disabled(id)
{
ma_klase[id] = false;
}

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!(random_num(1,7) == 1))
return HAM_IGNORED;

if(ma_klase[idattacker])
client_cmd(this, "drop");

return HAM_IGNORED;
}

Użytkownik Aexis edytował ten post 23.07.2017 17:05

  • +
  • -
  • 1

1228979531_oie_291885ZfujEGiH(1).png.af1


#4 SP3D!

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:201
  • Imię:Tomek
Offline

Napisano 24.07.2017 06:12

Dodałem ")" i działa dzięki.


  • +
  • -
  • 0

#5 SP3D!

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:201
  • Imię:Tomek
Offline

Napisano 24.07.2017 06:45

Edycja wyższego posta była nie możliwa.

 

Klasa Nie działa. Kompiluje się, ale nie wyrzuca broni, zna ktoś działający kod ?


Użytkownik SP3D! edytował ten post 24.07.2017 06:46

  • +
  • -
  • 0

#6 Aexis

    Pomocny

  • Użytkownik

Reputacja: 35
Życzliwy

  • Postów:59
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wrocław
Offline

Napisano 24.07.2017 19:04

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fun>
#include <hamsandwich>
        
new const nazwa[]   = "Hitman |Premium|";
new const opis[]    = "";
new const bronie    = (1<<CSW_HEGRENADE)|(1<<CSW_ELITE)|(1<<CSW_SG550);
new const zdrowie   = 30;
new const kondycja  = 20;
new const inteligencja = 30;
new const wytrzymalosc = 30;  
new const frakcja[] = "Ludzie";

new bool:ma_klase[33]
    
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, frakcja);
register_event("Damage", "Damage", "b", "2!=0");	
}

public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_E))
{
client_print(id, print_chat, "[Hitman |Premium|] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
give_item(id, "weapon_hegrenade");
ma_klase[id] = true;   
return COD_CONTINUE;
}

public cod_class_disabled(id)
{
ma_klase[id] = false;
}

public Damage(id)
{
	new idattacker = get_user_attacker(id);
	
	if(!is_user_alive(idattacker))
		return;
	
	if(!ma_klase[idattacker])
		return;
		
	if(random_num(1, 7) != 1)
		return;
	
	client_cmd(id, "drop");
}

  • +
  • -
  • 0

1228979531_oie_291885ZfujEGiH(1).png.af1


#7 SP3D!

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:201
  • Imię:Tomek
Offline

Napisano 25.07.2017 17:43

Testowałeś to wg ? Czy wziąłeś pierwsze lepsze ? Bo z mojego testowania to niezbyt działa


Użytkownik SP3D! edytował ten post 25.07.2017 17:43

  • +
  • -
  • 0

#8 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 25.07.2017 20:23

Kod z neta, ciekawy jestem czy sęk nie siedzi w tym, że nie da się wpisać drop w konsolę gracza dla klientów z CSXGuardem, zaraz sprawdzę i dam Wam znać.

@edit przetestowałem i błąd tak jak mówiłem wynika najprawdopodobniej z CSXGuarda, który blokuje wysyłanie komend z serwera do klienta, ehh, niezła udręka. Czy istnieje jakaś inna metoda? Najprościej chyba skorzystać z ham_strip_user_weapon: https://amxx.pl/topi...ip-user-weapon/

Kod z linku jednak nie wyrzuca broni graczowi, tylko ją zabiera, więc już jej nie będzie mógł sobie podnieść, na chwilę obecną nic innego nie przychodzi mi do głowy.

@edit2 dodatkowo sprawdziłem i na Steamie wyrzuca, na NSie od setti już nie - wydaje się to być chyba pewniaczek.


  • +
  • -
  • 1

#9 ŁukaszThc

    Pomocny

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:55
  • Imię:Łukasz
  • Lokalizacja:Komputer
Offline

Napisano 26.07.2017 00:25

https://amxx.pl/topi...torów-i-blokad/


  • +
  • -
  • 0

#10 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 26.07.2017 00:52

Może tak by ręcznie stworzyć entity broni. Nadać mu wysokość jakaś, velocity i zaemulowac wyrzucenie. A tak naprawdę stripnąć broń, kiedyś robiłem coś podobnego (w sensie że takie wyrzucenie).
  • +
  • -
  • 0

#11 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 26.07.2017 06:26

Sprawdź, jak zrobiłem sobie wyrzucanie pod komendą to działało:

http://wklej.org/id/3224514/


  • +
  • -
  • 0

#12 SP3D!

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:201
  • Imię:Tomek
Offline

Napisano 26.07.2017 12:44

Po Szybkim teście stwierdzam, że broń jest wyrzucana, ale po skończeniu rundy broń (Tylko jeśli zostanie wyrzucona przez klasę nie śmierć) nie znika tylko zostaje do następnej rundy. Przez ile rund zostaje nwm ja grałem chyba 3 i ciągle były, ale broń wyrzuca jest progres  :D


Użytkownik SP3D! edytował ten post 26.07.2017 12:45

  • +
  • -
  • 0

#13 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 26.07.2017 17:37

http://wklej.org/id/3224822/


  • +
  • -
  • 0

#14 SP3D!

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:201
  • Imię:Tomek
Offline

Napisano 26.07.2017 18:00

(Chyba)Po wgraniu klasy przy rozpoczęciu gry wywala error: ED_Alloc no free edicts

Nie wywala od razu tylko dopiero po tym pierwszym "resecie"


  • +
  • -
  • 0

#15 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 27.07.2017 14:53

https://amxx.pl/topi...zy-cos-takiego/


  • +
  • -
  • 0

#16 SP3D!

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:201
  • Imię:Tomek
Offline

Napisano 27.07.2017 16:23

Nie Pomogło.

Wszedłem w właściwości ikony.

Znalazłem Element Docelowy i zmieniłem z: "C:\Gry\Counter-Strike 1.6 v43\Counter-Strike 1.6.exe" na: "C:\Gry\Counter-Strike 1.6 v43\Counter-Strike 1.6.exe" -num_edicts 2047


  • +
  • -
  • 0

#17 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 27.07.2017 20:24

Pogoogluj, jest dużo innych tematów w twojej sprawie.


  • +
  • -
  • 0

#18 SP3D!

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:201
  • Imię:Tomek
Offline

Napisano 28.07.2017 08:06

Przeszperałem gogle, ale nic nowego nie znalazłem. zrobiłem 3 rzeczy :

Zwiększyłem liczbę 2047 na 50000 - nie pomogło

Usunąłem wszystkie pluginy (Zostawiając klasę i silnik cod moda) - nie pomogło

Usunąłem klasę - działa.

 

Klasa buguje serwer, ale czemu ?


  • +
  • -
  • 0

#19 SP3D!

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:201
  • Imię:Tomek
Offline

Napisano 28.07.2017 09:41

Wpadłem na inny pomysł. Można by uniknąć wyrzucenia broni. klasa zmieniałaby z broni podstawowej,pomocniczej i ekwipunku (Granaty) na broń białą.


Użytkownik SP3D! edytował ten post 28.07.2017 09:41

  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: klasa

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

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