Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado
  • Autor
2 horas atrás, xWhiteWolf disse:

@Nolis Não só ja tem isso no Empire (há alguns anos), mas o script é incrivelmente similar (pra não dizer igual). Na época foi o Breno que (fez/copiou de algum lugar) e eu adaptei ele pra extrair os monstros ordenados por nome crescente:


Código (em talkaction)

  Ocultar conteúdo

 



local xml_monster_dir = 'data/world/empire-spawn.xml' -- Diretório do arquivo onde contém os monstros.
local new_file_name = 'monster_count.txt'


function onSay(player, words, param)

    if not player:getGroup():getAccess() then
        return true
    end

    if player:getAccountType() < ACCOUNT_TYPE_GOD then
        return false
    end

	logCommand(player, words, param)

	local open_file = io.open(xml_monster_dir, "r")
	local writing_file = io.open(new_file_name, "w+")
	local file_read = open_file:read("*all")

	open_file:close()

	local monsters = {}

	for str_match in file_read:gmatch('<monster name="(.-)"') do
	local ret_table = monsters[str_match]
		if ret_table then
			monsters[str_match] = ret_table+1
		else
			monsters[str_match] = 1
		end
	end

	writing_file:write('--- Total de Monstros no Servidor ---\n')

	for monster, count in pairsByKeys(monsters) do
		--print(monster, count)
		writing_file:write(monster..' - '..count..'\n')
	end

	writing_file:close()

return false
end

 

 

 

 

Lista extraída:

  Mostrar conteúdo oculto


--- Total de Monstros no Servidor ---
Amazon - 112
Amazon Conjurer - 17
Amazon Servant - 54
Ancient Scarab - 17
Asassin - 7
Assassin - 40
Badger - 9
Bandit - 55
Banshee - 31
Barbarian Bloodwalker - 17
Barbarian Brutetamer - 11
Barbarian Headsplitter - 21
Barbarian Skullhunter - 14
Bat - 84
Bear - 32
Behemoth - 63
Beholder - 25
Betrayed Wraith - 12
Black Knight - 24
Blightwalker - 31
Blood Crab - 6
Blue Butterfly - 8
Blue Djinn - 19
Boar - 26
Bog Frog - 6
Bog Raider - 18
Bone Beast - 9
Bonebeast - 20
Bug - 141
Butterfly - 16
Carniphila - 3
Carrion Worm - 136
Cat - 1
Cave Rat - 42
Centipede - 35
Chicken - 27
Clay Guardian - 4
Cobra - 22
Coral Frog - 1
Corym Charlatan - 42
Corym Skirmisher - 9
Corym Vanguard - 5
Crab - 18
Crawler - 11
Crocodile - 32
Crypt Shambler - 135
Crystal Spider - 7
Cyclops - 213
Cyclops Drone - 120
Cyclops Smith - 77
Dark Apprentice - 30
Dark Magician - 40
Dark Monk - 37
Dark Torturer - 31
Death Blob - 27
Deer - 114
Defiler - 17
Demon - 60
Demon (Goblin) - 25
Demon Skeleton - 231
Destroyer - 48
Diabolic Imp - 20
Dog - 5
Dragon - 230
Dragon Hatchling - 112
Dragon Lord - 164
Dragon Lord Hatchling - 50
Dragonling - 9
Draken Abomination - 9
Draken Elite - 18
Draken Spellweaver - 25
Draken Warmaster - 27
Draptor - 3
Drillworm - 13
Dromedary - 13
Dwarf - 56
Dwarf Geomancer - 21
Dwarf Guard - 44
Dwarf Miner - 8
Dwarf Soldier - 49
Dworc Fleshhunter - 11
Dworc Venomsniper - 8
Dworc Voodoomaster - 7
Earth Elemental - 36
Efreet - 7
Elder Beholder - 10
Elder Mummy - 4
Elder Wyrm - 31
Elephant - 10
Elf - 85
Elf Arcanist - 31
Elf Scout - 64
Emerald Damselfly - 44
Energy Elemental - 32
Eye of the Seven - 18
Filth Toad - 4
Fire Devil - 35
Fire Elemental - 160
Flamethrower - 14
Flamingo - 3
Forest Fury - 10
Frost Dragon - 112
Frost Dragon Hatchling - 65
Frost Giant - 20
Frost Giantess - 6
Fury - 19
Gargoyle - 34
Ghastly Dragon - 25
Ghost - 60
Ghoul - 332
Giant Spider - 80
Goblin - 35
Goblin Assassin - 7
Goblin Scavenger - 13
Gozzler - 31
Green Djinn - 17
Grim Reaper - 39
Hand of Cursed Fate - 10
Hellfire Fighter - 54
Hellhound - 7
Hellspawn - 5
Hero - 121
Horse - 4
Horse1 - 4
Hunter - 42
Husky - 2
Hyaena - 29
Hydra - 33
Ice Golem - 3
Ice Witch - 22
Infernalist - 30
Insect Swarm - 27
Insectoid Scout - 4
Insectoid Worker - 9
Island Troll - 15
Juggernaut - 14
Killer Caiman - 2
Kongra - 36
Lady Bug - 19
Lancer Beetle - 25
Larva - 257
Leaf Golem - 16
Lich - 54
Lion - 4
Lizard Chosen - 56
Lizard Dragon Priest - 26
Lizard High Guard - 50
Lizard Legionnaire - 30
Lizard Noble - 2
Lizard Sentinel - 48
Lizard Snakecharmer - 23
Lizard Templar - 38
Lizard Zaogun - 8
Lost Soul - 38
Magicthrower - 14
Mammoth - 2
Marid - 10
Marsh Stalker - 15
Massacre - 1
Massive Earth Elemental - 2
Massive Energy Elemental - 14
Massive Fire Elemental - 34
Medusa - 4
Mercury Blob - 25
Merlkin - 5
Minotaur - 40
Minotaur Archer - 23
Minotaur Guard - 46
Minotaur Mage - 9
Monk - 14
Mummy - 153
Mutated Bat - 9
Mutated Rat - 11
Mutated Tiger - 2
Necromancer - 106
Necropharus - 1
Nightmare - 48
Noble Lion - 8
Nomad - 41
Orc - 101
Orc Berserker - 83
Orc Leader - 40
Orc Rider - 14
Orc Shaman - 48
Orc Spearman - 64
Orc Warlord - 20
Orc Warrior - 63
Orchid Frog - 1
Parrot - 2
Penguin - 8
Phantasm - 15
Pig - 9
Pink Butterfly - 4
Plaguesmith - 54
Poacher - 5
Poison Spider - 110
Polar Bear - 15
Poodle - 1
Priestess - 2
Primitive - 1
Quara Constrictor - 53
Quara Constrictor Scout - 8
Quara Hydromancer - 46
Quara Hydromancer Scout - 1
Quara Mantassin - 47
Quara Mantassin Scout - 7
Quara Pincher - 35
Quara Pincher Scout - 1
Quara Predator - 48
Quara Predator Scout - 3
Rabbit - 81
Rat - 92
Red Butterfly - 43
Roaring Lion - 22
Rotworm - 278
Salamander - 23
Sandcrawler - 118
Scarab - 197
Scorpion - 69
Sea Serpent - 10
Seagull - 15
Serpent Spawn - 30
Sheep - 24
Sibang - 29
Silver Rabbit - 5
Skeleton - 173
Skeleton Warrior - 45
Skunk - 7
Slime - 99
Smuggler - 15
Snake - 271
Son of Verminor - 19
Souleater - 3
Spectre - 26
Spider - 214
Spit Nettle - 10
Squirrel - 9
Stalker - 14
Stampor - 21
Stone Golem - 60
Swamp Troll - 6
Swampling - 2
Tarantula - 50
Terramite - 33
Terror Bird - 8
Thornback Tortoise - 6
Tiger - 14
Tomb Servant - 1
Tortoise - 41
Troll - 69
Undead Dragon - 8
Ushuriel - 1
Valkyrie - 74
Valkyrie Guard - 32
Valkyrie High Guard - 26
Vampire - 139
Vampire Bride - 25
Vampire Viscount - 6
Wailing Widow - 10
War Golem - 9
War wolf - 22
Warlock - 51
Wasp - 116
Waspoid - 4
Water Buffalo - 5
Water Elemental - 12
Werewolf - 24
White Deer - 6
White Shade - 6
Wiggler - 10
Wild Warrior - 73
Wilting Leaf Golem - 6
Winter wolf - 40
Wisp - 20
Witch - 42
Wolf - 273
Worker Golem - 2
Wyrm - 23
Wyvern - 42
Yellow Butterfly - 15
Zombie - 38

 


Obs: no meu for eu uso a função pairsByKeys para iterar, vc precisa adicionar isso aqui na sua lib:

  Mostrar conteúdo oculto


function pairsByKeys(t, f)
	local a = {}
	for n in pairs(t) do table.insert(a, n) end
	table.sort(a, f)
	local i = 0      -- iterator variable
	local iter = function ()   -- iterator function
		i = i + 1
		if a[i] == nil then return nil
			else return a[i], t[a[i]]
		end
	end
	return iter
end

 



Quanto ao tópico, interessante a ideia de fazer onStartup mas isso pode acabar fazendo seu servidor levar mais tempo pra abrir que o normal, por talkaction é mais 'controlado' até porque vc nao vai editar a quantia de monstros no jogo em todo startup então não faz tanto sentido ficar atualizando todo dia.


Eu "adaptei" de uma talkaction, q provavelmente foi copiada desse ai, pq é MUITO parecido kk
Quanto a essa questao de fazer levar mais tempo pra abrir, eu nao tinha parado pra pensar nisso, tipo, meu map é pequeno, tem 12k de respawn, entao n pesa muito, ñ consigo ver diferente, mas um bom ponto, vou avaliar e mudar ?

MEUS POSTS:

 

SE AJUDEI, DÁ O REP+, ESQUECE NÃO, VLW BB <3

  • Respostas 10
  • Visualizações 4.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @Nolis Não só ja tem isso no Empire (há alguns anos), mas o script é incrivelmente similar (pra não dizer igual). Na época foi o Breno que (fez/copiou de algum lugar) e eu adaptei ele pra extrair os m

  • Então, eu comecei a contar 1 a 1, mas ficava um trabalho inviavel kk ai fiz o sistema de task bem "restrito", poucos monstros, dps q fiz esse sistema, automatizei, e agora TODOS os monstros do server

  • Eu "adaptei" de uma talkaction, q provavelmente foi copiada desse ai, pq é MUITO parecido kk Quanto a essa questao de fazer levar mais tempo pra abrir, eu nao tinha parado pra pensar nisso, tipo, me

Posted Images

  • 4 weeks later...
Postado

@Mor3nao 

[Error - GlobalEvent Interface]
data/globalevents/scripts/PH/MonsterCount.lua:onStartup
Description:
data/globalevents/scripts/PH/MonsterCount.lua:21: attempt to index local 'escrever' (a nil value)
stack traceback:
        data/globalevents/scripts/PH/MonsterCount.lua:21: in function <data/globalevents/scripts/PH/MonsterCount.lua:1>


 

Postado
  • Autor
4 minutos atrás, diarmaint disse:

@Mor3nao 


[Error - GlobalEvent Interface]
data/globalevents/scripts/PH/MonsterCount.lua:onStartup
Description:
data/globalevents/scripts/PH/MonsterCount.lua:21: attempt to index local 'escrever' (a nil value)
stack traceback:
        data/globalevents/scripts/PH/MonsterCount.lua:21: in function <data/globalevents/scripts/PH/MonsterCount.lua:1>


 

Existe a pasta lib/task?

MEUS POSTS:

 

SE AJUDEI, DÁ O REP+, ESQUECE NÃO, VLW BB <3

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

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

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo