Home   Help Search Login Register  

Author Topic: Friendly Fire...  (Read 2206 times)

0 Members and 2 Guests are viewing this topic.

Crook

  • Guest
Friendly Fire...
« on: 17 Sep 2004, 09:58:44 »
Is there anyway to have a trigger check for friendly fire amoungst a certain side and execute a script accordingly?

Offline Platoon Patton

  • Members
  • *
  • "Barbecue" CreateVehicle getpos LLama
Re:Friendly Fire...
« Reply #1 on: 17 Sep 2004, 20:25:05 »
Eventhandler "hit" returns the "_shooter" and the "_victim".

?(side _shooter==side _victim):exec "xxx.sqs"

If u use vehicles:side(crew _shooter select 0)
http://www.platoon-clan.com/ We always wellcome dedicated OFP players :)

http://www.european-combat-league.com/index.php To play with us in the best OFP league ;)

Crook

  • Guest
Re:Friendly Fire...
« Reply #2 on: 17 Sep 2004, 21:53:55 »
I understand what you are saying to an extent... But I don't get far with what you said...

Offline Platoon Patton

  • Members
  • *
  • "Barbecue" CreateVehicle getpos LLama
Re:Friendly Fire...
« Reply #3 on: 17 Sep 2004, 23:07:02 »
Ok,to answer your question,no trigger , use an Eventhandler "hit"

Search Igor Drukovs Tut on EHs in the editors depot.

Add each player an EH:player addEventHandler ["hit", {_this exec "FFCheck.sqs"}]

FFCheck.sqs;
_victim = _this select 0
_shooter = _this select 1
?(side _shooter==side _victim):exec "xxx.sqs"

xxx.sqs is the script u want to execute...

This is just a basic plan to give U an idea howto do it.And depending on what Your script does U might need to use PublicVariables for shooter and victim.



http://www.platoon-clan.com/ We always wellcome dedicated OFP players :)

http://www.european-combat-league.com/index.php To play with us in the best OFP league ;)

Crook

  • Guest
Re:Friendly Fire...
« Reply #4 on: 21 Sep 2004, 06:19:02 »
Well I tried it... but it didn't work... I wanted it to deduct points from the entire team everytime someone got TKed so it doesn't have to execute a script, it could probably just use the Goto "xxx" command... Yet, I tried the script you wrote and it didn't work no matter how I went about it... Thanks for trying though.

Offline Platoon Patton

  • Members
  • *
  • "Barbecue" CreateVehicle getpos LLama
Re:Friendly Fire...
« Reply #5 on: 21 Sep 2004, 18:09:05 »
Doesnt OFP automatically deduct points of your score when U TK?

If your intrested I have made a script based on the ECL template where each player got punished when he Teamkills...

The punishment is 1 minute Blancs (achieved by deleting his bullets for 1 minute),we tested it,it works 100%.

You could simply change the punishment to anything U want.
« Last Edit: 21 Sep 2004, 18:12:39 by Platoon Patton »
http://www.platoon-clan.com/ We always wellcome dedicated OFP players :)

http://www.european-combat-league.com/index.php To play with us in the best OFP league ;)

Crook

  • Guest
Re:Friendly Fire...
« Reply #6 on: 21 Sep 2004, 20:42:20 »
Download link?
 Yeah it deducts points, I just want it to deduct more than 1 point.

Offline Platoon Patton

  • Members
  • *
  • "Barbecue" CreateVehicle getpos LLama
Re:Friendly Fire...
« Reply #7 on: 21 Sep 2004, 22:58:00 »
D/L HERE

After de-pbo go to Spawnkill\Shooter.sqs and search the line #punishment,and change it to whatever U want.
http://www.platoon-clan.com/ We always wellcome dedicated OFP players :)

http://www.european-combat-league.com/index.php To play with us in the best OFP league ;)

Crook

  • Guest
Re:Friendly Fire...
« Reply #8 on: 23 Sep 2004, 04:03:15 »
Correct me if I'm wrong but from looking at it, it seems as if it only works in the spawn (i.e. is a shooter and victim are both in the westarray, they have to be on the same team(assuming the spawns are protected)) I need something that will work over the entire playing field although there was a piece of the script I could use. But I need basically a full map coverage rather than the spawn. But I will continue to try to figure something out...

Offline Zombie

  • Members
  • *
  • Beware the night, the zombie walks among you
    • USI
Re:Friendly Fire...
« Reply #9 on: 23 Sep 2004, 18:20:29 »
I been working on this, and came up with this "ff" script, called by a hit eh, but it doesn't reliably work everytime.  Sometimes it registers all tk's and sometimes all not tk's!   any ideas?

Code: [Select]
_victim = _this select 0
_shooter = _this select 1
?(side _shooter == side _victim): goto "friendlyf"

#friendlyf
papabear globalchat format ["%1 was tk'd by %2", name _victim, name _shooter]
_shooter addscore -4
papabear globalchat format ["%1 has a score of %2", name _shooter, score _shooter]
exit
#notff
papabear globalchat format ["%1 was shot by %2", name _victim, name _shooter]
papabear globalchat format ["%1 has a score of %2", name _shooter, score _shooter]
exit

Offline Platoon Patton

  • Members
  • *
  • "Barbecue" CreateVehicle getpos LLama
Re:Friendly Fire...
« Reply #10 on: 23 Sep 2004, 18:26:24 »
The Friendly Fire script works everywhere.

The line U talk about is for Spawnprotection.

The original Spawnprotect script checked some conditions to exit;

--?(_shooter == _victim): goto "END"-->When U hurt yourself

--?(crew _shooter select 0 in westarray AND _victim in westarray ): goto "END"-->When both players are on the same side.


This last line is the perfect conditioncheck for FF,but instead of :goto "end" I changed it into :goto "punishment"

After using PublicVariables for Shooter and Victim U can formulate any punishment U want.

http://www.platoon-clan.com/ We always wellcome dedicated OFP players :)

http://www.european-combat-league.com/index.php To play with us in the best OFP league ;)

Crook

  • Guest
Re:Friendly Fire...
« Reply #11 on: 24 Sep 2004, 03:47:03 »
I would like to thank both of you for your help. I figured it out by myself. Platoon, sorry but I opened your scripts and just sat there.. LOL


Anyways this is the script I came up with:

#Start
_victim = _this select 0
_shooter = _this select 1

#CheckFF
?(side _shooter == East): Goto "NFF";
?(side _shooter == West): Goto "YFF";


Of course the West Players and the East Players can't run the same script right off the EventHandler, but this gets the job done. Thanks for your help.

Offline Platoon Patton

  • Members
  • *
  • "Barbecue" CreateVehicle getpos LLama
Re:Friendly Fire...
« Reply #12 on: 24 Sep 2004, 20:52:21 »
This Template was build by Terox and Pimmelorus,I only added something small....

These people spend many hours on it,and gave everybody the opportunity to build a high quality map even without any knowledge of scripting.They keep OFP alive..

@Zombie;
Your script is not 100% correct,it is activated from EH "hit",but a hit doesnt mean "death",so its not correct to talk about TeamKill when U only got hit ;)
Maybe EH "killed"?
Weird,is "side" another dodgy command:s
Or is it the same like "dammage",who only works on vehcs who are ingame at the start?(not on respawned vehicles (by createvehicle))
Check out Spawnkill\arrayupdate.sqs in the template,this loop updates the sidesarrays.U will prolly need it too.


http://www.platoon-clan.com/ We always wellcome dedicated OFP players :)

http://www.european-combat-league.com/index.php To play with us in the best OFP league ;)