diff options
| author | Dominik Geyer <dominik.geyer@gmx.de> | 2008-10-17 15:38:36 +0000 |
|---|---|---|
| committer | Dominik Geyer <dominik.geyer@gmx.de> | 2008-10-17 15:38:36 +0000 |
| commit | eb47aa385bb02d977c9ee759c2b7987951c16953 (patch) | |
| tree | 0a2670cfb1342cc8dc1e9060b44a1fabdc29e53b | |
| parent | a4e922cf5a1da4dd912eb878a24fb7d817556caa (diff) | |
| download | zcatch-eb47aa385bb02d977c9ee759c2b7987951c16953.tar.gz zcatch-eb47aa385bb02d977c9ee759c2b7987951c16953.zip | |
added delay before respawn when using the kill-command; provided and tested by scosu; ticket #463
| -rw-r--r-- | src/game/server/hooks.cpp | 2 | ||||
| -rw-r--r-- | src/game/server/player.cpp | 3 | ||||
| -rw-r--r-- | src/game/server/player.hpp | 1 |
3 files changed, 4 insertions, 2 deletions
diff --git a/src/game/server/hooks.cpp b/src/game/server/hooks.cpp index d8e6c9bb..7fb79236 100644 --- a/src/game/server/hooks.cpp +++ b/src/game/server/hooks.cpp @@ -315,7 +315,7 @@ void mods_message(int msgtype, int client_id) return; p->last_kill = time_get(); - + p->respawn_tick = server_tick()+server_tickspeed()*3; p->kill_character(); //(client_id, -1); } } diff --git a/src/game/server/player.cpp b/src/game/server/player.cpp index 02e92c36..b31c4d2f 100644 --- a/src/game/server/player.cpp +++ b/src/game/server/player.cpp @@ -9,6 +9,7 @@ MACRO_ALLOC_POOL_ID_IMPL(PLAYER, MAX_CLIENTS) PLAYER::PLAYER(int client_id) { + respawn_tick = server_tick(); character = 0; this->client_id = client_id; } @@ -56,7 +57,7 @@ void PLAYER::tick() character = 0; } } - else if(spawning) + else if(spawning && respawn_tick <= server_tick()) try_respawn(); } diff --git a/src/game/server/player.hpp b/src/game/server/player.hpp index 24713c93..e88ce858 100644 --- a/src/game/server/player.hpp +++ b/src/game/server/player.hpp @@ -20,6 +20,7 @@ public: int color_body; int color_feet; + int respawn_tick; // bool spawning; int client_id; |