antonio664
Member
- Joined
- Jan 9, 2013
- Messages
- 129
- Reaction score
- 5
is it possible to force an assembly automatically at login?
normally when you log out, a Dismount happens
tfs 1.3
normally when you log out, a Dismount happens
tfs 1.3
registerMethod("Player", "toggleMount", LuaScriptInterface::luaPlayerToggleMount);
int LuaScriptInterface::luaPlayerToggleMount(lua_State* L)
{
// player:toggleMount(bool)
Player* player = getUserdata<Player>(L, 1);
if (player) {
pushBoolean(L, player->toggleMount(getBoolean(L, 2, true)));
} else {
lua_pushnil(L);
}
return 1;
}
static int luaPlayerToggleMount(lua_State* L);
onLogin
or you call the player->toggleMount(true)
when the server perform the login.is it possible to force an assembly automatically at login?
normally when you log out, a Dismount happens
tfs 1.3
registerMethod("Player", "LoginMount", LuaScriptInterface::luaPlayerLoginMount);
int LuaScriptInterface::luaPlayerLoginMount(lua_State* L)
{
Player* player = getUserdata<Player>(L, 1);
if (player) {
return;
}
player->toggleMount(mount);
}
static int luaPlayerLoginMount(lua_State* L);
function onLogin(player)
player:LoginMount()
The idea is good, but the name is ugly, betterC++:registerMethod("Player", "LoginMount", LuaScriptInterface::luaPlayerLoginMount);
C++:int LuaScriptInterface::luaPlayerLoginMount(lua_State* L) { Player* player = getUserdata<Player>(L, 1); if (player) { return; } player->toggleMount(mount); }
C++:static int luaPlayerLoginMount(lua_State* L);
Under line
AddLua:function onLogin(player)
Lua:player:LoginMount()
player:toggleMount()
the same name is fine, your name is very specific and does not comply with Camel Case and in this part it should be: player->toggleMount(getBoolean(L, 2));
C++:registerMethod("Player", "LoginMount", LuaScriptInterface::luaPlayerLoginMount);
C++:int LuaScriptInterface::luaPlayerLoginMount(lua_State* L) { Player* player = getUserdata<Player>(L, 1); if (player) { return; } player->toggleMount(mount); }
C++:static int luaPlayerLoginMount(lua_State* L);
Under line
AddLua:function onLogin(player)
Lua:player:LoginMount()
user@DESKTOP-ACDPUQ5:~/Sourcers_12-07-2020$ ./recompile.sh
Directory 'build' already exists, moving to it
Clean build directory
Configuring
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found CryptoPP: /usr/include (found version "5.6.4")
-- Found PugiXML: /usr/include
-- MySQL Include dir: /usr/include/mysql library dir: /usr/lib/x86_64-linux-gnu
-- MySQL client libraries: /usr/lib/x86_64-linux-gnu/libmysqlclient.so;-ldl
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- system
-- filesystem
-- iostreams
-- date_time
-- regex
-- Found LuaJIT: /usr/lib/x86_64-linux-gnu/libluajit-5.1.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "2.1.0-beta3")
-- Git Found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/Sourcers_12-07-2020/build
Scanning dependencies of target check_git
Scanning dependencies of target otbr_lib
[ 1%] Checking the git repository for changes...
[ 1%] Built target check_git
[ 2%] Building CXX object CMakeFiles/otbr_lib.dir/src/otpch.cpp.o
[ 5%] Building CXX object CMakeFiles/otbr_lib.dir/src/ban.cpp.o
[ 5%] Building CXX object CMakeFiles/otbr_lib.dir/src/account.cpp.o
[ 5%] Building CXX object CMakeFiles/otbr_lib.dir/src/actions.cpp.o
[ 7%] Building CXX object CMakeFiles/otbr_lib.dir/src/baseevents.cpp.o
[ 8%] Building CXX object CMakeFiles/otbr_lib.dir/src/bed.cpp.o
[ 9%] Building CXX object CMakeFiles/otbr_lib.dir/src/combat.cpp.o
[ 10%] Building CXX object CMakeFiles/otbr_lib.dir/src/chat.cpp.o
[ 11%] Building CXX object CMakeFiles/otbr_lib.dir/src/condition.cpp.o
[ 12%] Building CXX object CMakeFiles/otbr_lib.dir/src/configmanager.cpp.o
[ 14%] Building CXX object CMakeFiles/otbr_lib.dir/src/connection.cpp.o
[ 15%] Building CXX object CMakeFiles/otbr_lib.dir/src/container.cpp.o
[ 16%] Building CXX object CMakeFiles/otbr_lib.dir/src/creature.cpp.o
[ 17%] Building CXX object CMakeFiles/otbr_lib.dir/src/creatureevent.cpp.o
[ 18%] Building CXX object CMakeFiles/otbr_lib.dir/src/cylinder.cpp.o
[ 20%] Building CXX object CMakeFiles/otbr_lib.dir/src/database.cpp.o
[ 21%] Building CXX object CMakeFiles/otbr_lib.dir/src/databasemanager.cpp.o
[ 22%] Building CXX object CMakeFiles/otbr_lib.dir/src/databasetasks.cpp.o
[ 23%] Building CXX object CMakeFiles/otbr_lib.dir/src/depotchest.cpp.o
[ 24%] Building CXX object CMakeFiles/otbr_lib.dir/src/depotlocker.cpp.o
[ 25%] Building CXX object CMakeFiles/otbr_lib.dir/src/events.cpp.o
[ 27%] Building CXX object CMakeFiles/otbr_lib.dir/src/fileloader.cpp.o
[ 28%] Building CXX object CMakeFiles/otbr_lib.dir/src/game.cpp.o
[ 29%] Building CXX object CMakeFiles/otbr_lib.dir/src/gamestore.cpp.o
[ 30%] Building CXX object CMakeFiles/otbr_lib.dir/src/globalevent.cpp.o
[ 31%] Building CXX object CMakeFiles/otbr_lib.dir/src/guild.cpp.o
[ 32%] Building CXX object CMakeFiles/otbr_lib.dir/src/groups.cpp.o
[ 34%] Building CXX object CMakeFiles/otbr_lib.dir/src/house.cpp.o
[ 35%] Building CXX object CMakeFiles/otbr_lib.dir/src/housetile.cpp.o
[ 36%] Building CXX object CMakeFiles/otbr_lib.dir/src/inbox.cpp.o
[ 37%] Building CXX object CMakeFiles/otbr_lib.dir/src/ioguild.cpp.o
[ 38%] Building CXX object CMakeFiles/otbr_lib.dir/src/iologindata.cpp.o
[ 40%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomap.cpp.o
[ 41%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomapserialize.cpp.o
[ 42%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomarket.cpp.o
[ 43%] Building CXX object CMakeFiles/otbr_lib.dir/src/item.cpp.o
[ 44%] Building CXX object CMakeFiles/otbr_lib.dir/src/items.cpp.o
[ 45%] Building CXX object CMakeFiles/otbr_lib.dir/src/imbuements.cpp.o
[ 47%] Building CXX object CMakeFiles/otbr_lib.dir/src/luascript.cpp.o
[ 48%] Building CXX object CMakeFiles/otbr_lib.dir/src/mailbox.cpp.o
[ 49%] Building CXX object CMakeFiles/otbr_lib.dir/src/map.cpp.o
[ 50%] Building CXX object CMakeFiles/otbr_lib.dir/src/modules.cpp.o
[ 51%] Building CXX object CMakeFiles/otbr_lib.dir/src/monster.cpp.o
[ 52%] Building CXX object CMakeFiles/otbr_lib.dir/src/monsters.cpp.o
[ 54%] Building CXX object CMakeFiles/otbr_lib.dir/src/mounts.cpp.o
/home/user/Sourcers_12-07-2020/src/luascript.cpp: In static member function ‘static int LuaScriptInterface::luaPlayerLoginMount(lua_State*)’:
/home/user/Sourcers_12-07-2020/src/luascript.cpp:3460:9: error: return-statement with no value, in function returning ‘int’ [-fpermissive]
return;
^~~~~~
/home/user/Sourcers_12-07-2020/src/luascript.cpp:3463:25: error: ‘mount’ was not declared in this scope
player->toggleMount(mount);
^~~~~
/home/user/Sourcers_12-07-2020/src/luascript.cpp:3463:25: note: suggested alternative: ‘Mount’
player->toggleMount(mount);
^~~~~
Mount
[ 55%] Building CXX object CMakeFiles/otbr_lib.dir/src/movement.cpp.o
CMakeFiles/otbr_lib.dir/build.make:974: recipe for target 'CMakeFiles/otbr_lib.dir/src/luascript.cpp.o' failed
make[2]: *** [CMakeFiles/otbr_lib.dir/src/luascript.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/otbr_lib.dir/all' failed
make[1]: *** [CMakeFiles/otbr_lib.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
The idea is good, but the name is ugly, betterplayer:toggleMount()
the same name is fine, your name is very specific and does not comply with Camel Case and in this part it should be: View attachment 53116player->toggleMount(getBoolean(L, 2));
[ 37%] Building CXX object CMakeFiles/otbr_lib.dir/src/ioguild.cpp.o
[ 38%] Building CXX object CMakeFiles/otbr_lib.dir/src/iologindata.cpp.o
[ 40%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomap.cpp.o
[ 41%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomapserialize.cpp.o
[ 42%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomarket.cpp.o
[ 43%] Building CXX object CMakeFiles/otbr_lib.dir/src/item.cpp.o
[ 44%] Building CXX object CMakeFiles/otbr_lib.dir/src/items.cpp.o
[ 45%] Building CXX object CMakeFiles/otbr_lib.dir/src/imbuements.cpp.o
[ 47%] Building CXX object CMakeFiles/otbr_lib.dir/src/luascript.cpp.o
[ 48%] Building CXX object CMakeFiles/otbr_lib.dir/src/mailbox.cpp.o
[ 49%] Building CXX object CMakeFiles/otbr_lib.dir/src/map.cpp.o
[ 50%] Building CXX object CMakeFiles/otbr_lib.dir/src/modules.cpp.o
[ 51%] Building CXX object CMakeFiles/otbr_lib.dir/src/monster.cpp.o
[ 52%] Building CXX object CMakeFiles/otbr_lib.dir/src/monsters.cpp.o
/home/user/Sourcers_12-07-2020/src/luascript.cpp: In static member function ‘static int LuaScriptInterface::luaPlayerLoginMount(lua_State*)’:
/home/user/Sourcers_12-07-2020/src/luascript.cpp:3460:9: error: return-statement with no value, in function returning ‘int’ [-fpermissive]
return;
^~~~~~
[ 54%] Building CXX object CMakeFiles/otbr_lib.dir/src/mounts.cpp.o
[ 55%] Building CXX object CMakeFiles/otbr_lib.dir/src/movement.cpp.o
CMakeFiles/otbr_lib.dir/build.make:974: recipe for target 'CMakeFiles/otbr_lib.dir/src/luascript.cpp.o' failed
make[2]: *** [CMakeFiles/otbr_lib.dir/src/luascript.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/otbr_lib.dir/all' failed
make[1]: *** [CMakeFiles/otbr_lib.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Give you full "luascript.cpp"C++:user@DESKTOP-ACDPUQ5:~/Sourcers_12-07-2020$ ./recompile.sh Directory 'build' already exists, moving to it Clean build directory Configuring -- The C compiler identification is GNU 7.5.0 -- The CXX compiler identification is GNU 7.5.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found CryptoPP: /usr/include (found version "5.6.4") -- Found PugiXML: /usr/include -- MySQL Include dir: /usr/include/mysql library dir: /usr/lib/x86_64-linux-gnu -- MySQL client libraries: /usr/lib/x86_64-linux-gnu/libmysqlclient.so;-ldl -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Boost version: 1.65.1 -- Found the following Boost libraries: -- system -- filesystem -- iostreams -- date_time -- regex -- Found LuaJIT: /usr/lib/x86_64-linux-gnu/libluajit-5.1.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "2.1.0-beta3") -- Git Found -- Configuring done -- Generating done -- Build files have been written to: /home/user/Sourcers_12-07-2020/build Scanning dependencies of target check_git Scanning dependencies of target otbr_lib [ 1%] Checking the git repository for changes... [ 1%] Built target check_git [ 2%] Building CXX object CMakeFiles/otbr_lib.dir/src/otpch.cpp.o [ 5%] Building CXX object CMakeFiles/otbr_lib.dir/src/ban.cpp.o [ 5%] Building CXX object CMakeFiles/otbr_lib.dir/src/account.cpp.o [ 5%] Building CXX object CMakeFiles/otbr_lib.dir/src/actions.cpp.o [ 7%] Building CXX object CMakeFiles/otbr_lib.dir/src/baseevents.cpp.o [ 8%] Building CXX object CMakeFiles/otbr_lib.dir/src/bed.cpp.o [ 9%] Building CXX object CMakeFiles/otbr_lib.dir/src/combat.cpp.o [ 10%] Building CXX object CMakeFiles/otbr_lib.dir/src/chat.cpp.o [ 11%] Building CXX object CMakeFiles/otbr_lib.dir/src/condition.cpp.o [ 12%] Building CXX object CMakeFiles/otbr_lib.dir/src/configmanager.cpp.o [ 14%] Building CXX object CMakeFiles/otbr_lib.dir/src/connection.cpp.o [ 15%] Building CXX object CMakeFiles/otbr_lib.dir/src/container.cpp.o [ 16%] Building CXX object CMakeFiles/otbr_lib.dir/src/creature.cpp.o [ 17%] Building CXX object CMakeFiles/otbr_lib.dir/src/creatureevent.cpp.o [ 18%] Building CXX object CMakeFiles/otbr_lib.dir/src/cylinder.cpp.o [ 20%] Building CXX object CMakeFiles/otbr_lib.dir/src/database.cpp.o [ 21%] Building CXX object CMakeFiles/otbr_lib.dir/src/databasemanager.cpp.o [ 22%] Building CXX object CMakeFiles/otbr_lib.dir/src/databasetasks.cpp.o [ 23%] Building CXX object CMakeFiles/otbr_lib.dir/src/depotchest.cpp.o [ 24%] Building CXX object CMakeFiles/otbr_lib.dir/src/depotlocker.cpp.o [ 25%] Building CXX object CMakeFiles/otbr_lib.dir/src/events.cpp.o [ 27%] Building CXX object CMakeFiles/otbr_lib.dir/src/fileloader.cpp.o [ 28%] Building CXX object CMakeFiles/otbr_lib.dir/src/game.cpp.o [ 29%] Building CXX object CMakeFiles/otbr_lib.dir/src/gamestore.cpp.o [ 30%] Building CXX object CMakeFiles/otbr_lib.dir/src/globalevent.cpp.o [ 31%] Building CXX object CMakeFiles/otbr_lib.dir/src/guild.cpp.o [ 32%] Building CXX object CMakeFiles/otbr_lib.dir/src/groups.cpp.o [ 34%] Building CXX object CMakeFiles/otbr_lib.dir/src/house.cpp.o [ 35%] Building CXX object CMakeFiles/otbr_lib.dir/src/housetile.cpp.o [ 36%] Building CXX object CMakeFiles/otbr_lib.dir/src/inbox.cpp.o [ 37%] Building CXX object CMakeFiles/otbr_lib.dir/src/ioguild.cpp.o [ 38%] Building CXX object CMakeFiles/otbr_lib.dir/src/iologindata.cpp.o [ 40%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomap.cpp.o [ 41%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomapserialize.cpp.o [ 42%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomarket.cpp.o [ 43%] Building CXX object CMakeFiles/otbr_lib.dir/src/item.cpp.o [ 44%] Building CXX object CMakeFiles/otbr_lib.dir/src/items.cpp.o [ 45%] Building CXX object CMakeFiles/otbr_lib.dir/src/imbuements.cpp.o [ 47%] Building CXX object CMakeFiles/otbr_lib.dir/src/luascript.cpp.o [ 48%] Building CXX object CMakeFiles/otbr_lib.dir/src/mailbox.cpp.o [ 49%] Building CXX object CMakeFiles/otbr_lib.dir/src/map.cpp.o [ 50%] Building CXX object CMakeFiles/otbr_lib.dir/src/modules.cpp.o [ 51%] Building CXX object CMakeFiles/otbr_lib.dir/src/monster.cpp.o [ 52%] Building CXX object CMakeFiles/otbr_lib.dir/src/monsters.cpp.o [ 54%] Building CXX object CMakeFiles/otbr_lib.dir/src/mounts.cpp.o /home/user/Sourcers_12-07-2020/src/luascript.cpp: In static member function ‘static int LuaScriptInterface::luaPlayerLoginMount(lua_State*)’: /home/user/Sourcers_12-07-2020/src/luascript.cpp:3460:9: error: return-statement with no value, in function returning ‘int’ [-fpermissive] return; ^~~~~~ /home/user/Sourcers_12-07-2020/src/luascript.cpp:3463:25: error: ‘mount’ was not declared in this scope player->toggleMount(mount); ^~~~~ /home/user/Sourcers_12-07-2020/src/luascript.cpp:3463:25: note: suggested alternative: ‘Mount’ player->toggleMount(mount); ^~~~~ Mount [ 55%] Building CXX object CMakeFiles/otbr_lib.dir/src/movement.cpp.o CMakeFiles/otbr_lib.dir/build.make:974: recipe for target 'CMakeFiles/otbr_lib.dir/src/luascript.cpp.o' failed make[2]: *** [CMakeFiles/otbr_lib.dir/src/luascript.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/otbr_lib.dir/all' failed make[1]: *** [CMakeFiles/otbr_lib.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2
Post automatically merged:
------------------------------------------------------------------------------------------------------------------------------
C++:[ 37%] Building CXX object CMakeFiles/otbr_lib.dir/src/ioguild.cpp.o [ 38%] Building CXX object CMakeFiles/otbr_lib.dir/src/iologindata.cpp.o [ 40%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomap.cpp.o [ 41%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomapserialize.cpp.o [ 42%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomarket.cpp.o [ 43%] Building CXX object CMakeFiles/otbr_lib.dir/src/item.cpp.o [ 44%] Building CXX object CMakeFiles/otbr_lib.dir/src/items.cpp.o [ 45%] Building CXX object CMakeFiles/otbr_lib.dir/src/imbuements.cpp.o [ 47%] Building CXX object CMakeFiles/otbr_lib.dir/src/luascript.cpp.o [ 48%] Building CXX object CMakeFiles/otbr_lib.dir/src/mailbox.cpp.o [ 49%] Building CXX object CMakeFiles/otbr_lib.dir/src/map.cpp.o [ 50%] Building CXX object CMakeFiles/otbr_lib.dir/src/modules.cpp.o [ 51%] Building CXX object CMakeFiles/otbr_lib.dir/src/monster.cpp.o [ 52%] Building CXX object CMakeFiles/otbr_lib.dir/src/monsters.cpp.o /home/user/Sourcers_12-07-2020/src/luascript.cpp: In static member function ‘static int LuaScriptInterface::luaPlayerLoginMount(lua_State*)’: /home/user/Sourcers_12-07-2020/src/luascript.cpp:3460:9: error: return-statement with no value, in function returning ‘int’ [-fpermissive] return; ^~~~~~ [ 54%] Building CXX object CMakeFiles/otbr_lib.dir/src/mounts.cpp.o [ 55%] Building CXX object CMakeFiles/otbr_lib.dir/src/movement.cpp.o CMakeFiles/otbr_lib.dir/build.make:974: recipe for target 'CMakeFiles/otbr_lib.dir/src/luascript.cpp.o' failed make[2]: *** [CMakeFiles/otbr_lib.dir/src/luascript.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/otbr_lib.dir/all' failed make[1]: *** [CMakeFiles/otbr_lib.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2
Give you full "luascript.cpp"
luascript
MediaFire is a simple to use free service that lets you put all your photos, documents, music, and video in a single place so you can access them anywhere and share them everywhere.www.mediafire.com
int LuaScriptInterface::luaPlayerLoginMount(lua_State* L)
{
Player* player = getUserdata<Player>(L, 1);
if (player) {
return;
}
pushBoolean(L, player->toggleMount(mount));
}
Check this oneC++:int LuaScriptInterface::luaPlayerLoginMount(lua_State* L) { Player* player = getUserdata<Player>(L, 1); if (player) { return; } pushBoolean(L, player->toggleMount(mount)); }
[ 32%] Building CXX object CMakeFiles/otbr_lib.dir/src/groups.cpp.o
[ 34%] Building CXX object CMakeFiles/otbr_lib.dir/src/house.cpp.o
[ 35%] Building CXX object CMakeFiles/otbr_lib.dir/src/housetile.cpp.o
[ 36%] Building CXX object CMakeFiles/otbr_lib.dir/src/inbox.cpp.o
[ 37%] Building CXX object CMakeFiles/otbr_lib.dir/src/ioguild.cpp.o
[ 38%] Building CXX object CMakeFiles/otbr_lib.dir/src/iologindata.cpp.o
[ 40%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomap.cpp.o
[ 41%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomapserialize.cpp.o
[ 42%] Building CXX object CMakeFiles/otbr_lib.dir/src/iomarket.cpp.o
[ 43%] Building CXX object CMakeFiles/otbr_lib.dir/src/item.cpp.o
[ 44%] Building CXX object CMakeFiles/otbr_lib.dir/src/items.cpp.o
[ 45%] Building CXX object CMakeFiles/otbr_lib.dir/src/imbuements.cpp.o
[ 47%] Building CXX object CMakeFiles/otbr_lib.dir/src/luascript.cpp.o
[ 48%] Building CXX object CMakeFiles/otbr_lib.dir/src/mailbox.cpp.o
[ 49%] Building CXX object CMakeFiles/otbr_lib.dir/src/map.cpp.o
[ 50%] Building CXX object CMakeFiles/otbr_lib.dir/src/modules.cpp.o
[ 51%] Building CXX object CMakeFiles/otbr_lib.dir/src/monster.cpp.o
[ 52%] Building CXX object CMakeFiles/otbr_lib.dir/src/monsters.cpp.o
[ 54%] Building CXX object CMakeFiles/otbr_lib.dir/src/mounts.cpp.o
[ 55%] Building CXX object CMakeFiles/otbr_lib.dir/src/movement.cpp.o
/home/user/Sourcers_12-07-2020/src/luascript.cpp: In static member function ‘static int LuaScriptInterface::luaPlayerLoginMount(lua_State*)’:
/home/user/Sourcers_12-07-2020/src/luascript.cpp:3460:9: error: return-statement with no value, in function returning ‘int’ [-fpermissive]
return;
^~~~~~
/home/user/Sourcers_12-07-2020/src/luascript.cpp:3463:40: error: ‘mount’ was not declared in this scope
pushBoolean(L, player->toggleMount(mount));
^~~~~
/home/user/Sourcers_12-07-2020/src/luascript.cpp:3463:40: note: suggested alternative: ‘Mount’
pushBoolean(L, player->toggleMount(mount));
^~~~~
Mount
CMakeFiles/otbr_lib.dir/build.make:974: recipe for target 'CMakeFiles/otbr_lib.dir/src/luascript.cpp.o' failed
make[2]: *** [CMakeFiles/otbr_lib.dir/src/luascript.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/otbr_lib.dir/all' failed
make[1]: *** [CMakeFiles/otbr_lib.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
mount
for a boolean variable, in this case true
or use getBoolean(L, 2);
remember changemount
for a boolean variable, in this casetrue
or usegetBoolean(L, 2);
int LuaScriptInterface::luaPlayerLoginMount(lua_State* L)
{
Player* player = getUserdata<Player>(L, 1);
if (player) {
return;
}
pushBoolean(L, player->toggleMount(true));
}
[ 48%] Building CXX object CMakeFiles/otbr_lib.dir/src/mailbox.cpp.o
[ 49%] Building CXX object CMakeFiles/otbr_lib.dir/src/map.cpp.o
[ 50%] Building CXX object CMakeFiles/otbr_lib.dir/src/modules.cpp.o
[ 51%] Building CXX object CMakeFiles/otbr_lib.dir/src/monster.cpp.o
[ 52%] Building CXX object CMakeFiles/otbr_lib.dir/src/monsters.cpp.o
[ 54%] Building CXX object CMakeFiles/otbr_lib.dir/src/mounts.cpp.o
/home/user/Sourcers_12-07-2020/src/luascript.cpp: In static member function ‘static int LuaScriptInterface::luaPlayerLoginMount(lua_State*)’:
/home/user/Sourcers_12-07-2020/src/luascript.cpp:3460:9: error: return-statement with no value, in function returning ‘int’ [-fpermissive]
return;
^~~~~~
[ 55%] Building CXX object CMakeFiles/otbr_lib.dir/src/movement.cpp.o
CMakeFiles/otbr_lib.dir/build.make:974: recipe for target 'CMakeFiles/otbr_lib.dir/src/luascript.cpp.o' failed
make[2]: *** [CMakeFiles/otbr_lib.dir/src/luascript.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/otbr_lib.dir/all' failed
make[1]: *** [CMakeFiles/otbr_lib.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
It literally tells you what is the problem, jeez...C++:int LuaScriptInterface::luaPlayerLoginMount(lua_State* L) { Player* player = getUserdata<Player>(L, 1); if (player) { return; } pushBoolean(L, player->toggleMount(true)); }
C++:[ 48%] Building CXX object CMakeFiles/otbr_lib.dir/src/mailbox.cpp.o [ 49%] Building CXX object CMakeFiles/otbr_lib.dir/src/map.cpp.o [ 50%] Building CXX object CMakeFiles/otbr_lib.dir/src/modules.cpp.o [ 51%] Building CXX object CMakeFiles/otbr_lib.dir/src/monster.cpp.o [ 52%] Building CXX object CMakeFiles/otbr_lib.dir/src/monsters.cpp.o [ 54%] Building CXX object CMakeFiles/otbr_lib.dir/src/mounts.cpp.o /home/user/Sourcers_12-07-2020/src/luascript.cpp: In static member function ‘static int LuaScriptInterface::luaPlayerLoginMount(lua_State*)’: /home/user/Sourcers_12-07-2020/src/luascript.cpp:3460:9: error: return-statement with no value, in function returning ‘int’ [-fpermissive] return; ^~~~~~ [ 55%] Building CXX object CMakeFiles/otbr_lib.dir/src/movement.cpp.o CMakeFiles/otbr_lib.dir/build.make:974: recipe for target 'CMakeFiles/otbr_lib.dir/src/luascript.cpp.o' failed make[2]: *** [CMakeFiles/otbr_lib.dir/src/luascript.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/otbr_lib.dir/all' failed make[1]: *** [CMakeFiles/otbr_lib.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2
registerMethod("Player", "toggleMount", LuaScriptInterface::luaPlayerToggleMount);
int LuaScriptInterface::luaPlayerToggleMount(lua_State* L)
{
// player:toggleMount(bool)
Player* player = getUserdata<Player>(L, 1);
if (player) {
pushBoolean(L, player->toggleMount(getBoolean(L, 2, true)));
} else {
lua_pushnil(L);
}
return 1;
}
static int luaPlayerToggleMount(lua_State* L);
It is a function of type integer, therefore it must return an integer
C++:registerMethod("Player", "toggleMount", LuaScriptInterface::luaPlayerToggleMount);
C++:int LuaScriptInterface::luaPlayerToggleMount(lua_State* L) { // player:toggleMount(bool) Player* player = getUserdata<Player>(L, 1); if (player) { pushBoolean(L, player->toggleMount(getBoolean(L, 2, true))); } else { lua_pushnil(L); } return 1; }
luascript.h
C++:static int luaPlayerToggleMount(lua_State* L);
return 1;
means 1 value as return.function getTalkaction(id)
return TALKACTIONS_WORD[id], TALKACTIONS_SEPARATOR[id] -- >> 2 values returned <<
end
-- You can use this like that:
local word, separator = getTalkaction(7)
print(word)
print(separator)
lua_register(luaState, "getWorldLight", LuaScriptInterface::luaGetWorldLight);
int LuaScriptInterface::luaGetWorldLight(lua_State* L)
{
//getWorldLight()
LightInfo lightInfo = g_game.getWorldLightInfo();
lua_pushnumber(L, lightInfo.level);
lua_pushnumber(L, lightInfo.color);
return 2; // >> 2 values returned <<
}
-- You can use this like that:
local level, color = getWorldLight()
print(level)
print(color)
It is a function of type integer, therefore it must return an integer
C++:registerMethod("Player", "toggleMount", LuaScriptInterface::luaPlayerToggleMount);
C++:int LuaScriptInterface::luaPlayerToggleMount(lua_State* L) { // player:toggleMount(bool) Player* player = getUserdata<Player>(L, 1); if (player) { pushBoolean(L, player->toggleMount(getBoolean(L, 2, true))); } else { lua_pushnil(L); } return 1; }
luascript.h
C++:static int luaPlayerToggleMount(lua_State* L);
Player:toggleMount()
try player:toggleMount() lowercase p, and don't give me best solution if you give it to someone lol, give it to post #15