Sparky-ns
juho
Join Date: 2003-02-01 Member: 12965Members
<div class="IPBDescription">A utility I have created</div> Current version: 0.62 (beta)
What's new (compared to 0.61):
- Triggers
- Round timer works
- Area location file for <b>ns_nothing</b>.
- Minor bugfixes.
I have created an utility called <b>sparky-ns</b> which enables any half-life player to it's features from the game.
Althrought sparky-ns can work with any half-life mod, it's optimized for Natural Selection (www.natural-selection.org)
The most important feature is that you can add "tags" to say_team messages so, that you can pre-bind some messages
to keys and easily say them in the middle of the battle.
There are now four tags which you can use:
%l - Is replaced with your current location in the map
%b - Is replaced with the amout of bullets in your current weapon
%w - Is replaced with the name of your current weapon.
%h - Is replaced with your health
With these tags, you can do binds like this:
bind <some key> "say_team I'm under attack at %l"
bind <some key> "say_team Need ammo at %l (got %b ammo in %w)"
and so on.
Sparky-ns has also some other utils:
- Ability to control winamp from in game. (it adds some console commands like "bwinamp play" or "bwinamp next")
- Ability to connect into an IRC network so that you can broadcast to channel. It's wery usefull in clan battles when you can't use HLTV and can't spectate.
- It can change your hud colors (if you dont like the default colors)
- It also has simple timer system (How long the battle has been going?)
- Triggers: Create custom bindings for your commanding more, gorging mode and normal field soldier/kharaa mode, save them in different .cfg files and let sparky to execute them for you when they are needed.
- And some other stuff.
Sparky-ns DOES NOT HAVE:
- any cheats like wallhack, aimbots etc
Sparky-ns works in client side. It does not need anything from server side. It is based on original sparky sourcecode (available at <a href='http://sparky.konspiracy.org)' target='_blank'>http://sparky.konspiracy.org)</a>. I have removed some features which could be used to abuse/exploit/cheat and other features which simply are no use in natural selection.
The biggest problem is that sparky-ns does not work with cheating-death because it uses a client-side hooking system so CD detects it as a cheat. (which it is not, as far as I think)
I'm asking that the community could test this and open discussion. It is possible that there could be an argeement with Cheating-death developping team so that sparky-ns could be used in CD enabled servers. but that needs a lot of positive attitude from the community.
Sparky-ns is available for download at <a href='http://lysosomi.persikka.com/sparky-ns' target='_blank'>http://lysosomi.persikka.com/sparky-ns</a>
This is still a beta version. One handy console command to test is "bmenu".
The installation is pretty easy: Just unzip the zip to your half-life folder (you should back it up before, this is a BETA version!)
Then read sparkyutil/readme.txt for additional info. The most important task in installation is that you need to modify sparky.ini to contain the full path of your half-life executable (hl.exe or cstrike.exe) as the first (and the only) line.
Please post ideas and comments to this thread. limited support is available at #sparky-ns @ QuakeNet
edit: New 0.62 version release info.
- jtm
What's new (compared to 0.61):
- Triggers
- Round timer works
- Area location file for <b>ns_nothing</b>.
- Minor bugfixes.
I have created an utility called <b>sparky-ns</b> which enables any half-life player to it's features from the game.
Althrought sparky-ns can work with any half-life mod, it's optimized for Natural Selection (www.natural-selection.org)
The most important feature is that you can add "tags" to say_team messages so, that you can pre-bind some messages
to keys and easily say them in the middle of the battle.
There are now four tags which you can use:
%l - Is replaced with your current location in the map
%b - Is replaced with the amout of bullets in your current weapon
%w - Is replaced with the name of your current weapon.
%h - Is replaced with your health
With these tags, you can do binds like this:
bind <some key> "say_team I'm under attack at %l"
bind <some key> "say_team Need ammo at %l (got %b ammo in %w)"
and so on.
Sparky-ns has also some other utils:
- Ability to control winamp from in game. (it adds some console commands like "bwinamp play" or "bwinamp next")
- Ability to connect into an IRC network so that you can broadcast to channel. It's wery usefull in clan battles when you can't use HLTV and can't spectate.
- It can change your hud colors (if you dont like the default colors)
- It also has simple timer system (How long the battle has been going?)
- Triggers: Create custom bindings for your commanding more, gorging mode and normal field soldier/kharaa mode, save them in different .cfg files and let sparky to execute them for you when they are needed.
- And some other stuff.
Sparky-ns DOES NOT HAVE:
- any cheats like wallhack, aimbots etc
Sparky-ns works in client side. It does not need anything from server side. It is based on original sparky sourcecode (available at <a href='http://sparky.konspiracy.org)' target='_blank'>http://sparky.konspiracy.org)</a>. I have removed some features which could be used to abuse/exploit/cheat and other features which simply are no use in natural selection.
The biggest problem is that sparky-ns does not work with cheating-death because it uses a client-side hooking system so CD detects it as a cheat. (which it is not, as far as I think)
I'm asking that the community could test this and open discussion. It is possible that there could be an argeement with Cheating-death developping team so that sparky-ns could be used in CD enabled servers. but that needs a lot of positive attitude from the community.
Sparky-ns is available for download at <a href='http://lysosomi.persikka.com/sparky-ns' target='_blank'>http://lysosomi.persikka.com/sparky-ns</a>
This is still a beta version. One handy console command to test is "bmenu".
The installation is pretty easy: Just unzip the zip to your half-life folder (you should back it up before, this is a BETA version!)
Then read sparkyutil/readme.txt for additional info. The most important task in installation is that you need to modify sparky.ini to contain the full path of your half-life executable (hl.exe or cstrike.exe) as the first (and the only) line.
Please post ideas and comments to this thread. limited support is available at #sparky-ns @ QuakeNet
edit: New 0.62 version release info.
- jtm
Comments
Maybe submit it to United Admins & see if they can code it in?
Sounds pretty good anyways... <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
ie ''I have %h health and %a amror, weld me!!!!"
and mabey res %r
ie ''Gorge at %l wtih %r res''
There is a similar thread in the United Admins forum if sparky-ns could be used with CD enabled servers. It just need that the community supports sparky-ns (so that everybody think that it is not a cheat)
- jtm
Well done in producing something similar =D
There are also a handy menu system in sparky-ns (pops up with "bmenu" console command).
Anybody can create their own menus which items executes console commands. I find this wery usefull
to simpify executing console commands. For example, it would be wery easy to create a cs-style say menu system.
There are also usefull retry system. If a server is full you can turn retrying on and your client tries to connect the server as long as some player lefts the server <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
It's up all you. Give some ideas and I'll try to implement them!
Also, when using sparky-ns, member to turn CD off. Sparky won't run when CD is enabled but that's all.
I'm also planning to create triggers which would execute console commands when envolving as kharaa (own bindings for every lifeform if the player wants it) or when entering (or logouting) command console.
In the long run, I find this as a test suite to test some handy GUI features which could be implemented in vanilla NS. So i'd like to hear some comments from devs also =)
- jtm
sprintf(msg, "%i/%i", (int)*((float *)pEntity->pvPrivateData + RES_OFFSET), (int)*((float *)pEntity->pvPrivateData + MAXRES_OFFSET));
but I don't understand this code very well (I'm a beginner to metamod)
sprintf(msg, "%i/%i", (int)*((float *)pEntity->pvPrivateData + RES_OFFSET), (int)*((float *)pEntity->pvPrivateData + MAXRES_OFFSET));
but I don't understand this code very well (I'm a beginner to metamod) <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
Hmm. I think that'll help me <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
RES_OFFSET and MAXRES_OFFSET are #defines I think. Could you find those values from somewhere? <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
And for others: I have now created a simple www page with some instructions at <a href='http://lysosomi.persikka.com/sparky-ns' target='_blank'>http://lysosomi.persikka.com/sparky-ns</a>
- jtm
The only problem with these sort of messages is that some people use them all the time, to broadcast every little thing they do. We generally don't need to know that you're "evolving to a lerk in generator with 23 res and 10 health". <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
I'm not too much for the "I'm at 93h, 12a, 22/97 bullets @ feedwater hive!" stuff, takes away the romance. All we need is a location indicator. That's what *I* think. But then again, who am i right?
I think the rest isn't really needed. Fun and fancy to have but all that standard TFC/CS stuff really makes communication too automated..people would rarely chat anymore..especially rines as all they need to do is jam on their "Need Health!" button or attract attention with the %stuff.
Just my 2c!
PS: terribly sorry to forget this: NICE work on the plugin! <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo--> Always nice to see people make nice stuff for NS! Community service anyone?
the "romance" as you ME said, is gone.
Communication in a clan battle is everything. It's the key for success. Team play is based on communication. The health, ammo count etc tags are a great help in a clan battle when you don't have time to start typing your message. If whole clan would use sparky-ns (or similar tool), they propably would have standard messages also so It would be easy to read them.
Sure the WinAMP controlling and changing hud colors are more for fun. But the ultimate goal is to make communication a bit easier in a clan war. Voicecomm is a great tool but it still needs regular say_team messages.
The other goal is to make keyboard customisation a bit easier. I myself have Y as the moving forward key. I have nearly every key in my keyboard already binded to weapon change commands, external voicecomm buttons, impulse messages (Need medpack, Need Health, All clear, Chucke etc voicemessages). My keyboard is full. I mainly play on the field but sometimes I have to do commanding jobs. Now I have to go to console and exec a commander keybind file to switch my
keyboard layout to have all drop-thigs buttons. When I exit the console I again need to go to console and exec my marine.cfg. Also gorging is another story... :/
I'm planning to make triggers which could automate rebindings when switching classes or entering/exiting commander console. Sounds good? I think yes <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
- jtm
Only the server can do the stuff like the "say" and "say_team" message stuff though :-p still.. it would be good if you done that as a metamod plugin for a server, I know many people might want to use it.
What's vanilla NS?
Oh, and that's a really usefull plugin, GJ
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
That's where you just load up NS and play it. You know, without any scripts or aimbots or custom models? On, like, a regular server? With content the way Flayra designed it in the first place? Without any weird glowing slow-motion tracers or freakin' ammo stations that give you freakin' health or bots that wander around and get themselves stuck in shallow pits or Homer Simpson wavs. You know, vanilla. Like vanilla ice cream-- it's the default flavor!
Yeah, you should try vanilla NS once in a while, it's kinda fun. Gets me all nostalgic.
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
There are already a metamod plugin available which implements say and say_team tags. Voogru, for example, uses it.
But creating this client side allows also creating custom menus, winamp controlling etc. Client side gives us more choise what we can do, more freedom <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Only the server can do the stuff like the "say" and "say_team" message stuff though :-p still..<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
I have already done this on the client side. It works. if you don't believe me then try <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->That's where you just load up NS and play it. You know, without any scripts or aimbots or custom models? On, like, a regular server? With content the way Flayra designed it in the first place? Without any weird glowing slow-motion tracers or freakin' ammo stations that give you freakin' health or bots that wander around and get themselves stuck in shallow pits or Homer Simpson wavs. You know, vanilla. Like vanilla ice cream-- it's the default flavor! <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
This is not an aimbot. This does not have any weird glowing slow-motion tracers or ammo stations giving you health. This doesn't help you to use any custom models, glowskins or similar. This just adds say and say_team tags AND it gives you a bit more freedom when you are customising your controls (the menu system, for example).
Normal player does fine without any command console hotkeys in keyboard, or without binds to do fast envolving (without need to use the pop-up mouse menusystem). But many of us have many of those features binded directly to keyboard. This also helps them to arrange those buttons better. I have 23 keys binded on my keyboard near my default move forward-backward-strafe keys. I can't fit any more even if I would like to. (no, there are no skripts. just binds to impulse commands and hotkeys so that don't need to use the mouse-popup system all the time). The menu system and the upcoming triggering system will help a lot. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
- jtm
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
Only the server can do the stuff like the "say" and "say_team" message stuff though :-p still..
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
I have already done this on the client side. It works. if you don't believe me then try
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Yea what I meant was the server can only do those things out of the list of things your plugin does.. anyway, it would be great to get all this done without CD barging in <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo--> although I don't think you can do any of the winamp stuff on the server, unless you had another dll file that handled client stuff, which is practically the same thing. <!--emo&???--><img src='http://www.unknownworlds.com/forums/html/emoticons/confused.gif' border='0' style='vertical-align:middle' alt='confused.gif'><!--endemo-->
Yes. According to my testings it does one of the following:
- It doesn't work but you can still join a CD enabled server and play normally.
- It doesn't work and when joining a CD enabled server CD detects it and shows some error code and you can't move.
As far as I know, CD does not do any banning or even tell the server admin that it has blocked you. (so it's save to join a CD enabled server with sparky-ns. it just doens't work..)
BUT Valve Anti-Cheat propably detects sparky-ns and you should not connect to VAC enabled servers!
- jtm
the idea behind saying res as well with that variable is a good idea as well as armor (i remember my days in TFC, very useful)
hopefully flay loks on this as well, good features imo
Oh yeah, the IRC thing.
There really are an fully featured IRC client built in sparky-ns. It is fully working and it supports connecting to an irc network and joining
channels, talking in channels, seeing what the other ppl type in the
channel, forwarding channel messages to the game and forwarding what other players say to the channel. it also supports relaying game statics to the channel which would be usefull in clan battles because anybody could join a channel and see messages like "somebody killed somebody with bite" or "nameless hive killed by somebody", "The Kharaa team won the game (elapsed time 24:55)" and so on...
There is one problem with it. One could easily abuse it: It supports forwarding everything what ppl say in channel to the game as you would type it by say -command. So one lame player could flood entire server with it <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo-->
I have a few ideas for it. The first would be that it would allow relaying only in readyroom or only when tournament mode is on (no clan wants to have any players which would abuse any clan battle so there would be no problem with abusing when tournament mode is on).
How to use it? bind "bmenu irc" to some key. This brings you a menu with all irc commands. I just disabled it because I didn't yet know what to do with it.
And I'll put the source code on the www pages soon. I'm writing next version now. I have already created triggers (an alias which gets executed when the trigger is trigged) when you enter or exit command console. This allows you to create different bindings if you do both commanding and playing in the field and changing them easily.
I haven't yet found any way to get resource data. The chatting mod which is used in Voogru servers (gives you the say_team tags) uses a bit different way to work and I haven't yet figured how to do the same in the client side <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo-->
I'll also create the area mappings at least for ns_nothing.
- jtm