[TD] Tower Selling trigger problem!

Idance

New Member
Reaction score
4
I've been looking around for the forums and all I've found is exactly the same as what I have, but this is not working for me!

Trigger:
  • Sell Function
    • Acontecimientos
      • Unidad - A unit Inicia el efecto de una habilidad
    • Condiciones
      • (Ability being cast) Igual a Sell Tower
    • Acciones
      • Jugador - Add ((Point-value of (Triggering unit)) x (Integer(0.75))) to (Owner of (Triggering unit)) Oro actual
      • Efecto especial - Create a special effect at (Position of (Triggering unit)) using UI\Feedback\GoldCredit\GoldCredit.mdl
      • Unidad - Remove (Triggering unit) from the game


And yes, I've set the point-value to all my towers :(
 

Guest3z

New Member
Reaction score
22
Trigger:
  • Jugador - Add ((Point-value of (Triggering unit)) x (Integer(0.75))) to (Owner of (Triggering unit)) Oro actual

Try changing (Integer(0.75))) to just 0.75 as a real, it might be rounding down the integer to 0
 

canons200

New Member
Reaction score
50
yes, just as Guest3Z said. Integer can't have the value 0.75, integer must be round number such as 1,2,3, integer can't be 1.37, 3.28, which is decimal number.

just put the value 0.75, no need to convert into integer.
 

xz-master

New Member
Reaction score
2
This is my sell-trigger - works like a charm.
But it looks funny on the Forum? I converted it to text and pasted it :S

Edit/ I'm using Reign of Chaos Editor.


Trigger:
  • function Trig_Sell_Conditions takes nothing returns boolean
    • if ( not ( GetUnitTypeId(GetTrainedUnit()) == 'h001' ) ) then
      • return false
    • endif
    • return true
    • endfunction
    • function Trig_Sell_Actions takes nothing returns nothing
      • call ExplodeUnitBJ( GetTriggerUnit() )
      • call RemoveUnit( GetTrainedUnit() )
      • call AdjustPlayerStateBJ( GetUnitPointValue(GetTriggerUnit()), GetOwningPlayer(GetTrainedUnit()), PLAYER_STATE_RESOURCE_GOLD )
      • call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetTrainedUnit())), ( ( "|c0000ff00You Recieved |r" + I2S(GetUnitPointValue(GetTriggerUnit())) ) + ( "|c0000ff00 gold for selling a |r" + GetUnitName(GetTriggerUnit()) ) ) )
    • endfunction
    • //===========================================================================
    • function InitTrig_Sell takes nothing returns nothing
      • set gg_trg_Sell = CreateTrigger( )
      • call TriggerRegisterPlayerUnitEventSimple( gg_trg_Sell, Player(0), EVENT_PLAYER_UNIT_TRAIN_FINISH )
      • call TriggerRegisterPlayerUnitEventSimple( gg_trg_Sell, Player(1), EVENT_PLAYER_UNIT_TRAIN_FINISH )
      • call TriggerRegisterPlayerUnitEventSimple( gg_trg_Sell, Player(2), EVENT_PLAYER_UNIT_TRAIN_FINISH )
      • call TriggerRegisterPlayerUnitEventSimple( gg_trg_Sell, Player(3), EVENT_PLAYER_UNIT_TRAIN_FINISH )
      • call TriggerAddCondition( gg_trg_Sell, Condition( function Trig_Sell_Conditions ) )
      • call TriggerAddAction( gg_trg_Sell, function Trig_Sell_Actions )
    • endfunction
 

tooltiperror

Super Moderator
Reaction score
231
You're not supposed to convert to custom text.
 

UndeadDragon

Super Moderator
Reaction score
447
Trigger:
  • Integer(((Point-value of (Triggering unit)) x (0.75)))


That would give you a more accurate value, whilst still keeping the end value an integer.
 

Idance

New Member
Reaction score
4
Finally with your help and my low skills I managed to do it! Thanks! Here's the full code, If anyone's interested:

Trigger:
  • Sell Function
    • Acontecimientos
      • Unidad - A unit Inicia el efecto de una habilidad
    • Condiciones
      • (Ability being cast) Igual a |c00E8AD26S|rell Tower
    • Acciones
      • Jugador - Add (Integer(((Real((Point-value of (Unit-type of (Triggering unit))))) x 0.75))) to (Owner of (Triggering unit)) Oro actual
      • Efecto especial - Create a special effect at (Position of (Triggering unit)) using UI\Feedback\GoldCredit\GoldCredit.mdl
      • Partida - Display to (Player group((Owner of (Triggering unit)))) the text: (You sold + ((Name of (Triggering unit)) + ( for + ((String((Integer(((Real((Point-value of (Unit-type of (Triggering unit))))) x 0.75))))) + gold!))))
      • Unidad - Remove (Triggering unit) from the game
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top