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

Totem palący-> Totem-Meekstone


  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 Drewno.

    Banned

  • Zbanowany

Reputacja: 36
Życzliwy

  • Postów:263
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 31.12.2010 11:12

Witam.Mam prośbę o przerobienie totemu palącego,żeby zamiast po 7 sekundach zapalał wrogów tak jak przy FireShield,to chcę,żeby po 7 sekundach totem eksplodował tak jak meekstone,niezależnie czy ktoś jest w zasięgu totemu,czy nie.Bo przy palącym,jak nikogo nie ma,to totem nie zapala,a jak jest to zapala,a ja chce eksplozję niezależnie,czy ktoś jest w tym zasięgu;) Bardzo proszę o pomoc.Mam nadzieję,że coś takiego jest możliwe

public item_firetotem(id)
{
if (used_item[id])
{
hudmsg(id,2.0,"Tego totemu mozesz uzyc tylko raz na runde!")
}
else
{
used_item[id] = true
Effect_Ignite_Totem(id,7)
}
}

stock Effect_Ignite_Totem(id,seconds)
{
new origin[3]
pev(id,pev_origin,origin)

new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Ignite_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() + seconds + 0.1)

engfunc(EngFunc_SetModel, ent, "addons/amxmodx/diablo/totem_ignite.mdl")
set_rendering ( ent, kRenderFxGlowShell, 250,150,0, kRenderFxNone, 255 )
engfunc(EngFunc_DropToFloor,ent)

set_pev(ent,pev_euser3,0)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)
}

public Effect_Ignite_Totem_Think(ent)
{
//Safe check because effect on death
if (!freeze_ended)
remove_entity(ent)

if (!is_valid_ent(ent))
return PLUGIN_CONTINUE

new id = pev(ent,pev_owner)

//Apply and destroy
if (pev(ent,pev_euser3) == 1)
{
new entlist[513]
new numfound = find_sphere_class(ent,"player",player_b_firetotem[id]+0.0,entlist,512)

for (new i=0; i < numfound; i++)
{
new pid = entlist[i]

//This totem can hit the caster
if (pid == id && is_user_alive(id))
{
Effect_Ignite(pid,id,4)
hudmsg(pid,3.0,"Palisz sie! Zastrzel wroga, aby przeniesc na niego twoj ogien!")
continue
}

if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid))
continue

//Dextery makes the fire damage less
if (player_dextery[pid] > 20)
Effect_Ignite(pid,id,1)
else if (player_dextery[pid] > 15)
Effect_Ignite(pid,id,2)
else if (player_dextery[pid] > 10)
Effect_Ignite(pid,id,3)
else
Effect_Ignite(pid,id,4)

hudmsg(pid,3.0,"Palisz sie! Zastrzel wroga, aby przeniesc na niego twoj ogien!")
}

remove_entity(ent)
return PLUGIN_CONTINUE
}



//Entity should be destroyed because livetime is over
if (pev(ent,pev_ltime) < halflife_time())
{
set_pev(ent,pev_euser3,1)

//Show animation and die

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] + player_b_firetotem[id]);
write_coord( origin[2] + player_b_firetotem[id]);
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( 150 ); // r, g, b
write_byte( 150 ); // r, g, b
write_byte( 0 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 5 ); // speed
message_end();

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

}
else
{
set_pev(ent,pev_nextthink, halflife_time() + 1.5)
}

return PLUGIN_CONTINUE
}


stock Spawn_Ent(const classname[])
{
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, classname))
set_pev(ent, pev_origin, {0.0, 0.0, 0.0})
dllfunc(DLLFunc_Spawn, ent)
return ent
}

stock Effect_Ignite(id,attacker,damage)
{
new ent = Spawn_Ent("info_target")
set_pev(ent,pev_classname,"Effect_Ignite")
set_pev(ent,pev_owner,id)
set_pev(ent,pev_ltime, halflife_time() + 99 + 0.1)
set_pev(ent,pev_solid,SOLID_NOT)
set_pev(ent,pev_euser1,attacker)
set_pev(ent,pev_euser2,damage)
set_pev(ent,pev_nextthink, halflife_time() + 0.1)

AddFlag(id,Flag_Ignite)
}

//euser3 = destroy and apply effect
public Effect_Ignite_Think(ent)
{
new id = pev(ent,pev_owner)
attacker = pev(ent,pev_euser1)
new damage = pev(ent,pev_euser2)

if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id) || !HasFlag(id,Flag_Ignite))
{
RemoveFlag(id,Flag_Ignite)
Remove_All_Tents(id)
Display_Icon(id ,0 ,"dmg_heat" ,200,0,0)

remove_entity(ent)
return PLUGIN_CONTINUE
}


//Display ignite tent and icon
Display_Tent(id,sprite_ignite,2)
Display_Icon(id ,1 ,"dmg_heat" ,200,0,0)

new origin[3]
get_user_origin(id,origin)

//Make some burning effects
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( TE_SMOKE ) // 5
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_short( sprite_smoke )
write_byte( 22 ) // 10
write_byte( 10 ) // 10
message_end()

//Decals
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( TE_GUNSHOTDECAL ) // decal and ricochet sound
write_coord( origin[0] ) //pos
write_coord( origin[1] )
write_coord( origin[2] )
write_short (0) // I have no idea what thats supposed to be
write_byte (random_num(199,201)) //decal
message_end()


//Do the actual damage
change_health(id,-damage,attacker,"world")

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


return PLUGIN_CONTINUE
}


Dodano 31 grudzień 2010 - 14:20:
odświeżam:)

No czekam...;d dla chętnych wstawiam +




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

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