Whats the secret behind anti-delete?

 PIN3


Group: Gold Membership
Join Date: 6 January 2009
Posts:3033
Posted 9 May 2014 - 3:32 am
Here is a system Im doing on a CBA that Im working on, you can see if it helps you.
Attachments:
adtest2.scx (file size: 1.3 KB)
Link | Válasz | Idézet
 Catalytical


Group: Standard Membership
Join Date: 21 November 2013
Posts:5
Posted 9 May 2014 - 4:45 am
Create a bunch of junk triggers between it creating the thing you want to detect and the detect triggers. It may not have enough time to realize it's been created. I attempted to look at your triggers but then I got really tired. Anywho, I remember that throwing me off for a little while back in the day. Also, just find a scenario that has anti-delete in it and look at how they're programmed.

What exactly is a junk trigger? Like spawning a flag in the corner or something?
PIN3 wrote:
Here is a system Im doing on a CBA that Im working on, you can see if it helps you.
Same issue happens when I try this, the rams killing a tower sometimes count it as a delete. My guess is maybe too many towers are being killed too quickly or something? Starting to think that anti-delete might be more trouble than its worth :O
Link | Válasz | Idézet
 [GvR]Do0m


Group: Standard Membership
Join Date: 29 December 2009
Posts:306
Edited 9 May 2014 - 5:26 am by [GvR]Do0m
The Anti-Delete System you are Trying is not Perfect, it has some issues, like not Booting when you Delete. But it should not boot you when somebody else gets a Raze

This happens mainly due to lag, to counter this you must adjust the Anti-Delete System for some seconds to make sure no one is booted due to lag.

The Lag based trigger is Applied in CBA (v8 and above), you need to search that in Triggers but if you select it there is a chance some effects might not works so need to copy them in AOKTS very carefully.
Link | Válasz | Idézet
 knochenginni


Group: Standard Membership
Join Date: 27 April 2008
Posts:12
Edited 9 May 2014 - 6:47 am by knochenginni
This was the way it worked for me in the end.

The trick is that you detect the king only some seconds after the building was destroyed
to eliminate the chance that due to lag no hawk has been created yet.

Every raze a hawk will be created.

then i made this triggers:

Trigger 1: (for every building wich should be anti delete)
on / not looping.
condition 0: destroy object.
effect 0: create king
effect 1: task king
effect 2: activate Trigger 2
effect 3: activate trigger 3

Trigger 2: (for every player)
of/not looping
Condition 0: object in area : hawk
Effect 0: deactivate Trigger 3


Trigger 3: (for every player)
of/ not looping
condition 0: Object in area: king (some tiles away from the start)
effect 0: what ever i want to do with the deleter


Trigger 4:
on/ looping

effect 0: Remove king. (before his destination)
effect 1: Remove Hawk (some tiles from the start)
Link | Válasz | Idézet
 Catalytical


Group: Standard Membership
Join Date: 21 November 2013
Posts:5
Posted 9 May 2014 - 7:32 am
This was the way it worked for me in the end.

The trick is that you detect the king only some seconds after the building was destroyed
to eliminate the chance that due to lag no hawk has been created yet.

Every raze a hawk will be created.

then i made this triggers:

Trigger 1: (for every building wich should be anti delete)
on / not looping.
condition 0: destroy object.
effect 0: create king
effect 1: task king
effect 2: activate Trigger 2
effect 3: activate trigger 3

Trigger 2: (for every player)
of/not looping
Condition 0: object in area : hawk
Effect 0: deactivate Trigger 3


Trigger 3: (for every player)
of/ not looping
condition 0: Object in area: king (some tiles away from the start)
effect 0: what ever i want to do with the deleter


Trigger 4:
on/ looping

effect 0: Remove king. (before his destination)
effect 1: Remove Hawk (some tiles from the start)

This looks very promising, no false deletes on my ram test! Thank you so much!
Link | Válasz | Idézet
 BF_Basse


Group: Standard Membership
Join Date: 13 April 2009
Posts:558
Posted 22 May 2014 - 11:53 am
I implemented Basse's method but I'm still having the same issues. Out of about 50 tests I had around 6 where a raze was counted as a delete. I'm completely stumped as to what is making this happen. [You must login to view link] is how I'm doing it if anyone wants to take a look.

Take a look at my Kings Blood map, I've played it countless of times and I've never seen someone punished for deleting when their buildings were razed. It could be that the triggers Gallas quoted are not 100% correct, it's been many years since I last made any anti-delete triggers >.<

In Kings Blood, the anti-delete triggers looks exactly like this:
Quote:
Delete Detection 1:1 (On/Not looping)
C: Object Destroyed
C: Timer: 5
E: Activate Trigger: Delete Detection 1:2

Delete Detection 1:2 (Off/Not looping)
C: Timer: 6
E: Display Instructions
E: Kill Object
E: Send Tribute

Have Raze (On/Looping)
C: Accumulate Attribute: Raze 1
E: Activate Trigger: Razecounter
E: Create Object: Villager
E: Task Object: Villager
E: Send Chat: Villager created

Razecounter (Off/Not looping)
C: Accumulate Attribute: Raze 1
E: Send Tribute
E: Send Tribute
E: Send Tribute
E: Send Tribute
E: Change Object HP
E: Activate Trigger: Razing Made
E: Activate Trigger: Stop Raze

Razing Made (Off/Looping)
E: Deactivate Trigger: Delete Detection 1:2 (for all players and all buildings)

Stop Raze (On/Not looping)
C: Timer 6
E: Deactivate Trigger: Razing Made

I hope this helps.
Link | Válasz | Idézet
 Poppingoff


Group: Standard Membership
Join Date: 5 February 2017
Posts:1
Edited 23 March 2017 - 10:19 pm by Poppingoff
This was the way it worked for me in the end.

The trick is that you detect the king only some seconds after the building was destroyed
to eliminate the chance that due to lag no hawk has been created yet.

Every raze a hawk will be created.

then I made this triggers:

Trigger 1: (for every building wich should be anti-delete)
on / not looping.
condition 0: destroy object.
effect 0: create king
effect 1: task king
effect 2: activate Trigger 2
effect 3: activate trigger 3

Trigger 2: (for every player)
of/not looping
Condition 0: object in area : hawk
Effect 0: deactivate Trigger 3


Trigger 3: (for every player)
of/ not looping
condition 0: Object in area: king (some tiles away from the start)
effect 0: whatever I want to do with the deleted


Trigger 4:
on/ looping

effect 0: Remove king. (before his destination)
effect 1: Remove Hawk (some tiles from the start)

+1 this worked for me. Except I needed to add a couple things. You need to make an accumulative razing for each razing and each player up to your max razings in your map. Then create a razing deactivate 1 razing after the max in your map to stop the kill effect. Also each player needs to spawn their own kings, and the king removal has to be further than the kick detection. Great work otherwise
Link | Válasz | Idézet
 [MM]_Zix


Group: Standard Membership
Join Date: 28 July 2015
Posts:30
Edited 24 August 2017 - 8:03 am by [MM]_Zix
My method for anti delete:

Trigger 1: ON, loop
Effect: damage FLAGX by 1 HP

Trigger 2: ON, loop
Condition: Player has 1 raze
Effect: Players sends 1 raze to gaya
Effect: Create FLAGX (it has 1 HP)
Effect: dagame FLAGX by -2 HP
Effect: damage FLAGX by 1 HP (now it has 2 HP)

Trigger 3: ON
Condition: Destroy object: gate/tower
Condition: Object in area: FLAGX
Effect: deactivate trigger 4

Trigger 4: ON
Condition: Destroy object gate/tower
Effect: Do something against player


Link | Válasz | Idézet
1[2]
Displaying 16 - 23 out of 23 posts
Ugrás: