Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Jak to zrobic?Umiejetnosc jak ninja.(Prawie)


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

#1 jakowskiuki

    Pomocny

  • Użytkownik

Reputacja: 33
Życzliwy

  • Postów:70
  • GG:
  • Steam:steam
  • Lokalizacja:Piotrkow Tryb.
Offline

Napisano 13.01.2010 14:40

Witam mam taki problem z diablo.
Zrobilem nowa postac do owego modu ale nie potrafie dodac umiejetnosci dla tej klasy.(Zapisuje sie w SQL)
Chcialbym zrobic cos w stylu Ninja chodzi o grawitacje i zmniejszyc widzialnosc postaci.(Moze posiadac bronie)
I mam pytanie czy ktos mi w tym pomoze lub chociaz troche mnie naprowadzic jak to zrobic??
Wersja : dbmod_5.9l

Użytkownik jakowskiuki edytował ten post 13.01.2010 15:34

  • +
  • -
  • 0

#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 646
Wszechmogący

  • Postów:2862
Offline

Napisano 13.01.2010 18:36

Powinny byc (nie chce mi sie sprawdzac by napisac co do litery i czy na pewno jest) funkcje typu set_gravitychange set_renderchange i tam daj wyjatek dla klasy.
  • +
  • -
  • 1

#3 jakowskiuki

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 33
Życzliwy

  • Postów:70
  • GG:
  • Steam:steam
  • Lokalizacja:Piotrkow Tryb.
Offline

Napisano 13.01.2010 19:14

Czy to trzeba gdzies tutaj dopisac?
Robie to piewszy raz(Malo sie na tym znam) i czy moglby mi ktos dopisac owa klase?

/* ==================================================================================================== */
public check_class()
{
	for (new id=0; id < 33; id++)
	{
  		if((player_class[id] == Ninja) && (is_user_connected(id)))
		{
			
			
			if (is_user_alive(id)) set_user_armor(id,100)	
		}
		set_gravitychange(id)
		set_renderchange(id)
	}
}

set_gravitychange

public set_gravitychange(id)
{
	if(is_user_alive(id) && is_user_connected(id))
	{
		if(player_class[id] == Ninja)
		{
			if(player_b_gravity[id]>6) set_user_gravity(id, 0.17)
			else if(player_b_gravity[id]>3) set_user_gravity(id, 0.2)
			else set_user_gravity(id, 0.25)
		}
		else
		{
			set_user_gravity(id,1.0*(1.0-player_b_gravity[id]/12.0))
		}
	}
}

set_renderchange
public set_renderchange(id)
{
	if(is_user_connected(id) && is_user_alive(id))
	{	
		if(!task_exists(id+TASK_FLASH_LIGHT))
		{
			new render=255
			
			if (player_class[id] == Ninja)
			{
				new inv_bonus = 255 - player_b_inv[id]
				render = 13
				
				if(player_b_inv[id]>0)
				{
					while(inv_bonus>0)
					{
						inv_bonus-=20
						render--
					}
				}
				
				if(player_b_usingwind[id]==1)
				{
					render/=2
				}
				
				if(render<0) render=0
				
				if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target)) render*=2	
				
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
			}
			else if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target))
			{
				if (player_b_usingwind[id]==1) set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransTexture,75)
				
				if(HasFlag(id,Flag_Moneyshield)) set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,16)  
				if(HasFlag(id,Flag_Rot)) set_rendering ( id, kRenderFxGlowShell, 255,255,0, kRenderFxNone, 10 )
				if(HasFlag(id,Flag_Teamshield_Target)) set_rendering ( id, kRenderFxGlowShell, 0,200,0, kRenderFxNone, 0 ) 
			}
			else if(invisible_cast[id]==1)
			{
				if(player_b_inv[id]>0) set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, floatround((10.0/255.0)*(255-player_b_inv[id])))
				else set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 10)
			}				
			else
			{
				render = 255 
				if(player_b_inv[id]>0) render = player_b_inv[id]
				
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
			}
			
		}	
		else set_user_rendering(id,kRenderFxGlowShell,flashlight_r,flashlight_g,flashlight_b,kRenderNormal,4)
	}
}

  • +
  • -
  • 0

#4 Miczu

    Godlike

  • Przyjaciel

Reputacja: 646
Wszechmogący

  • Postów:2862
Offline

Napisano 13.01.2010 20:06

Tam masz przecież jak byk przykład na klasie ninji, wzoruj sie na tym.
  • +
  • -
  • 1

#5 jakowskiuki

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 33
Życzliwy

  • Postów:70
  • GG:
  • Steam:steam
  • Lokalizacja:Piotrkow Tryb.
Offline

Napisano 13.01.2010 20:31

Wlasnie wiem tylko ze jak to robie to mi wyskakuja nastepujace bledy.
Your plugin failed to compile! Read the errors below:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

/home/groups/amxmodx/tmp3/phpVBReT6.sma(4968) : error 021: symbol already defined: "check_class"
/home/groups/amxmodx/tmp3/phpVBReT6.sma(7088) : error 021: symbol already defined: "set_renderchange"
/home/groups/amxmodx/tmp3/phpVBReT6.sma(7147) : error 021: symbol already defined: "set_gravitychange"

3 Errors.
Could not locate output file /home/groups/amxmodx/public_html/websc3/phpVBReT6.amx (compile failed).


A dopisuje to :

/* ==================================================================================================== */
public check_class()
{
	for (new id=0; id < 33; id++)
	{
  		if((player_class[id] == Lukasz) && (is_user_connected(id)))
		{
			
			
			if (is_user_alive(id)) set_user_armor(id,100)	
		}
		set_gravitychange(id)
		set_renderchange(id)
	}
}

public set_renderchange(id)
{
	if(is_user_connected(id) && is_user_alive(id))
	{	
		if(!task_exists(id+TASK_FLASH_LIGHT))
		{
			new render=255
			
			if (player_class[id] == Lukasz)
			{
				new inv_bonus = 255 - player_b_inv[id]
				render = 80
				
				if(player_b_inv[id]>0)
				{
					while(inv_bonus>0)
					{
						inv_bonus-=20
						render--
					}
				}
				
				if(player_b_usingwind[id]==1)
				{
					render/=2
				}
				
				if(render<0) render=0
				
				if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target)) render*=2	
				
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
			}
			else if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target))
			{
				if (player_b_usingwind[id]==1) set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransTexture,75)
				
				if(HasFlag(id,Flag_Moneyshield)) set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,16)  
				if(HasFlag(id,Flag_Rot)) set_rendering ( id, kRenderFxGlowShell, 255,255,0, kRenderFxNone, 10 )
				if(HasFlag(id,Flag_Teamshield_Target)) set_rendering ( id, kRenderFxGlowShell, 0,200,0, kRenderFxNone, 0 ) 
			}
			else if(invisible_cast[id]==1)
			{
				if(player_b_inv[id]>0) set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, floatround((10.0/255.0)*(255-player_b_inv[id])))
				else set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 10)
			}				
			else
			{
				render = 255 
				if(player_b_inv[id]>0) render = player_b_inv[id]
				
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
			}
			
		}	
		else set_user_rendering(id,kRenderFxGlowShell,flashlight_r,flashlight_g,flashlight_b,kRenderNormal,4)
	}
}

public set_gravitychange(id)
{
	if(is_user_alive(id) && is_user_connected(id))
	{
		if(player_class[id] == Lukasz)
		{
			if(player_b_gravity[id]>6) set_user_gravity(id, 0.17)
			else if(player_b_gravity[id]>3) set_user_gravity(id, 0.2)
			else set_user_gravity(id, 0.25)
		}
		else
		{
			set_user_gravity(id,1.0*(1.0-player_b_gravity[id]/12.0))
		}
	}
}

Klasa na razie nazywa sie Lukasz.
Moze wiesz gdzie popelniam bledy?

Użytkownik jakowskiuki edytował ten post 13.01.2010 20:46

  • +
  • -
  • 0

#6 Miczu

    Godlike

  • Przyjaciel

Reputacja: 646
Wszechmogący

  • Postów:2862
Offline

Napisano 13.01.2010 20:57

Zamiast kopiowac ta samą funkcje, dodaj kolejengo if'a (else if) i tam zrob caly kod...
  • +
  • -
  • 1

#7 jakowskiuki

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 33
Życzliwy

  • Postów:70
  • GG:
  • Steam:steam
  • Lokalizacja:Piotrkow Tryb.
Offline

Napisano 13.01.2010 21:28

Wlasnie z tym juz probowalem i napislem cos takiego :

public check_class()
{
	for (new id=0; id < 33; id++)
	{
  		if((player_class[id] == Ninja) && (is_user_connected(id)))
		{
			
			
			if (is_user_alive(id)) set_user_armor(id,100)	
		}
		set_gravitychange(id)
		set_renderchange(id)
	{
		else if((player_class[id] == Lukasz) && (is_user_connected(id)))
		{
			
			
			if (is_user_alive(id)) set_user_armor(id,100)	
		}
		set_gravitychange(id)
		set_renderchange(id)
	}
}
		
/* ==================================================================================================== */

public set_renderchange(id)
{
	if(is_user_connected(id) && is_user_alive(id))
	{	
		if(!task_exists(id+TASK_FLASH_LIGHT))
		{
			new render=255
			
			if (player_class[id] == Ninja)
			{
				new inv_bonus = 255 - player_b_inv[id]
				render = 13
				
				if(player_b_inv[id]>0)
				{
					while(inv_bonus>0)
					{
						inv_bonus-=20
						render--
					}
				}
				
				if(player_b_usingwind[id]==1)
				{
					render/=2
				}
				
				if(render<0) render=0
				
				if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target)) render*=2	
				
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
			}
			else if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target))
			{
				if (player_b_usingwind[id]==1) set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransTexture,75)
				
				if(HasFlag(id,Flag_Moneyshield)) set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,16)  
				if(HasFlag(id,Flag_Rot)) set_rendering ( id, kRenderFxGlowShell, 255,255,0, kRenderFxNone, 10 )
				if(HasFlag(id,Flag_Teamshield_Target)) set_rendering ( id, kRenderFxGlowShell, 0,200,0, kRenderFxNone, 0 ) 
			}
			else if(invisible_cast[id]==1)
			{
				if(player_b_inv[id]>0) set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, floatround((10.0/255.0)*(255-player_b_inv[id])))
				else set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 10)
			}				
			else
			{
				render = 255 
				if(player_b_inv[id]>0) render = player_b_inv[id]
				
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
			}
			
		}	
		else set_user_rendering(id,kRenderFxGlowShell,flashlight_r,flashlight_g,flashlight_b,kRenderNormal,4)

			else if (player_class[id] == Lukasz)
			{
				new inv_bonus = 255 - player_b_inv[id]
				render = 80
				
				if(player_b_inv[id]>0)
				{
					while(inv_bonus>0)
					{
						inv_bonus-=20
						render--
					}
				}
				
				if(player_b_usingwind[id]==1)
				{
					render/=2
				}
				
				if(render<0) render=0
				
				if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target)) render*=2	
				
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
			}
			else if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target))
			{
				if (player_b_usingwind[id]==1) set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransTexture,75)
				
				if(HasFlag(id,Flag_Moneyshield)) set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,16)  
				if(HasFlag(id,Flag_Rot)) set_rendering ( id, kRenderFxGlowShell, 255,255,0, kRenderFxNone, 10 )
				if(HasFlag(id,Flag_Teamshield_Target)) set_rendering ( id, kRenderFxGlowShell, 0,200,0, kRenderFxNone, 0 ) 
			}
			else if(invisible_cast[id]==1)
			{
				if(player_b_inv[id]>0) set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, floatround((10.0/255.0)*(255-player_b_inv[id])))
				else set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 10)
			}				
			else
			{
				render = 255 
				if(player_b_inv[id]>0) render = player_b_inv[id]
				
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
			}
			
		}	
		else set_user_rendering(id,kRenderFxGlowShell,flashlight_r,flashlight_g,flashlight_b,kRenderNormal,4)
	}
}
public set_gravitychange(id)
{
	if(is_user_alive(id) && is_user_connected(id))
	{
		if(player_class[id] == Ninja)
		{
			if(player_b_gravity[id]>6) set_user_gravity(id, 0.17)
			else if(player_b_gravity[id]>3) set_user_gravity(id, 0.2)
			else set_user_gravity(id, 0.25)
		}
		else
		{
			set_user_gravity(id,1.0*(1.0-player_b_gravity[id]/12.0))
		}
		{
		else if(player_class[id] == Lukasz)
		{
			if(player_b_gravity[id]>6) set_user_gravity(id, 0.17)
			else if(player_b_gravity[id]>3) set_user_gravity(id, 0.2)
			else set_user_gravity(id, 0.25)
		}
		else
		{
			set_user_gravity(id,1.0*(1.0-player_b_gravity[id]/12.0))
		}
	}
}

Niby udalo sie skomplikowac ale niedosc ze sa jakies bledy to plik zajmuje 1.3Mb
Moze gdzies zle napislem??

/home/groups/amxmodx/compiler3/core(0) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(5) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(6) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(7) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(8) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(9) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(10) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(11) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(12) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(13) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(14) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(15) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(18) : error 010: invalid function or declaration
/home/groups/amxmodx/compiler3/core(20) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(21) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(22) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(23) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(24) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(25) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(26) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(27) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(28) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(29) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(30) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(31) : error 075: input line too long (after substitutions)
/home/groups/amxmodx/compiler3/core(32) : error 075: input line too long (after substitutions)

Użytkownik jakowskiuki edytował ten post 14.01.2010 06:32

  • +
  • -
  • 0

#8 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1549
  • Lokalizacja:.
Offline

Napisano 14.01.2010 08:55

if(player_class[id] == Ninja || player_class[id] == Twoja )
  • +
  • -
  • 1

#9 jakowskiuki

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 33
Życzliwy

  • Postów:70
  • GG:
  • Steam:steam
  • Lokalizacja:Piotrkow Tryb.
Offline

Napisano 15.01.2010 06:39

dzięki ci wielkie.To co podales wyzej dziala.
Ale z rendem trzeba chyba inaczej.
Bo chodzi o to zeby ta klasa byla bardziej widzialna czyli widocznosc zredukowana do okolo 85.(Wtedy ta klasa byla by za dobra gdyby miala taka niewidzialnosc)
Bo ta metoda co podales wyzej sie nieda bo widzialnisc tej postaci byla by zredukowana tak jak u ninjy.
render = 13
Chodzi o ten kod.

public set_renderchange(id)
{
	if(is_user_connected(id) && is_user_alive(id))
	{	
		if(!task_exists(id+TASK_FLASH_LIGHT))
		{
			new render=255
			
			if (player_class[id] == Ninja)
			{
				new inv_bonus = 255 - player_b_inv[id]
				render = 13
				
				if(player_b_inv[id]>0)
				{
					while(inv_bonus>0)
					{
						inv_bonus-=20
						render--
					}
				}
				
				if(player_b_usingwind[id]==1)
				{
					render/=2
				}
				
				if(render<0) render=0
				
				if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target)) render*=2	
				
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
			}
			else if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target))
			{
				if (player_b_usingwind[id]==1) set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransTexture,75)
				
				if(HasFlag(id,Flag_Moneyshield)) set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,16)  
				if(HasFlag(id,Flag_Rot)) set_rendering ( id, kRenderFxGlowShell, 255,255,0, kRenderFxNone, 10 )
				if(HasFlag(id,Flag_Teamshield_Target)) set_rendering ( id, kRenderFxGlowShell, 0,200,0, kRenderFxNone, 0 ) 
			}
			else if(invisible_cast[id]==1)
			{
				if(player_b_inv[id]>0) set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, floatround((10.0/255.0)*(255-player_b_inv[id])))
				else set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 10)
			}				
			else
			{
				render = 255 
				if(player_b_inv[id]>0) render = player_b_inv[id]
				
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
			}
			
		}	
		else set_user_rendering(id,kRenderFxGlowShell,flashlight_r,flashlight_g,flashlight_b,kRenderNormal,4)
	}
}

Z rana mnie olsnilo i udalo mi sie osiagnac efekt o ktory mi chodzilo.(Chodzi o inna widocznosc dla ninjy i dla nowej klasy)
Ale bez tego kodu bym tego tak sybko niezrobil
(player_class[id] == Ninja ||player_class[id] == Twoja)

Jeszcze raz wielkie dzięki Vertricus.
Sprawa juz rozwiazana mozna temat juz zamknac.

Użytkownik jakowskiuki edytował ten post 14.01.2010 12:29

  • +
  • -
  • 1

#10 Adminek AMXX.PL

    Admin :)

  • Bot

Reputacja: 156
Profesjonalista

  • Postów:7177
  • Lokalizacja:AMXX.PL
Offline

Napisano 15.01.2010 08:13

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Done.

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




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

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