Ir para conteúdo

ArthurMini

Campones
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre ArthurMini

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    OT-Admin

ArthurMini's Achievements

  1. Peguei esse script do otclientv8 e quero adicionar no meu client, mas deu erro, minha duvida é onde fica essa função isMobile(), e também queria dicas de tutorial e sites que posso aprender sobre lua. local overlay local keypad local touchStart = 0 local updateCursorEvent local zoomInButton local zoomOutButton local keypadButton local keypadEvent local keypadMousePos = {x=0.5, y=0.5} local keypadTicks = 0 -- public functions function init() if not g_app.isMobile() then return end overlay = g_ui.displayUI('mobile') keypad = overlay.keypad overlay:raise() zoomInButton = modules.client_topmenu.addLeftButton('zoomInButton', 'Zoom In', '/images/topbuttons/zoomin', function() g_app.scaleUp() end) zoomOutButton = modules.client_topmenu.addLeftButton('zoomOutButton', 'Zoom Out', '/images/topbuttons/zoomout', function() g_app.scaleDown() end) keypadButton = modules.client_topmenu.addLeftGameToggleButton('keypadButton', 'Keypad', '/images/topbuttons/keypad', function() keypadButton:setChecked(not keypadButton:isChecked()) if not g_game.isOnline() then keypad:setVisible(false) return end keypad:setVisible(keypadButton:isChecked()) end) keypadButton:setChecked(true) scheduleEvent(function() g_app.scale(5.0) end, 10) connect(overlay, { onMousePress = onMousePress, onMouseRelease = onMouseRelease, onTouchPress = onMousePress, onTouchRelease = onMouseRelease, onMouseMove = onMouseMove }) connect(keypad, { onTouchPress = onKeypadTouchPress, onTouchRelease = onKeypadTouchRelease, onMouseMove = onKeypadTouchMove }) connect(g_game, { onGameStart = online, onGameEnd = offline }) if g_game.isOnline() then online() end end function terminate() if not g_app.isMobile() then return end removeEvent(updateCursorEvent) removeEvent(keypadEvent) keypadEvent = nil disconnect(overlay, { onMousePress = onMousePress, onMouseRelease = onMouseRelease, onTouchPress = onMousePress, onTouchRelease = onMouseRelease, onMouseMove = onMouseMove }) disconnect(keypad, { onTouchPress = onKeypadTouchPress, onTouchRelease = onKeypadTouchRelease, onMouseMove = onKeypadTouchMove }) disconnect(g_game, { onGameStart = online, onGameEnd = offline }) zoomInButton:destroy() zoomOutButton:destroy() keypadButton:destroy() overlay:destroy() overlay = nil end function hide() overlay:hide() end function show() overlay:show() end function online() if keypadButton:isChecked() then keypad:raise() keypad:show() end end function offline() keypad:hide() end function onMouseMove(widget, pos, offset) end function onMousePress(widget, pos, button) overlay:raise() if button == MouseTouch then -- touch overlay:raise() overlay.cursor:show() overlay.cursor:setPosition({x=pos.x - 32, y = pos.y - 32}) touchStart = g_clock.millis() updateCursor() else overlay.cursor:hide() removeEvent(updateCursorEvent) end end function onMouseRelease(widget, pos, button) if button == MouseTouch then overlay.cursor:hide() removeEvent(updateCursorEvent) end end function updateCursor() removeEvent(updateCursorEvent) if not g_mouse.isPressed(MouseTouch) then return end local percent = 100 - math.max(0, math.min(100, (g_clock.millis() - touchStart) / 5)) -- 500 ms overlay.cursor:setPercent(percent) if percent > 0 then overlay.cursor:setOpacity(0.5) updateCursorEvent = scheduleEvent(updateCursor, 10) else overlay.cursor:setOpacity(0.8) end end function onKeypadTouchMove(widget, pos, offset) keypadMousePos = {x=(pos.x - widget:getPosition().x) / widget:getWidth(), y=(pos.y - widget:getPosition().y) / widget:getHeight()} return true end function onKeypadTouchPress(widget, pos, button) if button ~= MouseTouch then return false end keypadTicks = 0 keypadMousePos = {x=(pos.x - widget:getPosition().x) / widget:getWidth(), y=(pos.y - widget:getPosition().y) / widget:getHeight()} executeWalk() return true end function onKeypadTouchRelease(widget, pos, button) if button ~= MouseTouch then return false end keypadMousePos = {x=(pos.x - widget:getPosition().x) / widget:getWidth(), y=(pos.y - widget:getPosition().y) / widget:getHeight()} executeWalk() removeEvent(keypadEvent) keypad.pointer:setMarginTop(0) keypad.pointer:setMarginLeft(0) return true end function executeWalk() removeEvent(keypadEvent) keypadEvent = nil if not modules.game_walking or not g_mouse.isPressed(MouseTouch) then keypad.pointer:setMarginTop(0) keypad.pointer:setMarginLeft(0) return end keypadEvent = scheduleEvent(executeWalk, 20) keypadMousePos.x = math.min(1, math.max(0, keypadMousePos.x)) keypadMousePos.y = math.min(1, math.max(0, keypadMousePos.y)) local angle = math.atan2(keypadMousePos.x - 0.5, keypadMousePos.y - 0.5) local maxTop = math.abs(math.cos(angle)) * 75 local marginTop = math.max(-maxTop, math.min(maxTop, (keypadMousePos.y - 0.5) * 150)) local maxLeft = math.abs(math.sin(angle)) * 75 local marginLeft = math.max(-maxLeft, math.min(maxLeft, (keypadMousePos.x - 0.5) * 150)) keypad.pointer:setMarginTop(marginTop) keypad.pointer:setMarginLeft(marginLeft) local dir if keypadMousePos.y < 0.3 and keypadMousePos.x < 0.3 then dir = Directions.NorthWest elseif keypadMousePos.y < 0.3 and keypadMousePos.x > 0.7 then dir = Directions.NorthEast elseif keypadMousePos.y > 0.7 and keypadMousePos.x < 0.3 then dir = Directions.SouthWest elseif keypadMousePos.y > 0.7 and keypadMousePos.x > 0.7 then dir = Directions.SouthEast end if not dir and (math.abs(keypadMousePos.y - 0.5) > 0.1 or math.abs(keypadMousePos.x - 0.5) > 0.1) then if math.abs(keypadMousePos.y - 0.5) > math.abs(keypadMousePos.x - 0.5) then if keypadMousePos.y < 0.5 then dir = Directions.North else dir = Directions.South end else if keypadMousePos.x < 0.5 then dir = Directions.West else dir = Directions.East end end end if dir then modules.game_walking.walk(dir, keypadTicks) if keypadTicks == 0 then keypadTicks = 100 end end end
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...