hedgewars/uScript.pas
changeset 5294 67278f1cba2c
parent 5277 09beef0752ab
child 5313 5e18eaef65d0
equal deleted inserted replaced
5247:bf6d4bc531d2 5294:67278f1cba2c
   655             lua_pushnil(L);
   655             lua_pushnil(L);
   656         end;
   656         end;
   657     lc_gethogname:= 1
   657     lc_gethogname:= 1
   658 end;
   658 end;
   659 
   659 
       
   660 function lc_sethogname(L : Plua_State) : LongInt; Cdecl;
       
   661 var gear : PGear;
       
   662   hogName: ShortString;
       
   663 begin
       
   664     if lua_gettop(L) <> 2 then
       
   665         begin
       
   666         LuaError('Lua: Wrong number of parameters passed to SetHogName!');
       
   667         lua_pushnil(L)
       
   668         end
       
   669     else
       
   670         begin
       
   671         gear:= GearByUID(lua_tointeger(L, 1));
       
   672         if (gear <> nil) and (gear^.Kind = gtHedgehog) and (gear^.Hedgehog <> nil) then
       
   673 
       
   674 	    hogName:= lua_tostring(L, 2);
       
   675             gear^.Hedgehog^.Name:= hogName;
       
   676 
       
   677 	    FreeTexture(gear^.Hedgehog^.NameTagTex);
       
   678             gear^.Hedgehog^.NameTagTex:= RenderStringTex(gear^.Hedgehog^.Name, gear^.Hedgehog^.Team^.Clan^.Color, fnt16);
       
   679 
       
   680         end;
       
   681     lc_sethogname:= 0;
       
   682 end;
       
   683 
   660 function lc_gettimer(L : Plua_State) : LongInt; Cdecl;
   684 function lc_gettimer(L : Plua_State) : LongInt; Cdecl;
   661 var gear : PGear;
   685 var gear : PGear;
   662 begin
   686 begin
   663     if lua_gettop(L) <> 1 then
   687     if lua_gettop(L) <> 1 then
   664         begin
   688         begin
   825             end
   849             end
   826         end;
   850         end;
   827     lc_switchhog:= 0
   851     lc_switchhog:= 0
   828 end;
   852 end;
   829 
   853 
   830 function lc_addammo(L : Plua_State) : LongInt; Cdecl;
   854 {function lc_addammo(L : Plua_State) : LongInt; Cdecl;
   831 var gear : PGear;
   855 var gear : PGear;
   832 begin
   856 begin
   833     if lua_gettop(L) <> 2 then
   857 
   834         begin
   858     if lua_gettop(L) = 3 then
   835         LuaError('Lua: Wrong number of parameters passed to AddAmmo!');
   859     begin
   836         end
   860 	gear:= GearByUID(lua_tointeger(L, 1));
   837     else
   861         if (gear <> nil) and (gear^.Hedgehog <> nil) then
   838         begin
   862             AddAmmoAmount(gear^.Hedgehog^, TAmmoType(lua_tointeger(L, 2)), lua_tointeger(L,3) );
   839         gear:= GearByUID(lua_tointeger(L, 1));
   863     end else
       
   864     
       
   865     if lua_gettop(L) = 2 then
       
   866     begin
       
   867 	gear:= GearByUID(lua_tointeger(L, 1));
   840         if (gear <> nil) and (gear^.Hedgehog <> nil) then
   868         if (gear <> nil) and (gear^.Hedgehog <> nil) then
   841             AddAmmo(gear^.Hedgehog^, TAmmoType(lua_tointeger(L, 2)));
   869             AddAmmo(gear^.Hedgehog^, TAmmoType(lua_tointeger(L, 2)));
   842         end;
   870     end else
       
   871     begin
       
   872     	LuaError('Lua: Wrong number of parameters passed to AddAmmo!');
       
   873     end;
       
   874 
       
   875     lc_addammo:= 0;
       
   876 
       
   877 end;}
       
   878 
       
   879 function lc_addammo(L : Plua_State) : LongInt; Cdecl;
       
   880 var gear : PGear;
       
   881 begin
       
   882     if (lua_gettop(L) = 3) or (lua_gettop(L) = 2) then
       
   883         begin
       
   884         gear:= GearByUID(lua_tointeger(L, 1));
       
   885         if (gear <> nil) and (gear^.Hedgehog <> nil) then
       
   886             if lua_gettop(L) = 2 then AddAmmo(gear^.Hedgehog^, TAmmoType(lua_tointeger(L, 2)))
       
   887             else AddAmmo(gear^.Hedgehog^, TAmmoType(lua_tointeger(L, 2)), lua_tointeger(L, 3))
       
   888         end
       
   889     else LuaError('Lua: Wrong number of parameters passed to AddAmmo!');
   843     lc_addammo:= 0
   890     lc_addammo:= 0
   844 end;
   891 end;
   845 
   892 
   846 function lc_sethealth(L : Plua_State) : LongInt; Cdecl;
   893 function lc_sethealth(L : Plua_State) : LongInt; Cdecl;
   847 var gear : PGear;
   894 var gear : PGear;
   854         begin
   901         begin
   855         gear:= GearByUID(lua_tointeger(L, 1));
   902         gear:= GearByUID(lua_tointeger(L, 1));
   856         if gear <> nil then
   903         if gear <> nil then
   857             begin
   904             begin
   858             gear^.Health:= lua_tointeger(L, 2);
   905             gear^.Health:= lua_tointeger(L, 2);
       
   906 
       
   907 	    if (gear^.Kind = gtHedgehog) and (gear^.Hedgehog <> nil) then
       
   908             begin  
       
   909 		RenderHealth(gear^.Hedgehog^);
       
   910             end;
       
   911 
   859             SetAllToActive;
   912             SetAllToActive;
   860             end
   913             end
   861         end;
   914         end;
   862     lc_sethealth:= 0
   915     lc_sethealth:= 0
   863 end;
   916 end;
  1710 lua_register(luaState, 'GetHogClan', @lc_gethogclan);
  1763 lua_register(luaState, 'GetHogClan', @lc_gethogclan);
  1711 lua_register(luaState, 'GetClanColor', @lc_getclancolor);
  1764 lua_register(luaState, 'GetClanColor', @lc_getclancolor);
  1712 lua_register(luaState, 'SetClanColor', @lc_setclancolor);
  1765 lua_register(luaState, 'SetClanColor', @lc_setclancolor);
  1713 lua_register(luaState, 'GetHogTeamName', @lc_gethogteamname);
  1766 lua_register(luaState, 'GetHogTeamName', @lc_gethogteamname);
  1714 lua_register(luaState, 'GetHogName', @lc_gethogname);
  1767 lua_register(luaState, 'GetHogName', @lc_gethogname);
       
  1768 lua_register(luaState, 'SetHogName', @lc_sethogname);
  1715 lua_register(luaState, 'GetHogLevel', @lc_gethoglevel);
  1769 lua_register(luaState, 'GetHogLevel', @lc_gethoglevel);
  1716 lua_register(luaState, 'SetHogLevel', @lc_sethoglevel);
  1770 lua_register(luaState, 'SetHogLevel', @lc_sethoglevel);
  1717 lua_register(luaState, 'GetX', @lc_getx);
  1771 lua_register(luaState, 'GetX', @lc_getx);
  1718 lua_register(luaState, 'GetY', @lc_gety);
  1772 lua_register(luaState, 'GetY', @lc_gety);
  1719 lua_register(luaState, 'CopyPV', @lc_copypv);
  1773 lua_register(luaState, 'CopyPV', @lc_copypv);