[Fixing] Y NO WERK!?
This commit is contained in:
parent
e2bab9f22b
commit
c769e71c72
@ -67,13 +67,13 @@ function create()
|
||||
end
|
||||
|
||||
if misn_type == "Cargo" then
|
||||
misn_setDesc(string.format(misn_desc[1], planet, system, carg_mass, carg_type))
|
||||
misn.setDesc(string.format(misn_desc[1], planet, system, carg_mass, carg_type))
|
||||
reward = misn_dist * carg_mass * (250+rnd.int(150)) +
|
||||
carg_mass * (150+rnd.int(75)) +
|
||||
rnd.int(1500)
|
||||
elseif misn_type == "Rush" then
|
||||
misn_time = time.get() + time.units(2) +
|
||||
rnd.int(time.units(2), time.units(4)) * misn_dest
|
||||
rnd.int(time.units(2), time.units(4)) * misn_dist
|
||||
misn.setDesc(string.format(misn_desc[2], planet, system,
|
||||
carg_mass, carg_type, time.str(misn_time),
|
||||
time.str(misn_time), time.str(misn_time-time.get())))
|
||||
|
@ -1,5 +1,4 @@
|
||||
#include "lua.h"
|
||||
#include "lualib.h"
|
||||
#include "lauxlib.h"
|
||||
|
||||
#include "hook.h"
|
||||
@ -67,7 +66,7 @@ static int misn_setReward(lua_State* L);
|
||||
static int misn_factions(lua_State* L);
|
||||
static int misn_accept(lua_State* L);
|
||||
static int misn_finish(lua_State* L);
|
||||
static const luaL_Reg misn_methods[] = {
|
||||
static const luaL_reg misn_methods[] = {
|
||||
{ "setTitle", misn_setTitle },
|
||||
{ "setDesc", misn_setDesc },
|
||||
{ "setReward", misn_setReward },
|
||||
@ -93,7 +92,7 @@ static int space_getPlanet(lua_State* L);
|
||||
static int space_getSystem(lua_State* L);
|
||||
static int space_landName(lua_State* L);
|
||||
static int space_jumpDist(lua_State* L);
|
||||
static const luaL_Reg space_methods[] = {
|
||||
static const luaL_reg space_methods[] = {
|
||||
{ "getPlanet", space_getPlanet },
|
||||
{ "getSystem", space_getSystem },
|
||||
{ "landName", space_landName },
|
||||
@ -118,7 +117,7 @@ static int player_addCargo(lua_State* L);
|
||||
static int player_rmCargo(lua_State* L);
|
||||
static int player_pay(lua_State* L);
|
||||
static int player_msg(lua_State* L);
|
||||
static const luaL_Reg player_methods[] = {
|
||||
static const luaL_reg player_methods[] = {
|
||||
{ "freeCargo", player_freeSpace },
|
||||
{ "addCargo", player_addCargo },
|
||||
{ "rmCargo", player_rmCargo },
|
||||
@ -129,7 +128,7 @@ static const luaL_Reg player_methods[] = {
|
||||
|
||||
// RND.
|
||||
static int rnd_int(lua_State*L);
|
||||
static const luaL_Reg rnd_methods[] = {
|
||||
static const luaL_reg rnd_methods[] = {
|
||||
{ "int", rnd_int },
|
||||
{ 0, 0 }
|
||||
};
|
||||
@ -138,7 +137,7 @@ static const luaL_Reg rnd_methods[] = {
|
||||
static int tk_msg(lua_State* L);
|
||||
static int tk_yesno(lua_State* L);
|
||||
static int tk_input(lua_State* L);
|
||||
static const luaL_Reg tk_methods[] = {
|
||||
static const luaL_reg tk_methods[] = {
|
||||
{ "msg", tk_msg },
|
||||
{ "yesno", tk_yesno },
|
||||
{ "input", tk_input },
|
||||
@ -150,7 +149,7 @@ static int hook_land(lua_State* L);
|
||||
static int hook_takeoff(lua_State* L);
|
||||
static int hook_time(lua_State* L);
|
||||
static int hook_pilotDeath(lua_State* L);
|
||||
static const luaL_Reg hook_methods[] = {
|
||||
static const luaL_reg hook_methods[] = {
|
||||
{ "land", hook_land },
|
||||
{ "takeoff", hook_takeoff },
|
||||
{ "time", hook_time },
|
||||
@ -167,8 +166,8 @@ int misn_loadLibs(lua_State* L) {
|
||||
luaL_register(L, "time", time_methods);
|
||||
luaL_register(L, "player", player_methods);
|
||||
luaL_register(L, "rnd", rnd_methods);
|
||||
luaL_register(L, "hook", hook_methods);
|
||||
luaL_register(L, "tk", tk_methods);
|
||||
luaL_register(L, "hook", hook_methods);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -178,6 +177,7 @@ int misn_run(Mission* misn, char* func) {
|
||||
char* err;
|
||||
|
||||
cur_mission = misn;
|
||||
misn_delete = 0;
|
||||
|
||||
lua_getglobal(misn->L, func);
|
||||
if((ret = lua_pcall(misn->L, 0, 0, 0))) {
|
||||
@ -252,6 +252,7 @@ static int misn_factions(lua_State* L) {
|
||||
|
||||
dat = cur_mission->data;
|
||||
|
||||
// We'll push all the factions in table form.
|
||||
lua_newtable(L);
|
||||
for(i = 0; i < dat->avail.nfactions; i++) {
|
||||
lua_pushnumber(L, i+1); // Index, starts with 1.
|
||||
@ -471,7 +472,7 @@ static int space_getPlanet(lua_State* L) {
|
||||
i = lua_tonumber(L, -1);
|
||||
planets = space_getFactionPlanet(&nplanets, &i, 1);
|
||||
}
|
||||
else if(lua_isstring(L, 1)) {
|
||||
else if(lua_isstring(L, -1)) {
|
||||
i = faction_get((char*) lua_tostring(L, -1));
|
||||
planets = space_getFactionPlanet(&nplanets, &i, 1);
|
||||
}
|
||||
@ -719,6 +720,7 @@ static int hook_generic(lua_State* L, char* stack) {
|
||||
|
||||
MIN_ARGS(1);
|
||||
|
||||
// Make sure mission is a player mission.
|
||||
for(i = 0; i < MISSION_MAX; i++)
|
||||
if(player_missions[i].id == cur_mission->id)
|
||||
break;
|
||||
|
@ -82,6 +82,7 @@ static int mission_init(Mission* mission, MissionData* misn) {
|
||||
luaopen_string(mission->L); // string.format can be very useful.
|
||||
misn_loadLibs(mission->L); // Load our custom libraries.
|
||||
|
||||
// Load the file.
|
||||
buf = pack_readfile(DATA, misn->lua, &bufsize);
|
||||
if(luaL_dobuffer(mission->L, buf, bufsize, misn->lua) != 0) {
|
||||
ERR("Error loading mission file: %s", misn->lua);
|
||||
@ -301,7 +302,7 @@ static MissionData* mission_parse(const xmlNodePtr parent) {
|
||||
do {
|
||||
if(xml_isNode(cur, "unique"))
|
||||
mis_setFlag(tmp, MISSION_UNIQUE);
|
||||
} while((cur = cur->next));
|
||||
} while(xml_nextNode(cur));
|
||||
}
|
||||
else if(xml_isNode(node, "avail")) { // Mission availability.
|
||||
cur = node->children;
|
||||
@ -328,9 +329,9 @@ static MissionData* mission_parse(const xmlNodePtr parent) {
|
||||
}
|
||||
else if(xml_isNode(cur, "req"))
|
||||
tmp->avail.req = strdup(xml_get(cur));
|
||||
} while((cur = cur->next));
|
||||
} while(xml_nextNode(cur));
|
||||
}
|
||||
} while((node = node->next));
|
||||
} while(xml_nextNode(node));
|
||||
#define MELEMENT(o,s) \
|
||||
if(o) WARN("Mission '%s' missing/invalid '"s"' element", tmp->name)
|
||||
MELEMENT(tmp->lua==NULL, "lua");
|
||||
@ -371,7 +372,7 @@ int missions_load(void) {
|
||||
memcpy(mission_stack+mission_nstack-1, tmp, sizeof(MissionData));
|
||||
free(tmp);
|
||||
}
|
||||
} while((node = node->next));
|
||||
} while(xml_nextNode(node));
|
||||
|
||||
xmlFreeDoc(doc);
|
||||
free(buf);
|
||||
|
@ -1016,6 +1016,8 @@ void space_exit(void) {
|
||||
int i,j;
|
||||
|
||||
// Free the names.
|
||||
//if(planetname_stack) free(planetname_stack);
|
||||
//if(systemname_stack) free(systemname_stack);
|
||||
if(planetname_stack) {
|
||||
free(planetname_stack);
|
||||
planetname_stack = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user