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

Przerobienie mocy totemu


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

#1 FarGoosiek

    Profesjonalista

  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:180
  • GG:
  • Steam:steam
  • Imię:Dariusz
  • Lokalizacja:Kalisz
Offline

Napisano 18.10.2013 12:59

Mam takie pytanie odnośnie, mocy totemu jak wiecie pewnie robi on 8 okręgów i chciałbym widzieć która funkcja jest za to odpowiedzialna bo przerabiam moc totemu odpychającego dla barby żeby wywoływany był na nim a nie na totemie:D i albo mi się robi jedno "kółeczko" że tak to ujmę i nie działa odpychanie albo robi się ich 8 :D jak w totemie i wtedy odpycha :D


Użytkownik FarGoosiek edytował ten post 18.10.2013 13:00

  • +
  • -
  • 0

I love street workout <3 


#2 GoldenKill

    Guru

  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 19.10.2013 02:22

Proszę to jest główna przerobiona z totemu leczenia jej mocą jest odpychanie przeciwnika który wejdzie w zasięg działania (funkcja ta jest zrobiona do itemu) :)

 

public item_toteme(id)
{
if (used_item[id])
{
hudmsg(id,2.0,"Totemu 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_Ode_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() + 15 + 0.1)


engfunc(EngFunc_SetModel, ent, "addons/amxmodx/diablo/totem_heal.mdl")   
set_rendering ( ent, kRenderFxGlowShell, 93,79,82, kRenderFxNone, 255 )  
engfunc(EngFunc_DropToFloor,ent)


set_pev(ent,pev_nextthink, halflife_time() + 0.1)


return PLUGIN_CONTINUE 
}


public Effect_Ode_Totem_Think(ent)
{
new id = pev(ent,pev_owner)
new totem_dist = player_b_odepch[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 (pid == id || !is_user_alive(pid))
continue


if (get_user_team(id) == get_user_team(pid))
continue


new vOrigin[3];


new Float:gfOrigin[2][3], b;


entity_get_vector(pid, EV_VEC_origin, gfOrigin[1]);  
entity_get_vector(ent, EV_VEC_origin, gfOrigin[0]);


get_user_origin(pid, vOrigin);    ///
for(b = 0; b <= 2; b ++) 
{ 
gfOrigin[1][b] -= gfOrigin[0][b];  // oblicza odległość miedzy środkiem totemu a graczem w totemie
gfOrigin[1][b] +=30;           //wiem ze można dać +=210 ale kiedyś nie wiem nie chciało mi chodzić może teraz będzie.
gfOrigin[1][b] *=7;       // zmieniając to zmieni się sile odpychania
}


entity_set_vector(pid, EV_VEC_velocity, gfOrigin[1]);
change_health(pid,-40,id,"")


message_begin(MSG_BROADCAST,SVC_TEMPENTITY);  
write_byte(0);  
write_coord(origin[0]);  
write_coord(origin[1]);  
write_coord(origin[2]);  
write_coord(vOrigin[0]);  
write_coord(vOrigin[1]);  
write_coord(vOrigin[2]);  
write_short(sprite_lgt);  
write_byte(1); 
write_byte(5); 
write_byte(2); 
write_byte(20); 
write_byte(30); 
write_byte(200);  
write_byte(200); 
write_byte(200); 
write_byte(200); 
write_byte(200); 
message_end(); 


}


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)
new red = random_num(1,255)           //// to dałem se aby był kolorowy totem (czytaj aura)
new grenn = random_num(1,255)
new blue = random_num(1,255)
//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( red); // r, g, b
write_byte( grenn ); // r, g, b
write_byte( blue ); // r, g, b
write_byte( 170 ); // brightness
write_byte( 6 ); // speed
message_end();






set_pev(ent,pev_euser2,1)
set_pev(ent,pev_nextthink, halflife_time() + 0.5)




return PLUGIN_CONTINUE


}

 


  • +
  • -
  • 0

#3 FarGoosiek

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:180
  • GG:
  • Steam:steam
  • Imię:Dariusz
  • Lokalizacja:Kalisz
Offline

Napisano 20.10.2013 17:54

no to to wiem -,- ;D widzisz o co się pytam co odpowiada za ilość okręgów w totemie i jak przerobić własnie o to ten kod żeby poprawnie odpychał :D zrobiłem już że wywoływany jest na graczu nie na totemie :D ale albo robi się 8 okręgów i odpycha albo robi się 1 i nie odpycha -.- :D więc potrzebuje w tym pomocy ;D 


  • +
  • -
  • 0

I love street workout <3 





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

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