Ir para conteúdo
  • 0

Golden/Survival Arena


wenderotpoke

Pergunta

Galera preciso de ajuda pra configurar melhor essa Arena....
Ando tendo problemas com ela...
o que eu quero é que ela de o aviso que vai iniciar a X hora com 3 minutos de antecedência e que a wave de monstros nasça de 1 em 1 minuto

O código acime é no LIB.....

 

 

Global Event

Spoiler

     <globalevent name="StartSurvival" interval="300" event="script" value="startSurvival.lua"/>
     <globalevent name="SurvivalArena1" time="11:57" event="script" value="survivalArena.lua"/>
     <globalevent name="SurvivalArena2" time="15:57" event="script" value="survivalArena.lua"/>
     <globalevent name="SurvivalArena3" time="19:57" event="script" value="survivalArena.lua"/>
     <globalevent name="SurvivalArena4" time="23:57" event="script" value="survivalArena.lua"/>

Scripts

StartSurvival

Spoiler

function onThink(cid, interval, lastExecution)
    
    if getGlobalStorageValue(214689) == 1 then
        addEvent(function()
                 startGolden()    
            end, 3 * 60 * 1000)
    else
        startGolden()
    end
    return true
end  

SurvivalArena

Spoiler

function onTimer()

    setGlobalStorageValue(254600, 1)
    setGlobalStorageValue(254601, 1)
    addEvent(setGlobalStorageValue, 3 * 60 * 1000, 254601, -1)
    doBroadcastMessage("[Survival Arena]: O evento irá começar em 3 minutos, você é forte o suficiente para participar?")            
    addEvent(doBroadcastMessage, 1 * 60 * 1000, "[Survival Arena]: A Entrada irá fechar em 2 minutos, você é forte o suficiente para participar?")
    addEvent(doBroadcastMessage, 2 * 60 * 1000, "[Survival Arena]: A Entrada irá fechar em 1 minutos, você é forte o suficiente para participar?")
    addEvent(doBroadcastMessage, 3 * 60 * 1000, "[Survival Arena]: A Entrada fechou.... Boa Sorte a todos.")    
    return true    
end

 

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Acho melhor passar o StartSurvival para dentro do SurvivalArena:

Novo SurvivalArena:

function onTimer()
	setGlobalStorageValue(254600, 1)
	setGlobalStorageValue(254601, 1)
	addEvent(setGlobalStorageValue, 3 * 60 * 1000, 254601, -1)
	doBroadcastMessage("[Survival Arena]: O evento irá começar em 3 minutos, você é forte o suficiente para participar?")            
	addEvent(doBroadcastMessage, 1 * 60 * 1000, "[Survival Arena]: A Entrada irá fechar em 2 minutos, você é forte o suficiente para participar?")
	addEvent(doBroadcastMessage, 2 * 60 * 1000, "[Survival Arena]: A Entrada irá fechar em 1 minutos, você é forte o suficiente para participar?")
	addEvent(doBroadcastMessage, 3 * 60 * 1000, "[Survival Arena]: A Entrada fechou.... Boa Sorte a todos.")
	addEvent(startGolden, 3*60*1000)
	return true    
end

 

E na função setMonsterWave no lib troque por:

function setMonsterWave(arenaName, wave, count, multi)
    if #getPlayersInArea(b.ArenaPlayers) < 1 then 
        doBroadcastMessage("[Survival Arena]: Todos jogadores foram derrotados.")
        --limpar arena
        return true
    end
	local this_wave = arena[arenaName].pokemon[wave]

	if not arena[arenaName] then	
		return false
	end
	
	if not this_wave then
		return false
	end
	
	for i = 1, count, 1 do
		EX = math.random(arena[arenaName].TopLeft.x,arena[arenaName].BottomRight.x)
		EY = math.random(arena[arenaName].TopLeft.y,arena[arenaName].BottomRight.y)
	
		local position = {x = EX, y = EY, z = arena[arenaName].z}

		if isWalkable(position) and getTopCreature(position).uid == 0 then		
			local monster = doCreateMonster(this_wave[math.random(1,#this_wave)], position)
			setBonusWild(monster, multi)
		else
			for l = 0, 0, 0 do
				position.x = math.random(arena[arenaName].TopLeft.x,arena[arenaName].BottomRight.x)
				position.y = math.random(arena[arenaName].TopLeft.y,arena[arenaName].BottomRight.y)
				if isWalkable(position) and getTopCreature(position).uid == 0 then		
					local monster = doCreateMonster(this_wave[math.random(1,#this_wave)], position)
					setBonusWild(monster, multi)
					break
				end
			end
		end
	end
    wave = wave+1
    setGlobalStorage(214689, wave)
	addEvent(setMonsterWave, 1 * 60 * 1000, "Golden", wave, 25 + math.floor(wave * 2), 1 + (wave * 0.10))
end
			


Se necessário, nessa função troque "--limpar arena" pela função que remove os monstros que sobraram da arena.

 

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

  • 0
6 horas atrás, Scizorgame disse:

Acho melhor passar o StartSurvival para dentro do SurvivalArena:

Novo SurvivalArena:


function onTimer()
	setGlobalStorageValue(254600, 1)
	setGlobalStorageValue(254601, 1)
	addEvent(setGlobalStorageValue, 3 * 60 * 1000, 254601, -1)
	doBroadcastMessage("[Survival Arena]: O evento irá começar em 3 minutos, você é forte o suficiente para participar?")            
	addEvent(doBroadcastMessage, 1 * 60 * 1000, "[Survival Arena]: A Entrada irá fechar em 2 minutos, você é forte o suficiente para participar?")
	addEvent(doBroadcastMessage, 2 * 60 * 1000, "[Survival Arena]: A Entrada irá fechar em 1 minutos, você é forte o suficiente para participar?")
	addEvent(doBroadcastMessage, 3 * 60 * 1000, "[Survival Arena]: A Entrada fechou.... Boa Sorte a todos.")
	addEvent(startGolden, 3*60*1000)
	return true    
end

 

E na função setMonsterWave no lib troque por:


function setMonsterWave(arenaName, wave, count, multi)
    if #getPlayersInArea(b.ArenaPlayers) < 1 then 
        doBroadcastMessage("[Survival Arena]: Todos jogadores foram derrotados.")
        --limpar arena
        return true
    end
	local this_wave = arena[arenaName].pokemon[wave]

	if not arena[arenaName] then	
		return false
	end
	
	if not this_wave then
		return false
	end
	
	for i = 1, count, 1 do
		EX = math.random(arena[arenaName].TopLeft.x,arena[arenaName].BottomRight.x)
		EY = math.random(arena[arenaName].TopLeft.y,arena[arenaName].BottomRight.y)
	
		local position = {x = EX, y = EY, z = arena[arenaName].z}

		if isWalkable(position) and getTopCreature(position).uid == 0 then		
			local monster = doCreateMonster(this_wave[math.random(1,#this_wave)], position)
			setBonusWild(monster, multi)
		else
			for l = 0, 0, 0 do
				position.x = math.random(arena[arenaName].TopLeft.x,arena[arenaName].BottomRight.x)
				position.y = math.random(arena[arenaName].TopLeft.y,arena[arenaName].BottomRight.y)
				if isWalkable(position) and getTopCreature(position).uid == 0 then		
					local monster = doCreateMonster(this_wave[math.random(1,#this_wave)], position)
					setBonusWild(monster, multi)
					break
				end
			end
		end
	end
    wave = wave+1
    setGlobalStorage(214689, wave)
	addEvent(setMonsterWave, 1 * 60 * 1000, "Golden", wave, 25 + math.floor(wave * 2), 1 + (wave * 0.10))
end
			


Se necessário, nessa função troque "--limpar arena" pela função que remove os monstros que sobraram da arena.

 

Beleza manoooo vou testar aqui

 

Manooooooooo funfouuuu perfeitamente VLW MANIN
REPZÃO NA MÃO ^^

 

Aaaaah deu esse erro aqui....

[Error - GlobalEvent Interface]
In a timer event called from:
data/globalevents/scripts/survivalArena.lua:onTimer
Description:
data/lib/036-golden arena.lua:294: attempt to index global 'b' (a nil value)
stack traceback:
        data/lib/036-golden arena.lua:294: in function <data/lib/036-golden arena.lua:293>


o Evento ta com as configurações pegando mas não está spamando os mobs

 

Link para o comentário
Compartilhar em outros sites

  • 0

Qual essa linha 294 ?

Na função setMonsterWave troque:

for l = 0, 0, 0 do

 

Por:

for l = 0, 0 do

 

Na tabela arena["Golden"] troque:

ArenaPlayers = {fromx = 1262, fromy = 1639, fromz = 6, tox = 1341, toy = 1686, toz= 6}, -- área onde será checado se tem players

 

Por:

ArenaPlayers = {["from"] = {x = 1262, y = 1639, z = 6}, ["to"] = {x = 1341, y = 1686, z= 6}, -- área onde será checado se tem players

 

Troque a função startGolden() por essa:

function startGolden()
	if getGlobalStorageValue(254600) >= 1 then
		local aG = arena["Golden"]
		if #getPlayersInArea(aG.ArenaPlayers["from"], aG.ArenaPlayers["to"]) >= 1 then
			local wave = getGlobalStorageValue(214689) <= 1 and 1 or getGlobalStorageValue(214689)
			setGlobalStorageValue(214689, wave + 1)
			doBroadcastMessage("[Survival Arena]:A ["..wave.."] irá surgir em 3 minutos")
			addEvent(setMonsterWave, 3 * 60 * 1000, "Golden", wave, 25 + math.floor(wave * 2), 1 + (wave * 0.10))
		else
			setGlobalStorageValue(254600, 0)
			setGlobalStorageValue(214689, 0)
			creatureInSurvival(aG.ArenaUpper, aG.ArenaLower, true, true)
			doBroadcastMessage("[Survival Arena]: Evento finalizado até a próxima!")
		end
	end
end

 

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

  • 0
1 hora atrás, Scizorgame disse:

Qual essa linha 294 ?

Na função setMonsterWave troque:


for l = 0, 0, 0 do

 

Por:


for l = 0, 0 do

 

Na tabela arena["Golden"] troque:


ArenaPlayers = {fromx = 1262, fromy = 1639, fromz = 6, tox = 1341, toy = 1686, toz= 6}, -- área onde será checado se tem players

 

Por:


ArenaPlayers = {["from"] = {x = 1262, y = 1639, z = 6}, ["to"] = {x = 1341, y = 1686, z= 6}, -- área onde será checado se tem players

 

Troque a função startGolden() por essa:


function startGolden()
	if getGlobalStorageValue(254600) >= 1 then
		local aG = arena["Golden"]
		if #getPlayersInArea(aG.ArenaPlayers["from"], aG.ArenaPlayers["to"]) >= 1 then
			local wave = getGlobalStorageValue(214689) <= 1 and 1 or getGlobalStorageValue(214689)
			setGlobalStorageValue(214689, wave + 1)
			doBroadcastMessage("[Survival Arena]:A ["..wave.."] irá surgir em 3 minutos")
			addEvent(setMonsterWave, 3 * 60 * 1000, "Golden", wave, 25 + math.floor(wave * 2), 1 + (wave * 0.10))
		else
			setGlobalStorageValue(254600, 0)
			setGlobalStorageValue(214689, 0)
			creatureInSurvival(aG.ArenaUpper, aG.ArenaLower, true, true)
			doBroadcastMessage("[Survival Arena]: Evento finalizado até a próxima!")
		end
	end
end

 

Vish agora nem da mais start

 

Spoiler

local arena = {

    ["Golden"] = {    
        z= 6, -- andar da arena para criação dos monsteres
        TopLeft = {x = 1262,y = 1639}, -- área superior esquerda da arena.
        BottomRight = {x = 1341,y = 1686}, -- área inferior a direita da arena.
        ExitArena = {x = 1302, y = 1675, z = 7}, -- Lugar da saida da golden.
        Teleport = {x = 1303, y = 1662, z = 6}, -- área do mapa onde o player será teleportado.
        ArenaPlayers = {fromx = 1262, fromy = 1639, fromz = 6, tox = 1341, toy = 1686, toz= 6}, -- área onde será checado se tem players
        ArenaUpper = {x = 1262, y = 1639, z = 6}, -- igual ao TopLeft
        ArenaLower = {x = 1341, y = 1686, z = 6}, -- Igual ao BottomRight
        Storage = {
            254660, -- Storage referente ao player atacar e receber pontos.
            2154601, -- Não poder usar fly, ride ou surf.
            254661 -- Storage referente a checagem do player in golden.
        },
        pokemon = {
            {"Ledyba", "Spinarak", "Chinchou", "Zubat", "Horsea", "Kakuna", "Spearow", "Sentret", "Ekans", "Poliwag",  "Magikarp", "Togepi", "Weedle", "Rattata"},         ---Wave1
            {"Tentacool", "Remoraid", "Geodude", "Magnemite", "Nincada", "Diglett", "Pineco", "Mankey", "Slugma", "Abra", "Swinub"},                ---Wave2
            {"Koffing", "Pineco", "Spinarak", "Remoraid", "Zubat", "Togepi", "Grimer", "Shellder", "Krabby", "Voltorb", "Exeggcute"},                ---Wave3
            {"Pidgeotto", "Mareep", "Sandshrew", "Marill", "Vulpix", "Wooper", "Bulbasaur", "Pichu", "Charmander", "Squirtle", "Igglybuff"},                ---Wave4
            {"Ponyta", "Seel", "Cubone", "Staryu", "Venonat", "Houndour", "Meowth", "Phanpy", "Machop"},                            ---Wave5
            {"Magby", "Beedril", "Elekid", "Larvitar", "Raticate", "Omanyte", "Kabuto", "Chikorita", "Cyndaquil", "Totodile"},                    ---Wave6
            {"Drowzee", "Rhyhorn", "Dratini", "Natu", "Skiploom", "Sunflora", "Nidorina", "Nidorino", "Growlithe", "Poliwhirl"},                    ---Wave7
            {"Ivysaur", "Charmeleon", "Wartortle", "Furret", "Ledian", "Ariados", "Snubbull", "Teddiursa", "Tyrogue", "Smoochum", "Elekid"},                ---Wave8
            {"Dugtrio", "Delibird", "Kadabra", "Machoke", "Graveler", "Arbok", "Flaaffy", "Gligar", "Golbat"},                            ---Wave9
            {"Kingler", "Electrode", "Seadra", "Seaking", "Porygon", "Bayleef", "Quilava", "Croconaw", "Kadabra", "Porygon"},                    ---Wave10
            {"Parasect", "Yanma", "Murkrow", "Sneasel", "Fearow", "Tauros", "Pikachu", "Bellossom", "Vileplume", "Jumpluff"},                    ---Wave11
            {"Onix", "Hypno", "Marowak", "Weezing", "Pikachu", "Primeape", "Persian", "Venomoth", "Corsola", "Stantler", "Dodrio"},                ---Wave12
            {"Shedinja", "Lickitung", "Chansey", "Vaporeon", "Jolteon", "Flareon", "Dewgong", "Hitmontop", "Cloyster", "Pupitar", "Hitmonlee", "Hitmonchan"},        ---Wave13
            {"Dragonair", "Noctowl", "Azumarill", "Quagsire", "Espeon", "Umbreon", "Sandslash", "Mr. Mime", "Nidoking", "Octillery", "Wigglytuff", "Golduck"},        ---Wave14
            {"Venusaur", "Porygon2", "Charizard", "Blastoise", "Miltank", "Pidgeot", "Nidoqueen", "Golem", "Politoed", "Poliwrath", "Victreebel"},            ---Wave15    
            {"Muk", "Gengar", "Rhydon", "Kanghaskan", "Starmie", "Jynx", "Raichu", "Ninetales", "Alakazam", "Machamp", "´Tentacruel", "Magneton"},            ---Wave16
            {"Lanturn", "Togetic", "Xatu", "Ampharos", "Girafarig", "Forretress", "Omastar", "Kabutops", "Meganium", "Typhlosion", "Feraligatr", "Crobat"},        ---Wave17
            {"Arcanine", "Rapidash", "Exeguttor", "Scyther", "Magmar", "Electabuzz", "Granbull", "Magcargo", "Piloswine", "Donphan", "Meganium", "Jynx"},        ---Wave18
            {"Slowking", "Misdreavus", "Wobbuffet", "Steelix", "Scizor", "Heracross", "Pinsir", "Gyarados", "Snorlax", "Dragonite", "Sudowoodo"},            ---Wave19
            {"Tyranitar", "Castform", "Tropius", "Absol", "Kingdra", "Dragonite", "Ursaring", "Mantine", "Skarmory", "Houndoom", "Kingdra", "Blissey"},            ---Wave20
            {"Blissey", "Gyarados", "Misdreavus", "Snorlax", "Wobbuffet", "Sudowoodo", "Slowking", "Arcanine", "Jynx", "Gengar", "Kanghaskan", "Alakazam"},        ---Wave21
            {"Scyther", "Jynx", "Aerodactyl", "Snorlax", "Wobbuffet", "Tyranitar", "Gyarados", "Kangaskhan", "Slowking", "Scizor", "Dragonite", "Arcanine"},        ---Wave22
            {"Alakazam", "Tentacruel", "Stantler", "Skarmory", "Xatu", "Houndoom", "Kabutops", "Omastar", "Kingdra", "Electabuzz", "Magmar", "Lapras"},        ---Wave23
            {"Scyther", "Misdreavus", "Skarmory", "Kangaskhan", "Mr.Mime", "Machamp", "Venusaur", "Typhlosion", "Feraligatr", "Girafarig", "Misdreavus"},        ---Wave24
            {"Raichu", "Ninetales", "Alakazam", "Machamp", "´Tentacruel", "Magneton", "Venusaur", "Porygon2", "Charizard", "Blastoise", "Miltank", "Pidgeot"},        ---Wave25
            {"Ursaring", "Mantine", "Skarmory", "Houndoom", "Kingdra", "Blissey", "Slowking", "Misdreavus", "Wobbuffet", "Steelix", "Scizor", "Heracross"},        ---Wave26
            {"Venusaur", "Porygon2", "Charizard", "Blastoise", "Miltank", "Pidgeot", "Scyther", "Misdreavus", "Skarmory", "Kangaskhan", "Mr.Mime", "Lapras"},        ---Wave27
            {"Lanturn", "Togetic", "Xatu", "Ampharos", "Girafarig", "Forretress","Granbull", "Magcargo", "Piloswine", "Donphan", "Meganium", "Jynx"},            ---Wave28
            {"Blissey", "Gyarados", "Misdreavus", "Snorlax", "Wobbuffet", "Sudowoodo", "Gyarados", "Kangaskhan", "Slowking", "Scizor", "Dragonite", "Arcanine"},        ---Wave29
            {"Charizard", "Venusaur", "Blastoise", "Feraligatr", "Thyplosion", "Meganium", "Skarmory", "Jynx", "Wobbuffet", "Ursaring", "Gengar", "Sudowoodo"},        ---Wave30
            {"Tyranitar", "Castform", "Tropius", "Absol", "Kingdra", "Dragonite", "Golem", "Machamp", "Arcanine", "Stelix", "Tyranitar", "Dragonite"},            ---Wave31
            {"Blissey", "Gyarados", "Misdreavus", "Snorlax", "Wobbuffet", "Sudowoodo", "Slowking", "Arcanine", "Jynx", "Gengar", "Kanghaskan", "Alakazam"},        ---Wave32
            {"Scyther", "Jynx", "Aerodactyl", "Snorlax", "Wobbuffet", "Tyranitar", "Gyarados", "Kangaskhan", "Slowking", "Scizor", "Dragonite", "Arcanine"},        ---Wave33
            {"Slowking", "Misdreavus", "Wobbuffet", "Steelix", "Scizor", "Heracross", "Kabutops", "Omastar", "Kingdra", "Electabuzz", "Magmar", "Lapras"},        ---Wave34
            {"Scyther", "Misdreavus", "Skarmory", "Kangaskhan", "Mr.Mime", "Lapras", "Ursaring", "Mantine", "Skarmory", "Houndoom", "Kingdra", "Blissey"},        ---Wave35
            {"Lanturn", "Togetic", "Xatu", "Ampharos", "Girafarig", "Forretress", "Venusaur", "Porygon2", "Charizard", "Blastoise", "Miltank", "Pidgeot"},            ---Wave36
            {"Blissey", "Gyarados", "Misdreavus", "Snorlax", "Wobbuffet", "Sudowoodo", "Granbull", "Magcargo", "Piloswine", "Donphan", "Meganium", "Jynx"},        ---Wave37
            {"Charizard", "Venusaur", "Blastoise", "Feraligatr", "Thyplosion", "Meganium", "Gyarados", "Kangaskhan", "Slowking", "Scizor", "Dragonite", "Arcanine"},    ---Wave38
            {"Misdreavus", "Kabutops", "Alakazam", "Gyarados", "Electabuzz", "Houndoom", "Snorlax", "Scizor", "Slowking", "Kingdra", "Magmar", "Blissey"},        ---Wave39
            {"Togetic", "Crobat", "Muk", "Blastoise", "Raichu", "Magmar", "Smeargle7", "Machamp", "Gengar", "Rhydon", "Jynx", "Feraligatr"},            ---Wave40
            {"Xatu", "Girafarig", "Mr. Mime", "Scyther", "Mantine", "Gyarados", "Porygon2", "Smeargle7", "Ampharos", "Forretress", "Piloswine", "Donphan"},        ---Wave41
            {"Ampharos", "Blissey", "Steelix", "Scizor", "Misdreavus", "Houndoom", "Kingdra", "Skarmory", "Ursaring", "Wobbuffet", "Lapras", "Rapidash"},        ---Wave42
            {"Misdreavus", "Kabutops", "Alakazam", "Gyarados", "Electabuzz", "Houndoom", "Snorlax", "Scizor", "Slowking", "Kingdra", "Magmar", "Blissey"},        ---Wave43
            {"Togetic", "Crobat", "Muk", "Blastoise", "Raichu", "Magmar", "Smeargle7", "Machamp", "Gengar", "Rhydon", "Jynx", "Feraligatr"},            ---Wave44
            {"Lanturn", "Tyranitar", "Typhlosion", "Feraligatr", "Arcanine", "Exeggutor", "Xatu", "Girafarig", "Mr. Mime", "Scyther", "Mantine", "Gyarados"},        ---Wave45
            {"Venusaur", "Blissey", "Steelix", "Scizor", "Misdreavus", "Houndoom", "Kingdra", "Skarmory", "Ursaring", "Wobbuffet", "Lapras", "Rapidash"},        ---Wave46
            {"Scyther", "Misdreavus", "Skarmory", "Kangaskhan", "Mr.Mime", "Lapras", "Ursaring", "Mantine", "Skarmory", "Houndoom", "Kingdra", "Blissey"},        ---Wave47
            {"Skarmory", "Jynx", "Wobbuffet", "Ursaring", "Gengar", "Sudowoodo", "Mr.Mime", "Chansey", "Rhydon", "Pinsir", "Lapras", "Aerodactyl"},            ---Wave48
            {"Ninjask", "Exploud", "Medicham", "Mawile", "Manectric", "Camerupt", "Sceptile", "Blaziken", "Swampert", "Shiftry", "Ludicolo", "Swellow"},            ---Wave49
            {"Flygon", "Zangoose", "Altaria", "Seviper", "Crawdaunt", "Kecleon", "Swalot", "Cacturn", "Mightyena", "Wobbuffet", "Manectric", "Crawdaunt"},        ---Wave50
            {"Mightyena", "Flygon", "Swampert", "Blaziken", "Lucario", "Manectric", "Claydol", "Banette", "Metang", "Glalie", "Lucario", "Breloom"},            ---Wave51
            {"Kangaskhan", "Flygon", "Metang", "Gyarados", "Feraligatr", "Mantine", "Abomasnow", "Zangoose", "Flygon", "Glalie", "Metang", "Camerupt"},        ---Wave52
            {"Swalot", "Cacturn", "Mightyena", "Wobbuffet", "Manectric", "Crawdaunt", "Cacturn", "Mightyena", "Miltank", "Meganium", "Shifrty", "Swellow"},        ---Wave53
            {"Flygon", "Lapras", "Swellow", "Camerupt", "Blissey", "Aerodactyl", "Tyranitar", "Abomasnow", "Glalie", "Mawile", "Gengar", "Alakazam"},            ---Wave54
            {"Medicham", "Exploud", "Typhlosion", "Skarmory", "Kanghaskan", "Breloom", "Feraligatr", "Venusaur", "Mantine", "Altaria", "Shiftry", "Blaziken"},        ---Wave55
            {"Swalot", "Cacturn", "Mightyena", "Wobbuffet", "Manectric", "Crawdaunt", "Abomasnow", "Walrein", "Glalie", "Zangoose", "Ninjask", "Ludicolo"},        ---Wave56
            {"Swalot", "Cacturn", "Mightyena", "Wobbuffet", "Manectric", "Crawdaunt", "Cacturn", "Mightyena", "Miltank", "Meganium", "Shifrty", "Swellow"},
            {"Feraligatr", "Venusaur", "Mantine", "Altaria", "Shiftry", "Blaziken", "Flygon", "Lapras", "Swellow", "Camerupt", "Blissey", "Aerodactyl"},
            {"Charizard", "Venusaur", "Blastoise", "Feraligatr", "Thyplosion", "Meganium", "Medicham", "Exploud", "Typhlosion", "Skarmory", "Kanghaskan", "Breloom"},
            {"Misdreavus", "Kabutops", "Alakazam", "Gyarados", "Electabuzz", "Houndoom", "Snorlax", "Scizor", "Slowking", "Kingdra", "Magmar", "Blissey"},
            {"Kingdra", "Skarmory", "Ursaring", "Wobbuffet", "Lapras", "Rapidash", "Smeargle7", "Machamp", "Gengar", "Rhydon", "Jynx", "Feraligatr"},
            {"Ursaring", "Mantine", "Skarmory", "Houndoom", "Kingdra", "Blissey", "Venusaur", "Blissey", "Steelix", "Scizor", "Misdreavus", "Houndoom"},
            {"Mr.Mime", "Chansey", "Rhydon", "Pinsir", "Lapras", "Aerodactyl", "Scyther", "Misdreavus", "Skarmory", "Kangaskhan", "Mr.Mime", "Lapras"},
            {"Slowking", "Misdreavus", "Wobbuffet", "Steelix", "Scizor", "Heracross", "Skarmory", "Jynx", "Wobbuffet", "Ursaring", "Gengar", "Sudowoodo"},
            {"Scyther", "Misdreavus", "Skarmory", "Kangaskhan", "Mr.Mime", "Lapras", "Ursaring", "Mantine", "Skarmory", "Houndoom", "Kingdra", "Blissey"},
            {"Lanturn", "Tyranitar", "Typhlosion", "Feraligatr", "Arcanine", "Exeggutor", "Venusaur", "Porygon2", "Charizard", "Blastoise", "Miltank", "Pidgeot"},
            {"Abomasnow", "Walrein", "Glalie", "Zangoose", "Ninjask", "Ludicolo", "Medicham", "Exploud", "Typhlosion", "Skarmory", "Kanghaskan", "Breloom"},
            {"Cacturn", "Mightyena", "Miltank", "Meganium", "Shifrty", "Swellow", "Swalot", "Cacturn", "Mightyena", "Wobbuffet", "Manectric", "Crawdaunt"},
            {"Cacturn", "Mightyena", "Miltank", "Meganium", "Shifrty", "Swellow", "Kangaskhan", "Flygon", "Metang", "Gyarados", "Feraligatr", "Mantine"},
            {"Tyranitar", "Abomasnow", "Glalie", "Mawile", "Gengar", "Alakazam", "Swalot", "Cacturn", "Mightyena", "Wobbuffet", "Manectric", "Crawdaunt"},
            {"Ninjask", "Exploud", "Medicham", "Mawile", "Manectric", "Camerupt", "Sceptile", "Blaziken", "Swampert", "Shiftry", "Ludicolo", "Swellow"},
            {"Flygon", "Zangoose", "Altaria", "Seviper", "Crawdaunt", "Kecleon", "Swalot", "Cacturn", "Mightyena", "Wobbuffet", "Manectric", "Crawdaunt"},
            {"Charizard", "Venusaur", "Blastoise", "Feraligatr", "Thyplosion", "Meganium", "Claydol", "Banette", "Metang", "Glalie", "Lucario", "Breloom"},
            {"Skarmory", "Jynx", "Wobbuffet", "Ursaring", "Gengar", "Sudowoodo"},
            {"Golem", "Machamp", "Arcanine", "Stelix", "Tyranitar", "Dragonite"},
            {"Xatu", "Girafarig", "Mr. Mime", "Scyther", "Mantine", "Gyarados"},
            {"Lanturn", "Tyranitar", "Typhlosion", "Feraligatr", "Arcanine", "Exeggutor"},
            {"Kingdra", "Skarmory", "Ursaring", "Wobbuffet", "Lapras", "Rapidash"},
            {"Ampharos", "Blissey", "Steelix", "Scizor", "Misdreavus", "Houndoom"},
            {"Snorlax", "Scizor", "Slowking", "Kingdra", "Magmar", "Blissey"},
            {"Misdreavus", "Kabutops", "Alakazam", "Gyarados", "Electabuzz", "Houndoom"},
            {"Smeargle7", "Machamp", "Gengar", "Rhydon", "Jynx", "Feraligatr"},
            {"Togetic", "Crobat", "Muk", "Blastoise", "Raichu", "Magmar"},
            {"Xatu", "Girafarig", "Mr. Mime", "Scyther", "Mantine", "Gyarados"},
            {"Flygon", "Lapras", "Swellow", "Camerupt", "Blissey", "Aerodactyl"},
            {"Feraligatr", "Venusaur", "Mantine", "Altaria", "Shiftry", "Blaziken"},
            {"Medicham", "Exploud", "Typhlosion", "Skarmory", "Kanghaskan", "Breloom"},
            {"Charizard", "Venusaur", "Blastoise", "Feraligatr", "Thyplosion", "Meganium"},
            {"Snorlax", "Scizor", "Slowking", "Kingdra", "Magmar", "Blissey"},
            {"Misdreavus", "Kabutops", "Alakazam", "Gyarados", "Electabuzz", "Houndoom"},
            {"Smeargle7", "Machamp", "Gengar", "Rhydon", "Jynx", "Feraligatr"},
            {"Kingdra", "Skarmory", "Ursaring", "Wobbuffet", "Lapras", "Rapidash"},
            {"Venusaur", "Blissey", "Steelix", "Scizor", "Misdreavus", "Houndoom"},
            {"Ursaring", "Mantine", "Skarmory", "Houndoom", "Kingdra", "Blissey"},
            {"Scyther", "Misdreavus", "Skarmory", "Kangaskhan", "Mr.Mime", "Lapras"},
            {"Mr.Mime", "Chansey", "Rhydon", "Pinsir", "Lapras", "Aerodactyl"},
            {"Skarmory", "Jynx", "Wobbuffet", "Ursaring", "Gengar", "Sudowoodo"},
            {"Slowking", "Misdreavus", "Wobbuffet", "Steelix", "Scizor", "Heracross"},
            {"Ursaring", "Mantine", "Skarmory", "Houndoom", "Kingdra", "Blissey"},
            {"Ninjask", "Exploud", "Medicham", "Mawile", "Manectric", "Camerupt"},
            {"Swalot", "Cacturn", "Mightyena", "Wobbuffet", "Manectric", "Crawdaunt"},
            {"Flygon", "Zangoose", "Altaria", "Seviper", "Crawdaunt", "Kecleon"},
            {"Claydol", "Banette", "Metang", "Glalie", "Lucario", "Breloom"},
            {"Mightyena", "Flygon", "Swampert", "Blaziken", "Lucario", "Manectric"},
            {"Abomasnow", "Zangoose", "Flygon", "Glalie", "Metang", "Camerupt"},
            {"Kangaskhan", "Flygon", "Metang", "Gyarados", "Feraligatr", "Mantine"},
            {"Pinsir", "Gyarados", "Snorlax", "Dragonite", "Lapras", "Sudowoodo"},
            {"Slowking", "Misdreavus", "Wobbuffet", "Steelix", "Scizor", "Heracross"},
            {"Ursaring", "Mantine", "Skarmory", "Houndoom", "Kingdra", "Blissey"},
            {"Tyranitar", "Castform", "Tropius", "Absol", "Kingdra", "Dragonite"},
            {"Slowking", "Arcanine", "Jynx", "Gengar", "Kanghaskan", "Alakazam"},
            {"Blissey", "Gyarados", "Misdreavus", "Snorlax", "Wobbuffet", "Sudowoodo"},
            {"Gyarados", "Kangaskhan", "Slowking", "Scizor", "Dragonite", "Arcanine"},
            {"Scyther", "Jynx", "Aerodactyl", "Snorlax", "Wobbuffet", "Tyranitar"},
            {"Kabutops", "Omastar", "Kingdra", "Electabuzz", "Magmar", "Lapras"},
            {"Tyranitar", "Abomasnow", "Glalie", "Mawile", "Gengar", "Alakazam"},
            {"Flygon", "Lapras", "Swellow", "Camerupt", "Blissey", "Aerodactyl"},
            {"Feraligatr", "Venusaur", "Mantine", "Altaria", "Shiftry", "Blaziken"},
            {"Medicham", "Exploud", "Typhlosion", "Skarmory", "Kanghaskan", "Breloom"},
            {"Abomasnow", "Walrein", "Glalie", "Zangoose", "Ninjask", "Ludicolo"},
            {"Swalot", "Cacturn", "Mightyena", "Wobbuffet", "Manectric", "Crawdaunt"},
            {"Cacturn", "Mightyena", "Miltank", "Meganium", "Shifrty", "Swellow"},
            {"Swalot", "Cacturn", "Mightyena", "Wobbuffet", "Manectric", "Crawdaunt"},
            {"Flygon", "Lapras", "Swellow", "Camerupt", "Blissey", "Aerodactyl"},
            {"Tyranitar", "Castform", "Tropius", "Absol", "Kingdra", "Dragonite"},
            {"Slowking", "Arcanine", "Jynx", "Gengar", "Kanghaskan", "Alakazam"},
            {"Blissey", "Gyarados", "Misdreavus", "Snorlax", "Wobbuffet", "Sudowoodo"},
            {"Gyarados", "Kangaskhan", "Slowking", "Scizor", "Dragonite", "Arcanine"},
            {"Scyther", "Jynx", "Aerodactyl", "Snorlax", "Wobbuffet", "Tyranitar"},
            {"Kabutops", "Omastar", "Kingdra", "Electabuzz", "Magmar", "Lapras"},
            {"Slowking", "Misdreavus", "Wobbuffet", "Steelix", "Scizor", "Heracross"},
            {"Ursaring", "Mantine", "Skarmory", "Houndoom", "Kingdra", "Blissey"},
            {"Scyther", "Misdreavus", "Skarmory", "Kangaskhan", "Mr.Mime", "Lapras"},
            {"Venusaur", "Porygon2", "Charizard", "Blastoise", "Miltank", "Pidgeot"},
            {"Lanturn", "Togetic", "Xatu", "Ampharos", "Girafarig", "Forretress"},
            {"Granbull", "Magcargo", "Piloswine", "Donphan", "Meganium", "Jynx"},
            {"Blissey", "Gyarados", "Misdreavus", "Snorlax", "Wobbuffet", "Sudowoodo"},
            {"Gyarados", "Kangaskhan", "Slowking", "Scizor", "Dragonite", "Arcanine"},
            {"Charizard", "Venusaur", "Blastoise", "Feraligatr", "Thyplosion", "Meganium"},
            {"Snorlax", "Scizor", "Slowking", "Kingdra", "Magmar", "Blissey"},
            {"Misdreavus", "Kabutops", "Alakazam", "Gyarados", "Electabuzz", "Houndoom"},
            {"Smeargle7", "Machamp", "Gengar", "Rhydon", "Jynx", "Feraligatr"},
            {"Togetic", "Crobat", "Muk", "Blastoise", "Raichu", "Magmar"},
            {"Porygon2", "Smeargle7", "Ampharos", "Forretress", "Piloswine", "Donphan"},
            {"Xatu", "Girafarig", "Mr. Mime", "Scyther", "Mantine", "Gyarados"},
            {"Lanturn", "Tyranitar", "Typhlosion", "Feraligatr", "Arcanine", "Exeggutor"},
            {"Kingdra", "Skarmory", "Ursaring", "Wobbuffet", "Lapras", "Rapidash"},
            {"Ampharos", "Blissey", "Steelix", "Scizor", "Misdreavus", "Houndoom"},
            {"Snorlax", "Scizor", "Slowking", "Kingdra", "Magmar", "Blissey"},
            {"Misdreavus", "Kabutops", "Alakazam", "Gyarados", "Electabuzz", "Houndoom"},
            {"Smeargle7", "Machamp", "Gengar", "Rhydon", "Jynx", "Feraligatr"},
            {"Togetic", "Crobat", "Muk", "Blastoise", "Raichu", "Magmar"},
            {"Xatu", "Girafarig", "Mr. Mime", "Scyther", "Mantine", "Gyarados"},
            {"Lanturn", "Tyranitar", "Typhlosion", "Feraligatr", "Arcanine", "Exeggutor"},
            {"Kingdra", "Skarmory", "Ursaring", "Wobbuffet", "Lapras", "Rapidash"},
            {"Venusaur", "Blissey", "Steelix", "Scizor", "Misdreavus", "Houndoom"},
            {"Ursaring", "Mantine", "Skarmory", "Houndoom", "Kingdra", "Blissey"},
            {"Scyther", "Misdreavus", "Skarmory", "Kangaskhan", "Mr.Mime", "Lapras"},
            {"Mr.Mime", "Chansey", "Rhydon", "Pinsir", "Lapras", "Aerodactyl"},
            {"Skarmory", "Jynx", "Wobbuffet", "Ursaring", "Gengar", "Sudowoodo"},
            {"Sceptile", "Blaziken", "Swampert", "Shiftry", "Ludicolo", "Swellow"},
            {"Ninjask", "Exploud", "Medicham", "Mawile", "Manectric", "Camerupt"},
            {"Swalot", "Cacturn", "Mightyena", "Wobbuffet", "Manectric", "Crawdaunt"},
            {"Flygon", "Zangoose", "Altaria", "Seviper", "Crawdaunt", "Kecleon"},
            {"Claydol", "Banette", "Metang", "Glalie", "Lucario", "Breloom"},
            {"Mightyena", "Flygon", "Swampert", "Blaziken", "Lucario", "Manectric"},
            {"Abomasnow", "Zangoose", "Flygon", "Glalie", "Metang", "Camerupt"},
            {"Kangaskhan", "Flygon", "Metang", "Gyarados", "Feraligatr", "Mantine"},        
        },
    },
}

function addSurvivalPoints(cid, count)
    return setPlayerStorageValue(cid, 254787, tonumber(getPlayerStorageValue(cid, 254787) + count))
end

function removeSurvivalPoints(cid, count)
    return setPlayerStorageValue(cid, 254787, tonumber(getPlayerStorageValue(cid, 254787) - count))
end

function getSurvivalPoints(cid)
    return getPlayerStorageValue(cid, 254787)
end

function doTeleportArena(cid)
    if not isCreature(cid) then return false end
    for a, b in pairs(arena) do
        doTeleportThing(cid, b.Teleport)
        for i = 1, #b.Storage do
            setPlayerStorageValue(cid, b.Storage, 1)
        end
    end
    return true
end

function removeConditionArena(cid)
    for a, b in pairs(arena) do
        doTeleportThing(cid, b.ExitArena)
        for i = 1, #b.Storage do
            setPlayerStorageValue(cid, b.Storage, -1)
        end
    end
    return true
end

function getPlayerInGolden(cid)
    if getPlayerStorageValue(cid, 254661) >= 1 then
        return true
    end
    return false
end

function creatureInSurvival(upper, lower, remove, clean) 
    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) and not isInArray({"Aporygon", "Abporygon"}, getCreatureName(m))) then 
                doRemoveCreature(m) 
            end
            if clean ~= false and hasTile(pos) then 
                doCleanTile(pos, false) 
            end 
        end
    end
end

function removeNpcInArea(upper, lower, remove, clean) 
    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 ehNPC(m) then 
                doRemoveCreature(m) 
            end
            if clean ~= false and hasTile(pos) then 
                doCleanTile(pos, false) 
            end 
        end
    end
end

function setBonusWild(cid, bonus)

    if not isCreature(cid) then return false end
    addEvent(function()
            if not isShiny(cid) then        
                setPlayerStorageValue(cid, 1001, getOffense(cid) * tonumber(bonus))
                setPlayerStorageValue(cid, 1002, getDefense(cid) * tonumber(bonus))
                setPlayerStorageValue(cid, 1005, getSpecialAttack(cid) * tonumber(bonus))
            end
        end, 1500)
        
    return true
end

function startGolden()
    if getGlobalStorageValue(254600) >= 1 then
        for a, b in pairs(arena) do
            if #getPlayersInArea(b.ArenaPlayers) >= 1 then
                local wave = getGlobalStorageValue(214689) <= 1 and 1 or getGlobalStorageValue(214689)
                setGlobalStorageValue(214689, wave + 1)
                doBroadcastMessage("[Survival Arena]: A wave ["..wave.."] irá começar em 1 minuto.")
                addEvent(setMonsterWave, 1 * 60 * 1000, "Golden", wave, 25 + math.floor(wave * 1.5), 1 + (wave * 0.10))
            else
                setGlobalStorageValue(254600, 0)
                setGlobalStorageValue(214689, 0)
                creatureInSurvival(b.ArenaUpper, b.ArenaLower, true, true)
                doBroadcastMessage("[Survival Arena]: Evento finalizado até a próxima!")
            end
        end
    end
end

function setMonsterWave(arenaName, wave, count, multi)
    
    local this_wave = arena[arenaName].pokemon[wave]

    if not arena[arenaName] then    
        return false
    end
    
    if not this_wave then
        return false
    end
    
    for i = 1, count, 1 do
        EX = math.random(arena[arenaName].TopLeft.x,arena[arenaName].BottomRight.x)
        EY = math.random(arena[arenaName].TopLeft.y,arena[arenaName].BottomRight.y)
    
        local position = {x = EX, y = EY, z = arena[arenaName].z}

        if isWalkable(position) and getTopCreature(position).uid == 0 then        
            local monster = doCreateMonster(this_wave[math.random(1,#this_wave)], position)
            setBonusWild(monster, multi)
        else
            for l = 0, 0, 0 do
                position.x = math.random(arena[arenaName].TopLeft.x,arena[arenaName].BottomRight.x)
                position.y = math.random(arena[arenaName].TopLeft.y,arena[arenaName].BottomRight.y)
                if isWalkable(position) and getTopCreature(position).uid == 0 then        
                    local monster = doCreateMonster(this_wave[math.random(1,#this_wave)], position)
                    setBonusWild(monster, multi)
                    break
                end
            end
        end
    end
end

Manooo eu deixei ela assim ela começa mas não continua... tipo vem a primeira Wave e depois não vem mais nada

Voltando aqui sobre o Erro lá na linha

 

[Error - GlobalEvent Interface]
In a timer event called from:
data/globalevents/scripts/survivalArena.lua:onTimer
Description:
data/lib/036-golden arena.lua:294: attempt to index global 'b' (a nil value)
stack traceback:
        data/lib/036-golden arena.lua:294: in function <data/lib/036-golden arena.lua:293>

 

 

o Erro ta nessa parte onde destaquei



 

function setMonsterWave(arenaName, wave, count, multi)
    if #getPlayersInArea(b.ArenaPlayers) < 1 then 
        doBroadcastMessage("[Survival Arena]: Todos jogadores foram derrotados.")
        --limpar arena
        return true
    end
    local this_wave = arena[arenaName].pokemon[wave]

    if not arena[arenaName] then    
        return false
    end
    
    if not this_wave then
        return false
    end
    
    for i = 1, count, 1 do
        EX = math.random(arena[arenaName].TopLeft.x,arena[arenaName].BottomRight.x)
        EY = math.random(arena[arenaName].TopLeft.y,arena[arenaName].BottomRight.y)
    
        local position = {x = EX, y = EY, z = arena[arenaName].z}

        if isWalkable(position) and getTopCreature(position).uid == 0 then        
            local monster = doCreateMonster(this_wave[math.random(1,#this_wave)], position)
            setBonusWild(monster, multi)
        else
            for l = 0, 0, 0 do
                position.x = math.random(arena[arenaName].TopLeft.x,arena[arenaName].BottomRight.x)
                position.y = math.random(arena[arenaName].TopLeft.y,arena[arenaName].BottomRight.y)
                if isWalkable(position) and getTopCreature(position).uid == 0 then        
                    local monster = doCreateMonster(this_wave[math.random(1,#this_wave)], position)
                    setBonusWild(monster, multi)
                    break
                end
            end
        end
    end
    wave = wave+1
    setGlobalStorage(214689, wave)
    addEvent(setMonsterWave, 1 * 60 * 1000, "Golden", wave, 25 + math.floor(wave * 2), 1 + (wave * 0.10))
end

Link para o comentário
Compartilhar em outros sites

  • 0
Em 21/02/2020 em 00:21, Scizorgame disse:

Troque ela por:


if #getPlayersInArea(arena["Golden"].ArenaPlayers["from"], arena["Golden"].ArenaPlayers["to"]) < 1 then

 

Mano nada
ele ta dando erro no começo tambem

 

 

ta nessa linha 
 

ArenaPlayers = {["from"] = {x = 1262, y = 1639, z = 6}, ["to"] = {x = 1341, y = 1686, z= 6},
Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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