Ir para conteúdo
  • Cadastre-se

(Resolvido) [PEDIDO] Item que da promotion


Posts Recomendados

se poderem fazer um script que um item da promotion

tipo que passe de master sorcerer para VIP Master sorcerer numeros das id vocations ali em baixo

5>9

6>10

7>11

8>12

id do item 9971

legenda

5=Master Sorcerer

6=Elder Druid

7=Royal Paladin

8=Elite Knight

9=VIP Master Sorcerer

10=VIP Elder Druid

11=VIP Royal Paldin

12=VIP Elite Knight

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

Olá, aqui está seu pedido :

Tag XML :

<action itemid="9971" event="script" value="promoitem.lua"/>

Crie um arquivo .lua com nome promoitem dentro da pasta script e bote isso :


function onUse(cid, item, fromPosition, itemEx, toPosition)

if(item.itemid == 9971) then

local id = getPlayerGUID(cid)

db.executeQuery("UPDATE `players` SET `promotion` = 2 WHERE `id` ='"..id.."';")

doSendMagicEffect(fromPosition, CCONST_ME_MAGIC_RED)

doRemoveItem(item.uid, 1)

return true

end

Não testei, caso apareça algum erro volte aqui e insista !

Espero ter ajudado !

Att. Huziwara no Mokou

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

Há, desculpe-me, esqueci de por um "end" no final.


function onUse(cid, item, fromPosition, itemEx, toPosition)

if(item.itemid == 9971) then

local id = getPlayerGUID(cid)

db.executeQuery("UPDATE `players` SET `promotion` = 2 WHERE `id` ='"..id.."';")

doSendMagicEffect(fromPosition, CCONST_ME_MAGIC_RED)

doRemoveItem(item.uid, 1)

return true

end

end

Se não funcionar tente mais uma vez com esse :

function onUse(cid, item, fromPosition, itemEx, toPosition)

local vocation = getPlayerVocation(cid)

local id = getPlayerGUID(cid)


if(item.itemid == 9971) then

  if(isInArray({5,6,7,8,9,10,11,12}, getPlayerVocation(cid)) == TRUE) then

	    elseif vocation == 5 then

		   db.executeQuery("UPDATE `players` SET `vocation` = 9, `promotion` = 2 WHERE `id` ='"..id.."';")

	    elseif vocation == 6 then

		   db.executeQuery("UPDATE `players` SET `vocation` = 10, `promotion` = 2 WHERE `id` ='"..id.."';")

	    elseif vocation == 7 then

		   db.executeQuery("UPDATE `players` SET `vocation` = 11, `promotion` = 2 WHERE `id` ='"..id.."';")

	    elseif vocation == 8 then

		   db.executeQuery("UPDATE `players` SET `vocation` = 12, `promotion` = 2 WHERE `id` ='"..id.."';")

  end

  doSendMagicEffect(fromPosition, CCONST_ME_MAGIC_RED)

  doRemoveItem(item.uid, 1)

return true

end

end

Espero ter ajudado !

Att. Huziwara no Mokou

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

o de baixo pego mais quando desliga o ot e depois liga volta a vocaçao normal de elite knight (testei com elite knight)

ali em

getPlayerVocation(cid)) == TRUE) then

nao devia ser?

getPlayerPromotion(cid,2) == TRUE) then

eu nao sou muito bom de script mais e que nao e vocaçao e a segunda promotion

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

Cara, tente isso:

function onUse(cid, item, fromPosition, itemEx, toPosition)
if(item.itemid == 9971) then
doPlayerSetVocation(cid, getPlayerVocation(cid)+4)
doPlayerSendTextMessage(cid, 20, "You are a ".. getPlayerVocationName(cid) ..".")
end
doSendMagicEffect(fromPosition, CCONST_ME_MAGIC_RED)
doRemoveItem(item.uid, 1)
return TRUE
end[/code]

Não testei, vê se funciona ai...

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites

Hahaha, perdoe-me, esse script eu fiquei em dúvida...

Não funciono no seu porque parece que seu server não é MySQL.

Mas está ai para quem tem server MySQL pode usar esse script.

Att. Huziwara no Mokou

bXEB9.jpg
Link para o post
Compartilhar em outros sites
  • 7 years later...
Em 20/02/2012 em 14:08, Matk disse:

Cara, tente isso:

 

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

if(item.itemid == 9971) then

doPlayerSetVocation(cid, getPlayerVocation(cid)+4)

doPlayerSendTextMessage(cid, 20, "You are a ".. getPlayerVocationName(cid) ..".")

end

doSendMagicEffect(fromPosition, CCONST_ME_MAGIC_RED)

doRemoveItem(item.uid, 1)

return TRUE

end[/code]

 

 

Não testei, vê se funciona ai...

 

Ficou perfeito. Sera que tem como colocar pra dar pra usar so uma vez?

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo