Ir para conteúdo
  • Cadastre-se

(Resolvido)[Ajudem] Sistema de Vocation Supreme


Ir para solução Resolvido por Caronte,

Posts Recomendados

Então turma o que eu queria e bem simples eu acho, ha e o seguinte eu queria que quando o player compra-se a promote ele começasse a soltar meio que essas "essas coisas saindo do player

10wodav.png

A foto a cima e quando o player virou vocação suprema ou seja passou de master Sorc para (VIP BAIAK Sorc) ou qualquer outro nome!

mais cada vocaçao eu quero que tenha uma cor entende ?

vou postar fotos para voces entenderem melhor o que eu estou falando!

 

Bom vamos as cores de cada vocação!

 

Bom a Cor VERDE quero que seja os DRUIDS!

33pagk1.png

 

Bom a Cor AMARELA quero que seja os PALLYS

iml7hh.png

 

Bom a Cor Azul quero que seja a dos Sorc's

n623pz.png

 

Bom a Cor Vermelha quero que seja dos Kina

2ci8sqd.png

 

Bom pessoal sera que vocês vão conseguir me ajudar nisso ? 

 

Mas lembrando o player so vai poder ter isso no char se ele comprar "PROMOTE"

 

(Espero que me ajudem)

Editado por rozinx.kungsan (veja o histórico de edições)

pbotttttttttttttttttttt.gif?1435636828

Link para o post
Compartilhar em outros sites

é um script bem simples, vc só precisa da lib que tem nesse tópico aqui http://www.tibiaking.com/forum/topic/45316-pedido-gema-rep/

e algum scripter pra codar meia dúzia de linhas pra vc. A unica diferença é que como vc quer que uma vocação mais avançada tenha isso, vc vai precisar colocar pra cada vez q os caras logarem no servidor, uma função fique checando se eles são dessa nova vocação e adicione os efeitos.

Sugiro trocar essa função (veja a do script e veja a minha pra entender oque foi mudado)

O resto é só colocar em creaturescripts/scripts/login.lua pra ficar usando essa função de X em X tempo de forma a inseri-la em quem tiver vocação requerida.

function sendGemEffect(cid, storage, interval)
if isPlayer(cid) then
  local pos = getThingPos(cid)
  local voc = getPlayerVocation(cid)
  local level = getPlayerLevel(cid)
  local color = 1


  if level > 199 then
  if getPlayerPromotionLevel(cid) > 0 then -- checa se a promotion maior que 0, se quiser colocar pra uma segunda promotion, coloque > 1
    voc = voc - (getPlayerPromotionLevel(cid) * 4)
  end
  if voc == 1 then
            color = gemMsg.colorDruid[math.random(1,#gemMsg.colorElderDruid)]
          elseif voc == 2 then
            color = gemMsg.colorSorcerer[math.random(1,#gemMsg.colorMasterSorcerer)]
          elseif voc == 3 then
            color = gemMsg.colorPaladin[math.random(1,#gemMsg.colorRoyalPaladin)]
          elseif voc == 4 then
            color = gemMsg.colorKnight[math.random(1,#gemMsg.colorEliteKnight)]
          end
  doSendAnimatedText(pos, gemMsg.rnd[math.random(1,#gemMsg.rnd)], color)
    if getPlayerStorageValue(cid, gems.storage[voc]) >= 1 then 
      addEvent(sendGemEffect, interval, cid, storage, interval)
    end
else
stopEvent(sendGemEffect(cid, storage, interval))
end
end

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)

Link para o post
Compartilhar em outros sites

 

é um script bem simples, vc só precisa da lib que tem nesse tópico aqui http://www.tibiaking.com/forum/topic/45316-pedido-gema-rep/

e algum scripter pra codar meia dúzia de linhas pra vc. A unica diferença é que como vc quer que uma vocação mais avançada tenha isso, vc vai precisar colocar pra cada vez q os caras logarem no servidor, uma função fique checando se eles são dessa nova vocação e adicione os efeitos.

Sugiro trocar essa função (veja a do script e veja a minha pra entender oque foi mudado)

O resto é só colocar em creaturescripts/scripts/login.lua pra ficar usando essa função de X em X tempo de forma a inseri-la em quem tiver vocação requerida.

function sendGemEffect(cid, storage, interval)
if isPlayer(cid) then
  local pos = getThingPos(cid)
  local voc = getPlayerVocation(cid)
  local level = getPlayerLevel(cid)
  local color = 1


  if level > 199 then
  if getPlayerPromotionLevel(cid) > 0 then -- checa se a promotion maior que 0, se quiser colocar pra uma segunda promotion, coloque > 1
    voc = voc - (getPlayerPromotionLevel(cid) * 4)
  end
  if voc == 1 then
            color = gemMsg.colorDruid[math.random(1,#gemMsg.colorElderDruid)]
          elseif voc == 2 then
            color = gemMsg.colorSorcerer[math.random(1,#gemMsg.colorMasterSorcerer)]
          elseif voc == 3 then
            color = gemMsg.colorPaladin[math.random(1,#gemMsg.colorRoyalPaladin)]
          elseif voc == 4 then
            color = gemMsg.colorKnight[math.random(1,#gemMsg.colorEliteKnight)]
          end
  doSendAnimatedText(pos, gemMsg.rnd[math.random(1,#gemMsg.rnd)], color)
    if getPlayerStorageValue(cid, gems.storage[voc]) >= 1 then 
      addEvent(sendGemEffect, interval, cid, storage, interval)
    end
else
stopEvent(sendGemEffect(cid, storage, interval))
end
end

 

Certo, me diz uma coisa  ficar igual o post que eu fiz ? exemplo (No server que eu vi isso não existe level pra ter esse tipo de (AURA)  no ,minimo e level 150, ai ele precisa passa de Elder druid para VIp elder druid ai siim começaria a solta isso...

 

é um script bem simples, vc só precisa da lib que tem nesse tópico aqui http://www.tibiaking.com/forum/topic/45316-pedido-gema-rep/

e algum scripter pra codar meia dúzia de linhas pra vc. A unica diferença é que como vc quer que uma vocação mais avançada tenha isso, vc vai precisar colocar pra cada vez q os caras logarem no servidor, uma função fique checando se eles são dessa nova vocação e adicione os efeitos.

Sugiro trocar essa função (veja a do script e veja a minha pra entender oque foi mudado)

O resto é só colocar em creaturescripts/scripts/login.lua pra ficar usando essa função de X em X tempo de forma a inseri-la em quem tiver vocação requerida.

function sendGemEffect(cid, storage, interval)
if isPlayer(cid) then
  local pos = getThingPos(cid)
  local voc = getPlayerVocation(cid)
  local level = getPlayerLevel(cid)
  local color = 1


  if level > 199 then
  if getPlayerPromotionLevel(cid) > 0 then -- checa se a promotion maior que 0, se quiser colocar pra uma segunda promotion, coloque > 1
    voc = voc - (getPlayerPromotionLevel(cid) * 4)
  end
  if voc == 1 then
            color = gemMsg.colorDruid[math.random(1,#gemMsg.colorElderDruid)]
          elseif voc == 2 then
            color = gemMsg.colorSorcerer[math.random(1,#gemMsg.colorMasterSorcerer)]
          elseif voc == 3 then
            color = gemMsg.colorPaladin[math.random(1,#gemMsg.colorRoyalPaladin)]
          elseif voc == 4 then
            color = gemMsg.colorKnight[math.random(1,#gemMsg.colorEliteKnight)]
          end
  doSendAnimatedText(pos, gemMsg.rnd[math.random(1,#gemMsg.rnd)], color)
    if getPlayerStorageValue(cid, gems.storage[voc]) >= 1 then 
      addEvent(sendGemEffect, interval, cid, storage, interval)
    end
else
stopEvent(sendGemEffect(cid, storage, interval))
end
end

 

 

Meu Login.lua

 

function onLogin(cid)

if(getConfigValue('deathLostPercent') ~= nil) then

doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, getConfigValue('deathLostPercent') * 10)

end

if(getPlayerAccountManager(cid) == MANAGER_NONE) then

if(getPlayerLastLoginSaved(cid) > 0) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Your last visit was on " .. os.date("%a %b %d %X %Y", getPlayerLastLoginSaved(cid)) .. ".")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Please choose your outfit.")

doPlayerSendOutfitWindow(cid)

end

elseif(getPlayerAccountManager(cid) == MANAGER_NAMELOCK) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")

elseif(getPlayerAccountManager(cid) == MANAGER_ACCOUNT) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type [account] to manage your account and if you want to start over then type [cancel].")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type [account] to create an account or type [recover] to recover an account.")

end

if(not isPlayerGhost(cid)) then

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)

end

registerCreatureEvent(cid, "critical")

if getPlayerStorageValue(cid, 48903) == -1 then

setPlayerStorageValue(cid, 48903, 0)

end

registerCreatureEvent(cid, "Mail")

registerCreatureEvent(cid, "tkexp")

registerCreatureEvent(cid, "castleexp")

registerCreatureEvent(cid, "DeathSystem")

registerCreatureEvent(cid, "DeathC")

registerCreatureEvent(cid, "Antimagebomb")

registerCreatureEvent(cid, "UpAbsolute")

registerCreatureEvent(cid, "DoubleExp")

registerCreatureEvent(cid, "pvpsystem")

registerCreatureEvent(cid, "SaveLogout")

registerCreatureEvent(cid, "RushCombat")

registerCreatureEvent(cid, "RushAttack")

registerCreatureEvent(cid, "RushDead")

registerCreatureEvent(cid, "RushOutfit")

registerCreatureEvent(cid, "GuildMotd")

registerCreatureEvent(cid, "killer")

registerCreatureEvent(cid, "Idle")

registerCreatureEvent(cid, "antiacc")

registerCreatureEvent(cid, "TiraBattle")

registerCreatureEvent(cid, "CombatDodge")

registerCreatureEvent(cid, "attackguild")

registerCreatureEvent(cid, "advance")

registerCreatureEvent(cid, "FimVip")

registerCreatureEvent(cid, "forever amulet")

registerCreatureEvent(cid, "SkullCheck")

registerCreatureEvent(cid, "ReportBug")

registerCreatureEvent(cid, "VipReceive")

registerCreatureEvent(cid, "PlayerKill")

return true

end

 

Onde eu vou inserir isso que você me disse que eu devo inserir...?

pbotttttttttttttttttttt.gif?1435636828

Link para o post
Compartilhar em outros sites
  • Solução

local events_id = {}
local tableffects = { "' , . '" ,". ' , ' ", "' , . '"}

function exc(cid, sorteio)
    local pos = getThingPos(cid)
    local cores = {
        [5] = 35,
        [6] = 66,
        [7] = 210,
        [8] = 180,
    }

    if getPlayerStorageValue(cid, 4730) == 1 then
        doSendAnimatedText(pos, tableffects[sorteio], cores[getPlayerVocation(cid)])
        events_id[cid] = addEvent(exc, 1000 * 2, cid, math.random(#tableffects))
    end
    return true
end

function onEquip(cid, item, slot)
	
	if getPlayerVocation(cid) < 5 then
	return doPlayerSendCancel(cid, "You are not promoted") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
	end
	
	if getPlayerStorageValue(cid, 4730) <= 0 then
		doCreatureSetStorage(cid, 4730, 1)
		exc(cid, math.random(#tableffects))
	end
  
	return true
end

function onDeEquip(cid, item, slot)
	setPlayerStorageValue(cid,4730, -1)
	stopEvent(events_id[cid])

  	events_id[cid] = nil
	return true
end

<movevent type="Equip" itemid="2121"  event="script" value="effectitem.lua"/>
<movevent type="DeEquip" itemid="2121" event="script" value="effectitem.lua"/> 

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

^acho que vc confundiu os dois tópicos q ele criou.. esse é pra uma certa vocação soltar efeito normalmente, o outro que era pra equipar o ring.. em todo caso esse script que vc postou possui alguns erros de lógica.. corrigindo tudo fica assim:
 

local tableffects = { "' , . '" ,". ' , ' ", "' , . '"}

local config = {
    [5] = 35, -- [vocID] = cor (master sorcerer = 35)
    [6] = 66, -- elder druid = 66
    [7] = 210, -- royal paladin = 210
    [8] = 180 -- elite knight = 180 -- esse 180 eh o codigo da cor
}

local function exc(uid, cores, formato)
    if getPlayerStorageValue(uid, 4730) == 1 and cores[getPlayerVocation(uid)] then
        doSendAnimatedText(getThingPos(uid), formato[math.random(1, #formato)], cores[getPlayerVocation(uid)])
        addEvent(exc, 1000 * 2, cid, cores, formato) 
    end
    return true
end

function onEquip(cid, item, slot)	
	if getPlayerStorageValue(cid, 4730) <= 0 then
		setPlayerStorageValue(cid, 4730, 1)
		exc(cid, config, tableffects)
	end  
	return true
end

function onDeEquip(cid, item, slot)
	setPlayerStorageValue(cid,4730, -1)
	return true
end

 

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)

Link para o post
Compartilhar em outros sites

 

^acho que vc confundiu os dois tópicos q ele criou.. esse é pra uma certa vocação soltar efeito normalmente, o outro que era pra equipar o ring.. em todo caso esse script que vc postou possui alguns erros de lógica.. corrigindo tudo fica assim:

 

local tableffects = { "' , . '" ,". ' , ' ", "' , . '"}

local config = {
    [5] = 35, -- [vocID] = cor (master sorcerer = 35)
    [6] = 66, -- elder druid = 66
    [7] = 210, -- royal paladin = 210
    [8] = 180 -- elite knight = 180 -- esse 180 eh o codigo da cor
}

local function exc(uid, cores, formato)
    if getPlayerStorageValue(uid, 4730) == 1 and cores[getPlayerVocation(uid)] then
        doSendAnimatedText(getThingPos(uid), formato[math.random(1, #formato)], cores[getPlayerVocation(uid)])
        addEvent(exc, 1000 * 2, cid, cores, formato) 
    end
    return true
end

function onEquip(cid, item, slot)	
	if getPlayerStorageValue(cid, 4730) <= 0 then
		setPlayerStorageValue(cid, 4730, 1)
		exc(cid, config, tableffects)
	end  
	return true
end

function onDeEquip(cid, item, slot)
	setPlayerStorageValue(cid,4730, -1)
	return true
end

 

Pequeno Lobo, use mais o Telegram, to tentando falar com você.

Pra essa mensagem não ser um spam:

 

Se config e tableffects é global, não precisava passar como argumento para a função exc.

Como config e tableffects só é usado em exc, seria melhor deixar eles como local da função exc.

E por último, use mais o Telegram.

Link para o post
Compartilhar em outros sites

^não é global e eu fiz assim pra não ter que instanciar a tabela a cada uso da função.. eu não tenho ctza oque pesa mais, instanciar ela ou indicar que cores = config e formato = tableffects

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)

Link para o post
Compartilhar em outros sites

^não é global e eu fiz assim pra não ter que instanciar a tabela a cada uso da função.. eu não tenho ctza oque pesa mais, instanciar ela ou indicar que cores = config e formato = tableffects

Pelo menos em TFS 1.x, se você declarar uma local fora do escopo da função principal, ela é global para aquele script em especifico.

Link para o post
Compartilhar em outros sites
local events_id = {}
local tableffects = { "' , . '" ,". ' , ' ", "' , . '"}

function exc(cid, sorteio)
    local pos = getThingPos(cid)
    local cores = {
        [5] = 35,
        [6] = 66,
        [7] = 210,
        [8] = 180,
    }

    if getPlayerStorageValue(cid, 4730) == 1 then
        doSendAnimatedText(pos, tableffects[sorteio], cores[getPlayerVocation(cid)])
        events_id[cid] = addEvent(exc, 1000 * 2, cid, math.random(#tableffects))
    end
    return true
end

function onEquip(cid, item, slot)
	
	if getPlayerVocation(cid) < 5 then
	return doPlayerSendCancel(cid, "You are not promoted") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
	end
	
	if getPlayerStorageValue(cid, 4730) <= 0 then
		doCreatureSetStorage(cid, 4730, 1)
		exc(cid, math.random(#tableffects))
	end
  
	return true
end

function onDeEquip(cid, item, slot)
	setPlayerStorageValue(cid,4730, -1)
	stopEvent(events_id[cid])

  	events_id[cid] = nil
	return true
end

<movevent type="Equip" itemid="2121"  event="script" value="effectitem.lua"/>
<movevent type="DeEquip" itemid="2121" event="script" value="effectitem.lua"/> 

Poxa irmao vlw ,me ajudo mesmo <3 eu queria o da vocaçao suprema mais esse ja ajudou muito mais tem um pequeno problema ...  a cor do sorcerer ta preta e tinha que fica azul sabe qual e o numero da cor azul ? 

pbotttttttttttttttttttt.gif?1435636828

Link para o post
Compartilhar em outros sites

Vai em data/lib/constant.lua e procura algo parecido com isso:
 

É a lista de cores do seu servidor.. no meu a azul escuro é 5 e a claro é 89

TEXTCOLOR_BLUE = 5
TEXTCOLOR_GREEN = 18
TEXTCOLOR_TEAL = 35
TEXTCOLOR_LIGHTGREEN = 66
TEXTCOLOR_DARKBROWN = 78
TEXTCOLOR_LIGHTBLUE = 89
TEXTCOLOR_DARKPURPLE = 112
TEXTCOLOR_BROWN = 120
TEXTCOLOR_GREY = 129
TEXTCOLOR_DARKRED = 144
TEXTCOLOR_DARKPINK = 152
TEXTCOLOR_PURPLE = 154
TEXTCOLOR_DARKORANGE = 156
TEXTCOLOR_RED = 180
TEXTCOLOR_PINK = 190
TEXTCOLOR_ORANGE = 192
TEXTCOLOR_DARKYELLOW = 205
TEXTCOLOR_YELLOW = 210
TEXTCOLOR_WHITE = 215
TEXTCOLOR_NONE = 255

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)

Link para o post
Compartilhar em outros sites

Poxa irmao vlw ,me ajudo mesmo <3 eu queria o da vocaçao suprema mais esse ja ajudou muito mais tem um pequeno problema ...  a cor do sorcerer ta preta e tinha que fica azul sabe qual e o numero da cor azul ? 

Mas para trocar as vocaçoes nao seria apenas editar aqui:

function exc(cid, sorteio)
    local pos = getThingPos(cid)
    local cores = {
        [5] = 35,
        [6] = 66,
        [7] = 210,
        [8] = 180,
        [x] = x,
        [x] = x,
        [x] = x,
        [x] = x,
    }

Nos x entre os colchetes coloca as ID das voc e no X antes da virgula coloca os numeros referente a cor da tabela que o lobo passou.

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por DarkGT
      os items não chega e dá esse erro                                                                                                                       
    • Por arce20
      PRIMEIRAMENTE FELIZ NATAL A TODOS
      ESTOU A PROCURA DE UMA EQUIPE ESPECIALIZADA EM OTSERVER
      ESTOU DISPOSTO A CRIAR UM OTSERVER, QUEM QUISER ME AJUDAR
      POR FAVOR ME ADICIONA NO SKYPE: VICTOR.GAMING95
      MINHA INTERNET É DE 60 MEGA, QUERO CRIAR EM CASA, JA TIVE ALGUNS OTSERVERS
      POR MIM HOSPEDADO, MAS SE DER CERTO ESTOU DISPOSTO A PAGAR DEDICADO MAIS PRA FRENTE
      ESTOU EM DUVIDA SE FAÇO BAIAK OU GLOBAL, NÃO SEI, ESTOU EM DUVIDA, MAIS 8.6 SEMPRE.
      JOGO TIBIA A 10 ANOS, COMEÇEI NA VERSÃO 7.1,
      MEU BOT PREFERIDO É ELF BOT, MEU OTSERVER PREFERIDO É MEGATIBIA E BAIAKWARS,
       
      SÓ SEI FAZER OTSERVER EM SQLITE, NÃO MANJO MYSQL, MESMO TENTANDO 83219083291048 VEZES SOZINHO,
      NUNCA CONSEGUI CRIAR =/
      NÃO TENHO MAIS AMIGOS PARA JOGAR TIBIA COMIGO, A MAIORIA TUDO PAROU,
      LARGOU TIBIA PARA FICAR NO "LOL"  , POR FAVOR ME AJUDEM GALERA TO SOZINHO AQUI =[ 
    • Por rickzsilvaa
      e ai pessoal beleza?
       
      bom, recentemente no meu server de WODBO (Dragon Ball) eu notei que as transformação não tem efeito... e algumas magia também não, eu baixei do youtube o server, e com o /z vai ate o efeito 52 acho só...
       
      eu sei que preciso compilar essas parada, mais não tenho muito conhecimento, alias acho que não tenho nenhum hhehe',  e no meu server so veio esses arquivos... \/
      queria Pedir para vocês me passagem algum tutorial ou algo para eu fazer... para conseguir pegar efeito de algum server ou ate mesmo compilar e tal !!!
      Quem Ajudar REP+
       
    • Por Mlk Frozen
      Eae Galera Do Tk Blz Hj To Aki Para Pergunta Se Alguem Sabe Resolve esse erro 
       Aki                           \                       /

       
       
       
       
      Quem Souber Resolver Me fala Ai Isso me ajudara MT mt mt
       
       
      e Quem tambem Sabe Coloca efeito na vocation tipo quando ela transformar ela fica soltando ums raio ou o effeito que colocar quem souber me ajudara tbm obr por ler !!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo