Some problems i have encountered...

Romek

Super Moderator
Reaction score
963
1) You obviously don't. Variable names are case-sensitive, so make sure it's Region, and not region or ReGiOn.

2) That's because there are function calls above that local.
You can only declare locals at the top of a function, before any function calls.

JASS:
//correct:
function ...
  local unit u = GetTriggerUnit()
  local real x
  call KillUnit(u)
endfunction


JASS:
//wrong:
function ...
  local unit u = GetTriggerUnit()
  call KillUnit(u)
  local real x // Local after a function.
endfunction
 
Reaction score
456
> gg_rct_Region gives me an error saying "undeclared variable gg_rct_Region" and a i have a region with the name Region in my map
You've done something wrong. If you had a region called "Region", it would not give that error.

> And another problem, i get a error "Local Declaration after first statement"
Locals have to be declared on top of the function. Pasting the full code always helps.
 

Charapanga

New Member
Reaction score
46
I edited a custom script "Center Region<gen> on (center of playable map area)" and then it gave me gg_rct_Region and i copy and pasted it to another trigger, now when i check he syntax(syntax checker) and it gaves me undeclared variable, but it clearly works in GUI

as for the second one...thanx
 

Romek

Super Moderator
Reaction score
963
Mind posting the code which gives you the gg_rct_Region error?
 

Charapanga

New Member
Reaction score
46
Edited the region name and the code to the EXACT name, copy+pasted it...Well the code is a simple revive trigger(it's really simple but it works)
The thing is, it works, but it gives me a syntax error
JASS:
function Trig_Revival_Conditions takes nothing returns boolean
    return IsUnitType(GetDyingUnit(), UNIT_TYPE_HERO) == true 
endfunction

function Trig_Revival_Cond2 takes timer t returns boolean
    return ( TimerGetRemaining(t) &lt;= 0.50 )
endfunction

function Trig_Revival_Actions takes nothing returns nothing
    local unit u = GetDyingUnit()
    local player p = GetOwningPlayer(u)
    local timer t = CreateTimer()
    local timerdialog td = null
    call StartTimerBJ( t, false, ( 10.00 * I2R(GetUnitLevel(u)) ) )
    set t = GetLastCreatedTimerBJ()
    set td = CreateTimerDialogBJ( GetLastCreatedTimerBJ(), GetUnitName(u) )
    call TimerDialogDisplayBJ( true, td )
    loop
        exitwhen ( Trig_Revival_Cond2(t) )
        call TriggerSleepAction(RMaxBJ(bj_WAIT_FOR_COND_MIN_INTERVAL, 0.50))
    endloop
    call TimerDialogDisplayBJ( false, td )
    call DestroyTimerDialog( td )
    call ReviveHeroLoc( u, GetRectCenter(gg_rct_SpawnPoint), true )
    call PanCameraToTimedLocForPlayer( p, GetRectCenter(gg_rct_SpawnPoint), 1.00 )
    call SelectUnitForPlayerSingle( u, p )
    call DestroyTimer( t )
    set u = null
    set p = null
    set t = null
endfunction

//===========================================================================
function InitTrig_Revival takes nothing returns nothing
    local trigger gg_trg_Revival = CreateTrigger(  )
    call TriggerRegisterPlayerUnitEventSimple( gg_trg_Revival, Player(1), EVENT_PLAYER_UNIT_DEATH )
    call TriggerAddCondition( gg_trg_Revival, Condition( function Trig_Revival_Conditions ) )
    call TriggerAddAction( gg_trg_Revival, function Trig_Revival_Actions )
endfunction
 
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