Sparky-ns

juhojuho Join Date: 2003-02-01 Member: 12965Members
edited June 2003 in NS General Discussion
<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
«13

Comments

  • BJayDBJayD Join Date: 2002-09-02 Member: 1263Members
    VAC support in 1.1 will also likely lead to this being unusable.
  • FireStormFireStorm Join Date: 2002-11-06 Member: 7390Members
    Nice tool when you play on servers that don't have the chatvariables plugin...
  • ShockehShockeh If a packet drops on the web and nobody&#39;s near to see it... Join Date: 2002-11-19 Member: 9336NS1 Playtester, Forum Moderators, Constellation
    Coolio. Shame about the C-D problem tho'.

    Maybe submit it to United Admins & see if they can code it in?
  • MendaspMendasp I touch maps in inappropriate places Valencia, Spain Join Date: 2002-07-05 Member: 884Members, NS1 Playtester, Contributor, Constellation, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow, WC 2013 - Shadow, Retired Community Developer
    This utility looks really interesting, but I can't test it since my server has CD Required...

    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-->
  • UnderDOGUnderDOG Join Date: 2003-04-05 Member: 15221Members
    nice a %a for curret armor

    ie ''I have %h health and %a amror, weld me!!!!"

    and mabey res %r

    ie ''Gorge at %l wtih %r res''
  • juhojuho Join Date: 2003-02-01 Member: 12965Members
    Tags for armor is coming. also resource amount for kharaa is a great idea. I'll try to implement that. I just need to find the correct variable where the resource amount is stored. (voogru, can you help? <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->

    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
  • InfinitumInfinitum Anime Encyclopedia Join Date: 2002-08-08 Member: 1111Members, Constellation
    I always enjoyed this system once it got implemented into DoD.

    Well done in producing something similar =D
  • juhojuho Join Date: 2003-02-01 Member: 12965Members
    If the devs are intrested, I think that it would be quite easy to implement some of the features from sparky-ns directly into ns by just some copy and paste. That would be the best thing for all I believe <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->

    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
  • FireStormFireStorm Join Date: 2002-11-06 Member: 7390Members
    here's how voogru does it for the res:

    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)
  • juhojuho Join Date: 2003-02-01 Member: 12965Members
    <!--QuoteBegin--FireStorm+Jun 24 2003, 07:48 AM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (FireStorm @ Jun 24 2003, 07:48 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> here's how voogru does it for the res:

    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
  • tuortuor Join Date: 2003-01-09 Member: 12088Members
    I get an error saying that it can't find the ini file, but It's in the counter-strike (retail) folder just like the exe is :|
  • tuortuor Join Date: 2003-01-09 Member: 12088Members
    I take that back, i found the problem, sorry...
  • StoatBringerStoatBringer Join Date: 2003-06-09 Member: 17144Members, Constellation
    I think this sort of thing is a great idea if used sensibly, but I also use CD most of the time so probably won't try it out.

    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-->
  • MEShootHereMEShootHere Join Date: 2002-11-05 Member: 6975Members
    edited June 2003
    I think the chat variable is not going to be a problem as it seems Flayra was VERY interested in putting it in and with the support of many of the creators of the tags out there I'm sure it'll get put in.
    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?
  • juhojuho Join Date: 2003-02-01 Member: 12965Members
    I have targetted this to clan players. People play in public for fun and for practicing. but when you have a clan war
    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
  • CheesehCheeseh Join Date: 2002-11-05 Member: 7135Members
    edited June 2003
    Why not just make this a metamod plugin (i.e. server side) other than client side, which is what you seem to be doing, meaning anyone on the server can also use the features of your program.

    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.
  • SilentMurdererSilentMurderer Join Date: 2002-10-30 Member: 1751Members
    <!--QuoteBegin--juho+Jun 24 2003, 11:43 AM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (juho @ Jun 24 2003, 11:43 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> "which could be implemented in vanilla NS." <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
    What's vanilla NS?

    Oh, and that's a really usefull plugin, GJ
  • WarpZoneWarpZone Join Date: 2002-11-03 Member: 6264Members
    edited June 2003
    <!--QuoteBegin--SilentMurderer+Jun 24 2003, 08:06 AM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (SilentMurderer @ Jun 24 2003, 08:06 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> What's vanilla NS?
    <!--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.
  • juhojuho Join Date: 2003-02-01 Member: 12965Members
    <!--QuoteBegin--Cheeseh+Jun 24 2003, 09:02 AM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Cheeseh @ Jun 24 2003, 09:02 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Why not just make this a metamod plugin (i.e. server side) other than client side, which is what you seem to be doing, meaning anyone on the server can also use the features of your program.
    <!--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
  • LazerLazer Join Date: 2003-03-11 Member: 14406Members, Contributor, Constellation, NS2 Playtester
    I tried this and I really liked it. Only problem is VAC is picking it up as a hack too. I guess it'll only work with ns until 1.1...
  • CheesehCheeseh Join Date: 2002-11-05 Member: 7135Members
    <!--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-->
    <!--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-->
  • ZelZel Join Date: 2003-01-27 Member: 12861Members
    has anyone tried this with CD?
  • ComproxComprox *chortle* Canada Join Date: 2002-01-23 Member: 7Members, Super Administrators, Forum Admins, NS1 Playtester, NS2 Developer, Constellation, NS2 Playtester, Reinforced - Shadow, WC 2013 - Silver, Subnautica Developer, Subnautica Playtester, Pistachionauts
    As the post said Zel, it will not work with CD, but attempts are being made to fix that
  • juhojuho Join Date: 2003-02-01 Member: 12965Members
    <!--QuoteBegin--Zel+Jun 24 2003, 11:40 AM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Zel @ Jun 24 2003, 11:40 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> has anyone tried this with CD? <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
    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
  • Iced_EagleIced_Eagle Borg Engineer Join Date: 2003-03-02 Member: 14218Members
    sound great <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif'><!--endemo--> ill d/l in a bit
  • boobs!boobs! Old-School Competitor Join Date: 2002-11-13 Member: 8504Members
    actually how it stands right now (as far into it as we have gone) flayra has added a locational messgaing thing where anyone on your team sees where you are in a map when you type (on certain maps; not all yet)

    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
  • Raz0r_dkRaz0r_dk Join Date: 2002-12-20 Member: 11221Members
    And the sourcecode is where?
  • AaronAaron vroom vroom der party startah Join Date: 2002-11-05 Member: 7020Members
    Well, there is always voice comm. I think it actually adds to the atmosphere when you have teammates trying to relay the battlefield info the middle of a pitched battle. Even the natural "static" in the voice comm is cool <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif'><!--endemo-->
  • LazerLazer Join Date: 2003-03-11 Member: 14406Members, Contributor, Constellation, NS2 Playtester
    How do I get the irc thing working?
  • juhojuho Join Date: 2003-02-01 Member: 12965Members
    <!--QuoteBegin--Lazer+Jun 24 2003, 11:10 PM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Lazer @ Jun 24 2003, 11:10 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> How do I get the irc thing working? <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
    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
Sign In or Register to comment.