Ir para conteúdo

Bug Da Arena


vourath

Posts Recomendados

Olá, Xtibianos, estou com um bug na arena de meu servidor, extremamente xato, caso vocês puderem me ajudar ficarei grato.

 

Exemplo: O player A pagou os 5k, para realizar a arena scrapper, ai esse player A morreu na arena, logo mais aparece um player B ele vai na arena, paga os mesmos 5,1 ou 10k pra fazer qualquer arena, porém por causa do A que morreu, ele não consegue entrar para fazer a arena, devido o mosntro que matou o A ainda está no local.

 

como arruma isso? ;S

 

Obrigado,

Link para o comentário
Compartilhar em outros sites

Olha se nao me engano o script que determina se a arena esta livre ou nao e o creaturescript arenakill.lua, porem este evento deve estar registrado no arquivo loguin.lua, verifique se voce registrou o evento arenakill no seu loguim como segue abaixo:

 

registerCreatureEvent(cid, "ReportBug")

registerCreatureEvent(cid, "AdvanceSave")

registerCreatureEvent(cid, "ArenaKill")

registerCreatureEvent(cid, "KillingInTheNameOf")

registerCreatureEvent(cid, "skull amulet")

registerCreatureEvent(cid, "charge amulet")

registerCreatureEvent(cid, "PlayerDeath")

 

 

Outra coisa, tive um problema parecido, e resolvi mudandoi o nome do arquivo arena.lua na pasta lib

tente mudar para 101-arena.lua, pois antigamente existia o arquivo data.lua que registrava

os arquivos que seriam lidos nesta pasta, agora a prioridade de leitura dos arquivos e dada

pelo valor do numero no inicio do arquivo.

 

ou entao pode ser no arquivo arenaroom.lua.

Aqui vai o meu arenaroom que fumfa perfeitamente no meu server:

 

function onStepIn(cid, item, position, fromPosition)

if InitArenaScript == 0 then

InitArenaScript = 1

-- make arena rooms free

for i = 0,9 do

setGlobalStorageValue(42300+i, 0)

setGlobalStorageValue(42400+i, 0)

end

checkArenaRooms({})

end

local arena_room = item.actionid

local player_arena = getPlayerStorageValue(cid, 42355)

if getPlayerStorageValue(cid, arena_room+getPlayerStorageValue(cid, 42355)*10-1) == 1 or arena_room+getPlayerStorageValue(cid, 42355)*10-1 == 42299 then

if getGlobalStorageValue(cid, arena_room) == 0 then

local monster_uid = getGlobalStorageValue(arena_room+100)

if monster_uid > 0 then

if isCreature(monster_uid) == TRUE then

doRemoveCreature(monster_uid)

end

end

local spawn_pos = getThingPos(arena_room)

local monster = doCreateMonster(arena_monsters[arena_room+getPlayerStorageValue(cid, 42355)*10], {x=spawn_pos.x-1,y=spawn_pos.y-1,z=spawn_pos.z})

setGlobalStorageValue(arena_room+100, monster)

doTeleportThing(cid, spawn_pos, TRUE)

setGlobalStorageValue(arena_room, cid)

setGlobalStorageValue(arena_room-1, 0)

setPlayerStorageValue(cid, 42350, os.time()+arena_room_max_time)

else

doTeleportThing(cid, fromPosition, TRUE)

doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,getCreatureName(getGlobalStorageValue(cid, arena_room))..' is now in next room. Wait a moment and try again.')

end

else

doTeleportThing(cid, fromPosition, TRUE)

doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,'First kill monster!')

end

if arena_room == 42300 then

setPlayerStorageValue(cid, 42351, 0)

setPlayerStorageValue(cid, 42352, 1)

end

return TRUE

end

 

function checkArenaRooms(param)

addEvent(checkArenaRooms, 1000, {})

for i = 42300, 42309 do

local player = getGlobalStorageValue(i)

if isPlayer(player) == TRUE then

local player_storage = getPlayerStorageValue(player, 42350)

if player_storage <= os.time() then

doTeleportThing(player, arenaKickPosition, TRUE)

setPlayerStorageValue(player, 42350, 0)

setGlobalStorageValue(i, 0)

doPlayerSendTextMessage(player,MESSAGE_STATUS_CONSOLE_ORANGE,'You have been kicked from arena! You have only ' .. arena_room_max_time .. ' seconds for one room.')

elseif player_storage - 10 <= os.time() then

doPlayerSendTextMessage(player,MESSAGE_EVENT_DEFAULT,'Masz ' .. player_storage - os.time() .. ' sekund, zeby przejsc do kolejnego pokoju!')

end

else

setGlobalStorageValue(i, 0)

end

end

end

 

Espero ter ajudado, caso contrario valeu a intençao xD

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

×
×
  • Criar Novo...