Code: Select all
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 0, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 5, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 10, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 15, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 20, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 25, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 30, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 35, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 40, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 45, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 50, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 55, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 60, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 65, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 70, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 75, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 80, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 85, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 90, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 95, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 100, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 105, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 110, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 115, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 120, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 125, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 130, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 135, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 140, SXF_CLIENTSIDE)
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 145, SXF_CLIENTSIDE)That's not even all of them.
So, my solution was instead to do a limited 0 tic loop, like such.
Code: Select all
SpawnLoop:
TNT1 A 0 A_SpawnItemEx ("HitsparkParticle", 97.5, 0, 0, -6.5, 0, 0, 0, SXF_CLIENTSIDE)
TNT1 A 0 A_SetAngle (angle + 5)
TNT1 A 0 A_GiveInventory ("ChargeTime", 1)
TNT1 A 0 A_JumpIfInventory ("ChargeTime", 72, "SpawnEnd")
loopOffline.
However, online, Zand freaks the heck out and slows to the crawl as it spawns the HitspawnParticles without stop. So, I know why the client-killing lag happens. What I don't understand is why the loop breaks and turns into an infinite 1 tic loop, since it works perfectly fine offline and in GZDoom. Only online does it have such a bad freak out.
So, how do I avoid this, and if I can't, what can I do instead of the massive wall of A_SpawnItemExs or this online-breaking loop?
[/spoiler]
