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

Problem z CurWeapon


  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 Złoty_bstok

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:3
  • Lokalizacja:Białystok
Offline

Napisano 25.03.2010 16:35

Nie wiem czy dobrze zatytułowałem temat, ale sądzę, że osoby znające się na wykorzystywaniu eventów po dokładnym opisaniu przeze mnie problemu, będą wiedziały jak mi pomóc.
Na początku zaznaczę, że trochę pogrzebałem w necie, aby samemu znaleźć rozwiązanie oraz fakt, że dopiero zaczynam się "bawić" w pisanie kodów.
W celach edukacyjnych postanowiłem przerobić trochę kod pewnej ruletki, którą znalazłem w internecie. Chcę dodać do niej znaną wszystkim opcję "Ninja" czyli niewidzialność oraz możliwość biegania tylko z nożem. Jako z niewidzialnością nie mam problemów, to jednak z posiadaniem tylko noża jest.
Na początku deklaracja eventu.
public plugin_init() 
{ 
 [...]

 register_event("CurWeapon","event_cur_weapon","be", "1=1") 

[...]
}
I dalsza część kodu, gdzie mamy losowanie:
public ruleta(id) 
{ 
  switch( random_num( 1, 27 ) ) 
  { 
    [...]
case 19: 
    { 
	strip_user_weapons(id) 
        give_item(id, "weapon_knife")
        set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 20) 
        client_print(id, print_chat, "[RULETKA] Ninja!") 
	event_cur_weapon(id) 
		{ 
			new bron = read_data(2);
			if(bron != 29)
			return PLUGIN_CONTINUE
			strip_user_weapons(id)
			give_item (id, "weapon_knife")
			return PLUGIN_CONTINUE;  
		}
	} 
 [...]
 }
}   

Z góry dziękuję za wszelką pomoc.
  • +
  • -
  • 0

#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 25.03.2010 16:40

Eventy wywoluja funkcje w okreslonej sytuacji w grze i uzywa sie to tak:

public plugin_init() 
{ 
 [...]

 register_event("CurWeapon","event_cur_weapon","be", "1=1") 

[...]
}

public event_cur_weapon(id) 
{ 
   // cod który ma być wywołany w evencie
}

Jeśli w funkcji piszesz dowolny_teskt( [...] ) to znaczy ze chcesz wywołać funkcję. A nie że w tym miejscu ma sie wywołać event xD
  • +
  • -
  • 0

#3 Złoty_bstok

    Nowy

  • Autor tematu
  • Nowy

Reputacja: 0
Nowy

  • Postów:3
  • Lokalizacja:Białystok
Offline

Napisano 25.03.2010 16:58

Nie wiem czy dobrze zrozumiałem. Spytam więc czy coś takiego będzie działało:
public plugin_init() 
{ 
 [...]

 register_event("CurWeapon","event_cur_weapon","be", "1=1") 

[...]
}

[...]

public ruleta(id) 
{ 
  switch( random_num( 1, 27 ) ) 
  { 
    [...]
case 19: 
    { 
strip_user_weapons(id) 
        give_item(id, "weapon_knife")
        set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 20) 
        client_print(id, print_chat, "[RULETKA] Ninja!") 
	set_task("event_cur_weapon",id)
	} 
 [...]
 }
} 


public event_cur_weapon(id) 
		{ 
			new bron = read_data(2);
			if(bron != 29)
			return PLUGIN_CONTINUE
			strip_user_weapons(id)
			give_item (id, "weapon_knife")
			return PLUGIN_CONTINUE;  
		}

Jeśli to nie ma prawa działać, to prosiłbym o edycję kodu. Oczywiście chodzi mi cały czas o to, żeby konkretny gracz biegał tylko z nożem.

Użytkownik Złoty_bstok edytował ten post 25.03.2010 16:59

  • +
  • -
  • 0

#4 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 25.03.2010 19:11

Już blisko, ale nie chcesz każdemu zmieniać broni na nóż, więc musisz w zmienną zapisać info, że gracz ma daną moc.
  • +
  • -
  • 0

#5 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 25.03.2010 20:25

a tak w ogóle to juz lepiej uzyc
client_cmd(id,"weapon_knife")
engclient_cmd(id,"weapon_knife")

niz wywalac graczowi bron bo po zakonczeniu dzialania mocy bedzie mogl dalej miec swoja bron :D
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D




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

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