51

(11 replies, posted in Development)

Something else that would be nice is an option, or any stuff that allows a spectator to follow a player. I mean the spectator would have the same "camera" than a player...

52

(11 replies, posted in Development)

It is. And it wouldn't be lame. Actually if twelve players join a server and all go to spectator, then twelve other player can join and play. If you a a good enough connexion to host a server, there are not two or three spectators that will make you server be lame...

53

(16 replies, posted in Development)

It could be a strategy weapon, not an attack one. So it could be useful for example to stop an ennemy rush, and when enemies are frozen, you use another weapon to kill them. For sure such a weapon shouln't be powerfull at all.

54

(34 replies, posted in Maps)

I have played ctf_twe. A simple and very nive map but I think it's too hard to move in. Corridors are too small, you can't take a run up, that's too bad. As munyul said, work a little bit more your maps and they could became really fun.

55

(11 replies, posted in Development)

Hello World
If I'm spectator and the actual round ends, I'll be spectator again at the next round on the same map, but if an other map is loaded I'll automatically be set in a team. I think it should not. Sometimes, when I have things to do, I go spectator instead of disconnect, but if the map changes, as I'm afk I prevent a new player to join the game.
I hope admins will read this topic, and why not, answer me...

edit: I have made a mistake in the thread title, it would be nice if a moderator could correct it smile

edit²: By the way, it would be nice too if we could join a full server as a spectator.

56

(12 replies, posted in Development)

Hello World
It would be really nice if we could log the ingame discussions. For example actually if someone give you his email adress and leave, and if you havn't the time to note it, it's lost.
I hope admins will read this topic, and why not, answer me ...

57

(16 replies, posted in Development)

Freeze your ennemy during a while I suppose ...

58

(34 replies, posted in Maps)

It looks very good big_smile

59

(3 replies, posted in Maps)

Here is a new map that I've done
I need your advice because I think there are a lot of things to improve on it. I wanted to do a map like ctf2, I mean where you can run fastly and where you can develop a strategy to attack or defend the flag...
You can play it on my two servers (search for "!! Ramoloss !! azmeuk's ctf server" ).
Here is an overview

http://img234.imageshack.us/img234/8972/screen1pe3.th.png
Here are random screenshots of the maps
http://www.zupdown.com/m/4in0_o.png
http://www.zupdown.com/m/evsbbw.png
http://www.zupdown.com/m/gcr4ap.png
Please tell me what you think about this map
Thanks

60

(28 replies, posted in Development)

Well,
Today Towelie and Virax from the police clan came on an instagib server and ruined the game by cheating, to tell people to stop playing on modded servers. As I am unable to find the url of their forum to talk about that with they I come here and hope that we'll can have a constructive debate.

I agree with you when you say that normal map are not played enough, but I also think that sometimes instagib is fun. Instagib mod exists on other games and that don't ruins them. As Towelie said :

I think the only way to boost CTF2 is to play it.

If you came on an instagib server and cheat, you'll annoy people but they'll just go on another server, there are so many servers ... This is not a good method to convince people. I can't bear pirate and lost maps, and I just don't play them.

And, if people only wants to play on modded server, well just hope they'll change their mind, you can't do anything else. You tell that "it is not the game" but the game is what players do...

61

(41 replies, posted in Development)

I need to compile becaus I want to apply another patch ...

62

(41 replies, posted in Development)

I have a little problme with martin.9's patch,

azmeuk@ramoloss:~/teeworlds/042$ patch -p1 < ../files/spamprotection.patch 
patching file src/game/g_variables.h
patching file src/game/server/gs_common.h
Hunk #1 FAILED at 352.
1 out of 1 hunk FAILED -- saving rejects to file src/game/server/gs_common.h.rej
patching file src/game/server/gs_game.cpp
Hunk #1 FAILED at 90.
1 out of 1 hunk FAILED -- saving rejects to file src/game/server/gs_game.cpp.rej
patching file src/game/server/gs_server.cpp
Hunk #1 FAILED at 39.
Hunk #2 FAILED at 738.
Hunk #3 FAILED at 832.
3 out of 3 hunks FAILED -- saving rejects to file src/game/server/gs_server.cpp.rej
azmeuk@ramoloss:~/teeworlds/042$

Where am I wrong ?

63

(31 replies, posted in Development)

Erf, I just ... forgot. Thank you.
I really think that such a improvement should be "officialized" . What does the admin team think about that ?

64

(31 replies, posted in Development)

Well, it is very dirty, but it works.
There is a patch :

diff -u -r teeworlds-0.4.2-src/src/game/server/gs_common.h teeworlds-0.4.2-src-mod/src/game/server/gs_common.h
--- teeworlds-0.4.2-src/src/game/server/gs_common.h    2008-04-05 15:13:02.000000000 +0200
+++ teeworlds-0.4.2-src-mod/src/game/server/gs_common.h    2008-05-17 17:58:09.000000000 +0200
@@ -321,6 +321,11 @@
     //
     int64 last_chat;
 
+    // punishment informations
+    int punishment_time;
+    int last_teamkills_ticks[10];
+    int punishment_count;
+
     //
     player();
     void init();
@@ -352,6 +357,9 @@
     
     virtual bool take_damage(vec2 force, int dmg, int from, int weapon);
     virtual void snap(int snaping_client);
+
+    void set_punishment_time(int time);
+    void teamkill_logging(int server_tick);
 };
 
 extern player *players;
diff -u -r teeworlds-0.4.2-src/src/game/server/gs_game.cpp teeworlds-0.4.2-src-mod/src/game/server/gs_game.cpp
--- teeworlds-0.4.2-src/src/game/server/gs_game.cpp    2008-04-05 15:13:02.000000000 +0200
+++ teeworlds-0.4.2-src-mod/src/game/server/gs_game.cpp    2008-05-17 19:08:48.000000000 +0200
@@ -207,8 +207,28 @@
         victim->score--; // suicide
     else
     {
-        if(is_teamplay && victim->team == killer->team)
+            if(is_teamplay && victim->team == killer->team){
             killer->score--; // teamkill
+            killer->teamkill_logging(server_tick());
+
+            //Teamkiller punishment
+            if(config.sv_teamkill_limit && config.sv_punishment_time > 0){
+              int teamkills_last_minute=0;
+              int tick = server_tick();
+
+              for(int i=0; i<10; i++)
+                if( killer->last_teamkills_ticks[i]>0 && (tick- killer->last_teamkills_ticks[i])/server_tickspeed() < 60)
+                  teamkills_last_minute++;
+                  
+
+              if(teamkills_last_minute >= config.sv_teamkill_limit){
+                killer->punishment_count++;
+                killer->set_punishment_time(config.sv_punishment_time * killer->punishment_count);
+
+                dbg_msg("game", "%s has been punished for abusive team kills for %i seconds" ,server_clientname(killer->client_id) ,config.sv_punishment_time * killer->punishment_count);
+              }
+            }
+        }
         else
             killer->score++; // normal kill
     }
diff -u -r teeworlds-0.4.2-src/src/game/server/gs_server.cpp teeworlds-0.4.2-src-mod/src/game/server/gs_server.cpp
--- teeworlds-0.4.2-src/src/game/server/gs_server.cpp    2008-04-05 15:13:02.000000000 +0200
+++ teeworlds-0.4.2-src-mod/src/game/server/gs_server.cpp    2008-05-17 18:54:54.000000000 +0200
@@ -707,6 +707,12 @@
     active_weapon = WEAPON_GUN;
     last_weapon = WEAPON_HAMMER;
     queued_weapon = -1;
+
+    punishment_time=0;
+    punishment_count=0;
+    for(int i=0; i<10; i++)
+      last_teamkills_ticks[i] = 0;
+
 }
 
 void player::destroy() {  }
@@ -1112,7 +1118,7 @@
 
 void player::fire_weapon()
 {
-    if(reload_timer != 0 || active_weapon == WEAPON_NINJA)
+    if(punishment_time != 0 || reload_timer != 0 || active_weapon == WEAPON_NINJA)
         return;
         
     do_weaponswitch();
@@ -1428,6 +1434,10 @@
 
     player_state = input.player_state;
 
+    // decreasing the punishment time
+    if(punishment_time != 0)
+      punishment_time--;
+
     // Previnput
     previnput = input;
     return;
@@ -1678,6 +1688,17 @@
     }
 }
 
+void player::set_punishment_time(int time){
+  punishment_time = time*server_tickspeed();
+}
+
+void player::teamkill_logging(int server_tick){
+  for(int i=10; i; i--)
+    last_teamkills_ticks[i] = last_teamkills_ticks[i-1];
+
+  last_teamkills_ticks[0] = server_tick;
+}
+
 player *players;
 
 //////////////////////////////////////////////////
diff -u -r teeworlds-0.4.2-src/src/engine/e_config_variables.h teeworlds-0.4.2-src-mod/src/engine/e_config_variables.h
--- teeworlds-0.4.2-src/src/engine/e_config_variables.h    2008-04-05 15:13:02.000000000 +0200
+++ teeworlds-0.4.2-src-mod/src/engine/e_config_variables.h    2008-05-17 17:40:07.000000000 +0200
@@ -67,3 +67,6 @@
 MACRO_CONFIG_STR(dbg_stress_server, 32, "localhost")
 
 MACRO_CONFIG_INT(sv_map_reload, 0, 0, 1)
+
+MACRO_CONFIG_INT(sv_punishment_time, 30, 0, 120)
+MACRO_CONFIG_INT(sv_teamkill_limit, 3, 0, 10)

Apply it with

patch -ul -d teeworlds-0.4.2-src -p1 < tkpunish.patch

and compile.

It makes a player be unable to use his weapons during <sv_punishment_time> if he does <sv_teamkill_limit> in one minute.

65

(31 replies, posted in Development)

Well I can have a look to the code if the Teeworlds team agree this idea. I don't want to do another mod that is not officially supported tongue.

66

(31 replies, posted in Development)

catpaw I'm agree with what you said about voting...
But the punishment system I talked about isn't a voting system. It's something that handicap an frustrate the team killers. As I said if someone kill, for example, three teamates in one minute, he can't use his weapons during thirty seconds, the second time during sixty seconds, the third time during ninety seconds etc... (and this could be disabled for clan wars etc).
The server have to remember who is punished to make a punished player unable to reconnect the server during his punishment. Because I suppose punished people'll want to disconnect and reconnect to get rid of their punishment...

67

(31 replies, posted in Development)

First I'm not the admin on most of the Internet server, so I can't turn teamdamage on or off. There are so few "good servers" (good ping, good maps, people you like on) that I don't want to leave those which enable teamdamage, and ... I think playing with team damages is interesting.
I just don't share your point of view, even with random teams teamdamage can train you to don't shoot everywhere and everything that moves, but focus on your enemies. You think it's an horror, you can, then play on server that turn teamdamage off. But let me play on the other servers if I want.
But that's not the point, I'm just asking for something to get rid of stupid people who profit of the teamdammage to annoy every other player and I think the punishment system I proposed could be effective...

68

(31 replies, posted in Development)

catpaw, if I want to play with the teamdamage on, I don't undestand why I should not. The problem isn't here, as Landil said the problem is player stupidity...

69

(31 replies, posted in Development)

Of course not. It's not a bug but a feature smile
http://www.zupdown.com/m/dwnifo.png

70

(31 replies, posted in Development)

But that's not really the topic. Friendly fire can be enabled on normal servers too. I've just talk about Instagib server as an example...

71

(31 replies, posted in Development)

What do you mean ?

72

(31 replies, posted in Development)

Friendly fire is often disabled, but some servers (for example those which use instagib mod) enable it...

73

(31 replies, posted in Development)

Hello world
Sometimes there are people who spend their time to just kill players on their teams. It is very annoying. The other players can't do anything to stop them, and the game isn't fun anymore.
I think some things can be done to stop that:
- Voting system to kick, or ban temporarily a player.
- Punishment system . For example a player who do more than 3 teamkills in one minute can't use his weapons during thirty seconds, and if he doesn't understand, during one minute etc. As it is very frustrating I think it should make teamkillers be quiet. And please make this option enabled by default.

Something really have to be done against teamkillers.
What do you think of those ideas ?

74

(22 replies, posted in Development)

Humm
I'm quite familiar with PHP/MySQL (xHTML, CSS, JS, DHMTL/AJAX). I've made the french Ogre3d's website ( http://ogre3d.fr ), which contains a home-made forum (with right management, etc ...). I've made a multilingual tablature hosting website: http://partaz.net . And a lot of other websites.
I'm just not very good for webdesigning.
If you are interested, contact me

75

(22 replies, posted in Development)

void wrote:

We are still looking for a coder to do a community site. This site will then be integrated somewhat into the game to make things as smooth as possible.

What exactly do you need ? Can you tell me more about the site ? It could interests me ...