Postado Fevereiro 20, 2012 13 anos Este é um post popular. Olá TKbianos, Estou aqui para postar pra vocês o script do item que quando usa, ganha a promotion 2 (Caso seu server tenha 3 niveis de vocação. Exemplo : Sorcerer > Master Sorcerer > Demigod. Tag XML : <action itemid="9971" event="script" value="promoitem.lua"/> Crie um arquivo .lua dentro da pasta scripts da pasta action e nomeie para promoitem.lua e coloque isso : 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 WHERE `id` ='"..id.."';") elseif vocation == 6 then db.executeQuery("UPDATE `players` SET `vocation` = 10 WHERE `id` ='"..id.."';") elseif vocation == 7 then db.executeQuery("UPDATE `players` SET `vocation` = 11 WHERE `id` ='"..id.."';") elseif vocation == 8 then db.executeQuery("UPDATE `players` SET `vocation` = 12 WHERE `id` ='"..id.."';") end doSendMagicEffect(fromPosition, CCONST_ME_MAGIC_RED) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, 20, "You are a ".. getPlayerVocationName(cid) ..".") return true end end Espero ter ajudado ! Att. Huziwara no Mokou Editado Fevereiro 20, 2012 13 anos por Huziwara (veja o histórico de edições)
Postado Fevereiro 20, 2012 13 anos Muito bom Huziwara. Sempre ajudando o fórum mais e mais. REP+ como incentivo. Att, GuuhTorres.
Postado Fevereiro 29, 2012 13 anos não seria isso? function onUse(cid, item, fromPosition, itemEx, toPosition) if not isInArray({1,2,3,4}, getPlayerVocation(cid)) then return doPlayerSendCancel(cid, "você não tem vocação para ser promovido.") end db.executeQuery("UPDATE `players` SET `vocation` = '"..getPlayerVocation(cid).."+4' WHERE `id` = "..getPlayerGUID(cid)) doSendMagicEffect(fromPosition, CCONST_ME_MAGIC_RED) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, 20, "You are a ".. getPlayerVocationName(cid) ..".") return TRUE end
Postado Fevereiro 29, 2012 13 anos Interessante contribuição, mas todo o script poderia ser encurtado para: function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerPromotionLevel(cid) == 2 then doPlayerSendCancel(cid, "You are already promoted") else doRemoveItem(item.uid, 1) doPlayerSetPromotionLevel(cid, 2) doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED) end return true end Creio que você fez ele mais para treinar suas querys SQL? Editado Fevereiro 29, 2012 13 anos por Lpz (veja o histórico de edições)
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.