Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   NPC Scripting (https://forums.graalonline.com/forums/forumdisplay.php?f=8)
-   -   Scripted ani+show ani destroy itself.. (https://forums.graalonline.com/forums/showthread.php?t=72063)

JkWhoSaysNi 02-08-2007 10:31 PM

Scripted ani+show ani destroy itself..
 
I have a scripted ani being shown by a weapon NPC.

I want that ani to hide itself after it's finished (i tried destroy() in the ani but it didn't work) so I thought I could do something like:

PHP Code:

showani(i,x,y,0,"ani",i); 

Then in the ani:
PHP Code:

SCRIPT
function onPlayerEnters() {
    
this.indexnum params[0];
    
setTimer(0.05);

}
function 
onTimeout() {
    
this.count++;
...
    if (
this.count == 100) {
         
with(findweapon("weapon")) {
             
hideimg(this.indexnum);
         }
    }
setTimer(0.05);

}
SCRIPTEND 

This causes an access violation... but as far as I can tell the logic is correct.


Is what I want to do possible?

Chandler 02-08-2007 10:44 PM

I'm not too sure if that would work. However, to be sure I'd make the
HTML Code:

if (this.count == 100) {
to:
HTML Code:

if (this.count => 100) {
Unfortanetly, I can't debug anything as of late. V$:C is down!

JkWhoSaysNi 02-08-2007 10:47 PM

I actually had that, but I thought that might have been the cause of the access violation, if it looped round again it will try to hide the image again. It doesn't make any difference, still gives access violation :(

Chandler 02-08-2007 10:49 PM

Is the object to follow a player? What's the objects purpose?

JkWhoSaysNi 02-08-2007 10:52 PM

It stays exactly where it's placed.

It's a fire ani I scripted, it 'burns out' after 100 timeouts. I can hide the stuff created by the ani but not the actual ani placed by the weapon/

It's displayed serverside using ids <200.

Chandler 02-08-2007 10:55 PM

Ah, why're you displaying it serverside? Some kind of damage effect I assume.

I would've thought that destroy inside the gani would have done it, but you've already tried that. Weird.

Tolnaftate2004 02-08-2007 11:00 PM

Make sure "weapon" isn't trying to modify the image/gani in any way after hiding.

Also, I think this.indexnum should be thiso.- ?

JkWhoSaysNi 02-08-2007 11:05 PM

You're right, it should be thiso I changed that and it still causes an access violation when hideimg is called. All the weapon NPC does is show the ani, it doesnt do anything else with it.

Admins 02-09-2007 10:46 AM

It should not hide itself, that's not working right now, and doesn't make a lot of sense in gani scripts anyway since it's running on each client and you only want to hide it on the client/server that controls the object. Just let the gani script stop displaying something and let a weapon or npc control the showing/hiding of the gani script attr[] (or showimg).

Chompy 02-09-2007 04:06 PM

Hmm, I've had this problem before (Float text), where when the player is hurt, it places a gani at the players location with showani( ... );
but sometimes they randomly appear around inside levels or gmaps, like they
have just been temporaly hided or something.. anyone know how to destroy them (removing them from the level or something)?

Inverness 02-09-2007 05:41 PM

Well I'm at school now so I can't test this for now.
You could get the object of the gani and join it to a class that destroys itself after a time limit.

JkWhoSaysNi 02-09-2007 06:02 PM

Yes, I had that but it caused major server lag.

I made a flamethrower weapon which sets light to places it touches :P making the fires putnpc2 caused huge lag even though they destroyed after 3 seconds.

Weirdly, it wasn't just when they were on screen. Even if they'd all been destroyed, the lag would grow every time a new fire was started.

Admins 02-09-2007 09:20 PM

Eventually the npc was only hidden and not really destroyed ? Normally putnpc2 should not lag a lot

JkWhoSaysNi 02-09-2007 09:47 PM

It seems like the NPC is not actually being destroyed. I'm calling destroy() on it and eventually after the weapon has been used a lot it causes lag.

If i /clearnpcs overworld.gmap the lag stops until the weapon has been used a lot and it causes lag again.

xXziroXx 02-09-2007 09:58 PM

Quote:

Originally Posted by JkWhoSaysNi (Post 1275548)
It seems like the NPC is not actually being destroyed. I'm calling destroy() on it and eventually after the weapon has been used a lot it causes lag.

If i /clearnpcs overworld.gmap the lag stops until the weapon has been used a lot and it causes lag again.

Are you calling it on serverside?


All times are GMT +2. The time now is 05:25 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.