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

Jak zrobic samemu totem


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

#1 Tomi

    Wszechwidzący

  • Zbanowany

Reputacja: 8
Nowy

  • Postów:271
Offline

Napisano 08.04.2010 17:00

Witam, Chcialbym Dostać jakis poradnik, wskazówki jak Zrobić swojego Totema. Pomoglibyście :)? Przydało by się to dla nowych

#2 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 08.04.2010 17:08

masz 2 przyklady w Sma malo :?:

naucz sie wymyslac swoje pomysly i wprowadzac je w zycie bo znajac je twoj server bedzie nie oryginalny :/
  • +
  • -
  • 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

#3 Tomi

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 8
Nowy

  • Postów:271
Offline

Napisano 08.04.2010 17:12

Goq Chcialbym na razie sie nauczyć podstaw.
A do Totema jest pełno "Linijek"


wystarczy przerobic to?
public item_totemheal(id)
{
	if (used_item[id])
	{
		hudmsg(id,2.0,"Leczacy Totem mozesz uzyc raz na runde!")
		return PLUGIN_CONTINUE
	}
	
	used_item[id] = true
	
	new origin[3]
	pev(id,pev_origin,origin)
		
	new ent = Spawn_Ent("info_target")
	set_pev(ent,pev_classname,"Effect_Healing_Totem")
	set_pev(ent,pev_owner,id)
	set_pev(ent,pev_solid,SOLID_TRIGGER)
	set_pev(ent,pev_origin,origin)
	set_pev(ent,pev_ltime, halflife_time() + 7 + 0.1)
	
	engfunc(EngFunc_SetModel, ent, "addons/amxmodx/diablo/totem_heal.mdl")  	
	set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) 	
	engfunc(EngFunc_DropToFloor,ent)
	
	set_pev(ent,pev_nextthink, halflife_time() + 0.1)
	
	return PLUGIN_CONTINUE	
}

public Effect_Healing_Totem_Think(ent)
{
	new id = pev(ent,pev_owner)
	new totem_dist = 300
	new amount_healed = player_b_heal[id]
	
	//We have emitted beam. Apply effect (this is delayed)
	if (pev(ent,pev_euser2) == 1)
	{		
		new Float:forigin[3], origin[3]
		pev(ent,pev_origin,forigin)	
		FVecIVec(forigin,origin)
		
		//Find people near and damage them
		new entlist[513]
		new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist,512,forigin)
		
		for (new i=0; i < numfound; i++)
		{		
			new pid = entlist[i]
			
			if (get_user_team(pid) != get_user_team(id))
				continue
								
			if (is_user_alive(pid)) change_health(pid,amount_healed,0,"")			
		}
		
		set_pev(ent,pev_euser2,0)
		set_pev(ent,pev_nextthink, halflife_time() + 1.5)
		
		return PLUGIN_CONTINUE
	}
	
	//Entity should be destroyed because livetime is over
	if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id))
	{
		remove_entity(ent)
		return PLUGIN_CONTINUE
	}
	
	//If this object is almost dead, apply some render to make it fade out
	if (pev(ent,pev_ltime)-2.0 < halflife_time())
		set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) 
		
	new Float:forigin[3], origin[3]
	pev(ent,pev_origin,forigin)	
	FVecIVec(forigin,origin)
					
	//Find people near and give them health
	message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
	write_byte( TE_BEAMCYLINDER );
	write_coord( origin[0] );
	write_coord( origin[1] );
	write_coord( origin[2] );
	write_coord( origin[0] );
	write_coord( origin[1] + totem_dist );
	write_coord( origin[2] + totem_dist );
	write_short( sprite_white );
	write_byte( 0 ); // startframe
	write_byte( 0 ); // framerate
	write_byte( 10 ); // life
	write_byte( 10 ); // width
	write_byte( 255 ); // noise
	write_byte( 255 ); // r, g, b
	write_byte( 100 ); // r, g, b
	write_byte( 100 ); // r, g, b
	write_byte( 128 ); // brightness
	write_byte( 5 ); // speed
	message_end();
		
	set_pev(ent,pev_euser2,1)
	set_pev(ent,pev_nextthink, halflife_time() + 0.5)
	
	    
	return PLUGIN_CONTINUE

}


Użytkownik backspace edytował ten post 08.04.2010 17:15


#4 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 08.04.2010 17:16

mowisz ze chcesz przyklad to ci odpowiadam masz 2 przyklady w sma a pozatym jak nie ogarniasz podstaw to nie bierz sie za cos co ich wymaga
  • +
  • -
  • 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

#5 Tomi

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 8
Nowy

  • Postów:271
Offline

Napisano 08.04.2010 17:18

Przepięknie Motywujesz Ludzi do działania. Nie pytam Ciebie jak mam sie zacząć uczyć tylko czy ktoś może Mi pomóc jak zrobić totem.

#6 KoRnY

    Wszechwidzący

  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:281
  • Lokalizacja:Władysławowo
Offline

Napisano 08.04.2010 18:21

Ale taka jest prawda?
Teraz wszyscy wszystko kopiują.
Tak jak powiedział G[o]Q przykłady masz w kodzie.
  • +
  • -
  • 0
Zapraszam na myArena.pl

Dołączona grafika

#7 Tomi

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 8
Nowy

  • Postów:271
Offline

Napisano 08.04.2010 18:26

To po kiego Ku.... h... jest te forum... proszę o pomoc w temacie Pytania
Ty KoRnY nie chce nic mówić ale tylko spamujesz lub powtarzasz po innych....
Ludzie chciałem wskazówki. To sie do mnie rzuca jeden z drugim

#8 KoRnY

    Wszechwidzący

  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:281
  • Lokalizacja:Władysławowo
Offline

Napisano 08.04.2010 18:29

wystarczy przerobic to?

public item_totemheal(id)
{
	if (used_item[id])
	{
		hudmsg(id,2.0,"Leczacy Totem mozesz uzyc raz na runde!")
		return PLUGIN_CONTINUE
	}
	
	used_item[id] = true
	
	new origin[3]
	pev(id,pev_origin,origin)
		
	new ent = Spawn_Ent("info_target")
	set_pev(ent,pev_classname,"Effect_Healing_Totem")
	set_pev(ent,pev_owner,id)
	set_pev(ent,pev_solid,SOLID_TRIGGER)
	set_pev(ent,pev_origin,origin)
	set_pev(ent,pev_ltime, halflife_time() + 7 + 0.1)
	
	engfunc(EngFunc_SetModel, ent, "addons/amxmodx/diablo/totem_heal.mdl")  	
	set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) 	
	engfunc(EngFunc_DropToFloor,ent)
	
	set_pev(ent,pev_nextthink, halflife_time() + 0.1)
	
	return PLUGIN_CONTINUE	
}

public Effect_Healing_Totem_Think(ent)
{
	new id = pev(ent,pev_owner)
	new totem_dist = 300
	new amount_healed = player_b_heal[id]
	
	//We have emitted beam. Apply effect (this is delayed)
	if (pev(ent,pev_euser2) == 1)
	{		
		new Float:forigin[3], origin[3]
		pev(ent,pev_origin,forigin)	
		FVecIVec(forigin,origin)
		
		//Find people near and damage them
		new entlist[513]
		new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist,512,forigin)
		
		for (new i=0; i < numfound; i++)
		{		
			new pid = entlist[i]
			
			if (get_user_team(pid) != get_user_team(id))
				continue
								
			if (is_user_alive(pid)) change_health(pid,amount_healed,0,"")			
		}
		
		set_pev(ent,pev_euser2,0)
		set_pev(ent,pev_nextthink, halflife_time() + 1.5)
		
		return PLUGIN_CONTINUE
	}
	
	//Entity should be destroyed because livetime is over
	if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id))
	{
		remove_entity(ent)
		return PLUGIN_CONTINUE
	}
	
	//If this object is almost dead, apply some render to make it fade out
	if (pev(ent,pev_ltime)-2.0 < halflife_time())
		set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) 
		
	new Float:forigin[3], origin[3]
	pev(ent,pev_origin,forigin)	
	FVecIVec(forigin,origin)
					
	//Find people near and give them health
	message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
	write_byte( TE_BEAMCYLINDER );
	write_coord( origin[0] );
	write_coord( origin[1] );
	write_coord( origin[2] );
	write_coord( origin[0] );
	write_coord( origin[1] + totem_dist );
	write_coord( origin[2] + totem_dist );
	write_short( sprite_white );
	write_byte( 0 ); // startframe
	write_byte( 0 ); // framerate
	write_byte( 10 ); // life
	write_byte( 10 ); // width
	write_byte( 255 ); // noise
	write_byte( 255 ); // r, g, b
	write_byte( 100 ); // r, g, b
	write_byte( 100 ); // r, g, b
	write_byte( 128 ); // brightness
	write_byte( 5 ); // speed
	message_end();
		
	set_pev(ent,pev_euser2,1)
	set_pev(ent,pev_nextthink, halflife_time() + 0.5)
	
	    
	return PLUGIN_CONTINUE

}



Tak wystarczy to przerobić.
+ dodać ewentualny efekt którego w diablo nie ma
  • +
  • -
  • 0
Zapraszam na myArena.pl

Dołączona grafika

#9 Tomi

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 8
Nowy

  • Postów:271
Offline

Napisano 08.04.2010 18:44

Dziekuje....

#10 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 08.04.2010 19:27

nie masz co dziekowac bo to i tak nie zadziala :P
  • +
  • -
  • 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

#11 Tomi

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 8
Nowy

  • Postów:271
Offline

Napisano 08.04.2010 19:32

Czemu niby : / To co to za pomoc skoro I tak to nie ma dzialac?

#12 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 08.04.2010 22:12

Kod totemu najlepiej skopiować pousuwać co zbędę i zrobić gotowa.
Dodać do check_magic wywołanie oraz register_think w plugin_init.
Wklejasz twój kod z totema funkcje nadajesz taką nazwę jak wywołanie z check_magic a classname na taki z register_think.
Kopiujesz kod thinka nazywając funkcję jak w register_think.
I tu właśnie w thinku będzie kod który będzie odpowiadać za to co dany totem robi.
Czyli tak Spawn -> wygląd, model, miejsce, latający, wyglądający jak paka czy też jak ta emotikonka :giggle:
a w thinku -> moc tj, piorun, leczenie, oślepianie, podrzucanie, bomba, czy zabijanie śmiechem.
Masz wskazówkę a właściwie mini tut ;| Moce możesz skopiować z zombie moda np. zamrożenie, edytując warunki pod diablo :blaga: :blaga: :blaga: :blaga: :blaga: :blaga: :blaga: :blaga:
  • +
  • -
  • 1

#13 Tomi

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 8
Nowy

  • Postów:271
Offline

Napisano 09.04.2010 06:14

Dzięki Wystarczyło mi takie coś : )

#14 Adminek AMXX.PL

    Admin :)

  • Bot

Reputacja: 156
Profesjonalista

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

Napisano 09.04.2010 07:17

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Bo śnieg (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




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

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