Ir para conteúdo
  • Cadastre-se

(Resolvido)[Pedido] Item que ao ser usado dá magic level por 60 seg.


Ir para solução Resolvido por RenanPhellip,

Posts Recomendados

Olá pessoal eu preciso da ajuda de vocês!

Preciso que o script faça o seguinte: Ao usar um item será dado 15 de magic level durante 60 segundos, preciso também que apareça aquele ícone de strenght.

 

Peço que apenas modifiquem esse script:

local text = "Aaahhh! me sinto mais poderoso!"
function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPlayerLevel(cid) >= 400 and (getPlayerVocation(cid) == 357 or getPlayerVocation(cid) == 358 or getPlayerVocation(cid) == 359 or getPlayerVocation(cid) == 360 or getPlayerVocation(cid) == 361 or getPlayerVocation(cid) == 362 or getPlayerVocation(cid) == 363) then
if isPremium(cid) then
doCreatureSay(cid, text, 19)
local pos1 = {x = getPlayerPosition(cid).x + 1, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
doSendMagicEffect(pos1, 78)
doRemoveItem(cid, item.uid, 1)
return true
else
doPlayerSendCancel(cid, "Voce precisa ser premium.")
return true
end
else
doPlayerSendCancel(cid, "Voce precisa ser da vocação Turles Reborn LvL 400+ para usar este item.")
return true
end
end

 

Agradeço aos que ajudarem!

Editado por bhelliip (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Buff não é spell mano? o.o !

você poderia usar a tag

doPlayerAddSkillTry(cid,skillid,n)

 

skillid é o id do magic level que eu não lembro

e n talvez seja a quantidade, não me recordo dessa função

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

I helped you ? REP +.

 

Att: Abreu

Link para o post
Compartilhar em outros sites

 

Buff não é spell mano? o.o !

você poderia usar a tag

doPlayerAddSkillTry(cid,skillid,n)

 

skillid é o id do magic level que eu não lembro

e n talvez seja a quantidade, não me recordo dessa função

 

Putz verdade cara! KKKKK mosquei...

Enfim, irei tentar, porém e como configuro pra terminar em 60 segundos?

Link para o post
Compartilhar em outros sites

Putz verdade cara! KKKKK mosquei...

Enfim, irei tentar, porém e como configuro pra terminar em 60 segundos?

 

Você se lembra da Spell Charge que fica um minuto parado? pode ser que você pegue alguma função de la !

obs: vo logar no seu ot agora kkk, nick Abreu

I helped you ? REP +.

 

Att: Abreu

Link para o post
Compartilhar em outros sites

Irei dar uma olhada na script, obrigado!

Entra ai, bora virar top! huasuauheuha =D

Link para o post
Compartilhar em outros sites

Amigo, tenta isso daqui, ja tá explicadinho no script:

infos40x40.png

local addml = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(addml, CONDITION_PARAM_TICKS, 60*1000) -- tempo em segundos multiplicado por 1000 (porque o sistema lê em milisegundos)
setConditionParam(addml, CONDITION_PARAM_STAT_MAGICLEVEL, 15) -- esse número é quanto de magic level aumenta!
setConditionParam(addml, CONDITION_PARAM_BUFF, TRUE)
function onUse(cid, item, fromPosition, itemEx, toPosition)
local premium = getPlayerPremiumDays(cid)
if getPlayerLevel(cid) >= 400 and (getPlayerVocation(cid) ~= 357 or getPlayerVocation(cid) ~= 358 or getPlayerVocation(cid) ~= 359 or getPlayerVocation(cid) ~= 
360 or getPlayerVocation(cid) ~= 361 or getPlayerVocation(cid) ~= 362 or getPlayerVocation(cid) ~= 363) then
doPlayerSendCancel(cid, "Voce precisa ser da vocação Turles Reborn LvL 400+ para usar este item!")
elseif premium < 1 then 
doPlayerSendCancel(cid, "Voce precisa ser premium para usar este item!")
else
doCreatureSay(cid,19, "Aaahhh! Me sinto mais poderoso!")
local pos1 = {x = getPlayerPosition(cid).x + 1, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
doSendMagicEffect(pos1, 78)
doRemoveItem(cid, item.uid, 1)
doAddCondition(cid, addml)
end
return true
end

Em:

data\actions\actions.xml


Coloque:
infos40x40.png

<action itemid="id_do_seu_item" script="nome_do_seu_script.lua"/>

Edit: Cara cometi um pequeno erro aqui na hora de coloca o parâmetro da condição, mas eu arrumei e agora o script ta funfando! 

Detalhe: agora que foi resolvido eu queria saber como que faz pra remove minha postagem, pois sou novatão aki :D

Editado por Rudkiller (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Boa noite! Eu fiquei curioso com esse pedido, não sou scripting, sou só um OT-Admin, mas consigo desenrola umas coisas
E testei uns scripts aqui, editando...e editando... e consegui funfa esse script no meu serve, to passando para você.
 
PS: Editei algumas coisas do script que você postou, porque não tava funfando.
 
e arthurabreu, esse função não funfa de jeito nenhum 
target40x40.png
doPlayerAddSkillTry(cid,skillid,n)
 
Rudkiller, testei esse seu script aqui e deu o seguinte erro
 
[10/01/2015 18:34:38] [Error - Action Interface] 
[10/01/2015 18:34:38] data/actions/scripts/evento/magic.lua
[10/01/2015 18:34:38] Description: 
[10/01/2015 18:34:38] (luaSetConditionParam) Condition not found
 
Vamos la ao script que eu editei e funfo pelo menos aqui no meu serve:


local condition = createConditionObject(CONDITION_ATTRIBUTES)
 
setConditionParam(condition, CONDITION_PARAM_TICKS, 60 * 1000)
 
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICPOINTS, 15)
 
 
 
local text = "Aaahhh! Me sinto mais poderoso!"
 
 
 
function onUse(cid, item, frompos, item2, topos)
 
if(isInArray({1,2,3,4}, getPlayerVocation(cid)) == TRUE) and (getPlayerLevel(cid)>=400) then
 
var = numberToVariant(cid)
 
doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_RED)
 
doCreatureSay(cid, text, 19)
 
doRemoveItem(item.uid, 1)
 
else
 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Você precisa ser da vocação Turles Reborn LvL 400+ para usar este item.")
 
doSendMagicEffect(getPlayerPosition(cid),2)
 
return true
 
end
 
end
 
Se você quiser alterar o tempo:    (Padrão está 60s)
PS: Não meixa no * 1000
target40x40.png
setConditionParam(condition, CONDITION_PARAM_TICKS, 60 * 1000)
 
Se você quiser alterar o tanto de ml que o player irar ganhar:    (Padrão está 15 Magic Level)
target40x40.png
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICPOINTS, 15)
 
Se você quiser alterar a vocation:    {1,2,3,4} - coloque o id das vocations 
target40x40.png
if(isInArray({1,2,3,4}, getPlayerVocation(cid)) == TRUE)
 

 
Tirei até uns print para demostrar.

 
Magic Level antes
post-55245-0-81327100-1420922279_thumb.j
 
Use
post-55245-0-50555900-1420922278_thumb.j
 
Magic Level Depois
post-55245-0-17715500-1420922281_thumb.j
 
Level Menos que 400
post-55245-0-47144300-1420922276_thumb.j
 

 
Bom, é isso intão, espero que tenha gostado, avisa se de algum erro no distro ou bug
Editado por shadowfall (veja o histórico de edições)

F3lip3

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

 

Boa noite! Eu fiquei curioso com esse pedido, não sou scripting, sou só um OT-Admin, mas consigo desenrola umas coisas
E testei uns scripts aqui, editando...e editando... e consegui funfa esse script no meu serve, to passando para você.
 
PS: Editei algumas coisas do script que você postou, porque não tava funfando.
 
e arthurabreu, esse função não funfa de jeito nenhum 
target40x40.png
doPlayerAddSkillTry(cid,skillid,n)
 
Rudkiller, testei esse seu script aqui e deu o seguinte erro
 
[10/01/2015 18:34:38] [Error - Action Interface] 
[10/01/2015 18:34:38] data/actions/scripts/evento/magic.lua
[10/01/2015 18:34:38] Description: 
[10/01/2015 18:34:38] (luaSetConditionParam) Condition not found
 
Vamos la ao script que eu editei e funfo pelo menos aqui no meu serve:

local condition = createConditionObject(CONDITION_ATTRIBUTES)
 
setConditionParam(condition, CONDITION_PARAM_TICKS, 60 * 1000)
 
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICPOINTS, 15)
 
 
 
local text = "Aaahhh! Me sinto mais poderoso!"
 
 
 
function onUse(cid, item, frompos, item2, topos)
 
if(isInArray({1,2,3,4}, getPlayerVocation(cid)) == TRUE) and (getPlayerLevel(cid)>=400) then
 
var = numberToVariant(cid)
 
doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_RED)
 
doCreatureSay(cid, text, 19)
 
doRemoveItem(item.uid, 1)
 
else
 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Você precisa ser da vocação Turles Reborn LvL 400+ para usar este item.")
 
doSendMagicEffect(getPlayerPosition(cid),2)
 
return true
 
end
 
end
 
Se você quiser alterar o tempo:    (Padrão está 60s)
PS: Não meixa no * 1000
target40x40.png
setConditionParam(condition, CONDITION_PARAM_TICKS, 60 * 1000)
 
Se você quiser alterar o tanto de ml que o player irar ganhar:    (Padrão está 15 Magic Level)
target40x40.png
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICPOINTS, 15)
 
Se você quiser alterar a vocation:    {1,2,3,4} - coloque o id das vocations 
target40x40.png
if(isInArray({1,2,3,4}, getPlayerVocation(cid)) == TRUE)
 

 
Tirei até uns print para demostrar.

 
Magic Level antes
 
Use
 
Magic Level Depois
 
Level Menos que 400
 

 
Bom, é isso intão, espero que tenha gostado, avisa se de algum erro no distro ou bug

 

 

Cara obriigadooo! Deu certinho, continue assim! Ótima explicação! =D

Editado por bhelliip (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServScriptingActions e TalkActions"

Para: "OTServSuporte OTServSuporte de Scripts"

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 LasseXeterno
      Então, estou tentando adicionar uma nova "race" no meu Ot de base Cyan, tentei seguir 3 tutoriais aqui do tibiaking, um sobre race, porém nos códigos do meu servidor não tem o constant.h e nem o monster.cpp. E o outro tutorial, eu fiz tudo que ele pediu e quando entrei no game para testar, funcionava os golpes e as imunidades, porém não aparecia o número do dano e nem a cor.  Usei esse tutorial como base: 
      Pois ele é derivado. E o outro tutorial que usei foi: 
      Porém nesse, não consegui achar a const.h, e quando fui nos arquivos do creaturescript e adicionei uma cor nova a "COLOR_FAIRY", quando abro o jogo, os pokemons que seriam teoricamente "fada", o que eu usei de teste foi a Clefable. A Clefable tomava IK e dava IK no seu atk do tipo fada. 
      Além de que, o meu erro principal é esse: Warning - Monsters::loadMonster] Unknown race type fairy. (data/monster/pokes/geracao 1/Clefable.xml)
       Pois como eu já disse, não consigo achar onde adicionar uma nova race.

    • Por yuriowns
      Salve rapazes, tranquilo? Preciso de ajuda pra colocar para os npc's que vendem pots verificarem quantos itens possuem no tile em que o player está e se tiver com +80 itens no sqm, o npc avisa e não vende nada até o player ir em um sqm com menos de 80 itens no chão.
       
    • Por A.Mokk
      .Qual servidor ou website você utiliza como base? 
      TFS 0.4
      Qual o motivo deste tópico? 
      Bom pessoal, a algumas semanas atras eu joguei um servidor que havia sistema de imbuimento sendo 8.60, no servidor se utilizava a spellwand para encantar as armas, os comandos eram dado no canal Imbuiment... Gostaria de saber se alguém teria como disponibilizar algum sistema de imbuimento, já procurei pra caramba aqui no fórum mas tudo que encontro é pra versões acima da que eu uso.
       
    • Por Mateus Robeerto
      Não sei se aqui é a área ou algum local para solicitar a alteração do email antigo... Não lembro mais a senha dele, nem a resposta secreta para acessar. Peço a algum administrador ou moderador para, por favor, alterar o email para o novo.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo