Chawral Full Member
Posts : 237 Join date : 2009-09-16 Age : 31 Location : Germany
| Subject: Savage Chat Binds Mon Oct 05, 2009 5:09 pm | |
| To help you a bit i'll show you how to make a "simple" status bind. Let's start with how the bind command should be filled in: (note: if you do this commands in console, remove all "/"s) Code: /bind
Example: Code:
/bind n disconnect
Join a server and press "n". You're now disconnected! cheesy
Let's continue with the "hello world" binds. (note: Don't forget the " s! This makes it possible to do multiple commands with 1 bind and will make it possible to bind variables) Code:
/bind n "chat hello world"
This will let you "chat" "hello world" to everybody on the server. Code:
/bind n "chatteam hello world"
This will let you "chat" "hello world" to everybody on your team. Code:
/bind n "chatcommander hello world"
This will let you "chat" "hello world" to your commander!
Now we'll go send how much health we got to our team Code:
/bind n "chatteam Health: #player_health#"
This will send "Health: " to your teamm8s (If you forgot the " s here you'll send: "Health: ") There are allot more variables which you can use in such bind! I'll show you a few below: #name# - your name #player_health# - health #player_healthpercent# - health in % #player_level# - level #player_percentNextLevel# - how much xp to go till next level in % #player_money# - money #player_mana# - mana... #player_task# - what you have todo.. (move to, attack, build, repair) #player_kills# - kills #player_killstreak# - kills in row #player_deaths# - times you died #player_secondstorespawn# - "Respawn in " #player_team# - which team you are in (0,1,2,3) #player_currentunit# - which unit you've got... #player_referee# - am i referee?! #team_idleworkers# - How many idle works your commander has. #team_numworkers# - How many workers your commander has. #team_maxworkers# - How many workers your commander can have. #team_commandername# - Name of your commander #team_commandcenter_health# - health of your sh/lair #team_commandcenter_maxhealth# - maximum health of your sh/lair #team_commandcenter_healthpercent# - health of your sh/lair in % #game_serverstatus# - when spectating somebody this will be "Spectating XXXXX" XXXXX will be who you're spectating #resource_entropy# - how much entropy(for gates) your commander has. #resource_strata# - how much stata(for heals) your commander has. #resource_fire# - how much fire(for fire shield) your commander has. #resource_magnetic# - how much magnetic(for shield) your commander has. #resource_electric# - how much electric(for electrify) your commander has. #resource_chemical# - how much chemical(for adrenaline) your commander has. #chat_officerColor# - color code of voice chat of officers #chat_commanderColor# - color code of voice chat of officers #vote_description# - Text in vote #vote_yes# - how many voted yes #vote_no# - how many voted no #vote_secondes# - how many seconde there are left before vote ends #vote_passpercent# - did enough ppl vote to make the vote pass? in %
Now we'll make it a bit more advanced! we want to make i bind which says: "Health: ()" and says: "I'm Dead ( secondes)" when my health is 0 (which means in most cases you died)... ofcouse you don't want the enemy to know all that... so we'll only tell it to own team... Code:
/bind n "if [player_health == 0] chatteam I'm Dead (#player_secondstorespawn# secondes); if [player_health > 0] chatteam Health: #player_health# (#player_healthpercent# %)"
Ok.. i guess you don't want to type longer binds then that in savage...(we're all to lazy and line is getting prety full) So let's make a file.
goto your savage/game folder and make a new cfg file called binds.cfg. Tobad savage doesn't know that he has to read binds.cfg.... we're going to tell savage now! In your savage/game folder, you've got a file called autoexec.cfg. Open it (in notepad) and you'll get something like(maybe you've got a bit more... but my exec exec is so much change i dunno which are mine and which are normally in the file...): Code:
//add your own custom settings here
//set up the commander keys/binds exec /settings/commander_keys.cfg
add underneath "//add your own custom settings here" "exec binds.cfg" Now are autoexec should look like: Code:
//add your own custom settings here exec binds.cfg
//set up the commander keys/binds exec /settings/commander_keys.cfg
Save autoexec.cfg and close it! Now open binds.cfg (again if you closed it).
Let's make some a status bind (just like the 1 before) but which will also look at what team you're in and which will tell when we're spectating...... I've already tried to make it and i can tell you.... It's too big tongue! so we're are going to do it on another way: Add to bind.cfg the next stuff: Code:
// status bind bind f7 "do bindstatus1" bindup f7 "chatteam #chatbind#"
set bindstatus1 "if [player_team > 0 & player_health > 0] set chatbind ^rStatus^r: ^wHealth: ^y#player_health# ^w(^y#player_healthpercent#^w%^w!^w)^w! ^wLevel^w: ^y#player_level# ^w! ^wMoney^w: ^y#player_money# ^w!; if [player_team > 0 & player_health == 0] set chatbind ^rStatus^r: ^900Dead ^w(^y#player_secondstorespawn# ^w!^w) ^wLevel^w: ^y#player_level# ^w! ^wMoney^w: ^y#player_money# ^w!; if [player_team == 0] set chatbind ^rStatus^r: ^yI'm spectator!; if [player_team == 0 & player_health > 0] set chatbind ^rStatus^r: ^yI'm#game_serverstatus#!"
OFCOUSE YOU CAN CHANGE THE KEYS AND COLOR (SO YOU CAN REPLACE F7, ^w and ^y)
Explain: I'll now explain what is the stuff does: bindup f7 ...... bindup is just like bind but it'll be activated when you release the button!
set bindstatus1 "..............."; set chatbind ............; "set" will make a variable. you can chat the variable by doing:"/chat #bindstatus1#", but you can also DO the stuff the variable contains by doing "/do #bindstatus2#"
if [player_team > 0 & player_health > 0] .......; if player_team is above 0 and player_health is above 0 it'll do the stuff behind it grin Seconde part: K I'll show you some tricks to make a inventory bind just like mine...
Name: (just like above: if you do this commands in console, remove all "/"s) Code:
/ask inventory #inventory-slot#; chat #answer#
(#inventory-slot# = which slot do you want to check?! <0 = melee, 1 = weapon, 2-4 = items...>) this will have as result: "human_bow" or 1 of those other things you have in sav ^^ But that's not really what we want... we want the real name! Code:
/ask inventory #inventory-slot#; objedit #answer#; objput description player_slot#inventory-slot#; chat#player_slot#inventory-slot##
(#inventory-slot# = which slot do you want to check?! <0 = melee, 1 = weapon, 2-4 = items...>) ^^ k this is bit to complicated.... let's give an example: We're going to check slot 0: Code:
/ask inventory 0; objedit #answer#; objput description player_slot0; chat #player_slot0#
We're going to check slot 1: Code:
/ask inventory 1; objedit #answer#; objput description player_slot1; chat #player_slot1#
Ammo: just like above we can "ask" that too! Code:
/ask ammo #inventory-slot#; chat #answer#
(#inventory-slot# = which slot do you want to check?! <0 = melee, 1 = weapon, 2-4 = items...>) This can give: -1 = unlimited! > melee 0 or more = just the ammount of ammo you have...
"for" repeat: Just to make some parts of the script smaller we can use a repeat Code:
createvar inventory-slot; for inventory-slot 0 4 1 "chat #inventory-slot#"
result: "0 1 2 3 4" Got it? we first have to make a var which we can do it with "/createvar "... then we do "/for """
final script > ADD TO YOUR BINDS FILE! Code:
createvar inventory-slot for inventory-slot 0 5 1 "set player_ammo#inventory-slot# \"\"; set player_slot#inventory-slot# \"\""
set inventoryrepeat "for inventory-slot 0 5 1 \"do inventoryset\" set inventoryset "objedit human_nomad; ask inventory #inventory-slot#; objedit #answer#; objput description player_slot; ask stringsmatch #player_slot# Nomad; if [answer] do empty-slot; if [!answer] do full-slot" set full-slot "set player_slot#inventory-slot# #player_slot#; clear player_ammo#inventory-slot# 0; ask ammo #inventory-slot#; if [answer != 0] set player_ammo#inventory-slot# (#answer#); if [answer < 0] clear player_ammo#inventory-slot#" set empty-slot "set player_slot#inventory-slot# Nothing; clear player_ammo#inventory-slot#"
//here you can change key.. just replace n. YOU ALSO NEED TO CHANGE IT IN THE BINDUP! bind n "do inventoryrepeat" //Here you can change what it says.... Don't forget to change n if you did it above! bindup n "chatteam ^rInventory^r: ^g1: ^w#player_slot0# ^y#player_ammo0# ^g2: ^w#player_slot1# ^y#player_ammo1# ^g3: ^w#player_slot2# ^y#player_ammo2# ^g4: ^w#player_slot3# ^y#player_ammo3# ^g5: ^w#player_slot4# ^y#player_ammo4#"
Maybe I'll make few change to the bind above to improve it... Maybe post my quickuse (script that will used items on press of a button) for ones who want it... (don't say it's cheat... you don't have to download and use it tongue) and wanna show you how it bind voice chat.. | |
|