HeroEngine Forums
Welcome, Guest. Please login or Register for HeroCloud Account.

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.

Messages - Thazager

Pages: [1] 2 3 ... 78
1
Design & World Building / Re: [Resolved] Arrival Path question
« on: Jan 16, 21, 08:45:35 AM »
We have also set player rotation and position when player moves about, changes area and loaded into new area, as log in or area to area. We set them client side. You can run a check based on the area they enter (which might check for more than 1 player entering same area at same time) or have them load based on a change zone node, which is set up to determine rotation and position, on each node, with a list of values for each player.

2
listed as an error, though seems like a warning, as it does not interfere with the function of the _StateActionTransformClassMethods.

You could try different values in that section, check out the results. (something in engine might have changed since making this tutorial)

3
If it works well for you, that is good. Use what works.

There are different ways of making an elevator, I heard 1 way uses code without state system, and uses a list of riders on the elevator class.

4
note: I dont have access to that world where I made the tutorial.

here is the client side code for MiscUtils:getCharPointer()

Code: [Select]
// var char = MiscUtils:getCharPointer()
public function getCharPointer() as NodeRef of Class E_playerCharacter
  acct as NodeRef of Class E_playerAccount = GetAccountID()
  if acct != None
    char as NodeRef of Class E_playerCharacter = acct.GetMyCharacter()
    return char
  .
  return None
.


ScriptError:GOM::getVariableReferenceFromNode (10823): requested node ID (0) not found
Here it is not finding the node, which I believe is the node --> acct.ridePointer


from the original I see:

Code: [Select]
  ride as NodeRef of Class RideObject = acct.ridePointer

  // save current object we are riding
  println("riding "+object+"  Dir "+direction)
  ride.rideDirection = direction
  ride.rideNode = object
  ride.ridePosition = ObjLocate


Here we are using the class RideObject as a pointer to set our values, and ride as noderef is created

from your insert I see:

Code: [Select]
  acct as NodeRef of Class E_playerAccount = GetAccountID()

  // save current object we are riding
  println("riding "+object+"  Dir "+direction)
  acct.ridePointer.rideDirection = direction    //here is where the error shows up, here's line 62
  acct.ridePointer.rideNode = object
  acct.ridePointer.ridePosition = ObjLocate


Here they are being set into the account (with offset).
Is the class RideObject added to E_playerAccount ?
Is ridePointer a field or class ?

could it make a difference enough to cause an error? unsure

5
Have you tried changing the zoom factor by which it moves towards the character in mousewheel() ?  There might also be a setMinDistance function in the _external functions client side, which might be keeping it from getting closer.


I sometimes scan thru those helpful functions in the external files to see other features the engine has, but does not always show right out front. They have them organized by categories. It might be somewhere the bounding box function.

I have added a few pics on discord to show how close we have the camera setting - min dist.

6
In the opening scene: this is using Panto() in the character selection area, a function from Externalfunctions script.  Then its set to follow the character around in area, but from 1 side only. (limiting, making it seem like fake 3d). When player char dies, the camera uses another Panto() type function (preset following pattern) spinning around the character. During the fight, it appears as though the player can also zoom in and out using the mouse wheel.

7
GUI Creation / Re: Can't edit prototype
« on: Aug 04, 20, 08:44:56 PM »
glad its fixed and working

8
GUI Creation / Re: Can't edit prototype
« on: Aug 04, 20, 12:40:05 PM »
in the gui, look for ignore mouse events, setting this to true, means the mouse will not be able to move it, and the cross arrow will not show  up.

edit:
you can also make another class UL_B_SelWindow (or something similar) and inherit from that, making that gui the way you want it to look.

9
GUI Creation / Re: Can't edit prototype
« on: Aug 04, 20, 12:30:19 PM »
GuiPanel is the class for which _panel is the prototype.

The window also has a dockmode, where you can make the whole window docked on the right.

I have replicated the error changing the inherited to _panel

Did you make a class UL_B_Window ? Then create a prototype from this, and use this as the inherit for the UL_B_CharacterSelectionWindow xml file.

10
GUI Creation / Re: Can't edit prototype
« on: Aug 04, 20, 11:51:45 AM »
could you expand upon some details?

The top line  in the xml file, and the code for UL_B_CharacterSelectionWindowClassMethods the function the error is in.

11
GUI Creation / Re: Can't edit prototype
« on: Aug 04, 20, 09:30:50 AM »
Try changing the inheritance from _panel to _GUIBaseWindow.
There are a few fields in this class that are not in the other class.

12
Scripting & Programming / Re: Parents replicate for kids?
« on: Jan 31, 20, 10:53:39 AM »
In the wiki i found this -> "When a class inherits from another class, it also inherits the replication parameters of its parent class. "
which is good knowing it should work. I am just missing something.

though i do not see the replication triggering the Println() functions to show the info.

isolate and force value for a check.

13
Scripting & Programming / Re: Parents replicate for kids?
« on: Jan 30, 20, 03:56:00 PM »
hmm client crash (might be internet here) then restart and parts now seem working, buff show on buffbar, but not in list

Code: [Select]

// fields getting updated
shared function _OnReplicationFieldUpdated(updateNode as NodeRef, updateField as String)
  println("Field updated:"+updateNode+ " name:"+updateField)
  when toLower(updateField)
    is "eo_buffsavelist"
      $LightweightEvents.raiseLightweightEvent(updateNode, "buffsUpdated", 0)
    .
  .
.


// check for values changing
method lightweightEventRaised(subject as ID, eventType as String, data as NodeRef)
  char as NodeRef of Class E_CommonCharacter = subject
  println("lightweightEventRaised  subject:"+subject+ " eventType:"+eventType)

  if char != None
    when eventType
      is "buffsUpdated"
        me.SettTargetBuffs(char, char.EO_BuffSaveList)
      .
    .
  .
.

// show buffs of npcs in target buff area
method SettTargetBuffs(target as NodeRef of Class E_CommonCharacter, buffs as List of Class EO_Buff)
  var info = E_playerAccountClassMethods:getSkillSpecInfo()

  var buff = getTargBuffs()
  buff.EO_BuffSaveList = buffs     // save info on GUI
  key as ID

  // check all of player buffs
  loop i from 1 to 12
    if buffs[i].displayName <> "none"
      key = buffs[i].SpecKey
      if key <> 0
        println("buff "+i+"  name "+buffs[i].displayName+"   key "+key)

        var skill = getTargBuffSlot(i)                   // get current slot
        skill.setSkillTexture(info[key].EO_skillIconID)  // set texture
        skill.SpecKey = info[key].SpecKey                // save key for tooltip
      .
    .
  .
.

//=================================================================================================
// target buffs
function getTargBuffs() as NodeRef of Class TMP_Buffs
  return FindGuiControlByName(None, "game.Targbuffbar")
.

// pointer to the skill in slot
function getTargBuffSlot(slot as Integer) as NodeRef of Class EO_SkillIcon
  return FindGuiControlByName(None, "game.Targbuffbar.slot"+slot+".skillPic")
.


14
Scripting & Programming / Parents replicate for kids?
« on: Jan 30, 20, 03:44:58 PM »
E_commonCharacter is a parent for both E_playerCharacter and E_nonPlayerCharacter

When I add a field to E_playerCharacter class and set it to replicate, it will replicate from server to client side, and it shows in the _OnReplicationFieldUpdated() function.

When I add a field to E_nonPlayerCharacter class it works the same way.

When I add the field to E_commonCharacter (the parent of both) and set it to replicate,  it does not replicate to the child class.

example:
class Buffs has fields in it: displayname, speckey, statsEffected, buffername

BuffSaveList as list of class Buffs, has replication set to client side

This field is added to E_commonCharacter and set to replicate and the BuffSaveList should replicate to clientside
I can see the bufflist on the server side with the buff added, but the buff wont show in the bufflist on the client side.

I have added replicate with the class Buffs to client side also, and the fields in the buffs class.

Still not replicating :(
Ideas??

15
This tutorial is inherited by other GUIs. They can use it for a starting point and add to it. It wont show by itself.

Pages: [1] 2 3 ... 78