Postado Março 31, 2017 8 anos Galera eu consegui fazer funcionar no meu caso fazendo o seguinte. TFS 0.3.7 Na Soucer do ot - luascript.cpp int32_t LuaInterface::luaGetPlayerSecureMode(lua_State* L) { //getPlayerSecureMode(cid) ScriptEnviroment* env = getEnv(); Player* player = env->getPlayerByUID((uint32_t)popNumber(L)); if(!player) { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } else lua_pushnumber(L, player->getSecureMode()); return 1; } int32_t LuaInterface::luaGetPlayerFightMode(lua_State* L) { //getPlayerFightMode(cid) ScriptEnviroment* env = getEnv(); Player* player = env->getPlayerByUID((uint32_t)popNumber(L)); if(!player) { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } else lua_pushnumber(L, player->getAttackFactor()); return 1; } //getPlayerSecureMode lua_register(m_luaState, "getPlayerSecureMode", LuaInterface::luaGetPlayerSecureMode); //getPlayerFightMode lua_register(m_luaState, "getPlayerFightMode", LuaInterface::luaGetPlayerFightMode); luacript.h //getPlayerFightMode(cid) static int32_t luaGetPlayerFightMode(lua_State* L); //getPlayerSecureMode(cid) static int32_t luaGetPlayerSecureMode(lua_State* L); Ai compilei depois.. Fui no ot e fiz o seguinte... creaturescript.xml <event type="combat" name="SafeCombat" event="script" value="safemode.lua"/> creaturescripts\scripts\safemode.lua function onCombat(cid, target) if(target and isPlayer(target) and getPlayerSecureMode(cid) == 0) then doPlayerSendCancel(cid, "Turn secure mode off if you really want to attack unmarked players.") return false elseif(target and isPlayer(target) and getPlayerSecureMode(cid) == 1) then return true end end creaturescripts\scripts\login.lua registerCreatureEvent(cid, "SafeCombat") Então Quanto to com a mão aberta não ataca ninguém nem em área nem magia nem target.. se fecha a mão ai ataca todo tipo de magia.. Editado Março 31, 2017 8 anos por robi123 (veja o histórico de edições)
Postado Março 31, 2017 8 anos 16 minutos atrás, robi123 disse: Galera eu consegui fazer funcionar no meu caso fazendo o seguinte. TFS 0.3.7 Na Soucer do ot - luascript.cpp int32_t LuaInterface::luaGetPlayerSecureMode(lua_State* L) { //getPlayerSecureMode(cid) ScriptEnviroment* env = getEnv(); Player* player = env->getPlayerByUID((uint32_t)popNumber(L)); if(!player) { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } else lua_pushnumber(L, player->getSecureMode()); return 1; } int32_t LuaInterface::luaGetPlayerFightMode(lua_State* L) { //getPlayerFightMode(cid) ScriptEnviroment* env = getEnv(); Player* player = env->getPlayerByUID((uint32_t)popNumber(L)); if(!player) { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } else lua_pushnumber(L, player->getAttackFactor()); return 1; } //getPlayerSecureMode lua_register(m_luaState, "getPlayerSecureMode", LuaInterface::luaGetPlayerSecureMode); //getPlayerFightMode lua_register(m_luaState, "getPlayerFightMode", LuaInterface::luaGetPlayerFightMode); luacript.h //getPlayerFightMode(cid) static int32_t luaGetPlayerFightMode(lua_State* L); //getPlayerSecureMode(cid) static int32_t luaGetPlayerSecureMode(lua_State* L); Ai compilei depois.. Fui no ot e fiz o seguinte... creaturescript.xml <event type="combat" name="SafeCombat" event="script" value="safemode.lua"/> creaturescripts\scripts\safemode.lua function onCombat(cid, target) if(target and isPlayer(target) and getPlayerSecureMode(cid) == 0) then doPlayerSendCancel(cid, "Turn secure mode off if you really want to attack unmarked players.") return false elseif(target and isPlayer(target) and getPlayerSecureMode(cid) == 1) then return true end end creaturescripts\scripts\login.lua registerCreatureEvent(cid, "SafeCombat") Então Quanto to com a mão aberta não ataca ninguém nem em área nem magia nem target.. se fecha a mão ai ataca todo tipo de magia.. Robi, meu problema é que eu não consigo fazer o tutorial igual no topico la do xtibia, ele da erro ao compilar, oque será que pode ser?
Postado Março 31, 2017 8 anos 30 minutos atrás, robi123 disse: Galera eu consegui fazer funcionar no meu caso fazendo o seguinte. TFS 0.3.7 Na Soucer do ot - luascript.cpp int32_t LuaInterface::luaGetPlayerSecureMode(lua_State* L) { //getPlayerSecureMode(cid) ScriptEnviroment* env = getEnv(); Player* player = env->getPlayerByUID((uint32_t)popNumber(L)); if(!player) { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } else lua_pushnumber(L, player->getSecureMode()); return 1; } int32_t LuaInterface::luaGetPlayerFightMode(lua_State* L) { //getPlayerFightMode(cid) ScriptEnviroment* env = getEnv(); Player* player = env->getPlayerByUID((uint32_t)popNumber(L)); if(!player) { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } else lua_pushnumber(L, player->getAttackFactor()); return 1; } //getPlayerSecureMode lua_register(m_luaState, "getPlayerSecureMode", LuaInterface::luaGetPlayerSecureMode); //getPlayerFightMode lua_register(m_luaState, "getPlayerFightMode", LuaInterface::luaGetPlayerFightMode); luacript.h //getPlayerFightMode(cid) static int32_t luaGetPlayerFightMode(lua_State* L); //getPlayerSecureMode(cid) static int32_t luaGetPlayerSecureMode(lua_State* L); Ai compilei depois.. Fui no ot e fiz o seguinte... creaturescript.xml <event type="combat" name="SafeCombat" event="script" value="safemode.lua"/> creaturescripts\scripts\safemode.lua function onCombat(cid, target) if(target and isPlayer(target) and getPlayerSecureMode(cid) == 0) then doPlayerSendCancel(cid, "Turn secure mode off if you really want to attack unmarked players.") return false end return true end creaturescripts\scripts\login.lua registerCreatureEvent(cid, "SafeCombat") Então Quanto to com a mão aberta não ataca ninguém nem em área nem magia nem target.. se fecha a mão ai ataca todo tipo de magia.. @fiordy quer postar seu luascript.ccp e luascript.h para eu ver? ou tentar postar qual o erro ?
Postado Março 31, 2017 8 anos 12 minutos atrás, robi123 disse: @fiordy quer postar seu luascript.ccp e luascript.h para eu ver? ou tentar postar qual o erro ? Ai Robiii, a forma que tu fez funcionou pra mim, muito obrigado mano!! Eu tava compilando aqui por isso demorei a responder mas a forma que tu postou eu consegui compilar e está funcionando corretamente! Muito obrigado mesmo, reputado! Editado Março 31, 2017 8 anos por fiordy (veja o histórico de edições)
Postado Março 31, 2017 8 anos 6 horas atrás, fiordy disse: Ai Robiii, a forma que tu fez funcionou pra mim, muito obrigado mano!! Eu tava compilando aqui por isso demorei a responder mas a forma que tu postou eu consegui compilar e está funcionando corretamente! Muito obrigado mesmo, reputado! de nada
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.