在神途手游游戏中如何使用LUA神途脚本语言
来源:神途 2019-12-06 作者:新开传奇网站 阅读:次 点击提交
当你希望在你的神途游戏开始的时候读取一些信息,以配置你的好神途私服游戏,这些信息通常都是放到一个文本文件中,在你的游戏启动的时候,你需要打开这个文件,然后解析字符串,找到所需要的信息。
是的,或许你认为这样就足够了,为什么还要使用好神途123Lua呢?
应用于“配置”这个目的,Lua提供给你更为强大,也更为灵活的表达方式,在上一种方式中,你无法根据某些条件来配置你的游戏,Lua提供给你灵活的表达方式,你可以类似于这样来配置你的游戏神途123:
if player:is_dead() then
do_something()
else
do_else()
end
更为重要的是,在你做了一些修改之后,完全不需要重新编译你的游戏代码。
通常,在游戏中你并不需要一个单独的解释器,你需要在游戏来运行解释器,下面,让我们来看看,如何在你的代码中运行解释器:
//这是lua所需的三个头文件
//当然,你需要链接到正确的lib
extern "C"
{
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
}
int main(int argc, char *argv[])
{
lua_State *L = lua_open();
// 此处记住,当你使用的是5.1版本以上的Lua时,请修改以下两句为luaL_openlibs(L);
luaopen_base(L);
luaopen_io(L);
const char *buf = "print('hello, world!')";
// 记住,当你使用的是5.1版本以上的Lua时请使用luaL_dostring(L,buf);
lua_dostring(buf);
lua_close(L);
return 0;
}
程序输出:hello, world!
有时你需要执行一段字符串,有时你可能需要执行一个文件,当你需要执行一个文件时,你可以这么做:
lua_dofile(L, "test.lua");
下面让我们来看看如何从脚本中取得我们所需要的信息。
让我来简单的解释一下Lua解释器的工作机制,Lua解释器自身维护一个运行时栈,通过这个运行时栈,Lua解释器向主机程序传递参数,所以我们可以这样来得到一个脚本变量的值:
lua_pushstring(L, "var"); //将变量的名字放入栈
lua_gettatbl(L, LUA_GLOBALSINDEX);变量的值现在栈顶
假设你在脚本中有一个变量 var = 100
你可以这样来得到这个变量值:
int var = lua_tonumber(L, -1);
怎么样,是不是很简单?
Lua定义了一个宏让你简单的取得一个变量的值:
lua_getglobal(L, name)
我们可以这样来取得一个变量的值:
lua_getglobal(L, "var"); //变量的值现在栈顶
int var = lua_tonumber(L, -1);
完整的测试代码如下:
#include "lua.h"
#inculde "lauxlib.h"
#include "lualib.h"
int main(int argc, char *argv[])
{
lua_State *L = lua_open();
// 此处记住,当你使用的是5.1版本以上的Lua时,请修改以下两句为luaL_openlibs(L);
luaopen_base(L);
luaopen_io(L);
const char *buf = "var = 100";
lua_dostring(L, buf);
lua_getglobal(L, "var");
int var = lua_tonumber(L, -1);
assert(var == 100);
lua_close(L);
return 0;
}
2019-12-06录入
神途 在神途手游游戏中如何使用LUA神途脚本语言转载请保留源文出处:http://haost123.com
上一篇:使用Lua脚本进行神途游戏相关开发
下一篇:Lua神途123自定义调用函数脚本参数
猜你可能喜欢的神途攻略文章
2020-02-05
在好神途123相信每一个玩家都想拥有非常不错的发展效果了,毕竟谁不想成为一个高手呢。对于玩家们来说,想要成为一个非常好神途123强悍的玩家,那就需要付出很多努力了,并且在...
2024-03-12
最新迷失单职业传奇手游1.95无英雄合击版是你从未体验过的全新版本,为大伙儿产生传奇时代的精彩纷呈感受,在游戏里面打开你的1.95刺影传奇手游作战。 热门手机游戏采用了经典的...
2020-03-31
好神途123礼包新区推广新手攻略: 新手神途123上线领取 QQ 群 领取礼包- 获得绑定金币还有随机回城 *2 拿着身上的绑定金币去商店买一套垃圾绑定装备就可以开始刷怪神途之旅 刷怪干什...
2020-03-15
对于道士来说,前期的176复古传奇sf新服战术自然是不断获得技能并且积累一定的游戏经验。所以,选择道士职业的游戏玩家需要每天坚持上线坚持练习,当然,在游戏中还要不但的积...
2020-04-14
神途热门争分夺秒活动时间每天下午1:30分开放想要在zhaosf123神途私服传奇新开游戏中成为强者那么很简单,一种是充钱,一种就是不断的刷怪来获得更强力的装备。 而在真分夺秒zhao...