Ir para conteúdo
  • 0

Sistemas de imagem para OTCLIENT


Amantezinho

Pergunta

Oi pessoal, tudo certo? :)

Sobre a ajuda que eu preciso é um Módulo a ser feito.
Bem, existe o módulo de som, que em certa área irá tocar x som. Porém, preciso que haja um igual este, que, quando o player entra em tal área, apresente-lhe uma X imagem por Y tempo.

 

Função: Mostrar informações importantes de tal area (pois na imagem vai conter o nome do local e ícones informando sober se é possível usar FLY, se há perigo, etc... )

 

 

Logo abaixo dos pedidos colocarei o script de som, que acredito que pode ser modificado para tal função.

 

 

 

 

Pedido2, rs.

Preciso tirar o minimap do jogo, por objetivos do RPG do game. Então, preciso substituir o botão do map original (acho que essa parte eu sei ~deletar um TOPbutton~), por um que ao clicar, dependendo da localização mostrará tal imagem, talvez algo como o SHOP system, que ao clicar mostra a imagem do SHOP (pokémon).

 

 

Pedido 3 e último

Um módulo que apresente imagens (Desta vez igual o SHOP system) porém quando o player dizer #npcquest#1# (ex).

Utilidade: Objetivo do RPG do jogo, melhorando jogabilidade do mesmo.

 

 

 

agradeço desde já :)

 

Som

 

 

SOUNDS_CONFIG = {
soundChannel = SoundChannels.Music,
checkInterval = 500,
folder = 'music/',
noSound = 'No sound file for this area.',
}
SOUNDS = {
-- Lavender town
{fromPos = {x=1152, y=1063, z=7}, toPos = {x=1244, y=1179, z=7}, sound = "lavender.ogg"},
} ----------
-- Sound
local rcSoundChannel
local showPosEvent
local playingSound
-- Design
soundWindow = nil
soundButton = nil
function toggle()
if soundButton:isOn() then
soundWindow:close()
soundButton:setOn(false)
else
soundWindow:open()
soundButton:setOn(true)
end
end
function onMiniWindowClose()
soundButton:setOn(false)
end
function init()
for i = 1, #SOUNDS do
SOUNDS.sound = SOUNDS_CONFIG.folder .. SOUNDS.sound
end
connect(g_game, { onGameStart = onGameStart,
onGameEnd = onGameEnd })
rcSoundChannel = g_sounds.getChannel(SOUNDS_CONFIG.soundChannel)
-- rcSoundChannel:setGain(value/COUNDS_CONFIG.volume)
--soundButton = modules.client_topmenu.addRightGameToggleButton('soundButton', tr('Sound Info') .. '', '/images/audio', toggle)
--soundButton:setOn(true)
soundWindow = g_ui.loadUI('rcsound', modules.game_interface.getRightPanel())
soundWindow:disableResize()
soundWindow:setup()
if(g_game.isOnline()) then
onGameStart()
end
end
function terminate()
disconnect(g_game, { onGameStart = onGameStart,
onGameEnd = onGameEnd })
onGameEnd()
soundWindow:destroy()
soundButton:destroy()
end
function onGameStart()
stopSound()
toggleSoundEvent = addEvent(toggleSound, SOUNDS_CONFIG.checkInterval)
end
function onGameEnd()
stopSound()
removeEvent(toggleSoundEvent)
end
function isInPos(pos, fromPos, toPos)
return
pos.x>=fromPos.x and
pos.y>=fromPos.y and
pos.z>=fromPos.z and
pos.x<=toPos.x and
pos.y<=toPos.y and
pos.z<=toPos.z
end
function toggleSound()
local player = g_game.getLocalPlayer()
if not player then return end
local pos = player:getPosition()
local toPlay = nil
for i = 1, #SOUNDS do
if(isInPos(pos, SOUNDS.fromPos, SOUNDS.toPos)) then
if(toPlay) then
toPlay.priority = toPlay.priority or 0
if((toPlay.sound~=SOUNDS.sound) and (SOUNDS.priority>toPlay.priority)) then
toPlay = SOUNDS
end
else
toPlay = SOUNDS
end
end
end
playingSound = playingSound or {sound='', priority=0}
if(toPlay~=nil and playingSound.sound~=toPlay.sound) then
g_logger.info("RC Sounds: New sound area detected:")
g_logger.info(" Position: {x=" .. pos.x .. ", y=" .. pos.y .. ", z=" .. pos.z .. "}")
g_logger.info(" Music: " .. toPlay.sound)
stopSound()
playSound(toPlay.sound)
playingSound = toPlay
elseif(toPlay==nil) and (playingSound.sound~='') then
g_logger.info("RC Sounds: New sound area detected:")
g_logger.info(" Left music area.")
stopSound()
end
toggleSoundEvent = scheduleEvent(toggleSound, SOUNDS_CONFIG.checkInterval)
end
function playSound(sound)
rcSoundChannel:enqueue(sound, 0)
setLabel(clearName(sound))
end
function clearName(soundName)
local explode = string.explode(soundName, "/")
soundName = explode[#explode]
explode = string.explode(soundName, ".ogg")
soundName = ''
for i = 1, #explode-1 do
soundName = soundName .. explode
end
return soundName
end
function stopSound()
setLabel(SOUNDS_CONFIG.noSound)
rcSoundChannel:stop()
playingSound = nil
end
function setLabel(str)
soundWindow:recursiveGetChildById('currentSound'):getChildById('value'):setText(str)

end

 

 

 

Editado por Iluargrott2
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Deixe-me entender, você quer retirar o minimap e adicionar SHOP no OTC ?

Quero tirar o mininmap (botão) e colocar outro.

O que este outro fará?

Dependendo da localização (from - to), ao clicar o player verá uma imagem diferente da (from2- to2).

Como as músicas, ao estar em (from - to) tocará Lavender (from2, to2) tocará Cinnabar, mas com imagem e somente quando o player requisitar para aparecer a mesma.

Link para o comentário
Compartilhar em outros sites

  • 0

Quero tirar o mininmap (botão) e colocar outro.

O que este outro fará?

Dependendo da localização (from - to), ao clicar o player verá uma imagem diferente da (from2- to2).

Como as músicas, ao estar em (from - to) tocará Lavender (from2, to2) tocará Cinnabar, mas com imagem e somente quando o player requisitar para aparecer a mesma.

to falando sobre o módulo 2, remover minimap e adicionar SHOP... E no outro, sobre ver uma imagem diferente, qual seria essa imagem ? Algum efeito de neblina ou algo do tipo ?

Link para o comentário
Compartilhar em outros sites

  • 0

O pedido dois é tipo um mapa, que ao clicar no novo botão de MAP irá mostrar o mapa da posição atual (uma imagem para cada área pré selecionada.

O outro sobre uma imagem em diferentes locais, é tipo a neblina, porém ficará uns 5, 6 segundos para mostrar o nome da cidade.

Link para o comentário
Compartilhar em outros sites

  • 0

O pedido dois é tipo um mapa, que ao clicar no novo botão de MAP irá mostrar o mapa da posição atual (uma imagem para cada área pré selecionada.

 

O outro sobre uma imagem em diferentes locais, é tipo a neblina, porém ficará uns 5, 6 segundos para mostrar o nome da cidade.

Vish, vou tentar aqui, se der certo eu posto pra você...

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...