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

Edycja itemu


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

#1 ^^^Deed

    Zaawansowany

  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:90
  • Steam:steam
  • Lokalizacja:LondYn
Offline

Napisano 17.04.2010 00:24

Witam, slęczę nad tym kodem od kilku godzin i nie wiem jak go edytować żeby można było używać tego itemu więcej niż jeden raz. Z góry dzięki za pomoc.
public item_ghost(id)
{
	if (ghoststate[id] == 0 && player_b_ghost[id] > 0 && is_user_alive(id) && !ghost_check)
	{
		set_user_noclip(id,1)
		ghoststate[id] = 2
		ghosttime[id] = floatround(halflife_time())
		ghost_check = true
		
		message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id ) 
		write_byte( player_b_ghost[id]+1 ) 
		write_byte( 0 ) 
		message_end() 
	}
	else
	{
		hudmsg(id,3.0,"Tylko jeden gracz moze uzywac Ducha w tym samym czasie! / Przedmiot zostal uzyty!")
	}
}
Pozdrawiam
  • +
  • -
  • 0
80.72.37.13:27060 - Diablo Mod jakiego nigdy nie widziałeś!

#2 Screeaam...

    ; ooo

  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 17.04.2010 01:29

O ile się nie mylę, to czas jest chyba w tej funkcji:

public Timed_Ghost_Check(id)
{
	if (ghost_check == true)
	{	
		new Globaltime = floatround(halflife_time())
		
		new Players[32], playerCount, a
		get_players(Players, playerCount, "h") 
		
		for (new i=0; i<playerCount; i++) 
		{
			a = Players[i] 
			
			if (ghoststate[a] == 2 && Globaltime - player_b_ghost[a] > ghosttime[a])
			{
				ghoststate[a] = 3
				ghosttime[a] = 0
				set_user_noclip(a,0)
				ghost_check = false
				new Float:aOrigin[3]
				entity_get_vector(a,EV_VEC_origin,aOrigin)	
				
				if (PointContents (aOrigin) != -1)
				{
					user_kill(a,1)	
				}
				else
				{
					aOrigin[2]+=10
					entity_set_vector(a,EV_VEC_origin,aOrigin)
				}
				
				
				
			}
			
		}
		
	}
}

Ale mogę się mylić..

#3 ^^^Deed

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:90
  • Steam:steam
  • Lokalizacja:LondYn
Offline

Napisano 17.04.2010 01:50

Czas jest w tym samym kodzie co podałem, mi chodzi o :
żeby można było używać tego itemu więcej niż jeden raz

  • +
  • -
  • 0
80.72.37.13:27060 - Diablo Mod jakiego nigdy nie widziałeś!

#4 Kubaczek <3

    Zaawansowany

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:116
  • Steam:steam
  • Lokalizacja::)
Offline

Napisano 17.04.2010 08:42

if (ghoststate[id] == 0 && player_b_ghost[id] > 0 && is_user_alive(id) && !ghost_check)
... usuń z tego ghoststate[id] == 0
  • +
  • -
  • 1

#5 ^^^Deed

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:90
  • Steam:steam
  • Lokalizacja:LondYn
Offline

Napisano 17.04.2010 13:55

Dzięki dział, można zamknąć.
  • +
  • -
  • 0
80.72.37.13:27060 - Diablo Mod jakiego nigdy nie widziałeś!

#6 Adminek AMXX.PL

    Admin :)

  • Bot

Reputacja: 156
Profesjonalista

  • Postów:7 490
  • Lokalizacja:AMXX.PL
Offline

Napisano 17.04.2010 13:57

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Problem rozwiązany

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL

#7 ^^^Deed

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:90
  • Steam:steam
  • Lokalizacja:LondYn
Offline

Napisano 17.04.2010 15:15

Dzięki za otwarcie tematu.
Ok zmieniam pytanie :)
Co zmienić w tym kodzie żebym przed następnym użyciem musiał odczekać jakiś czas (2-4 s) i możliwość użycia przez więcej niż jedną osobę.
public item_ghost(id)
{
	if (ghoststate[id] == 0 && player_b_ghost[id] > 0 && is_user_alive(id) && !ghost_check)
	{
		set_user_noclip(id,1)
		ghoststate[id] = 2
		ghosttime[id] = floatround(halflife_time())
		ghost_check = true
		
		message_begin( MSG_ONE, gmsgBartimer, {0,0,0}, id ) 
		write_byte( player_b_ghost[id]+1 ) 
		write_byte( 0 ) 
		message_end() 
	}
	else
	{
		hudmsg(id,3.0,"Tylko jeden gracz moze uzywac Ducha w tym samym czasie! / Przedmiot zostal uzyty!")
	}
}

Z góry dzięki i pozdrawiam.

Edit : Pomoże ktoś ? ;)

Użytkownik ^^^Deed edytował ten post 24.04.2010 00:09

  • +
  • -
  • 0
80.72.37.13:27060 - Diablo Mod jakiego nigdy nie widziałeś!

#8 Kubaczek <3

    Zaawansowany

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:116
  • Steam:steam
  • Lokalizacja::)
Offline

Napisano 24.04.2010 06:08

Zamień:
if (ghoststate[id] == 0 && player_b_ghost[id] > 0 && is_user_alive(id) && !ghost_check)

na:
if (ghoststate[id] == 0 && player_b_ghost[id] > 0 && is_user_alive(id))
Potem w ifie dodaj taska który za 4 sekundy wywoła funkcję na graczu (raz!!) wyłącz
public wyłącz(id)  	
ghoststate[id] == 0

  • +
  • -
  • 0




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

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