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
CoD Nowy

Jak zrobić wyrzucanie broni przez set_task ?

cod nowy

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

#1 aRrOw

    Profesjonalista

  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:196
  • Imię:Luk
  • Lokalizacja:Amxx.pl
Offline

Napisano 24.07.2015 09:01

Witam.

 

Na codzie, mam problem z dawaniem podstawowych broni ( USP/GLOCK ) nawet gdy nie są one przypisane klasie. Wiem że jest poradnik jak usunąć te bronie. Ale ja nie chcę ich usuwać ze wszystkich klas tylko z tej jednej. I mam do was pytanie jak dodać to klasy. Żeby przez set_task sprawdzało czy gracz ma inne bronie niż P228, jeśli ma to poprostu je dropie mam zrobiony taki kod ale on nie działa:

public CurWeapon(id)

{

	    if(ma_klase[id] && read_data(2) != CSW_KNIFE)
	    if(ma_klase[id] && read_data(2) != CSW_P228)

	    {

					    set_task(0.1 ,"ma" ,id)

	    }

}

public ma(id)

{

	    strip_user_weapons(id);

	    give_item(id, "weapon_knife");
	    give_item(id, "weapon_P228");

}

Ale z tego co widze to i tak jak gracz będzie w TT to będzie mu dropało pake czy nie? Jak to zrobić w inny sposób?

 

 

 

 

 


  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#2 Alelluja

    Miszcz jotbe

  • Power User

Reputacja: 491
Wszechobecny

  • Postów:981
  • GG:
Offline

Napisano 24.07.2015 09:42

Tak o ?

 

public CurWeapon(id)
{
    
    if ((get_user_weapon(id) != CSW_C4) && get_user_weapon(id) != CSW_KNIFE && get_user_weapon(id) != CSW_P228)        
    {
        
        set_task(0.1 ,"ma" ,id)
        
    }
    
}

public ma(id)
{
    
    strip_user_weapons(id);
    
    give_item(id, "weapon_knife");
    give_item(id, "weapon_p228");
    
}


  • +
  • -
  • 2

Moje Pluginy | Paczki:
------> http://amxx.pl/topic...od/#entry687942 <------ 500 Postów 27.05.2015
------> http://amxx.pl/topic...monety-lombard/<------
------> http://amxx.pl/topic...-na-ammo-packi/<------


#3 aRrOw

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:196
  • Imię:Luk
  • Lokalizacja:Amxx.pl
Offline

Napisano 24.07.2015 10:50

Niestety nie wyrzuca broni


  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#4 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

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

Napisano 27.07.2015 09:03

Niestety nie wyrzuca broni

 

Ma je koniecznie wyrzucac? Dziwne rozwiazanie ale coz. Sprawdz tak

public CurWeapon(id)
{

    if ((get_user_weapon(id) != CSW_C4) && get_user_weapon(id) != CSW_KNIFE && get_user_weapon(id) != CSW_P228)        
		set_task(0.1 ,"ma" ,id)
}
public ma(id)
{
	client_cmd(id, "drop");
}

Kompletnie bezsensowne jest uzywanie taska, poza tym lepiej blokowac np podnoszenie i dawanie niz wyrzucac co chwila.


  • +
  • -
  • 1

b35020692_qesnxqa.png


#5 aRrOw

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:196
  • Imię:Luk
  • Lokalizacja:Amxx.pl
Offline

Napisano 27.07.2015 09:09

Kompletnie bezsensowne jest uzywanie taska, poza tym lepiej blokowac np podnoszenie i dawanie niz wyrzucac co chwila.


Zainteresowałeś mnie tą wypowiedzią. Wiesz może jak je zablokować inaczej? Oczywiście sprawdze też ten sposób.
  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#6 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

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

Napisano 27.07.2015 09:18

Silnik raz raz to przerobie. Ustawiasz by nie dalo sie podnosic okreslonej broni jezeli gracz gra okreslona klasa. Tyle, a w funkcji perkow blokujesz dawanie broni/itemu dla tej samej klasy.


  • +
  • -
  • 0

b35020692_qesnxqa.png


#7 aRrOw

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:196
  • Imię:Luk
  • Lokalizacja:Amxx.pl
Offline

Napisano 27.07.2015 11:08

A mógłbyś mi to po prostu pokazać na zwykłym codzie a ja bym to przerobił pod swój :) ??


  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#8 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

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

Napisano 27.07.2015 13:23

CurWeapon zamien na

public CurWeapon(id)
{
	if(!is_user_connected(id))
		return;
		
	new team = get_user_team(id);
	
	if(team > 2)
		return;
		
	new bron = read_data(2);
	new bronie;
	if(PobierzKlase(id) == PobierzNazweKlasy(PobierzKlase, "nazwaklasy"))
		bronie = (bronie_klasy[klasa_gracza[id]] | bonusowe_bronie_gracza[id] | bronie_dozwolone);
	else
		bronie =  (bronie_klasy[klasa_gracza[id]] | bonusowe_bronie_gracza[id] | bronie_druzyny[team] | bronie_dozwolone);

	if(!(1<<bron & bronie))
	{
		new weaponname[22];
		
		get_weaponname(bron, weaponname, 21);
		ham_strip_weapon(id, weaponname);
	}
	
	if(cs_get_user_shield(id) && !gracz_ma_tarcze[id])
		engclient_cmd(id, "drop", "weapon_shield");	
		
	UstawSzybkosc(id);
}

Tylko nie jestem pewien, czy nazwy natywow sa okej. A do usuwania broni w codzie uzywaj lepiej codtakeweapon


  • +
  • -
  • 1

b35020692_qesnxqa.png


#9 aRrOw

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:196
  • Imię:Luk
  • Lokalizacja:Amxx.pl
Offline

Napisano 27.07.2015 13:37

Dzięki :)
  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#10 aRrOw

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:196
  • Imię:Luk
  • Lokalizacja:Amxx.pl
Offline

Napisano 27.07.2015 14:35

Niestety nie działa. Przy kompilacji wyskakuje:

Error: Syntax error in the expression, or invalid function call on line 1245

jest to ta linijka"

if(PobierzKlase(id) == PobierzNazweKlasy(PobierzKlase, "nazwaklasy"))

  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#11 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

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

Napisano 28.07.2015 13:52

 

Niestety nie działa. Przy kompilacji wyskakuje:

Error: Syntax error in the expression, or invalid function call on line 1245

jest to ta linijka"

if(PobierzKlase(id) == PobierzNazweKlasy(PobierzKlase, "nazwaklasy"))

 

Tak jak mowilem, od dawna nie zajmuje sie nowym codem wiec zapomnialem tych wszystkich natywow itp itd :). Zamien to na

if(klasa_gracza[id] == PobierzKlasePrzezNazwe("NazwaKlasy"))

 


  • +
  • -
  • 1

b35020692_qesnxqa.png


#12 aRrOw

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:196
  • Imię:Luk
  • Lokalizacja:Amxx.pl
Offline

Napisano 28.07.2015 18:48

Niestety nie działa. Przy kompilacji wyskakuje:

Error: Syntax error in the expression, or invalid function call on line 1245
jest to ta linijka"
if(PobierzKlase(id) == PobierzNazweKlasy(PobierzKlase, "nazwaklasy"))
 
Tak jak mowilem, od dawna nie zajmuje sie nowym codem wiec zapomnialem tych wszystkich natywow itp itd :). Zamien to na
if(klasa_gracza[id] == PobierzKlasePrzezNazwe("NazwaKlasy"))
Dzięki.
  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#13 aRrOw

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:196
  • Imię:Luk
  • Lokalizacja:Amxx.pl
Offline

Napisano 29.07.2015 09:48

Tak jak mowilem, od dawna nie zajmuje sie nowym codem wiec zapomnialem tych wszystkich natywow itp itd . Zamien to na
if(klasa_gracza[id] == PobierzKlasePrzezNazwe("NazwaKlasy"))

Wczoraj skompilowałem i wrzuciłem na serwer, ale nie testowałem bo poprostu myślałem że będzie działać. Dzisiaj wchodzę na serwer i zamiast mi odbierać usp/glocka to mi je daje dwie naraz. Do klasy nie mam ich przypisanych. Co może być źle?

Użytkownik aRrOw edytował ten post 29.07.2015 09:59

  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png


#14 aRrOw

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:196
  • Imię:Luk
  • Lokalizacja:Amxx.pl
Offline

Napisano 29.07.2015 18:12

Linux, zauważyłem że twój kod ma dodatkowo poważny błąd który crashuje serwer podczas zmiany mapy. Więc nawet mapy nie można zmienić bo od razu jest crash i serwer pada. Nie wiem dokładnie jaki to błą już nie pamiętam bo rano o zauważyłem. W logach było coś o jakimś natywie ale dokładnie nwm. Jak już ma być tyle problemów z tym to ja jednak chyba to usune i dam sobie spokój. Można close.
  • +
  • -
  • 0

b_350_20_692108_381007_FFFFFF_000000.png






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

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

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