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 - xSystems

Pages: [1] 2
1
General Discussion / HeroBlade with Linux?
« on: Apr 01, 14, 03:43:53 AM »
Is there a chance to use HE with Linux (ubuntu)?

Don't know how it works with 'Wine' or other emulators when I think about the Shader and something like this.

2
General Discussion / Teamspeak3 Server
« on: Mar 28, 14, 12:16:14 PM »
Hello Community!

We use for our Project and other actions (Games, whateva) a Teamspeak3 Server.

This Server is 24/7 online and you can wait there for other User, can send Text and Files to all.


When you are interested you can save this TS3 Server IP: 46.4.3.227:9980
This Server has 100 Slots (more Slots are no problem) and can be used by HeroEngine User. :)

Have fun there!

3
General Discussion / Re: Hero Engine Developer Skype Group Chat
« on: Mar 28, 14, 12:14:25 PM »
Skype: pelix.eu

4
General Discussion / Re: Early Access?
« on: Mar 25, 14, 02:40:40 PM »
Sounds good, thx.

5
General Discussion / Early Access?
« on: Mar 25, 14, 06:33:13 AM »
Hello,

is there a chance to become a "Early Access" Client like Steam?
A lot of Player pay for Alpha or Pre-Alpha Account :D

What we have to do for this?

PS: The Problem with my Crash are fixed... now i use Win7 for HE. :)

6
Developer Created Tutorials / Re: Basic Exit game window
« on: Mar 21, 14, 11:57:02 AM »
But when i use it with "game." then i cant close when i press ESC again, i become a new Window...

7
Developer Created Tutorials / Re: Basic Exit game window
« on: Mar 21, 14, 05:30:12 AM »
No its there, thats why i dont understand :/

Ok i found the error....

When i use this:
Code: [Select]
win as NodeRef of Class TMP_LogoutWindow = FindGUIControlByName(None, "game.TMP_LogoutWindow" )
it doesnt work... i have to use this:
Code: [Select]
  win as NodeRef of Class TMP_LogoutWindow = FindGUIControlByName(None, "TMP_LogoutWindow" )

8
Developer Created Tutorials / Re: Basic Exit game window
« on: Mar 20, 14, 04:05:03 PM »
When i press ESC aigain there is a new Window.... and again again .... then i have 10 Win open.

And the Buttons in the Win after click logout isnt correct... what can i do?

9
General Discussion / Re: Reset World, Scripts, etc.
« on: Mar 20, 14, 01:03:05 PM »
Thx a lot ... Why here is no thx button in the forum? :P

10
General Discussion / Re: Reset World, Scripts, etc.
« on: Mar 20, 14, 11:53:23 AM »
How i can do a map back to organizer list after removing there?

11
General Discussion / Re: Reset World, Scripts, etc.
« on: Mar 20, 14, 10:00:33 AM »
How i can delete Maps permanent? When i delete with the Browser there are not really deletet...

12
General Discussion / Reset World, Scripts, etc.
« on: Mar 20, 14, 09:00:52 AM »
Hello,

is there a chance to reset all in my world to the date where the world is setup for me?
Only the Basic-Scripts, GFX, etc....

We have to much add "Script-Troll-Shit" and we dont know what is right and not right for us.
Thats we want to start with a empty project like after setup. :/

//EDIT: Ok there is no chance to become a clean new world but is there a chance to delete all custom scripts and reset the "standard" and "demo" scripts?

13
Developer Created Tutorials / Re: Simple mana system
« on: Mar 20, 14, 06:24:33 AM »
Problem is fix, thx for help. :)

14
Developer Created Tutorials / Re: Simple mana system
« on: Mar 19, 14, 03:07:50 PM »
Code: [Select]
method InitCommonCharacter()
  // initialize abilities
  clear me.E_abilities destroy 
  foreach abilityGrant in me.GetAbilityGrants()   
    ability as NodeRef of Class E_Ability = MiscUtils:CreateNode( "E_Ability", IsPersistentNode( me ) )
    ability.E_script = abilityGrant
    me.AddAbility( ability )
  .
 
  // initialize stats
  me.E_hitPoints = 100
  me.E_manaPoints = 100
  me.E_isDead = false
 
  // start regen tick
  if( me.E_regenTimer.timerState == ON )
    me.E_regenTimer.stop()
  .
  me.E_regenTimer.fireRate = 00:00:01
  me.E_regenTimer.start()
.

method GetAbilityGrants() as List of ScriptRef
  // override to define ability grants
  abilityGrants as List of ScriptRef
  return abilityGrants
.

method AddAbility( ability as NodeRef of Class E_Ability ) 
  // add ability, association, etc
  add back ability to me.E_abilities
  AddAssociation( me, "base_hard_association", ability )
.

method FindAbilityByScript( script as ScriptRef ) as NodeRef of Class E_Ability
  // find ability by customization script
  foreach ability in me.E_abilities
    if( ability.E_script == script )
      return ability
    .
  .
  return None
.

method IsAttackable() as Boolean
  if me.E_isDead
    return false
  .
  if me.E_IsImmune
    return false
  .
  return true
.

method IsInCombat() as Boolean
  return false
.

method IsDead() as Boolean
  return me.E_isDead
.

method AdjustHealth( healthDelta as Integer, attacker as NodeRef, ability as NodeRef of Class E_Ability, isCritical as Boolean )
 
  // apply damage
  me.E_hitPoints = MiscUtils:Min( me.E_hitPoints + healthDelta, 100 )
 
  // raise remote event 
  interestSet as List of ID
  MiscUtils:QueryRemoteInterestSet( me.GetInterestSetSubjectNode(), interestSet )
  foreach accountID in interestSet   
    call client accountID E_CommonCharacterClassMethods:OnCombatEvent( ability.E_script, attacker, me, healthDelta, isCritical )
  .
 
  // handle death
  if( me.E_hitPoints <= 0 )
    me.ApplyDeath( attacker )   
  .
.

method ApplyDeath( killer as NodeRef of Class E_CommonCharacter ) as Boolean
  if me.E_isDead
    // how do you kill what is already dead?
    return false
  .
 
  me.E_isDead = true
  me.E_hitPoints = 0
  me.E_manaPoints = 0
  // TODO: play death animation
 
  // prep messaging
  exclude as List of ID
 
  where killer is kindof E_playerCharacter
    msg as String = "You killed " + me.name + "."
    where me is kindof E_nonPlayerCharacter
      // player killed a creature, so give him/her rewards
      xp as Integer = 10 + me.E_level
      killer.E_experiencePoints = killer.E_experiencePoints + xp
      msg = msg + "  You gain " + xp + "xp and "
     
      wealth as Integer = RandomInteger( 12, 22 )
      killer.E_wealth = killer.E_wealth + wealth
      msg = msg + " collect " + wealth + " gold from it!"
    .
   
    // do messaging to the killer
    $CHAT.ChatPlayer( killer, "System", msg )
    add back killer to exclude
  .
 
  // do messaging to target if appropriate
  if me is kindof E_playerCharacter
    $CHAT.ChatPlayer( me, "System", killer.name + " killed you!" )
    add back me to exclude
  .
 
  // do messaging to everyone else
  $CHAT.ChatExcludeList( exclude, "System", killer.name + " killed " + me.name + "." )
 
  // check for level up after other messaging is complete
  if killer is kindof E_playerCharacter
    killer.ProcessXPGain()
  .
  me.E_deathTimer.fireRate = me.GetDeathTime()
  me.E_deathTimer.start()
  where me is kindof E_AiAgent
    $E_CharDriver._DriverClearPoints( me, true )
  .
  return true
.

method ApplyLife() as Boolean
  if not me.E_isDead
    return false
  .
  me.E_isDead = false
  me.E_hitPoints = 100
  me.E_manaPoints = 100
  me._TeleportCharacter( me.GetRezzPosition(), me.GetRezzRotation() )
  where me is kindof E_playerCharacter
    target as Class _Target
    target._tgtID = me.GetMyAccount()
    clients as List of ID
    MiscUtils:QueryRemoteInterestSet(me.GetInterestSetSubjectNode(), clients)
    foreach c in clients
      $FXSYSTEM.SendFxToClient(c, 10, target, target)
    .
  .
  return true
.

method GetDeathTime() as TimeInterval
  return 0:0:05
.

method GetRezzPosition() as Vector3
  return me.GetPosition()
.

method GetRezzRotation() as Vector3
  return me.GetRotation()
.

method GetInterestSetSubjectNode() as NodeRef
  // return the subject node used by the spatial awareness system
  return me
.

method E_regenTimer_tick()
  if me.IsDead()
    return
  .
  if me.IsInCombat()
    return
  .
  me.E_hitPoints = MiscUtils:Min( me.E_hitPoints + 10, 100 )
  me.E_manaPoints = MiscUtils:Min(me.E_manaPoints + 10, 100)
.

method E_deathTimer_tick()
  me.ApplyLife()
  me.E_deathTimer.stop()
.

method AdjustMana(manaDelta as Integer, ability as NodeRef of Class E_Ability)
  me.E_manaPoints = MiscUtils:Min(me.E_manaPoints + manaDelta, me.E_manaPoints) 
.

Code: [Select]
method lightweightEventRaised(subject as ID, eventType as String, data as NodeRef)
  when eventType
    is "nameUpdated"
      char as NodeRef of Class E_CommonCharacter = subject
      if char != None
        me.SetName(char.name)
      .     
    .
    is "hpUpdated"
      char as NodeRef of Class E_CommonCharacter = subject
      if char != None
        me.SetHP(char.E_hitPoints)
      . 
    .
    is "mpUpdated"
      char as NodeRef of Class E_CommonCharacter = subject
      if char != None
        me.SetMP(char.E_manaPoints)
      . 
    .
  .
.
method SetName(name as String)
  nameLabel as NodeRef of Class GUILabel = FindGUIControlByName(me,"nameLabel")
  nameLabel.text = name
.
method SetHP(hp copies Integer)
  if hp < 0
    hp = 0
  .
  healthSlider as NodeRef of Class GUIControl = FindGUIControlByName(me, "healthPanel.healthSlider")
  healthSlider.removeAnimations()
  var size = -1.0 * hp
  //1 field(string), the field on the GUIControl to such as size.x or defaultStatePresentation.color.a
  //2 min(float) (this is NOT the start value for the animation. That is the current value of the field to which you are applying the min/max values)
  //3 max(float)
  //4 duration in seconds(float)
  //5 repeat count(integer) (0=repeat infinitely, 1-n do animation that number of times)
  //6 reverse(boolean), forward and backward(true), or just forward(false)
  //7 curve(Enum of type interpolation curve), LINEAR, HOLD, EASE_IN, EASE_OUT, SMOOTH
  //8 restore(boolean), restores the orignal value after the animation is finished
  //9 delay in seconds(float), the amount of time to wait before actually starting the animation
  //10 id(string), the ID of the animation
  animationString as String = "size.x,"
  animationString = animationString + healthSlider.size.x + ","
  animationString = animationString + size +","
  animationString = animationString + .1 + ","
  animationString = animationString + 1 + ","
  animationString = animationString + "false,"
  animationString = animationString + "LINEAR," 
  animationString = animationString + "false,"
  animationString = animationString + "0,"
  animationString = animationString + "slide"
 
  GUIAnimation:addAnimation(healthSlider, "Interpolate", animationString)
.

method SetMP(mp copies Integer)
  if mp < 0
    mp = 0
  .
  manaSlider as NodeRef of Class GUIControl = FindGUIControlByName(me, "manaPanel.manaSlider")
  manaSlider.removeAnimations()
  var size = -1.0 * mp
 
  animationString as String = "size.x,"
  animationString = animationString + manaSlider.size.x + ","
  animationString = animationString + size +","
  animationString = animationString + .1 + ","
  animationString = animationString + 1 + ","
  animationString = animationString + "false,"
  animationString = animationString + "LINEAR," 
  animationString = animationString + "false,"
  animationString = animationString + "0,"
  animationString = animationString + "slide"
 
  GUIAnimation:addAnimation(manaSlider, "Interpolate", animationString)
.

The Manabar is a copy of the Healthbar with name manaPanel and manaSlider.

15
Developer Created Tutorials / Re: Simple mana system
« on: Mar 18, 14, 05:23:40 AM »
Sorry for new Post but i need help.... the System works, when i set the cost to 100 for fireball then i can cast it and have to wait. But the Manabar.... dont work :(

Pages: [1] 2