Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Bem, pessoal. O script foi criado a partir do pedido do membro loreal:
 

Gostaria de saber que alguém conseguira fazer esse script quando player upar mostrar no console quais spells ele já pode usar igual na imagem..
 
DNZUlcL.png

 
Sem mais delongas, para instalar é simples:
 
Crie o arquivo creaturescripts/scripts/advancespells.lua e adicione o seguinte conteúdo:

function onAdvance(cid, skill, oldLevel, newLevel)
	if skill == SKILL__LEVEL then		
		local spells = {}
		for index = 0, 	getPlayerInstantSpellCount(cid) - 1 do
			local spell = getPlayerInstantSpellInfo(cid, index)
		
			if spell.level > oldLevel and spell.level <= newLevel then
				table.insert(spells, "   [".. spell.name .."] \"".. spell.words .. "\" Mana[".. spell.mana .."]")
			end
		end
	
		if #spells > 0 then			
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You have just advanced to level ".. newLevel .." and learned new spells!")

			for _, v in pairs(spells) do
				doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, v)
			end
		end
	end
		
	return true
end

No arquivo creaturescripts/creaturescripts.xml adicione a tag:

<event type="advance" name="AdvLevelSpells" event="script" value="advancespells.lua" />

No seu arquivo creaturescripts/scritps/login.lua adicione a seguinte linha ANTES DO ÚLTIMO return true

registerCreatureEvent(cid, "AdvLevelSpells")

Exemplo:

	registerCreatureEvent(cid, "AdvLevelSpells")
	return true
end


120411_Thats_All_Folks_t618.jpg?ba5b5b12

Editado por MaXwEllDeN (veja o histórico de edições)

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

  • Respostas 14
  • Visualizações 1.7k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Tenta assim: if not SERVER_SPELLS then SERVER_SPELLS = {} local file = io.open("data/spells/spells.xml") local str = file:read("*all") file:close() for line in str:gmatch("<instant nam

  • Tenta esse aqui: function onAdvance(cid, skill, oldLevel, newLevel) if skill == SKILL__MAGLEVEL then local spells = {} for index = 0, getPlayerInstantSpellCount(cid) - 1 do local spell =

  • parabéns link   =p gostei, abraços.

Postado

Meu servidor é todo baseado em ML, e tem magias no normal q são só de ML teria como você muda pra em vez de qnd upar de level, mostrar a magia pra por ML, qnd upa-se de ML mostrava a magia que liberou com esse ml

Postado
  • Autor

Meu servidor é todo baseado em ML, e tem magias no normal q são só de ML teria como você muda pra em vez de qnd upar de level, mostrar a magia pra por ML, qnd upa-se de ML mostrava a magia que liberou com esse ml

 

 

 

Tenta assim:

if not SERVER_SPELLS then
	SERVER_SPELLS = {}
 
	local file = io.open("data/spells/spells.xml")
	local str = file:read("*all")
	file:close()
 
 
	for line in str:gmatch("<instant name=\"(.-)</instant>") do
		for voc in line:gmatch("<vocation id=\"(.-)\"") do
			for _, vocation in pairs(string.explode(voc, ";")) do
				if SERVER_SPELLS[tonumber(vocation)] then
					table.insert(SERVER_SPELLS[tonumber(vocation)], line:match("(.-)\""))
				else
					SERVER_SPELLS[tonumber(vocation)] = {line:match("(.-)\"")}
				end
			end
		end
	end
end
 
function onAdvance(cid, skill, oldLevel, newLevel)
	if skill == SKILL__MAGLEVEL then
		local str = ""
 
		for _, name in pairs(SERVER_SPELLS[getPlayerVocation(cid)]) do
			local spell = getInstantSpellInfo(false, name)
			if spell.mlevel > oldLevel and spell.mlevel <= newLevel then
				str = str .. "\n   [".. name .."] \"".. spell.words .. "\" Mana[".. spell.mana .."]"
			end
		end
 
		if str ~= "" then
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You have just advanced to magic level ".. newLevel .." and learned new spells!" .. str)
		end
	end
 
	return true
end

Show de bola Max, curti a ideia, seu script com certeza será muito útil para alguém!

Tópico aprovado, reputado e movido para a seção correta. ;)

 

Este tópico foi movido:

De: "OTServAprovação de Tópicos de Conteúdos"

Para: "OTServScriptingCreatureScripts, GlobalEvents e MoveMents"

 

Obrigado, Matheus :D

Editado por MaXwEllDeN (veja o histórico de edições)

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Postado

eu ia perguntar pq vc tava definindo file duas vezes mas vc já editou AUHEHUAUH script muito bom, to até seguindo pra usar de modelo um dia. Só 2 dúvidas:
1) e se for aquelas versões de server que usam 

 <vocation name="Paladin"/>
 <vocation name="Royal Paladin"/>
??


2) essa linha aqui tá certa?
for _, vocation in pairs(string.explode(voc, ";")) do

 

vc tá usando o explode como ; mas (pelo menos aqui), não tem ; em nenhum lugar do spells.xml ;~

<instant name="KAMUI" words="kamui in" lvl="120" mana="200" prem="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="especiais/kamui.lua">
<vocation id="5"/>
<vocation id="6"/>
<vocation id="7"/>
<vocation id="8"/>
</instant>

me corrija se eu estiver errado...

Edit: esse ; também serviria como verificar pulagem de linha?

Editado por xWhiteWolf (veja o histórico de edições)

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <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.6k

Informação Importante

Confirmação de Termo