Mole & Fan of Knives (suggestion)

Want to talk about war3ft or make suggestions? Post them here

Moderator: Forum Moderator

Post Reply
Lim-Dul
Peon
Posts: 7
Joined: Sat Mar 10, 2007 10:05 am

Mole & Fan of Knives (suggestion)

Post by Lim-Dul » Sat Mar 10, 2007 10:18 am

Hello!
I've been helping a bit in the development of the WC3.net plugin (plan.los a.k.a. Opfer and kenterfie - the HLSW developer were the main coders) which based its code on WC3:TFT (of course with giving due credit to its creators), but added some tweaks and most important of all a central XP Server architecture with a secure scoket connection. But enough about WC3.net.

The thing is we realized that the way the mole works is a bit stupid. You spawn with the other team, they see you on the radar and wonderful - you kill one guy or so, get killed yourself and if you aren't a Warden the round is over for you and your target 0.5 seconds after the end of the freezetime.

We found an easy solution for this problem. Since moles are supposed to INFILTRATE the enemy team the mole-player would be teleported to the other team's spawn 5 seconds after the end of the Freezetime.

You wouldn't believe how cool this little modification was.

First of all the enemy team would've moved away from the spawn a bit, so they couldn't detect the mole that fast.

Second of all the mole player would be able to move freely and doge enemy shots if necessary.

Third of all the enemies would get their chance to avoid the mole as well - they could wait the 5 seconds at the spawn and while this would delay the arrival of the enemy team at crucial chokepoints on the map (which is a good thing) it would also ensure that they can move freely and take the mole by surprise.

I would REALLY love to see this simple modification included in the main plugin.

Code snippet from our version (I realize, that WC3:TFT has undergone some major changes since then - I appreciate e.g. how all the code was cleaned up and provided with comments):

Code: Select all

	if (becomemole[id] && !spawning[id]){
		becomemole[id]=false

		set_hudmessage(200, 100, 0, -1.0, 0.3, 0, 1.0, 5.0, 0.1, 0.2, 2)
		if (player_lang[id]==1){
			client_print(id,print_chat,"[%s] Your Mole will be activated 5 Seconds after Freezetime !",WC3NET_VERSION)
			show_hudmessage(id,"Your Mole will be activated 5 Seconds after Freezetime !")
		}else if (player_lang[id]==2){
			client_print(id,print_chat,"[%s] Dein Maulwurf wird 5 Sekunden nach der Freezetime aktiviert !",WC3NET_VERSION)
			show_hudmessage(id,"Dein Maulwurf wird 5 Sekunden nach der Freezetime aktiviert !")
		}
		set_task(get_cvar_num("mp_freezetime")+5.0,"check_spot",id+12,parm,2) // Here's the part we've changed.
	}else if (!becomemole[id]){
		changeskin(id,1)
	}
P.S. Kenterfie agreed to release the sourcecode of the XP Master Server and the Secure Socket plugin.

I will post the sources and our old plugin in another thread soon. I will do the same thing on the Allied Modders forums.

Our efforts could be easily incorporated in other plugins with some modifications and it would be really, really sad if so much code would be wasted.

User avatar
YamiKaitou
Forum Moderator
Forum Moderator
Posts: 1925
Joined: Wed Feb 01, 2006 4:33 pm
Contact:

Post by YamiKaitou » Sat Mar 10, 2007 10:40 am

1) wc3.net is not responding

2) Why not use a lang file instead of hardcoding in the client_print stuff in

3) What does the t mean?
Image

No support via PM or Email

Lim-Dul
Peon
Posts: 7
Joined: Sat Mar 10, 2007 10:05 am

Post by Lim-Dul » Sat Mar 10, 2007 10:46 am

YamiKaitou wrote:1) wc3.net is not responding
He, he. WC3.net was the name of the plugin - the full name was WC3:TFT.net. The website, where you could actually participate in XP lotteries, transfer XP between races and players was actually:

http://wc3.hlsw.org

Since kenterfie is working on the HLSW project, like I said before. =)

But the website is now long gone. Our project was abandoned in 2004... Sad but true. It simply hasn't become as popular as Opfer and kenterfie had hoped and was running on 5 servers, all run by people who knew each other, at most... kenterfie was fed up with developing something for nobody, I guess. =)
2) Why not use a lang file instead of hardcoding in the client_print stuff in
The plugin was active about 5-3 years ago or so. The last logfile I have is from 2004. ;-) Many things have changed since then. We used a very messy version as our codebase.
3) What does the t mean?
What "t"? 0_o

User avatar
YamiKaitou
Forum Moderator
Forum Moderator
Posts: 1925
Joined: Wed Feb 01, 2006 4:33 pm
Contact:

Post by YamiKaitou » Sat Mar 10, 2007 11:21 am

WC3:TFT

That "T"

Did you guys ever tell anyone about the plugin or post it on the amxx forums?
Image

No support via PM or Email

Lim-Dul
Peon
Posts: 7
Joined: Sat Mar 10, 2007 10:05 am

Post by Lim-Dul » Sat Mar 10, 2007 12:39 pm

Pimpdaddy's Plugin, I believe he goes by the name Geesu now on these forums, used to be called WC3:TFT as in WarCraft 3: THE Frozen Throne. I think he could confirm this.

As to our plugin. This is another problem we've faced and another reason why the plugin had to be abandoned. I don't recall when, but from a certain point in time on everybody was required to release the source code of their plugins for AMXX (GPL and stuff).

We couldn't have done that for two reasons:

Our plugin was communicating over the secure socket plugin (another unreleased plugin) with the master server and ANY modifications some stupid people might have made to the code (e.g. giving themselves 1.000.000 XP for a kill) could have broken our whole system, since more than one server was sending and receiving data from the master server.

The master server code could not have been released because it included some custom libraries coded by kenterfie for HLSW. Even now, when I'm about to release the source code of the basic plugin, the secure socket plugin and the master server executable, I'm not allowed to include these 3 libraries - the functions will have to be replaced with other functions included in other libraries - I never said that these plugins wouldn't require some re-writing. =)

So the only place one could get our plugin was on the wc3.hlsw.org site and only in compiled form. This of course was another reason for the lack of popularity...

I suggest we discuss our little defunct plugin in another thread as I announced in my initial post. This topic should focus on my proposal to change the mole functionality. =)

User avatar
Geesu
<b>King of the world!</b>
Posts: 3159
Joined: Tue Jul 05, 2005 9:24 pm
Contact:

Post by Geesu » Sat Mar 10, 2007 8:23 pm

lim - I like your suggestion :) I may very well add this for the 3.0 release

@ Yami - they used a war3ft version from a LONG time ago - like he said it's from 04 so there weren't any language file options.

I remember talking w/the creator of this a few times and I had to take a peak at the source a bit to fix some issues - he took out all the socket info of course so this wasn't common knowledge.
No Support via PM

Johnny got his gun
Peon
Posts: 2
Joined: Sat Sep 01, 2007 12:16 am

Post by Johnny got his gun » Sat Sep 01, 2007 12:21 am

I agree to OP. That's why I came to this forum now.
I had the thought about making the mole immortal the first few seconds of a round and also make him unable to hurt anyone. Because the instant firing at everyone at round starts to check for moles is getting old. Recently I'm on a server that has FF on too, in a combo with the feature that slays you as long as you shoots someone on your own team the first five seconds. Which means the mole can easily create quite a bit of mayhem. :-\

User avatar
kevlartester
Militia
Posts: 75
Joined: Tue Nov 14, 2006 10:26 am
Location: Germany
Contact:

Post by kevlartester » Sat Sep 01, 2007 7:35 am

why this topic was lost for such a long time?
thank you johnny for finding this :D

the suggestion Lim-Dul made is just awsome!
pls Geesu include it in the next RC version

(or alternativ could someone post the code working with v3.0 ?)
Image

User avatar
Geesu
<b>King of the world!</b>
Posts: 3159
Joined: Tue Jul 05, 2005 9:24 pm
Contact:

Post by Geesu » Wed Sep 12, 2007 9:06 am

I'm thinking I should randomize the time + not set it to 5 seconds? So people just don't want 5 seconds then shoot the person - like randomize it from 3 to 10 seconds?

Josh
No Support via PM

Kambfhase
Peon
Posts: 19
Joined: Wed May 09, 2007 9:25 am

Post by Kambfhase » Wed Sep 12, 2007 9:41 am

I'd suggest 0 to 7 seconds, so you cant wait for someone to just apper from nowhere. This might also give mowls the time to buy weapons before getting teleported.
btw, one has to choose a seconds value that is longer than the freezetime, otherwise it would have no effect at all.

Johnny got his gun
Peon
Posts: 2
Joined: Sat Sep 01, 2007 12:16 am

Post by Johnny got his gun » Wed Sep 12, 2007 4:04 pm

I think there will always be a way for someone to find a way to find the moles. The best moles are the ones who appear like they are really a part of the enemy team. Ie, a CT appearing as a T on a DE map, running with the Ts to the bomb target, helping with the plant, and then when no one's looking, defuses the bomb. Or something along those lines, depending on the map objectives. Appearing as a CT, "defusing" the bomb but the mole is really a T :-D
You don't see much of that however since every mole is killed in the start of a round.

Maybe setting the "mole activation time" to randomly 0-x seconds is the best way there is... because being a mole should still be a challenge right...

User avatar
kevlartester
Militia
Posts: 75
Joined: Tue Nov 14, 2006 10:26 am
Location: Germany
Contact:

Post by kevlartester » Thu Sep 13, 2007 3:04 pm

may you could add a cvar called molespawntime or something like that wich allows you to set the seconds after buytime when the mole should spawn
and on "-1" it spawns like it does right now
and on "-2" its random between 3 and 7 sec

anyway...whatever you'll choose, keep an eye on how far you can run within the seconds you wait to spawn as a mole...after 10 sec on most maps you allmost killed the first enemy...
so in my opinion waiting 5 sec would be perfect (and that option has already been tested as you can see in the very first post)
Image

Post Reply