Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado
  • Este é um post popular.

Olá King Tibianos,

 

A pedido da usuária TathiiCarvalho criei um script que troca de vocação, mas ele apenas não troca de vocação como também adiciona health e mana de acordo com o level e reseta skills.

Eu já havia feito o script de trocar de vocação, mas quando um Sorcerer ou Druid com ML 80 trocava para vocação Knight ele ficava com ML 80. Imagina um Knight ML 80, não da né.

Tinha outro problema, um Sorcerer ou Druid Level 150 com HP 895 e MP 4225, ele muda para vocação Knight e fica com o mesmo HP e MP, como seria um Knight Level 150 com HP 895 e MP 4225? Também não da né.

 

Então modifiquei o script para fixar esses "erros".

 

Crie um arquivo chamado changevoc.lua na pasta data/actions/scripts e cole isso

function onUse(cid, item, frompos, item2, topos)
          level = getPlayerLevel(cid)-8
          pid = getPlayerGUID(cid)
 
          magehealth = level*5 -- Quantidade de vida que o Sorcerer e Druid ganha a cada level(mude apenas os numeros)
          magemana = level*30 -- Quantidade de mana que o Sorcerer e Druid ganha a cada level(mude apenas os numeros)
 
          paladinhealth = level*10 -- Quantidade de vida que o Paladin ganha a cada level(mude apenas os numeros)
          paladinmana = level*15 -- Quantidade de mana que o Paladin ganha a cada level(mude apenas os numeros)
 
          knighthealth = level*15 -- Quantidade de vida que o Knight ganha a cada level(mude apenas os numeros)
          knightmana = level*5 -- Quantidade de mana que o Knight ganha a cada level(mude apenas os numeros)
 
          if item.uid == 30000 then
                    doSendMagicEffect(topos, 14)
                    doPlayerPopupFYI(cid, 'You changed his vocation to sorcerer.')
                    doPlayerSetVocation(cid, 1)
                    setCreatureMaxHealth(cid, magehealth)
                    setCreatureMaxMana(cid, magemana)
                    doRemoveCreature(cid)
                    db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 ..", count = ".. 0 .." WHERE `player_id` = ".. pid ..";")
                    db.executeQuery("UPDATE `players` SET `maglevel` = ".. 0 ..", `manaspent` = ".. 0 .." WHERE `id` = ".. pid ..";")
          end
 
          if item.uid == 30001 then
                    doPlayerSetVocation(cid, 2)
                    setCreatureMaxHealth(cid, magehealth)
                    setCreatureMaxMana(cid, magemana)
                    doSendMagicEffect(topos, 14)
                    doPlayerPopupFYI(cid, 'You changed his vocation to druid.')
                    doRemoveCreature(cid)
                    db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 ..", count = ".. 0 .." WHERE `player_id` = ".. pid ..";")
                    db.executeQuery("UPDATE `players` SET `maglevel` = ".. 0 ..", `manaspent` = ".. 0 .." WHERE `id` = ".. pid ..";")
          end
 
          if item.uid == 30002 then
                    doPlayerSetVocation(cid, 3)
                    setCreatureMaxHealth(cid, paladinhealth)
                    setCreatureMaxMana(cid, paladinmana)
                    doSendMagicEffect(topos, 14)
                    doPlayerPopupFYI(cid, 'You changed his vocation to paladin.')
                    doRemoveCreature(cid)
                    db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 ..", count = ".. 0 .." WHERE `player_id` = ".. pid ..";")
                    db.executeQuery("UPDATE `players` SET `maglevel` = ".. 0 ..", `manaspent` = ".. 0 .." WHERE `id` = ".. pid ..";")
          end
 
          if item.uid == 30003 then
                    doPlayerSetVocation(cid, 4)
                    setCreatureMaxHealth(cid, knighthealth)
                    setCreatureMaxMana(cid, knightmana)
                    doSendMagicEffect(topos, 14)
                    doPlayerPopupFYI(cid, 'You changed his vocation to knight.')
                    doRemoveCreature(cid)
                    db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 ..", count = ".. 0 .." WHERE `player_id` = ".. pid ..";")
                    db.executeQuery("UPDATE `players` SET `maglevel` = ".. 0 ..", `manaspent` = ".. 0 .." WHERE `id` = ".. pid ..";")
          end
end

 

Adicione as seguintes linhas no arquivo actions.xml que se encontra na pasta data/actions

 

<action uniqueid="30000" event="script" value="changevoc.lua" />
<action uniqueid="30001" event="script" value="changevoc.lua" />
<action uniqueid="30002" event="script" value="changevoc.lua" />
<action uniqueid="30003" event="script" value="changevoc.lua" />

 

Testado e está 100% funcional.

Dúvidas? Me avise.

 

Att.

Giovani Rodrigo

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

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

  • Respostas 7
  • Visualizações 4.7k
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • Autor

Muito obrigada GiovaniRodrigo, ficou perfeito!! :D

 

+REP

De nada, é um prazer enorme ajudar os usuários do fórum.

Muito obrigado pelo REP+

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

  • 1 year later...
Postado

Desculpa reviver o topico mas, os skills também resetam ?
Por exemplo, eu to de knight com skills 100, vou pra druid, fico com ml 0, dai eu upo pra ml 50
Dai se eu voltar pra knight terei meus skills 100 dnv? E se logo apos isso eu voltar dnv pra Druid, terei o ml 50?

  • 1 month later...
Postado
  • Autor

Sim, todos os skills e magic level.

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

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