Postado Março 1, 2015 10 anos Se você tiver as sources do seu servidor, vá em luascript.cpp e procure por alguma função relacionada a "lookdir" (obviamente você deverá usar CTRL+F). Se não, na pasta do seu servidor, vá em doc, abra o arquivo LUA_FUNCTIONS e procure por algo relacionado a "lookdir". Se encontrar algo, informe aqui. Editado Março 1, 2015 10 anos por zipter98 (veja o histórico de edições) não respondo pms solicitando suporte em programação/scripting
Postado Março 1, 2015 10 anos Autor @zipter98 no LUA_FUNCTIONS getPlayerLookDir(cid) Info This function will check player direction. Returns Player direction. For example: 0 - player is looking up (north) (/\) 1 - player is looking right (east) (>) 2 - player is looking down (south) (\/) 3 - player is looking left (west) (<) na source //getPlayerLookDir(cid) lua_register(m_luaState, "getPlayerLookDir", LuaScriptInterface::luaGetPlayerLookDir); //doCreatureSetLookDir(cid, dir) lua_register(m_luaState, "doCreatureSetLookDirection", LuaScriptInterface::luaDoCreatureSetLookDir); case PlayerInfoLookDirection: value = player->getDirection(); break; int32_t LuaScriptInterface::luaGetPlayerLookDir(lua_State* L) { return internalGetPlayerInfo(L, PlayerInfoLookDirection); } int32_t LuaScriptInterface::luaDoCreatureSetLookDir(lua_State* L) { //doCreatureSetLookDir(cid, dir) Direction dir = (Direction)popNumber(L); ScriptEnviroment* env = getScriptEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) { g_game.internalCreatureTurn(creature, dir); if(Player* player = creature->getPlayer()) player->resetIdleTime(); lua_pushnumber(L, LUA_NO_ERROR); } else { reportErrorFunc(getErrorDesc(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushnumber(L, LUA_ERROR); } return 1; } Peguei tudo que tinha em luascript.cpp @Adriano Consegui arrumar o script da gran tower o erro era nos true e nos false apenas mudei para TRUE e FALSE nas lib que funcionou mas quando o player desloga aparece isso [01/03/2015 17:35:13] Lua Script Error: [CreatureScript Interface] [01/03/2015 17:35:13] in a timer event called from: [01/03/2015 17:35:13] data/creaturescripts/scripts/Gran Tower.lua:onDeath [01/03/2015 17:35:13] luaGetCreatureOutfit(). Creature not found Editado Março 1, 2015 10 anos por Komic (veja o histórico de edições)
Postado Março 1, 2015 10 anos local config = { lookDirection = "sul", --Direção que a catapulta está olhando. distance = 6, --Quantas posições o jogador vai "pular" (só funciona com números pares). Distância máxima: 14. directions = { ["norte"] = 0, ["leste"] = 1, ["sul"] = 2, ["oeste"] = 3, }, } function onUse(cid, item, fromPosition, itemEx, toPosition) if config.distance % 2 ~= 0 then return doPlayerSendCancel(cid, "Sorry, the catapult isn't available right now.") and print("Trade catapult distance for a odd number.") end local direction = config.directions[config.lookDirection] for i = 1, config.distance do addEvent(function() if getPlayerLookDir(cid) ~= direction then doCreatureSetLookDirection(cid, direction) end local newPos = getPosByDir(i ~= 1 and getThingPos(cid) or toPosition, direction) newPos.z = i <= config.distance / 2 and newPos.z - 1 or newPos.z + 1 if i < config.distance then doAreaCombatHealth(0, 0, newPos, 0, 0, 0, 255) doCreateItem(460, 1, newPos) end doTeleportThing(cid, newPos) end, i * 120) end return true end não respondo pms solicitando suporte em programação/scripting
Postado Março 1, 2015 10 anos Autor @zipter98 script funcionou certinho mas a posição que o player tava ela some o sqm (fica preto sem chão) quando o player é jogado é posivel uma modificação para deixar todas as direções por exemplo sul, norte, leste?
Postado Março 1, 2015 10 anos Você instalou corretamente o movement (script + tag)? E não entendi esta modificação. não respondo pms solicitando suporte em programação/scripting
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.