Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Jervan

Pages: [1] 2 3 4 5 6
1
Modification Help / [Design Help] Crafting
« on: July 02, 2016, 08:22:51 AM »
Me again, hoping to initiate a little discussion into different methods of implementing crafting on a server.

So right now I have weapons that can be colored by any part (hilt, handle, blade and blade edge) and I've also coded a system to do elemental damage (so if you had a fiery blade edge, you could do basic and fire damage).

I asked my 6 year old nephew what sword he would have if he could have a sword designed for himself and he came up with this:

For reference here is how it starts off:

I think the change is awesome because it shows his personality, he loves pirates so he made it a cutlass and is young so used lots of primary colors. The problem is I was typing in commands in order to change the parts and colors of the weapon.

If I could have a system where players can choose their parts and colors easily that'd be ideal, but I'm having trouble thinking of a way to do this that doesn't require commands or knowledge of RGB.

What I do know is that the blade color will depend on the ore you use. The edge will depend on if you have elemental damage output or not. But the hilt and handle and the combination of parts used is where I think customization can go more wild. The best idea I've had is using the paint can to paint individual parts but it seems a bit limited with the colors available. Part selection is simple enough as it's more limited.

I'm rambling, I guess what I want to know is what is important to you in a weapon crafting system? Gathering ore doesn't seem much fun (I've made it as fun as I can ><). So crafting must be super rewarding or exciting somehow

2
Modification Help / Seeing a mounted player in First person?
« on: June 27, 2016, 09:27:07 PM »
I'm absolutely spamming this board tonight but it's a new problem in the project and I'm doing something that's never been done before I reckon so I need the help :cookieMonster:

I'm mounting a "player" to the real players right hand to be used as a weapon.
This works for upgrading the weapon / coloring / calling a variety of animations now.
The problem is you can't see the weapon (a playerData) in your hand in first person.
Anyone know what would be causing this? It's fine in third person D:

I've tried renderFirstPerson = true; if that's even a real tagged field, I couldn't find it in playerStandardArmor dump.

If needs be I can just limit the player to third person, it's probably more intuitive with the system anyway, but I'd rather they have the option :(

3
Modification Help / Player Node Limitations?
« on: June 27, 2016, 01:51:02 PM »
Just wondering if anyone knows if:
1) There is a limit to how many nodes a model can have?
2) Mounting a "hand" player to the players hand, then unhiding nodes to show a wielded weapon is feasible.

I'm doing this to allow for simple weapon customisation / skin colors. Thanks for any knowledge!

4
Modification Help / [Resource] Rotate Player Relative
« on: June 14, 2016, 07:40:08 PM »
Since I feel like I'm always asking this board for help with things I'd like to post something people might find useful. :cookieMonster:
This (minimally tested) function rotates a player by whatever angle, relative to where they're currently looking.

Code: [Select]
function axisToEuler(%axis)
{
%angleOver2 = getWord(%axis,3) * 0.5;
%angleOver2 = -%angleOver2;
%sinThetaOver2 = mSin(%angleOver2);
%cosThetaOver2 = mCos(%angleOver2);
%q0 = %cosThetaOver2;
%q1 = getWord(%axis,0) * %sinThetaOver2;
%q2 = getWord(%axis,1) * %sinThetaOver2;
%q3 = getWord(%axis,2) * %sinThetaOver2;
%q0q0 = %q0 * %q0;
%q1q2 = %q1 * %q2;
%q0q3 = %q0 * %q3;
%q1q3 = %q1 * %q3;
%q0q2 = %q0 * %q2;
%q2q2 = %q2 * %q2;
%q2q3 = %q2 * %q3;
%q0q1 = %q0 * %q1;
%q3q3 = %q3 * %q3;
%m13 = 2.0 * (%q1q3 - %q0q2);
%m21 = 2.0 * (%q1q2 - %q0q3);
%m22 = 2.0 * %q0q0 - 1.0 + 2.0 * %q2q2;
%m23 = 2.0 * (%q2q3 + %q0q1);
%m33 = 2.0 * %q0q0 - 1.0 + 2.0 * %q3q3;
return mRadToDeg(mAsin(%m23)) SPC mRadToDeg(mAtan(-%m13, %m33)) SPC mRadToDeg(mAtan(-%m21, %m22));
}

function eulerToAxis(%euler)
{
%euler = VectorScale(%euler,$pi / 180);
%matrix = MatrixCreateFromEuler(%euler);
return getWords(%matrix,3,6);
}

function rotatePlayerRelative(%player,%val)
{
   if(-360 > %val > 360)
      return;

   if(%val > 179)
   {
      %val = %val / 2;
      %count = 2;
   }
   else %count = 1;

   for(%i=0; %i<%count; %i++)
   {
      %pos = getWords(%player.getTransform(),0,2);
      %euler = axisToEuler(getWords(%player.getTransform(),3,6));
      %rot = getWords(%euler,0,1);
      %newAngleTwo = getWord(%euler,2) + %val;
      if(%newAngle < 0)
         %newAngleTwo = (%newAngle)-%val;
      %newRot = %rot SPC %newAngleTwo;
      %player.setTransform(%pos SPC eulerToAxis(%newRot));
   }
}
Hope it's helpful to someone. Apologies if it's useless.

5
Modification Help / [Solved] Can't progress image state system
« on: June 13, 2016, 02:52:09 PM »
Code: [Select]
  // Initial start up state
stateName[0]                     = "Activate";
stateTimeoutValue[0]             = 0.5;
stateTransitionOnTimeout[0]      = "Ready";

stateName[1]                     = "Ready";
stateTransitionOnTriggerDown[1]  = "Linecheck";
stateAllowImageChange[1]         = true;

stateName[2] = "Linecheck";
stateScript[2]                  = "onLinecheck";
stateAllowImageChange[2]        = false;
stateTransitionOnNotLoaded[2] = "Lineout";
stateTransitionOnNoAmmo[2] = "Linein";

stateName[3]                    = "Lineout";
stateTransitionOnTimeout[3]     = "Ready";
stateTimeoutValue[3]            = 0.1;
// stateFire[3]                    = true;
stateAllowImageChange[3]        = true;
stateSequence[3]                = "bobGone";

stateName[4]                    = "Linein";
stateTransitionOnTimeout[4]     = "Ready";
stateTimeoutValue[4]            = 0.1;
stateAllowImageChange[4]        = true;
stateSequence[4]                = "root";
Code: ("trace") [Select]
Entering [Item_Beer]Armor::onTrigger(38, 26264, 0, 1)
   Entering [mailMenu]Armor::onTrigger(38, 26264, 0, 1)
      Entering [AchievementsMenu]Armor::onTrigger(38, 26264, 0, 1)
         Entering [groupBannerCycling]Armor::onTrigger(38, 26264, 0, 1)
            Entering [WizardCycleWandSpells]Armor::onTrigger(38, 26264, 0, 1)
               Entering [RangerCycleArrows]Armor::onTrigger(38, 26264, 0, 1)
                  Entering [RM_Binds]Armor::onTrigger(38, 26264, 0, 1)
                     Entering [WizardCycleElements]Armor::onTrigger(38, 26264, 0, 1)
                        Entering [HatMod_Package]Armor::onTrigger(38, 26264, 0, 1)
                           Entering [peggsteps]Armor::onTrigger(38, 26264, 0, 1)
                              Entering Armor::onTrigger(38, 26264, 0, 1)
                              Leaving Armor::onTrigger() - return 26264
                           Leaving [peggsteps]Armor::onTrigger() - return 26264
                        Leaving [HatMod_Package]Armor::onTrigger() - return 26264
                     Leaving [WizardCycleElements]Armor::onTrigger() - return 26264
                  Leaving [RM_Binds]Armor::onTrigger() - return 26264
               Leaving [RangerCycleArrows]Armor::onTrigger() - return 26264
            Leaving [WizardCycleWandSpells]Armor::onTrigger() - return 26264
         Leaving [groupBannerCycling]Armor::onTrigger() - return 26264
      Leaving [AchievementsMenu]Armor::onTrigger() - return 26264
   Leaving [mailMenu]Armor::onTrigger() - return 26264
Leaving [Item_Beer]Armor::onTrigger() - return 26264

Code: [Select]
function fishingRodImage::onLinecheck(%this, %obj, %slot)
{
   echo("entered Linecheck");
}
I never receive the echo and I never seem to get out of the "Ready" state. I'm totally baffled by it

6
^Title. I'm trying to spawn one in water to act as a float.

7
Suggestions & Requests / Request - [Icons] Fishing add-on
« on: June 12, 2016, 07:21:16 AM »
I'm making a fishing add-on with an animated on-screen game for catching fish but my 2D artwork skills are lacking. I was wondering if anyone could make the following images for me? They should be 82 x 56 pixels and .png format.

1. Water panel
2. Water panel 2 (lower water so it to goes up and down)
3. Water with a hook and float
4. Water with a hook and float (lower water)
5. Water with a fish
6. Water with a fish (lower water)
7. Water with a fish caught on the hook
8. Water with a fish caught on the hook (lower water)

Here's my terrible attempts for an idea of what is needed.


If anyone feels up to it, you will be credited in the add-on post :)

8
Modification Help / [Coding help] Bitmaps and Centerprint
« on: June 09, 2016, 08:45:33 PM »
I'm trying to do a fishing minigame with bitmaps and a centerprint but there seems to be a character limitation in the centerPrint function? And bitmaps are included as characters. I've made the filepath as small as I can but it seems to be bugging out when there's too many bitmaps one after the other. Another thing is that they seem to space themselves weird depending on the number of them.

Anyone that's clued up on these topics, it would help to know if the method I'm trying is impossible :) thanks!

EDIT: Guess I'll be more clear on what I'm trying to do
So there will be water, a fish that moves around and a hook on the centerPrint


The player tries to keep the hook on the fish using Lclick and Rclick and a bar fills up.


If the player takes too long, the fish escapes.
My alternative to using bitmaps is using models but I'd much rather be able to get this way working, if possible. Let me know if you know :D

9
Suggestions & Requests / Farming add on
« on: June 09, 2016, 06:19:09 PM »
Are there any farming add ons that are known to be good? By good I mean lots of variety in things you can grow, nicely coded and pretty models. I'm basically trying to avoid modeling 100s of vegetables.

10
Modification Help / [Solved] Strange Packaging Bug
« on: June 01, 2016, 10:38:56 AM »
I'm encountering a bug where a package is activated during exec and then in-game the code inside the package doesn't work. Then when I deActivatePackage and activatePackage again through the console, it works perfectly.

Anyone run into this before?

Here is the package:
Code: [Select]
package FoodMenu
{
      function Armor::onTrigger(%this, %player, %slot, %val)
      {
         if(isObject(%player.getMountedImage(0)) && %player.getMountedImage(0).getName()$="rawFoodBagImage")
{
   if(%slot == 4 && %val)
   {
      if(%player.client.maxRawFoodOptions $= 1)
 return;

      if(%player.client.currRawFoodSelection $= %player.client.lastRawFoodItem)
      {
    for(%i = 1; 21 > %i; %i++)
                  {
           if(%player.client.rawFood[%i] != 0)
           {
%player.client.currRawFoodSelection = %i;
break;
           }
 }
 %player.playThread(0,plant);
 updateRawFoodUI(%player.client);
 return;
      }

      else
      {
         %player.client.currRawFoodSelection = nextAvailableRawFoodSelection(%player.client);
         %player.playThread(0,plant);
 updateRawFoodUI(%player.client);
         return;
      }
   }
   updateRawFoodUI(%player.client);
}
else Parent::onTrigger(%this, %player, %slot, %val);
      }
};
activatePackage(FoodMenu);

And the function called within:
Code: [Select]
function updateRawFoodUI(%client)
{
   %client.maxRawFoodOptions = getMaxRawFoodOptions(%client);

   %firstTime = 1;
   %foodCount = 0;

   for(%i = %client.currRawFoodSelection; 21 > %i; %i++) //cycle through the player owned foods to create the list
   {
      if(%firstTime)
      {
         %list = "\c6" @ getRawFoodItem(%i) SPC "x" SPC %client.rawFood[%i] @ "\n";
         %foodCount++;
%firstTime = 0;
continue;
      }

      if(%foodCount $= 3) //stop once we have 3 items for the current list
         break;

      %foodItem = %client.rawFood[%i];

      if(%foodItem !$= 0) //if the player has the food, add it to the list
      {
         %list = %list @ "\c7" @ getRawFoodItem(%i) SPC "x" SPC %client.rawFood[%i] @ "\n";
         %foodCount++;
%client.lastRawFoodItem = %i;
      }
   }

   if(%client.maxRawFoodOptions == 1 && %foodCount == 1) //if they have 1 item, don't show the scroll option
   {
      commandToClient(%client,'centerPrint',"<font:impact:64>\c3Raw Food\n<font:impact:32>\c6" @ %list,-1);
      return;
   }

   if(%foodCount $= 0 || %client.maxRawFoodOptions == 0) //no raw food
      commandToClient(%client,'centerPrint',"<font:impact:64>\c3Raw Food\n<font:impact:32>\n\c6You have no raw food packed in your bag.",-1);

   if(%foodCount $= 1 && %client.maxRawFoodOptions > 1) //they're at the end of the list but have more options in the list
      commandToClient(%client,'centerPrint',"<font:impact:64>\c3Raw Food\n<font:impact:32>\c6" @ %list @ "\n\n\c0\\/ \c6Right click to scroll",-1);

   if(%foodCount $= 2) //special case to make sure the scroll UI isn't higher up when there's less options
      commandToClient(%client,'centerPrint',"<font:impact:64>\c3Raw Food\n<font:impact:32>\c6" @ %list @ "\n\c0\\/ \c6Right click to scroll",-1);

   if(%foodCount $= 3) //standard UI
      commandToClient(%client,'centerPrint',"<font:impact:64>\c3Raw Food\n<font:impact:32>\c6" @ %list @ "\c0\\/ \c6Right click to scroll",-1);      
}

11
General Discussion / POLL: BL RPG Quest & Bosses
« on: May 31, 2016, 08:03:13 PM »
Running a poll to see what people prefer before I go ahead and make it. I'm making really great progress on it and the feedback is really helpful :)

As far as quests go, what kind of things would the players of BL like to see? Will simple errands do or do you prefer to see longer plots develop?
As far as bosses go, would you rather they're set up so you experience them a certain way, or would you rather not know when to expect them?

Please only select one from each, thanks for any opinions!

12
Modification Help / [Design Help] Combat Upgrades (RPG)
« on: May 29, 2016, 11:40:06 AM »
I can't figure out a compelling progression for levelling up combat. I really don't want to just "up" the numbers as the player progresses, I want the gameplay to actually get harder the more you level up.

I've got this really cool system for gathering and crafting where you learn different recipes and discover new ingredients and components and the progression really works, then it comes to combat and I can't think of any way to reward the player for levelling up.

There are two main reason I feel I'm a bit boxed in:
  • the limited inventory space (5 slots - I know I can change this, but due to other systems really I can't)
  • keeping equipment open-ended (players can mix / match whatever gear they want)

I'll give a brief summary of the things I've been through. Initially I had 4 classes. This led to a lot of people defining themselves by their class, which I don't want. If people want to just be a humble merchant, they should be able to.

So I took out classes and replaced it with 4 stats: Strength, Cunning, Wisdom and Faith. The idea at the time was I would just tie equipment to abilities and have that be that. But now that I've come to it, I really don't like the idea of locking gear behind levels - if you find a sweet sword you should be able to use it.

Now I've scrapped those 4 stats and have no idea what to do with combat in my RPG. So if anyone has had any awesome ideas, now is the time to see them realized :cookieMonster:

13
Modification Help / [Coding help] Reading A File?
« on: May 23, 2016, 04:19:38 PM »
I have no real idea how saving / loading files works but I've read every topic I could find with openForWrite and openForRead functions to try and figure out. I've now got the file being written correctly but I can't find out how to apply this to a client. Here's one of the things I tried:

Quote from: The written file
Jervan- 's Achievements

Achievement1   0
Achievement2   0
Achievement3   0
Achievement4   0
Achievement5   0
Achievement6   0
Achievement7   0
Achievement8   0
Achievement9   0
Achievement10   0
Achievement11   0
Achievement12   0
Achievement13   0
Achievement14   0
Achievement15   0
Achievement16   0
Achievement17   0
Achievement18   0
Achievement19   0
Achievement20   0
Achievement21   0
Achievement22   0
Achievement23   0
Achievement24   0
Achievement25   0

Code: [Select]
   function GameConnection::loadAchievements(%client)
   {
      %file = new FileObject();
      %filename = "config/server/Rosemarble/Achievements/" @ %client.getBLID() @ ".txt";
      %file.openForRead(%filename);

      if(!%file)
      {
         error("Erorr with GameConnection::loadAchievements(" @ %client @ " (BLID: " @ %client.getBLID() @ ")) - failed to open file '" @ %filename @ "' for read");
         %file.delete();
         return;
      }
      echo("Loading Achievements for BLID " @ %client.getBLID());

      while(!%file.isEOF())//no idea what it is but every other load has it
      {
         %line = %file.readLine(); //since it's a while statement i hope it loops through each line

switch$(getWord(%line,0))
         {
case "Achievement1":
   %client.achievement1 = getWord(%line,1);
   echo("It read the first line");
case "Achievement2":
   %client.achievement2 = getWord(%line,1);
case "Achievement3":
   %client.achievement3 = getWord(%line,1);
case "Achievement4":
   %client.achievement4 = getWord(%line,1);
case "Achievement5":
   %client.achievement5 = getWord(%line,1);
case "Achievement6":
   %client.achievement6 = getWord(%line,1);
case "Achievement7":
   %client.achievement7 = getWord(%line,1);
case "Achievement8":
   %client.achievement8 = getWord(%line,1);
case "Achievement9":
   %client.achievement9 = getWord(%line,1);
case "Achievement10":
   %client.achievement10 = getWord(%line,1);
case "Achievement11":
   %client.achievement11 = getWord(%line,1);
case "Achievement12":
   %client.achievement12 = getWord(%line,1);
case "Achievement13":
   %client.achievement13 = getWord(%line,1);
case "Achievement14":
   %client.achievement14 = getWord(%line,1);
case "Achievement15":
   %client.achievement15 = getWord(%line,1);
case "Achievement16":
   %client.achievement16 = getWord(%line,1);
case "Achievement17":
   %client.achievement17 = getWord(%line,1);
case "Achievement18":
   %client.achievement18 = getWord(%line,1);
case "Achievement19":
   %client.achievement19 = getWord(%line,1);
case "Achievement20":
   %client.achievement20 = getWord(%line,1);
case "Achievement21":
   %client.achievement21 = getWord(%line,1);
case "Achievement22":
   %client.achievement22 = getWord(%line,1);
case "Achievement23":
   %client.achievement23 = getWord(%line,1);
case "Achievement24":
   %client.achievement24 = getWord(%line,1);
case "Achievement25":
   %client.achievement25 = getWord(%line,1);
   }
      }

      //close file
      %file.close();
      %file.delete();

      %client.scheduleAchievementsSave(1);
   }

14
General Discussion / Best BL RPG You've Played
« on: May 23, 2016, 09:50:27 AM »
Hey guys, just wanting some info on what the best RPG server is you've played on and what made it so good / fun?

15
Modification Help / 1 line of code not working properly
« on: May 20, 2016, 07:13:20 PM »
Hey, so I'm making a party system but this part isn't working.. wondering if anyone sees anything I don't.

Starts here and works here:
Code: [Select]
  commandToClient(%obj.client,'MessageBoxYesNo',"Invite" SPC %col.client.rpName SPC "?","Are you sure you wish to invite " @ %col.client.rpName SPC "to your party?",'SendGroupInvite');
Sent to here:
Code: [Select]
function sendGroupInvite(%client)
{
   %client.colorChosen = getFlagColor(%client);
   %target = findClientByName(%client.invTarget);
   %target.potentialLeader = %client.name;
   commandToClient(%target.client,'MessageBoxYesNo',%client.rpName SPC "has invited you to group up",%client.rpName SPC "has requested you join them on their travels. Do you accept their proposal?",'acceptGroupInvite');
   %target.consideringParty = 1;
   messageClient(%client,'',"\c6Party invite sent.");
   schedule(10000,0,'clearConsideration',%target);
}

Doesn't make it to here from the YesNoBox output:
Code: [Select]
function acceptGroupInvite(%client)
{
   echo("IT MADE IT" SPC %client.name);
   if(!%client.consideringInvite == 1)
   {
      messageClient(%client,'',"\c6The invite is too old.");
      expiredInvite(%client);
      return;
   } etc

Anyone got any ideas? The function I'm trying to get it to works perfectly, it just won't go there without me manually inputing :(

Pages: [1] 2 3 4 5 6