Author Topic: Use Pack Systems/ Multi-Use buttons.  (Read 3622 times)

0 Members and 1 Guest are viewing this topic.

Lidge Farkley

  • Uber Menace
  • *******
  • Posts: 1,357
  • Reputation: +2/-3
    • http://www.angelfire.com/ca2/psychosworld2/
Use Pack Systems/ Multi-Use buttons.
« on: November 2, 2003 02:47 pm CST »
Hey!

I don't have a copy of trpg or tribes handy on this system so I haven't looked in to this my self, but, there's this idea I have been thinking about for some time and finally am remembering to post about;

Alter the usepack (onConsider?  I don't rightly know as I have never looked at it myself) to do a set of things using "if else" statements to help eliminate the user from typing as much, and thus make the interface to te game a bit more smooth.

So, here's the dry run Idea Set so far, in no certain order:

When "onconsider" (usepack? whatever) is used by the player, the function will get the LOS and determine the following...

-Check if it is an item (like a pack or a claymore for example).  If it is an item, check the distance away from the player vs the players normal #say range, and if it is within range, pick it up.  Else it is not within the range, have it tell the player "The (name of item) is just out of your grasp."  Else it is not an item, then move to the next "If".

-Check to see if it is a townbot.  If it is a townbot, the player will #say Hello, thus initiating the conversation with the bot.  Else it is not a townbot, move to the next "If".

-Check to see if it is a player character.  If it is a player character, the player will #tell (playername) hello.  Else it is not a player character, move to the next "If".


That's it so far.  I know it could probably just be client side stuff, but I thought it might be neato to release in a some what official fassion in the PCRPG updates section.

This feature would kind of act as the "use" key from other games, as the onConsider function is already used to get info about players [though I find that feature kind of useless ;-)] and to make certain switches activate in some mods.

Anyway... peace!


[edit]
An other idea perhaps...

-if the player is looking at terrain, it could determine if it is terrain or a building and if a tent has been deployed.  If there is no tent deplyed and it is the terrain (not a building) then it would #camp.  That might be kinda nice.  (yes, I know many people have a keybind already for #camp, but this would free up that keybind to be used for something else perhaps.)


I suppose what I am getting at is multifunction key sets.  3 or 4 keys that would be used to carry out many things.

For example;  Conversation keys.
"p key" "onConsider" starts the bot conversation.
"2 key" could say buy or cast a spell (based on the los result.)
"3 key" could say deposit, or cast a spell.
"4 key" could say all, or cast a spell.
"5 key" could say storage, or again, cast a spell.
[added]
or for camp, just have it so that when the player presses the camp button it checks to see if you have a camp up.  If you do, it uncamps.  If you don't, it camps.  I guess the idea behind this would be to force the client side computer to do some calculating on it's own, and again, the multi-use buttons.


But for now....... I think the "p" key is what I would focus on.
« Last Edit: December 31, 1969 06:00 pm CST by Lidge Farkley »
Lend your heart unto the divine mineral TOPAZ;
from which our reverent hearts and minds sprang.
Also Known As:  Alcoholic 007
My Page of tribes Tools and Helpful "FAQ" Stuff

UnderGod

  • Centurian Lord
  • ********
  • Posts: 2,691
  • Reputation: +0/-0
(No subject)
« Reply #1 on: November 2, 2003 05:38 pm CST »
Couldn't be done on a client.. Can only be done through server coding.
« Last Edit: December 31, 1969 06:00 pm CST by UnderGod »
"The right man in the wrong place can make all the difference in the world"

Lidge Farkley

  • Uber Menace
  • *******
  • Posts: 1,357
  • Reputation: +2/-3
    • http://www.angelfire.com/ca2/psychosworld2/
(No subject)
« Reply #2 on: November 3, 2003 12:59 am CST »
Ahh well, see, that's why I post these things.  :-)

I never did much any thing serious in the way of modding, so I don't know the in and out of making things happen right the first time.

That makes this an exclusive server mod for PCRPG (provided it were used) which could get it's own section called "keybinds for PCRPG" on the website.

Anyway... just thought it was a cool idea to elliminate so much typing. ;-)
I hope it gets added!
« Last Edit: December 31, 1969 06:00 pm CST by Lidge Farkley »
Lend your heart unto the divine mineral TOPAZ;
from which our reverent hearts and minds sprang.
Also Known As:  Alcoholic 007
My Page of tribes Tools and Helpful "FAQ" Stuff

Lidge Farkley

  • Uber Menace
  • *******
  • Posts: 1,357
  • Reputation: +2/-3
    • http://www.angelfire.com/ca2/psychosworld2/
(No subject)
« Reply #3 on: November 3, 2003 11:50 pm CST »
so... err.... what do you think about this idea?  Gold or Mold?
« Last Edit: December 31, 1969 06:00 pm CST by Lidge Farkley »
Lend your heart unto the divine mineral TOPAZ;
from which our reverent hearts and minds sprang.
Also Known As:  Alcoholic 007
My Page of tribes Tools and Helpful "FAQ" Stuff

Hersh

  • Elvin Legion
  • *****
  • Posts: 413
  • Reputation: +0/-0
(No subject)
« Reply #4 on: November 4, 2003 01:43 am CST »
I like it, we can have a universal "Use" buttoon, instead of just consider.
The ability to Bank/Shop by the press of a button would be very convenient. (Yes, I know you can bind a key to say hi/buy, but, I think it would be better as part of the mod.)
I wonder if theres a way to consider the pack and have a bottom print of the packs contents.(Probably not) Ohwell, I like it.

Hersh
« Last Edit: December 31, 1969 06:00 pm CST by Hersh »

I kissed a drunk girl on the lips.
This post, by its very length, defends itself against the risk of being read.

Lidge Farkley

  • Uber Menace
  • *******
  • Posts: 1,357
  • Reputation: +2/-3
    • http://www.angelfire.com/ca2/psychosworld2/
(No subject)
« Reply #5 on: November 4, 2003 01:42 pm CST »
Yeah, I have a reason for each addition.  Here are some;

Pack grabbing based on voice range (couldn't think of an other ranged variable already in game that wasn't tooo large) and LOS.
-This is for use to reclaim packs that have fallen into cracksand holes in different map areas, thus eliminating the need of an admin or pk helper, as well as giving the player a way to grab things with out having to run them over.

Bot/human recognition for saying/telling hello based on same variables as pack grabbing.
-some players have names that are long and annoying or off character to type.  I had a few characters like this... made sending tells to me a pain in the butt.  Adding this would make it a bit more simple and logical, as tell type messages wouldn't make sense to be said to someone who isn't near by (that's not to say that tell to out of sight people would be disabled, this is just an addition to speed up the process of telling to people nearby, and not rely on typing so much.)  Also, this would make all bots accessible by one click of a button.  I think that would be nice. :-)

Over all, my ultimate goal behind this idea is to streamline some of the basic everyday used commands of TRPG to a few USE type keys.  The main function or main commands could be called through the use of one key, which would be cool.

The middle button of a mouse click could be bound to this use type function, and that would give my middle mouse a worthy use for my non-mage characters.  (ie; mage my middle mouse is #cast beam, but my fighter didn't have it bound to anything.)


///////Alternately////////

Rather than load up a seperate set of keybinds for each type of character (mage, fighter, paladin, etc) the use button could just change to use their specialized feature, based on their character type, as well as the other functions.  Of course, the bot and human talk and info parts would have to be dropped or changed to avoid you checking their info when you're trying to mug them. ;-p  hah!


Also, this has been done but I am not sure to this extent or not, a player could have their keybinds auto-changed based on the availability of their skills and/or levels.
For example;
A thief's base stealing skill we'll say for this example is #steal.  When a thief gets their steal skill high enough to make #mug possible, the keybind changes to #mug for their Special/Character USE button.  To toggle the change, when the character gets more SP, have it check the SP level of the character and if the character's SP is equal to or higher than the required level to #mug, then the keybinds will be told to update.  If not, then they will stay the same.  I don't know if this is a server or client issue (probably client, though based on some server info if the new button functions are added... so I guess it's a combo.)


I know this one is a bit rambly, and a lot of repetition of the previous stuff, BUT, I figure it is better to get it on forum than not, especially if it can enhance the game experience.
« Last Edit: December 31, 1969 06:00 pm CST by Lidge Farkley »
Lend your heart unto the divine mineral TOPAZ;
from which our reverent hearts and minds sprang.
Also Known As:  Alcoholic 007
My Page of tribes Tools and Helpful "FAQ" Stuff

-eViL-

  • Minotaur Rager
  • ******
  • Posts: 880
  • Reputation: +0/-0
(No subject)
« Reply #6 on: November 14, 2003 04:02 pm CST »
start with your basic use function on the server side:
Code: [Select]
function remoteUseItem(%clientId, %type)
{
dbecho($dbechoMode, "remoteUseItem(" @ %clientId @ ", " @ %type @ ")");

%time = getIntegerTime(true) >> 5;
if(%time - %clientId.lastWaitActionTime > $waitActionDelay)
{
%clientId.lastWaitActionTime = %time;

%clientId.throwStrength = 1;

%item = getItemData(%type);

if(%item == Backpack)
{
%item = -1;
remoteConsider(Player::getClient(%clientId));
}
else
{
if (%item == Weapon)
           %item = Player::getMountedItem(%clientId,$WeaponSlot);

if(%item != -1)
{
Player::useItem(%clientId, %item);
}
}
}
}


and replace the line
remoteConsider(Player::getClient(%clientId));
with something like
Player::onUseConsider(%clientId);

and turn that function into what does it all...

or you could also make it do certain things based upon client binds as well, such as use("Backpack 10"); and the 10 would symbolize something to the server... like
eval("Player::onConsider" @ %FuncNum @ "(%clientId);");

see what i am gettin at?  anyways, just my two cents, its possible.. just would require some work...
« Last Edit: December 31, 1969 06:00 pm CST by -eViL- »
There's nothing ever wrong but nothing's ever right
Such a cruel contradiction