Author Topic: Fix for ZAPT Spawns  (Read 1125 times)

It's been some time since ZAPT is broken for me, so I'm asking you, particularly, CityRPG to fix it, please.

I really like ZAPT, but I hate having to replace all the spawns..

Yes CityRPG i know your iban o.<  :D
And when is zapt v3 coming out if ever? :"(

Yes v20 broke it all. Need the fix code now!

I'm in the process of updating ZAPT for v3. It probably will not be as big a change as v1 to v2, but it'll clean up gameplay aspects a bunch and make the mutation system less terrible.

Are there any other bugs I need to be aware of?

Not really a bug but I have a request...

Can you remove whatever requires the minigame owner in zombieValidTarget() so that I don't have to do this little hack to make zombies work with Slayer:
Code: [Select]
package Slayer_Compatibility_Gamemode_ZAPT
{
function zombieValidTarget(%obj,%target)
{
%mini = getMinigameFromObject(%obj);

if(isSlayerMinigame(%mini) && !isObject(%mini.owner))
{
%mini.owner = new AiConnection()
{
minigame = %mini;
};

%par = parent::zombieValidTarget(%obj,%target);

%mini.owner.delete();
%mini.owner = "";

return %par;
}

return parent::zombieValidTarget(%obj,%target);
}
};
activatePackage(Slayer_Compatibility_Gamemode_ZAPT);

Any instances of .owner in the 5 major sanity-check functions are replaced by testing the minigame object itself. This should solve any problems with the gamemode outright not working, but I've always been wary of dedicated minigames.

I went through and weeded out any instances of .owner not used for security checks, just about. Only two instances concern me:

1.
Code: [Select]
%p = new Projectile()
{
dataBlock = ZombieSmashProjectile;
initialPosition = %pos;
initialVelocity = %obj.getEyeVector();
sourceObject = %obj;
sourceSlot = 0;
client = zombieBot(%obj) ?  %mini.owner : %client;
};

2. %so.reset(%so.owner);


What is most ethical in handling these?

I'm in the process of updating ZAPT for v3.

Thank you so much CityRPG or what ever you wanna be called :D
I cant wait for the update.

Do you think we could get a changelog?

Thank you so much CityRPG or what ever you wanna be called :D
I cant wait for the update.

I am the hero that Blockland deserves.


Do you think we could get a changelog?
No. Anything that gets done is going to be a surprise that is not a bug fix.

Any instances of .owner in the 5 major sanity-check functions are replaced by testing the minigame object itself. This should solve any problems with the gamemode outright not working, but I've always been wary of dedicated minigames.
Thanks! Can you give me an example of "testing the minigame object itself" though?

Also, I am unsure about #1 but #2 is fine as is.

I also have some GUI questions but I will need to ask those later.

I hacked getMiniGameFromObject so that you can just getMiniGameFromObject an actual minigame to get the minigame. That way you can test minigames versus any other object and it'll work fine. Great for functions like the ones I have that try to test if any two objects are related.

I hacked getMiniGameFromObject so that you can just getMiniGameFromObject an actual minigame to get the minigame. That way you can test minigames versus any other object and it'll work fine. Great for functions like the ones I have that try to test if any two objects are related.
So did I. Hopefully they don't interfere...

Code: [Select]
package Slayer_Dependencies_Minigames
{
//why do minigames return -1 when checked with this...?
function getMinigameFromObject(%obj)
{
%parent = parent::getMinigameFromObject(%obj);

if(isObject(%obj))
{
//BRICKGROUP / BRICK
//hacky crap goes here but I removed it to make this post shorter

//MINIGAME
if(%obj.class $= "MinigameSO" || %obj.superClass $= "MinigameSO")
return %obj;
}

return %parent;
}
};

See any problems?

No. Because both functions will return a MinigameSO object or -1 they will interact fine.

Are you accepting requests?

If so, you could add more gamemodes to it.

basically, one life, no player zombies, Is there a way to make this without having to set it to versus or man.vs.tank?

Are you accepting requests?

If so, you could add more gamemodes to it.

basically, one life, no player zombies, Is there a way to make this without having to set it to versus or man.vs.tank?
keldatu drope

I thought you stopped making ZAPT and removed all downloads.