Jump to content
Sign in to follow this  
norrin

SQF revive script

Recommended Posts

I've checked the settings. There are 3 spawn points. Each one is free of enemys from the beginning and they were free of enemys during the game.

_NORRN_Base_1_respawn = 1; //array no.18

_NORRN_revive_timer_type = 1; //array no.31

_NORRN_respawn_position = 2; //array no.32

I dont' think he had no more lives. I've set the revives up to 20 and he didn't die that often.

Can you send me the rest of your revive_init.sqf so I can check out the settings and I'll see if I can replicate the error .

Thanks m8. smile_o.gif

Share this post


Link to post
Share on other sites

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">/*

INITIALISATION SCRIPT FOR AI_DISABLED REVIVE SCRIPT

JANUARY 2008 - norrin (norrins_nook@iprimus.com.au)

Version: 1.4

*******************************************************

Start revive_init.sqf

*/

//Init.sqf settings for revive_player scripts by norrin

// ====================================================

if (!isServer) then {waitUntil{!isNull player}};

//This next line can be commented out or removed if it

//interferes with intro movies

// ====================================================

titleText ["Joining a GLT Mission", "BLACK FADED", 0.2];

//Configurable revive script options (Off = 0, On = 1)

// ====================================================

_NORRN_mission_end_function = 0; //array no.0

_NORRN_reward_function = 1; //array no.1

_NORRN_team_kill_function = 1; //array no.2

_NORRN_all_dead_dialog = 0; //array no.3

_NORRN_JIP_spawn_dialog = 0; //array no.4

_NORRN_nearest_teammate_dialog = 0; //array no.5

_NORRN_unconcious_markers = 1; //array no.6

_NORRN_follow_cam = 1; //array no.7

_NORRN_call_out_function = 1; //array no.8

_NORRN_revive_timer = 1; //array no.9

_NORRN_heal_yourself = 1; //array no.10

_NORRN_kegetys_spectator = 1; //array no.11

_NORRN_water_dialog = 1; //array no.38

//list of playable units

// ====================================================

NORRN_player_units = ["p1","p2","p3","p4","p5","p6","p7","p8","p9","p10"];

// no of respawn points, spawn position names for

//respawn and the time before the respawn dialog appears

//for JIP players - Option to make base_1 respawn possible

//even if enemy forces are within 50 metres (options OFF = 0, ON = 1)

// =====================================================

_NORRN_no_respawn_points = 3; //array no.12

_NORRN_Base_1 = "Flughafen"; //array no.13

_NORRN_Base_2 = "Suedfront"; //array no.14

_NORRN_Base_3 = "Regierung"; //array no.15

_NORRN_Base_4 = ""; //array no.16

_NORRN_time_b4_JIP_spawn_dialog = 10000; //array no.17

_NORRN_Base_1_respawn = 1; //array no.18

//The can_revive variable can be changed if for example

// you only one sort of unit to be able to revive eg. "soldierWMedic"

//The can_be_revived variable can be changed if you want

//to use these scripts for a different side

// =====================================================

_NORRN_can_revive = "soldierWB"; //array no.19

_NORRN_can_revive_2 = ""; //array no.20

_NORRN_can_be_revived = "soldierWB"; //array no.21

_NORRN_can_be_revived_2 = ""; //array no.22

//No of Enemy sides (0, 1 or 2). Enemy sides can be "EAST",

//"WEST","RESISTANCE" etc

// ======================================================

_NORRN_no_enemy_sides = 1; //array no.23

_NORRN_enemy_side_1 = "EAST"; //array no.24

_NORRN_enemy_side_2 = ""; //array no.25

//Friendly sides. These next options are linked to the camera script and

//allow the players to spectate other team members and friendly sides

//while unconscious. Friendly sides can be "EAST", "WEST","RESISTANCE" etc.

//If all players are from the same side make sure you set the same side

//for both variables eg "WEST", "WEST" ie do not leave these variables blank

//if using the follow cam option (//array no.7)

//=======================================================

_NORRN_allied_side_1 = "WEST"; //array no.40

_NORRN_allied_side_2 = "RESISTANCE"; //array no.41

//Maximum number of revives per unit - adjust to whatever

//value you like and the unit's level of damage following revive

//Whether you want to use HulkingUnicorn's script that does not allow the

//player to stand until after he has been healed by a medic

// ======================================================

_NORRN_max_respawns = 20; //array no.26

_NORRN_revive_damage = 0.0; //array no.39

_HULK_rProne = 1; //array no.43

//Time until respawn button appears (0 = approx. 12 seconds)

//Set to a high number like 100000 seconds if you do not want

//to use this option

// ======================================================

_NORRN_respawn_button_timer = 30; //array no.27

//If the closest friendly unit is further

//than this distance away trigger respawn dialog

// ======================================================

_NORRN_distance_to_friend = 250; //array no.28

//Number fo the revives required for bonus

// ======================================================

_NORRN_revives_required = 2; //array no.29

//Number of teamkills before punishment

// ======================================================

_NORRN_no_team_kills = 1; //array no.30

//Choose what type of respawn option for the revive_timer

//function: 0 = dead or 1 = spawns at base (NORRN_respawn_position = 0)

//or the closest enemy free respawn point to where the player died

//NORRN_respawn_positon = 1) or player's choice of free respawn point

//NORRN_respawn_positon = 2) When using the revive_timer function

//the length of time before the unconscious player is declared dead

//or respawns. Also you have the option of viewing a revive count down

//timer

// ======================================================

_NORRN_revive_timer_type = 1; //array no.31

_NORRN_respawn_position = 2; //array no.32

_NORRN_revive_time_limit = 180; //array no.33

_NORRN_visible_timer = 1; //array no.42

//Number of heals that each player gets during a mission

//The damage level range between which the heal action becomes available

//=======================================================

_NORRN_no_of_heals = 1; //array no.34

_NORRN_lower_bound_heal = 0.1; //array no.35

_NORRN_upper_bound_heal = 0.7; //array no.36

//This sets the distance that you wish the unconscious

//follow cam to follow other team members

//=======================================================

_NORRN_follow_cam_distance = 250; //array no.37

//User code - eg. NORRNCustonexec1="execvm ""myscript.sqf"";hint ""myoutput"";"

//Exec1 occurs following being revived

//Exec2 occurs when you team kill

//Exec3 occurs when you spawn at base

//Exec4 occurs when you try and spawn at base but it is still occupied

NORRNCustomExec1="";

NORRNCustomExec2="";

NORRNCustomExec3="";

NORRNCustomExec4="";

NORRN_revive_array = [];

NORRN_revive_array = [_NORRN_mission_end_function,_NORRN_reward_function, _NORRN_team_kill_function, _NORRN_all_dead_dialog, _NORRN_JIP_spawn_dialog,

_NORRN_nearest_teammate_dialog, _NORRN_unconcious_markers, _NORRN_follow_cam, _NORRN_call_out_function, _NORRN_revive_timer,

_NORRN_heal_yourself, _NORRN_kegetys_spectator,_NORRN_no_respawn_points,_NORRN_Base_1,_NORRN_Base_2,_NORRN_Base_

3,_NORRN_Base_4,

_NORRN_time_b4_JIP_spawn_dialog,_NORRN_Base_1_respawn,_NORRN_can_revive,_NORRN_can_r

evive_2,_NORRN_can_be_revived,

_NORRN_can_be_revived_2,_NORRN_no_enemy_sides,_NORRN_enemy_side_1,_NORRN_enemy_side_

2,_NORRN_max_respawns,_NORRN_respawn_button_timer,

_NORRN_distance_to_friend,_NORRN_revives_required,_NORRN_no_team_kills,_NORRN_revive

_timer_type,_NORRN_respawn_position,

_NORRN_revive_time_limit,_NORRN_no_of_heals,_NORRN_lower_bound_heal,_NORRN_upper_bou

nd_heal,_NORRN_follow_cam_distance,

_NORRN_water_dialog, _NORRN_revive_damage, _NORRN_allied_side_1, _NORRN_allied_side_2, _NORRN_visible_timer, _HULK_rProne];

[] execVM "revive_sqf\revive_init.sqf";

//Initialise isplayer script

[NORRN_player_units] execVM "revive_sqf\isplayer.sqf";

if (isServer) then

{

//Initialise mission end script

if (_NORRN_mission_end_function == 1) then {[NORRN_player_units] execVM "revive_sqf\mission_end.sqf"};

//Initialise marker color script

if (_NORRN_no_enemy_sides > 0) then {[] execVM "revive_sqf\marker_color.sqf"};

};

if (true) exitWith {};

It's hard to say if it's a bug anyway. There was no error message shown.

Share this post


Link to post
Share on other sites

please, update the links in the first post.. its not that funny searching for a working link thats the latest version..

other then that, thanks man.

Share this post


Link to post
Share on other sites
please, update the links in the first post.. its not that funny searching for a working link thats the latest version..

other then that, thanks man.

1st post updated with latest script links and info smile_o.gif

Share this post


Link to post
Share on other sites

norrin i would like to ask if the following is possible:

<ul>When the player get shot and become unconscious he dies.. and in the score board you get a point in dead.

Would it be possible to remove that point when the player get revived?

That way it would bring to revive script another feeling (Theorically) to this game.. it would be considered less respawn in some way.

Like Jerry said in the lastest interview this revive script gave another turn to ArmA, i would say it gave more charm to the game itself.

I really enjoy this script alot.

Don't stop to improve it wink_o.gif

PS- I would like to ask moderators to tick this thread smile_o.gif

Share this post


Link to post
Share on other sites
norrin i would like to ask if the following is possible:

<ul>When the player get shot and become unconscious he dies.. and in the score board you get a point in dead.

Would it be possible to remove that point when the player get revived?

That way it would bring to revive script another feeling (Theorically) to this game.. it would be considered less respawn in some way.

Like Jerry said in the lastest interview this revive script gave another turn to ArmA, i would say it gave more charm to the game itself.

I really enjoy this script alot.

Don't stop to improve it wink_o.gif

PS- I would like to ask moderators to tick this thread smile_o.gif

Hiya bravo,

To be honest I've been enjoying the relative quiet since the release of the latest versions of the script and been doing some other things such as writing some some new scripts and, heaven forbid, even playing some other games.

I really like your idea, only problem is I'm not sure how you'd go about updating the death tally on the score board - I'll look into it and see if I can find anything on the forums but if anybody knows how to do this or has any suggestions they would be greatly appreciated.

Thanks,

norrin smile_o.gif

Share this post


Link to post
Share on other sites

norrin i had some search on the wiki and i only found the displaySetEventHandler.

But i think this is too extreeme to what we try to do here.

The displaySetEventHandler can remove the score by total, ie, normally when we press the "i" key we are able to see the score board, but using this command we would disable the score as if it wouldn't exit including the dead score.

Ill try to get a better solution for this idea.

Hope Suma read this and help us on this particular subject.

Ill try not to disturn Suma with pm about this confused_o.gif

Share this post


Link to post
Share on other sites

Thanks for looking into this bravo. I searched the forums and couldn't find anything useful either. Looks like the only commands available that change the scoreboard are addRating and addScore and neither are suitable for what we're trying to do. I fear it may be hardcoded and very difficult/impossible to change but I'll keep looking.

Share this post


Link to post
Share on other sites

Is it possible to add requiredVersion in the init of your script?

This will solve problems with stupid persons which take 1.09-Version for 1.08 like me wink_o.gif

Took a while to found where the error came from.

Thanks

Share this post


Link to post
Share on other sites

"nil = server execVM "revive_init.sqf";" or

"nul = server execVM "revive_init.sqf";"

??

Regards, Christian

EDIT: have a problem here...

I had the boot_hill already placed somewhere in my mission, but couldn't find it again (even after hour-long searching). Then i opened the mission.sqm and removed the complete line from it.

Yet still when i want to place the boot_hill marker again it says that there is already a marker with this name.

What can i do?

Edit2: finally found "Boot_Hill", deleted it (why it was still there after deleting out of mission.sqm?) and placed a new one on the map next to the marker "West_spawn".

Everytime i get either revived or respawn with the button i start in the water at the lowest left position on map.

What to do?

Regards, Christian

Share this post


Link to post
Share on other sites
"nil = server execVM "revive_init.sqf";" or

"nul = server execVM "revive_init.sqf";"

??

Regards, Christian

EDIT: have a problem here...

I had the boot_hill already placed somewhere in my mission, but couldn't find it again (even after hour-long searching). Then i opened the mission.sqm and removed the complete line from it.

Yet still when i want to place the boot_hill marker again it says that there is already a marker with this name.

What can i do?

Edit2: finally found "Boot_Hill", deleted it (why it was still there after deleting out of mission.sqm?) and placed a new one on the map next to the marker "West_spawn".

Everytime i get either revived or respawn with the button i start in the water at the lowest left position on map.

What to do?

Regards, Christian

Hi Christian,

Got your email. I'll look into it if I get a chance tonight. smile_o.gif

@i0n0s - will add to the next release, sorry for the confusion.

norrin

Share this post


Link to post
Share on other sites
Hi Christian,

Got your email. I'll look into it if I get a chance tonight. smile_o.gif

@i0n0s - will add to the next release, sorry for the confusion.

norrin

Thanks!!! it is working.... strangely i replaced it two time with the actual 1.08 revive.... damn Windows Vista..... Its is not recognizing any changes i make with the editor when im looking into the files with a editor.... huh.gif

Share this post


Link to post
Share on other sites
Norrin, the dynamic body remover i use, adds the eventhandler "killed" to dead units to remove them - is this a problem?

Its this one:

http://www.armaholic.com/page.php?id=1879

I don't think it will as the script only adds a permanent "killed" eventhandler if you use the teamkill function and even then it shouldn't interfere with the body removal script.

Share this post


Link to post
Share on other sites

Hi Norrin.

I updated to your latest ai-enabled revive script and have noticed what could be a small bug in it (has accurred in many missions we have played with it).

Like the new features and the read me much more easier to follow smile_o.gif Also like the options/parram thing at the menu.

About the bug, what happens is after someone dies, sometimes you stop hearing the radio chatter of you and your team mates. If you are next to them you can hear them just, but the green text does not show.

In all the missions callout is disabled, not sure if that could be where the problem lies.

Not a serious issue as I could probably just run a small enableradio true loop every five seconds but if you happen to be going over the script and wouldn't mind keeping an eye out for something that is causing this problem it would be much appreciated.

Share this post


Link to post
Share on other sites

Hiya Bracken,

The radio has been deliberately disabled for unconscious players in the script.  To change this open the r_killedhandler.sqf in the revive_sqf folder and find the line

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">enableRadio false; should be around line 80.  Just change it to read <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">enableRadio true; and it will hopefully fix your problem.

norrin

Share this post


Link to post
Share on other sites

Thanks for the help.

Couldn't find the r_killedhandler.sqf but I just checked and I think you mixed it up with whats in the ai-disabled script.

But I found the entry in Revive_player.  Problem solved thanks again, though just to clarify as I think I was alittle unclear before.  

When the radio stopped, it seemed to stop for everyone not just the person who got knocked killed/knocked down.  Even stopped for people in different groups than those that had been knocked out.  Sometimes I think even after everyone was revived again it was still there.  

Anyway back to the battlefield, now that I can 100% rely on my ai mates to let me know when someone is behind me again smile_o.gif

Share this post


Link to post
Share on other sites

Don´t know if there is a solution possible but...

In our latest mission runs we hit often a prob that a waiting player get the respawn button because all other players were in vehicles.

Also the cam swaps to players not in vehicle so you have to direct choose the player.

This is realy not a big problem

Share this post


Link to post
Share on other sites

I'm getting an error on line 60 of r_killedhandler.sqf

when the mission starts the error says something like

Quote[/b] ]

Null;

dead_again = false;

while {true} #do

{

Type string expected code

I'm using AI_disabled_x_1.4. I put the Server logic, Boot_Hill, center,Respawn_west, and alpha_1234 etc. in the init and names. I put Boot and Respawn on an Island next to each other away from enemies. It's a small mission with 24 players coop. Any ideas would be greatly appreciated.

EDIT: I'm also using 1.09 beta. I tried it in the editor and serving it and I get the same.

Share this post


Link to post
Share on other sites

Hiho Norrin,

I've got an urgent problem. I need a fix for the AI Disabled 1.4 revive for ArmA 1.08. After some revives the revival script deletes several important action menu entries of other addons or scripts. Maybe you've already fixed it wink_o.gif I don't know.

Share this post


Link to post
Share on other sites
Hiho Norrin,

I've got an urgent problem. I need a fix for the AI Disabled 1.4 revive for ArmA 1.08. After some revives the revival script deletes several important action menu entries of other addons or scripts. Maybe you've already fixed it wink_o.gif I don't know.

Are you sure about this m8. The only actions that the script will remove have the names %1_myaction and NORRN_myaction_%1, where %1 is the unit's name (so check the name of the actions added by the other scripts). The only eventhandlers removed directly relate to the unsconcious body which is created by the revive script so it should not affect any other scripts you have running.

So it could be that the other scripts are not re-adding their actions when you respawn. One way to check for this is to disable the revive, just delete or comment out the line in the init.sqf <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">nil = server execVM "revive_init.sqf"; and then respawn several times and see whether you get the actions back.

If you have already tried this and the revive is responsible for the errors please send me your mission to the usual address norrin@iprimus.com.au

Share this post


Link to post
Share on other sites

Hi,

thaks for your script norrin. I've merged it into an MP mission, and want to add the drop of magazines and weapons on the ground as the player respawn or choose to do it.

This is the actual patched code at r_killedhandler.sqf:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">636 if (!isNull _unconscious_body) then

637 {

638 _unconscious_body removeAllEventHandlers "dammaged";

639 _unconscious_body removeAllEventHandlers "hit";

640 sleep 0.1;

641 _upos = getPos _unconscious_body;

642 deleteVehicle _unconscious_body;

643 _unconscious_body = objNull;

644 sleep 0.1;

645 _holder = "WeaponHolder" createVehicle _upos;

646 {player action ["dropMagazine", _holder, _x]} foreach magazines player;

647 {player action ["dropWeapon", _holder, _x]} foreach weapons player;

648 };But I get a strange behaviour: not all the magazines or ammo are dropped. However, these are seen by the other players.

I've made different attempt with different code, but sometimes the dropped stuff are only local using addWeaponCargo, sometimes nothing get dropped at all (dropping into _unconscious_body and then dropping from him). Also put some "sleep" between drop actions, but without success.

Any help about this would be appreciated, thanks.

Greetings,

alef

Edit: player actoin dropWeapon plays a move, so now I'm adding delays and testing it.

Edit: Ok, I've fixed it. The main problem was really the animation delay. One have to wait it to finish before to drop anything else more.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×