Ir para conteúdo

[Encerrado] Golden Arena Pda


Hikigaya

Posts Recomendados

  • Respostas 47
  • Created
  • Última resposta

Top Posters In This Topic

/\

 

O problema é exatamente esse.

O Script tenta remover os corpse para a proxima wave... mas como No seu Script @Cleberadm tem o shiny golem que não tem corpse.

Oscript buga =D

Link para o comentário
Compartilhar em outros sites

na verdade n tem nd a ver o poke n ter corpse, ja q o script limpa o tile, ele n pega por corpse...

eh bem estranhu isso na real.. ;x a n ser q os pokes sem corpse n tao entrando no pokeexp.lua... ;x

Link para o comentário
Compartilhar em outros sites

aqui não funfo assim.. da a wave 1 eu mato tudo e da ok aparece que vai começa em 30seg e na segunda se não me engano eu mato e não aparece mais nada e fico la parado sem apaga os corpo e sem msg e sem respaw dos bixo..

 

tentei executa o script pelo sqlite e deu o seguinte erro : Error while executing query: near "timeToWaves": syntax error

Link para o comentário
Compartilhar em outros sites

eu colokei o script que fica no lib/configuration o inteiro da golden arena ai deu o erro que eu falei la em cima.. (obs: eu colokei o script e executei)

 

agora deu certo eu só colokei o script no sqlite e apagei o 30 do timewaves e colokei 30 dnv e deu certim vlws

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

a golden aki ta quase 100%, so ta faltando o player ganhar o premio e ser teleportado pra fora da golden e ganhar o premio.

 

explicando: os horarios tão 100%, o player é puxado pra arena 100%, 15 waves aparecendo 100%, porem quando acaba as waves, o player fica preso na arena e não recebe o premio. Obs: a posição de tp da arena(posBackGolden) ta certa. Ae vai os scripts pra quem souber arrumar:

 

data/lib/ configuration.lua

 

posGolden = {x=1227, y=1118, z=6} --pos da golden pra onde os players vao ser teleportados!

posBackGolden = {x=1231, y=1113, z=7} --pos da golden pra onde os players vao ser teleportados ao morrerem e quando acabar a golden...

---------

horas = {"0:40", "9:40", "11:45", "17:00", "21:55"} --alterar aki os horarios da golden arena!

--deixe sempre na ordem do menor pro maior horario!!!

--------

posisGolden = {

{x=1220, y=1115, z=6},

{x=1227, y=1118, z=6},

{x=1233, y=1115, z=6},

{x=1220, y=1121, z=6}, --aki vcs colocam todas as posiçoes q os monstros vao nascer dentro da golden arena...

{x=1233, y=1121, z=6}, --lembrando q o numero de posis q vcs colocarem tem q ser igual ao numero de pokes q vcs vao colocar ali embaixo!

{x=1220, y=1118, z=6},

{x=1233, y=1118, z=6},

{x=1227, y=1115, z=6}, --LEMBRANDO Q AGORA N PRECISA MAIS EDITAR MAIS NENHUM SCRIPT A N SER ESSE!!

{x=1227, y=1121, z=6}, --E O GLOBALEVENTS/GLOBALEVENTS.XML COM OS HORARIOS!

}

----------

wavesGolden = { --waves q vao ter na golden arena... o numero de pokes tem q ser igual ao numero de posis!!

[1] = {"Golduck", "Persian", "Venomoth", "Parasect", "Wigglytuff", "Clefable", "Nidoking", "Sandslash", "Raichu"},

[2] = {"Raticate", "Muk", "Primeape", "Magneton", "Tentacruel", "Victreebel", "Machamp", "Poliwrath", "Arcanine"},

[3] = {"Shiny Dratini", "Exeggutor", "Alakazam", "Gengar", "Onix", "Hypno", "Mr. Mime", "Cloyster", "Dewgong"},

[4] = {"Shiny Seadra", "Shiny Kingler", "Electabuzz", "Jynx", "Scyther", "Kangaskhan", "Rhydon", "Weezing", "Marowak"},

[5] = {"Shiny Raichu", "Shiny Beedrill", "Venusaur", "Charizard", "Blastoise", "Gyarados", "Kabutops", "Omastar", "Magmar"},

[6] = {"Shiny Butterfree", "Shiny Marowak", "Shiny Farfetch'd", "Feraligatr", "Typhlosion", "Meganium", "Dragonite", "Snorlax", "Golem"},

[7] = {"Shiny Abra", "Shiny Pinsir", "Shiny Blastoise", "Ampharos", "Xatu", "Togetic", "Lanturn", "Crobat", "Noctowl"},

[8] = {"Shiny Jynx", "Shiny Venusaur", "Shiny Electabuzz", "Slowking", "Murkrow", "Umbreon", "Espeon", "Politoed", "Sudowoodo"},

[9] = {"Shiny Muk", "Shiny Tangela", "Shiny Charizard", "Granbull", "Steelix", "Gligar", "Forretress", "Wobbuffet", "Misdreavus"},

[10] = {"Shiny Raichu", "Shiny Dragonair", "Shiny Pidgeot", "Shiny Beedrill", "Piloswine", "Sneasel", "Heracross", "Scizor", "Qwilfish"},

[11] = {"Shiny Parasect", "Shiny Muk", "Shiny Electrode", "Shiny Golbat", "Shiny Arcanine", "Donphan", "Kingdra", "Skarmory", "Mantine"},

[12] = {"Shiny Onix", "Shiny Farfetch'd", "Shiny Tentacruel", "Shiny Abra", "Shiny Arcanine", "Shiny Venomoth", "Blissey", "Miltank", "Porygon2"},

[13] = {"Shiny Marowak", "Shiny Electrode", "Shiny Kingler", "Shiny Pinsir", "Shiny Venusaur", "Shiny Venomoth", "Shiny Tentacruel", "Snorlax", "Ursaring"},

[14] = {"Shiny Dragonair", "Shiny Scyther", "Shiny Gengar", "Tyranitar", "Shiny Pinsir", "Shiny Seadra", "Shiny Jynx", "Shiny Tangela", "Tyranitar"},

[15] = {"Shiny Venussaur", "Shiny Gyarados", "Shiny Blastoise", "Shiny Charizard", "Shiny Scyther", "Mew", "Mewtwo", "Shiny Gengar", "Shiny Alakazam"}, --o numero de espaços na tabela tem q ser o ms do numero de posis!!!

}

 

 

data/lib/Golden Arena.lua

 

--[[storages

22545 = player q entra na arena (normal)

22546 = monstros na arena (normal)

22547 = waves (global)

22548 = qnts monstros tem na arena (global)

22549 = nome dos players q vao pra arena (global)

22550 = qnts players tem na arena (global)

22551 = waves para cada player (normal)

]]

------------------------------------------------------------------------------------------------------------------

function doWave(start)

if getGlobalStorageValue(22550) >= 1 and getGlobalStorageValue(22548) <= 0 then

local wave = getGlobalStorageValue(22547) <= 0 and 1 or getGlobalStorageValue(22547)

local players = creaturesInGolden(GoldenUpper, GoldenLower, true) --pega os players na golden

for i = 1, #posisGolden do

if wavesGolden[wave] ~= "" then

local monster = doSummonCreature(wavesGolden[wave], posisGolden)

doSetMonsterPassive(monster)

doWildAttackPlayer(monster, players[math.random(#players)])

doSendMagicEffect(getThingPos(monster), 21)

setPlayerStorageValue(monster, 22546, 1)

local sto = getGlobalStorageValue(22548) <= 0 and 0 or getGlobalStorageValue(22548)

setGlobalStorageValue(22548, sto+1)

end

end

for a = 1, #players do

setPlayerStorageValue(players[a], 22551, wave)

end

setGlobalStorageValue(22547, wave+1)

end

end

------------------------------------------------------------------------------------------------------------------

function puxaParticipantes()

local s = ""

if getGlobalStorageValue(22549) ~= -1 then

s = string.explode(getGlobalStorageValue(22549), ",")

end

 

if type(s) ~= 'table' or s == "" then

print("Golden Arena will not begin, because no player are registered!")

return true

end

 

for i = 1, #s do

local sid = getPlayerByName(s)

if isCreature(sid) then

doTeleportThing(sid, getClosestFreeTile(sid, posGolden)) --pos pra onde os players vao ser teleportados quando a golden começar!

doSendMagicEffect(getThingPos(sid), 21)

if #getCreatureSummons(sid) >= 1 then

doTeleportThing(getCreatureSummons(sid)[1], getClosestFreeTile(getCreatureSummons(sid)[1], posGolden)) --pos pra onde os pokes dos players serao teleportados!

doSendMagicEffect(getThingPos(getCreatureSummons(sid)[1]), 21)

end

setPlayerStorageValue(sid, 22545, 1)

setGlobalStorageValue(22550, (getGlobalStorageValue(22550) <= 0 and 0 or getGlobalStorageValue(22550))+1)

end

end

setGlobalStorageValue(22549, -1)

end

------------------------------------------------------------------------------------------------------------------

function endGoldenArena(onStart)

for sto = 22547, 22550 do

setGlobalStorageValue(sto, -1)

end

addEvent(creaturesInGolden, 150, GoldenUpper, GoldenLower, false, true, true)

if not onStart then

print("The Golden Arena are finished!")

end

end

------------------------------------------------------------------------------------------------------------------

function creaturesInGolden(upper, lower, player, remove, clean) -- function by Vodkart and edited by Slicer

local players = {}

for x = upper.x - 1, lower.x + 1 do

for y = upper.y - 1, lower.y + 1 do

local pos = {x = x, y = y, z = upper.z}

local m = getTopCreature(pos).uid

if remove ~= false and m ~= 0 and ehMonstro(m) then doRemoveCreature(m) end

if clean ~= false then doCleanTile(pos, false) end

if player ~= false and m ~= 0 and isPlayer(m) and getPlayerStorageValue(m, 22545) == 1 then table.insert(players, m) end

end

end

if player ~= false then return players end

end

------------------------------------------------------------------------------------------------------------------

function installRankGolden()

if db.executeQuery("ALTER TABLE `players` ADD `Golden` integer not null default 0;") then

if db.executeQuery("UPDATE `players` SET `Golden` = '10000' WHERE `id` = 1;") then

local dir = "data/globalevents/scripts/start.lua"

local arq = io.open(dir, "w")

local base = 'function onStartup()\n\ndb.executeQuery("UPDATE `players` SET `online` = 0 WHERE `world_id` = " .. getConfigValue("worldId") .. ";")\n'

base = base..'endGoldenArena(true)\n\nreturn true\nend'

arq:write(base)

arq:close()

 

print("Table 'Golden' added with success!")

end

end

return true

end

------------------------------------------------------------------------------------------------------------------

function getPlayerRecordWaves(cid)

if not isCreature(cid) then return 0 end

local pid = getPlayerGUID(cid)

local query = db.getResult("SELECT `Golden` FROM `players` WHERE `id` = "..pid..";")

 

if query:getID() == -1 then

return 0

end

return query:getDataInt("Golden")

end

------------------------------------------------------------------------------------------------------------------

function setPlayerRecordWaves(cid)

if not isCreature(cid) then return false end

local waves = getPlayerStorageValue(cid, 22551)

local acc = getPlayerGUID(cid)

if waves > getPlayerRecordWaves(cid) then

if db.executeQuery("UPDATE `players` SET `Golden` = '"..waves.."' WHERE `id` = "..acc..";") then

setPlayerStorageValue(cid, 22551, -1)

return true

end

end

return false

end

------------------------------------------------------------------------------------------------------------------

function getRankGolden()

local query = db.getResult("SELECT `id`, `Golden` FROM `players` ORDER BY `Golden` DESC;")

local str = "Rank of the Golden Arena:\n\n"

 

if query:getID() ~= -1 then

for i = 1, 10 do

if not(query:next()) or query:getDataInt("Golden") == 0 then

str = str..""..i.."° None - 0 wave.\n"

else

local s = tonumber(query:getDataInt("Golden")) > 1 and "s" or ""

str = str..""..i.."° "..getPlayerNameByGUID(query:getDataString("id")).." - "..query:getDataInt("Golden").." wave"..s..".\n"

end

end

query:free()

end

return str

end

------------------------------------------------------------------------------------------------------------------

 

 

e finalmente data/creaturescripts/scripts/pokeexp

 

 

if getPlayerStorageValue(cid, 22546) == 1 then

setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1)

doItemSetAttribute(corpse.uid, "golden", 1)

end

if getPlayerStorageValue(cid, 22546) == 1 and getGlobalStorageValue(22548) <= 0 then

local wave = getGlobalStorageValue(22547)

for _, sid in ipairs(getPlayersOnline()) do

if isPlayer(sid) and getPlayerStorageValue(sid, 22545) == 1 then

if getGlobalStorageValue(22547) < #wavesGolden+1 then

doPlayerSendTextMessage(sid, 21, "Wave "..wave.." will begin in "..timeToWaves.."seconds!")

doPlayerSendTextMessage(sid, 28, "Wave "..wave.." will begin in "..timeToWaves.."seconds!")

addEvent(creaturesInGolden, 100, GoldenUpper, GoldenLower, false, true, true)

addEvent(doWave, timeToWaves*1000)

elseif getGlobalStorageValue(22547) == #wavesGolden+1 then

doPlayerSendTextMessage(sid, 20, "You have win the golden arena! Take your reward!")

doPlayerAddItem(sid, 2152, getPlayerStorageValue(sid, 22551)*2) --recompensa, a storage ali eh qnts waves o player guento!

setPlayerStorageValue(sid, 22545, -1)

doTeleportThing(sid, getClosestFreeTile(sid, posBackGolden), false)

setPlayerRecordWaves(sid)

end

end

end

if getGlobalStorageValue(22547) == #wavesGolden+1 then

endGoldenArena()

end

end

 

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

paro de funciona denovo se eu aumenta waves buga algo ?

 

bom eu entendo um pouco de script entaum assim que deu esse problema citado acima procurei corrigir, oque fiz para o script funcionar foi apenas executa-lo na query database.. como executa isso? abra o sqlite e add o database do seu server depois conecte ele, vá em open sql editor la em cima onde tem um lápis, depois você cola o script lá dentro e clique em execute query ou apenas aperte (F9), fiz isso com todos os scripts do golden arena e deu certo... '-' agora se isso der certo ah vcs' toda vez que mudar os bixos das waves tem que fazer esse procedimento em cima... BOA SORTE! se isto pegar me avise.

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...