1725 if lua_gettop(L) <> 1 then |
1725 if lua_gettop(L) <> 1 then |
1726 LuaError('Lua: Wrong number of parameters passed to HideHog!') |
1726 LuaError('Lua: Wrong number of parameters passed to HideHog!') |
1727 else |
1727 else |
1728 begin |
1728 begin |
1729 gear:= GearByUID(lua_tointeger(L, 1)); |
1729 gear:= GearByUID(lua_tointeger(L, 1)); |
1730 hiddenHedgehogs[hiddenHedgehogsNumber]:=gear^.hedgehog; |
1730 HideHog(gear^.hedgehog) |
1731 inc(hiddenHedgehogsNumber); |
|
1732 HideHog(gear^.hedgehog); |
|
1733 end; |
1731 end; |
1734 lc_hidehog := 0; |
1732 lc_hidehog := 0; |
1735 end; |
1733 end; |
1736 |
1734 |
1737 function lc_restorehog(L: Plua_State): LongInt; Cdecl; |
1735 function lc_restorehog(L: Plua_State): LongInt; Cdecl; |
1738 var hog: PHedgehog; |
1736 var hog: PHedgehog; |
1739 i, j: LongInt; |
1737 i, h: LongInt; |
|
1738 uid: LongWord; |
1740 begin |
1739 begin |
1741 if lua_gettop(L) <> 1 then |
1740 if lua_gettop(L) <> 1 then |
1742 LuaError('Lua: Wrong number of parameters passed to RestoreHog!') |
1741 LuaError('Lua: Wrong number of parameters passed to RestoreHog!') |
1743 else |
1742 else |
1744 begin |
1743 begin |
1745 i := 0; |
1744 uid:= LongWord(lua_tointeger(L, 1)); |
1746 while (i < hiddenHedgehogsNumber) do |
1745 if TeamsCount > 0 then |
1747 begin |
1746 for i:= 0 to Pred(TeamsCount) do |
1748 if hiddenHedgehogs[i]^.gearHidden^.uid = LongWord(lua_tointeger(L, 1)) then |
1747 for h:= 0 to cMaxHHIndex do |
1749 begin |
1748 if (TeamsArray[i]^.Hedgehogs[h].GearHidden <> nil) and (TeamsArray[i]^.Hedgehogs[h].GearHidden^.uid = uid) then |
1750 hog := hiddenHedgehogs[i]; |
1749 begin |
1751 RestoreHog(hog); |
1750 RestoreHog(@TeamsArray[i]^.Hedgehogs[h]); |
1752 dec(hiddenHedgehogsNumber); |
1751 exit(0) |
1753 for j := i to hiddenHedgehogsNumber - 1 do |
1752 end |
1754 hiddenHedgehogs[j] := hiddenHedgehogs[j + 1]; |
|
1755 lc_restorehog := 0; |
|
1756 exit; |
|
1757 end; |
|
1758 inc(i); |
|
1759 end; |
|
1760 end; |
1753 end; |
1761 lc_restorehog := 0; |
1754 lc_restorehog := 0; |
1762 end; |
1755 end; |
1763 |
1756 |
1764 // boolean TestRectForObstacle(x1, y1, x2, y2, landOnly) |
1757 // boolean TestRectForObstacle(x1, y1, x2, y2, landOnly) |
1781 ); |
1774 ); |
1782 lua_pushboolean(L, rtn); |
1775 lua_pushboolean(L, rtn); |
1783 end; |
1776 end; |
1784 lc_testrectforobstacle:= 1 |
1777 lc_testrectforobstacle:= 1 |
1785 end; |
1778 end; |
|
1779 |
|
1780 |
|
1781 function lc_setaihintsongear(L : Plua_State) : LongInt; Cdecl; |
|
1782 var gear: PGear; |
|
1783 begin |
|
1784 if lua_gettop(L) <> 2 then |
|
1785 LuaError('Lua: Wrong number of parameters passed to SetAIHintOnGear!') |
|
1786 else |
|
1787 begin |
|
1788 gear:= GearByUID(lua_tointeger(L, 1)); |
|
1789 if gear <> nil then |
|
1790 gear^.aihints:= lua_tointeger(L, 2); |
|
1791 end; |
|
1792 lc_setaihintsongear:= 0 |
|
1793 end; |
|
1794 |
1786 /////////////////// |
1795 /////////////////// |
1787 |
1796 |
1788 procedure ScriptPrintStack; |
1797 procedure ScriptPrintStack; |
1789 var n, i : LongInt; |
1798 var n, i : LongInt; |
1790 begin |
1799 begin |
2284 ScriptSetInteger('gstWait' ,$00020000); |
2293 ScriptSetInteger('gstWait' ,$00020000); |
2285 ScriptSetInteger('gstNotKickable' ,$00040000); |
2294 ScriptSetInteger('gstNotKickable' ,$00040000); |
2286 ScriptSetInteger('gstLoser' ,$00080000); |
2295 ScriptSetInteger('gstLoser' ,$00080000); |
2287 ScriptSetInteger('gstHHGone' ,$00100000); |
2296 ScriptSetInteger('gstHHGone' ,$00100000); |
2288 ScriptSetInteger('gstInvisible' ,$00200000); |
2297 ScriptSetInteger('gstInvisible' ,$00200000); |
|
2298 |
|
2299 ScriptSetInteger('aihUsualProcessing' ,$00000000); |
|
2300 ScriptSetInteger('aihDoesntMatter' ,$00000001); |
2289 |
2301 |
2290 // register functions |
2302 // register functions |
2291 lua_register(luaState, _P'HideHog', @lc_hidehog); |
2303 lua_register(luaState, _P'HideHog', @lc_hidehog); |
2292 lua_register(luaState, _P'RestoreHog', @lc_restorehog); |
2304 lua_register(luaState, _P'RestoreHog', @lc_restorehog); |
2293 lua_register(luaState, _P'SaveCampaignVar', @lc_savecampaignvar); |
2305 lua_register(luaState, _P'SaveCampaignVar', @lc_savecampaignvar); |
2378 lua_register(luaState, _P'SetHogHat', @lc_sethoghat); |
2390 lua_register(luaState, _P'SetHogHat', @lc_sethoghat); |
2379 lua_register(luaState, _P'PlaceGirder', @lc_placegirder); |
2391 lua_register(luaState, _P'PlaceGirder', @lc_placegirder); |
2380 lua_register(luaState, _P'GetCurAmmoType', @lc_getcurammotype); |
2392 lua_register(luaState, _P'GetCurAmmoType', @lc_getcurammotype); |
2381 lua_register(luaState, _P'TestRectForObstacle', @lc_testrectforobstacle); |
2393 lua_register(luaState, _P'TestRectForObstacle', @lc_testrectforobstacle); |
2382 |
2394 |
|
2395 lua_register(luaState, _P'SetGearAIHints', @lc_setaihintsongear); |
|
2396 |
2383 |
2397 |
2384 ScriptClearStack; // just to be sure stack is empty |
2398 ScriptClearStack; // just to be sure stack is empty |
2385 ScriptLoaded:= false; |
2399 ScriptLoaded:= false; |
2386 end; |
2400 end; |
2387 |
2401 |