Ir para conteúdo

Remoçao Da Second Promotion De Todos Os Charcter


Cebolix

Posts Recomendados

remoçao da second promotion de todos os charcter da mesma acc assim--o cara compra vip porem é a conta inteira posibilitando ter todos os chars da mesma conta com "second promotion" tudo normal ate ai porem quando acaba esta saindo de apenas 1 char a second promotion nao de todos os outros terian como me ajuda a fazer um script que retira a second promotion de todos os chars da mesma conta esta funcionando mais em apenas 1 char o resto que compro asecond promotion continua sem ter mais a vip na conta.

 

resumo:

meu sistema de vip esta funciona 100% ate quando acaba o tempo essta pegando porem é a conta inteira vip todos os char podem compra e a minha second promotion esta funcionando porem quero que quando acaba a vip todos os char da acc fiquem sem ela nao apenas 1 como esta agora.

Link para o comentário
Compartilhar em outros sites

local gain = {

gainArmor='&p+1',loseArmor='&p-1',

gainShield='&s+#',loseShield='&s-(#+1)',

gainAttack='&a+(2*(#))',loseAttack='&a-(2*(#+1))',

gainDefense='&d+(2*(#))',loseDefense='&d-(2*(#+1))',

chance='100/((#*(1/(@/2)))*(@/2))',

maxlvl = 7,

blocked_ids = {2488,8881}

}

if not setItemName then

function setItemName(uid,name)

return doItemSetAttribute(uid,'name',name)

end

function setItemArmor(uid,name)

return doItemSetAttribute(uid,'armor',name)

end

function setItemDefense(uid,name)

return doItemSetAttribute(uid,'defense',name)

end

function setItemAttack(uid,name)

return doItemSetAttribute(uid,'attack',name)

end

function getItemAttack(uid)

return getItemAttribute(uid,'attack')

end

function getItemDefense(uid)

return getItemAttribute(uid,'defense')

end

function getItemArmor(uid)

if type(uid) == 'number' then

return getItemAttribute(uid,'armor')

else

return getItemInfo(uid.itemid).armor

end

end

end

function isArmor(uid)

if (getItemArmor(uid) and getItemArmor(uid) ~= 0 and not getItemInfo(uid.itemid,'attack') and not getItemInfo(uid.itemid,'defense') and getItemWeaponType(uid.uid) == 0) then

return true

end

return false

end

function isWeapon(uid)

uid = uid or 0

local f = getItemWeaponType(uid)

if f == 1 or f == 2 or f == 3 then

return TRUE

end

return FALSE

end

function isShield(uid)

uid = uid or 0

if getItemWeaponType(uid) == 4 then

return TRUE

end

return FALSE

end

 

function getWeaponLevel(uid)

uid = uid or 0

local name = getItemName(uid)

local lvl = string.match(name,'+(%d)')

return tonumber(lvl) or 0

end

function doTransform(s,i)

local c = string.gsub(s,'@',gain.maxlvl)

local c = string.gsub(c,'&a',getItemAttack(i.uid) or getItemInfo(i.itemid).attack)

local c = string.gsub(c,'&d',getItemDefense(i.uid) or getItemInfo(i.itemid).defense)

local c = string.gsub(c,'&s',getItemDefense(i.uid) or getItemInfo(i.itemid).defense)

local c = string.gsub(c,'&p',getItemArmor(i.uid) or getItemInfo(i.itemid).armor)

local c = string.gsub(c,'#',getWeaponLevel(i.uid))

local q,err = loadstring('return '..c)

assert(q,err)

return assert(q())

end

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

toPosition.stackpos = 255

if isInArray(gain.blocked_ids, itemEx.itemid) == TRUE

or getItemWeaponType(itemEx.uid) > 4

or (getItemWeaponType(itemEx.uid) == 0

and isArmor(itemEx) == FALSE)

or itemEx.itemid == 0 then

doPlayerSendTextMessage(cid, 24,"You cant refine this item.")

return TRUE

end

if isCreature(itemEx.uid) == TRUE then

return FALSE

end

local level = getWeaponLevel(itemEx.uid)

local chance = doTransform(gain.chance,itemEx)

if chance >= math.random(0,100) or item.actionid >= 1000 or (item.actionid == 500 and math.random(0,100) <= 25) then

if level+1 > gain.maxlvl then

doSendMagicEffect(toPosition, 2)

return doPlayerSendTextMessage(cid, 24,"Your item is on max level, you can't upgrade it.")

else

setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level+1))

doPlayerSendTextMessage(cid, 24,"Your item has been upgrated to +"..(level+1)..".")

doSendMagicEffect(toPosition, 12)

if isArmor(itemEx) == TRUE then

local get = doTransform(gain.gainArmor,itemEx)

setItemArmor(itemEx.uid,get)

elseif isWeapon(itemEx.uid) == TRUE then

setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx))

setItemDefense(itemEx.uid, doTransform(gain.gainDefense,itemEx))

elseif isShield(itemEx.uid) == TRUE then

setItemDefense(itemEx.uid, doTransform(gain.gainShield,itemEx))

end

end

else

 

if level == 0 then

doPlayerSendTextMessage(cid, 24,"No effect.")

doSendMagicEffect(toPosition, 2)

elseif level == gain.maxlvl then

doSendMagicEffect(toPosition, 2)

return doPlayerSendTextMessage(cid, 24,"Your item is on max level, you can't upgrade it.")

elseif level > 0 then

if level == 1 then

setItemName(itemEx.uid, getItemNameById(itemEx.itemid))

doPlayerSendTextMessage(cid, 24,"Your item back to normal.")

else

setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level-1))

doPlayerSendTextMessage(cid, 24,"Your item back to +"..(level-1)..".")

end

if isArmor(itemEx) == TRUE then

setItemArmor(itemEx.uid,doTransform(gain.loseArmor ,itemEx))

elseif isWeapon(itemEx.uid) == TRUE then

setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx))

setItemDefense(itemEx.uid, doTransform(gain.loseDefense,itemEx))

elseif isShield(itemEx.uid) == TRUE then

setItemDefense(itemEx.uid, doTransform(gain.loseShield,itemEx))

end

end

doSendMagicEffect(toPosition, 9)

end

doRemoveItem(item.uid,1)

return TRUE

end

Editado por Cebolix
Link para o comentário
Compartilhar em outros sites

isso nao é vip isso é refinaçao ¬¬

 

cara vou fazer pa você usando funções "do VIP Sistem do kydrai by Account"

 

http://www.xtibia.com/forum/topic/136543-vip-system-by-account-v10/

 

 

pronto..

 

em data / creaturescripts / scripts / login.lua no finalzin la coloca isso:

 

registerCreatureEvent(cid, "promovip")

 

no creaturescripts.xml coloque isso:

<event type="login" name="promovip" event="script" value="promovip.lua"/>

 

em creaturescripts/scripts crie um arquivo chamado promovip e nele coloque isso

 

function onLogin(cid) 
if not isVip(cid) and getPlayerVocation(cid) >= 9 then
doPlayerSetVocation(cid,getPlayerVocation(cid) - 4)
doPlayerSendTextMessage(cid,25,"Sua promotion VIP foi removida.")
end
return true
end

 

aceito rep kkk

Editado por DrakyLucas
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...