"Expected a function name"

LoveTD's

New Member
Reaction score
34
hi guys, I'm having a little problem in this line, I have a variable called: SimError and it's a sound. Please don't tell me that it is someone elses code I know, I forgot who's code it was and I really need it so I imported it into my map but some lines aren't working :D

this is the trigger:

Code:
constant function SkillPointsGiven takes nothing returns integer
    return 5
endfunction    

constant function AgilityRawCode takes nothing returns integer
    return 'A002'
endfunction

constant function IntelligenceRawCode takes nothing returns integer
    return 'A004'
endfunction

constant function StrengthRawCode takes nothing returns integer
    return 'A001'
endfunction

function Trig_Atrribute_System_Actions takes nothing returns nothing
    local unit u=GetLevelingUnit()
    set udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] = udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))]+ SkillPointsGiven()
endfunction

function Add_Strength_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == StrengthRawCode() 
endfunction

function Add_Strength_Actions takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local integer Str=GetHeroStr(u,false)+1
if udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] >0 then
    set udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] = udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] - 1 
    call SetHeroStr(u,Str,true)
    call DisplayTimedTextToPlayer( GetOwningPlayer(u), 0.52, -1.00, 2.00, "|cffff0000You have|r " + I2S(udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))]) + " |cffff0000attribute points left!|r" )
else 
    call SimError(GetOwningPlayer(u),"Not enough attribute points left")
endif
endfunction

function Add_Intelligence_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == IntelligenceRawCode() 
endfunction

function Add_Intelligence_Actions takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local integer Int=GetHeroInt(u,false)+1
if udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] >0 then
    set udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] = udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] - 1 
    call SetHeroInt(u,Int,true)
    call DisplayTimedTextToPlayer( GetOwningPlayer(u), 0.52, -1.00, 2.00, "|cffff0000You have|r " + I2S(udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))]) + " |cffff0000attribute points left!|r" )
else 
    call SimError(GetOwningPlayer(u),"Not enough attribute points left")
endif
endfunction

function Add_Agility_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == AgilityRawCode() 
endfunction

function Add_Agility_Actions takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local integer Agi=GetHeroAgi(u,false)+1
if udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] >0 then
    set udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] = udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))] - 1 
    call SetHeroAgi(u,Agi,true)
    call DisplayTimedTextToPlayer( GetOwningPlayer(u), 0.52, -1.00, 2.00, "|cffff0000You have|r " + I2S(udg_A_SkillPointsLeft[GetConvertedPlayerId(GetOwningPlayer(u))]) + " |cffff0000attribute points left!|r" )
else 
    call SimError(GetOwningPlayer(u),"Not enough attribute points left")
endif
endfunction

//===========================================================================
function InitTrig_Atrribute_System takes nothing returns nothing
    local trigger A_Agi=CreateTrigger()
    local trigger A_Str=CreateTrigger()
    local trigger A_Int=CreateTrigger()
    set gg_trg_Atrribute_System = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Atrribute_System, EVENT_PLAYER_HERO_LEVEL )
    call TriggerAddAction( gg_trg_Atrribute_System, function Trig_Atrribute_System_Actions )
    
    call TriggerRegisterAnyUnitEventBJ( A_Agi, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( A_Agi, Condition( function Add_Agility_Conditions ) )
    call TriggerAddAction( A_Agi, function Add_Agility_Actions )
    
    call TriggerRegisterAnyUnitEventBJ( A_Str, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( A_Str, Condition( function Add_Strength_Conditions ) )
    call TriggerAddAction( A_Str, function Add_Strength_Actions )
    
    call TriggerRegisterAnyUnitEventBJ( A_Int, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( A_Int, Condition( function Add_Intelligence_Conditions ) )
    call TriggerAddAction( A_Int, function Add_Intelligence_Actions )
endfunction

and this ones are the problems:

Code:
else 
    call SimError(GetOwningPlayer(u),"Not enough attribute points left")
Code:
else 
    call SimError(GetOwningPlayer(u),"Not enough attribute points left")
Code:
else 
    call SimError(GetOwningPlayer(u),"Not enough attribute points left")

3 times because all different spots :D
eather way is there anny way I can fix this? thanks in advanced :thup:
 

LoveTD's

New Member
Reaction score
34
sry I'm not verry familliar with jass just wanted to import it :D can you explain to me what this means?
 

Flare

Stops copies me!
Reaction score
662
Map header = At the top of your trigger listing, there should be something which is <yourmapname>.w3x or .w3m depending on whether you are using tft or roc. That's the map header.

Alternatively, just copy the SimError code into your trigger, above everything else.

I can't really remember what would cause an 'Expected a function name' error
 

T.s.e

Wish I was old and a little sentimental
Reaction score
133
If you do it that way, then it has to be a function. To play a sound use this: call PlaySound()
It is a BJ though.

Edited due to Flare's reply.
 

LoveTD's

New Member
Reaction score
34
well I'm not sure if it plays a sound because the guy who made the trigger had a variable called SimError without anny sound, (a sound variable without a sound). His one worked but mine didn't I'm quite sure I shouldn't do it that way :D

Alternatively, just copy the SimError code into your trigger, above everything else.

I don't get it, what part of the error should I copy and where do I have to paste it:p?

Nevermind, I see where to paste it but still I don't know what to copy :D
 

Sooda

Diversity enchants
Reaction score
318
Open link: here. Copy paste that function to your mapheader. Open Variable Editor, create sound variable named 'SimError' (it's case sensitive and without '') and you are done.
 
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