functiononSay(cid, words, param, channel)localmaxSpellsToShow = 5000-- Define o número máximo de feitiços a serem mostradoslocalt = {}-- Loop através dos feitiços do jogadorfori = 0, getPlayerInstantSpellCount(cid) - 1doif #t >= maxSpellsToShowthenbreak-- Sai do loop se o limite máximo de feitiços for atingidoendlocalspell = getPlayerInstantSpellInfo(cid, i)-- Verifica se o feitiço não está no nível mínimoif(spell.mlevel ~= 1) thenif(spell.manapercent > 0) then
spell.mana = spell.manapercent .. "%"end
table.insert(t, spell)endend-- Ordena os feitiços pelo nível de magia
table.sort(t, function(a, b) returna.mlevel < b.mlevelend)-- Constrói a mensagem a ser exibidalocaltext = ""localprevLevel = -1fori, spellinipairs(t) dolocalline = ""if(prevLevel ~= spell.mlevel) thenif(i ~= 1) then
line = "\n"end
line = line .. "Spells for Magic Level " .. spell.mlevel .. "\n"
prevLevel = spell.mlevel
end
text = text .. line .. " " .. spell.words .. " : " .. spell.mana .. "\n"end-- Verifica o comprimento do textoif #text > 5000thenlocalchunks = {}localcurrent_chunk = ""forlineintext:gmatch("[^\r\n]+") doif #current_chunk + #line > 5000then
table.insert(chunks, current_chunk)
current_chunk = ""end
current_chunk = current_chunk .. line .. "\n"end
table.insert(chunks, current_chunk)for_, chunkinipairs(chunks) do
doShowTextDialog(cid, 2175, chunk)endelse-- Mostra a mensagem ao jogador
doShowTextDialog(cid, 2175, text)endreturntrueend
Question
Muvuka 1
Link to comment
Share on other sites
1 answer to this question
Recommended Posts