Zandronum Chat on our Discord Server Get the latest version: 3.2
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001502Zandronum[All Projects] Suggestionpublic2013-09-12 20:212014-06-15 16:04
Reporterarkore 
Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
StatusacknowledgedResolutionopen 
PlatformOSOS Version
Product Version1.2 
Target VersionFixed in Version 
Summary0001502: Force Player to Spectator after self-death when sv_norespawn is true. (Duel)
DescriptionWhen player dies by his own hands (rather the hands of the opponent), then "fraglimit 1" has no effect to determine a winner of the match.

When sv_norespawn is true, can we force the player to spectator when player kills himself? Perhaps check for event "player dies" and check "does player have -1 frags" ?

Video:'http://www.youtube.com/watch?v=GxRy_TaWR9U [^]'
Steps To ReproduceStart a Duel server, add a bot, and put yourself on god mode.

Let bot walk up close to you; bot fires rocket launcher at you enough times it will damage itself, eventually killing itself.

Bot stays dead. Does not go to spectator, and rejoin.
Additional InformationI noticed that even though "sv_losefrag" is false, the player still gets -1 frags from killing itself. So, it seems "sv_losefrag" only applies to when you die by the hands of your opponent.
Attached Files

- Relationships
related to 0001612acknowledged Force players to spectate when they die 

-  Notes
User avatar (0007181)
arkore (reporter)
2013-09-12 21:04
edited on: 2013-09-12 21:05

I noticed in the Skulltag code, some instances where the programming is such: "if (player->ulLivesLeft == 0) { PLAYER_SetSpectator( player, false, true ); ... ... }"

If that same logic is being used in cases (with Frags?) like this (Duel + Self kill), could you maybe change it to be: "if (player->ulLivesLeft <= 0) { ... }" so that "<=" it catches a player's frag count of -1 and forces them to spectator?

I can't even do ACS for this functionality, because PLAYER_SetSpectator() is not defined in ACS, even though I see PLAYER_SetSpectator() being used in Skulltag's code. See screenshot:'http://d.pr/i/apqR [^]'

User avatar (0007182)
arkore (reporter)
2013-09-13 01:20

Okay, I found a work around for this.

script 3 DEATH
{
    if (PlayerFrags() == -1) {
        delay(175); // Delay 5 seconds.
        KickFromGame(PlayerNumber(), "DEAD.");
    }
}

Not ideal, but works. I'd prefer to use PLAYER_SetSpectator, or at least prefer instead that the Zandronum engine does it itself by default.
User avatar (0009337)
Watermelon (developer)
2014-06-14 17:56

There's something I'm adding in the future that may address this

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2013-09-12 20:21 arkore New Issue
2013-09-12 21:04 arkore Note Added: 0007181
2013-09-12 21:05 arkore Note Edited: 0007181 View Revisions
2013-09-13 01:20 arkore Note Added: 0007182
2014-06-14 17:56 Watermelon Note Added: 0009337
2014-06-14 17:56 Watermelon Status new => acknowledged
2014-06-15 16:04 Watermelon Relationship added related to 0001612






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2025 MantisBT Team
Powered by Mantis Bugtracker