18-05-2010, 03:46 PM
|
#11 (permalink)
|
|
Membro - Veterano
Registrado em: Mar 2009
Localização: Cabeça Dentro dos Livros
Posts: 1,322
Agradecido 474 Vezes em 306 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
|
Começando vamos aos querys.
Daniel onde fazemos isso?
Facil apenas entre em seu Mysql entre em seu banco de dados e coloque esses querys abaixo no local de SQLQuery caso você não saiba onde olhe a imagem no spoiler abaixo dos querys!
ALTER TABLE `accounts` ADD `vip` TINYINT NOT NULL DEFAULT '0' AFTER `premdays` , ADD `vip_days` INT NOT NULL DEFAULT '0' AFTER `vip` , ADD `vip_time` INT NOT NULL DEFAULT '0' AFTER `vip_days`;
ALTER TABLE `players` ADD `reset_temple` TINYINT NOT NULL DEFAULT '0' AFTER `town_id`;
Agora vamos adicionar as funções nos libs primeiramenet vai em data/lib/data.lua abra este arquivo e abaixo de
[dofile(getDataDir() .. "lib/compat.lua")
Adicione.
dofile(getDataDir() .. "lib/vip.lua")
Depois de adicionar isso vamos criar o script vip.lua em data/lib.
No script você vai adicionar este seguinte codigo no spoiler abaixo.
Agora vamos adicionar o sistema que vai remover a quantidade de dias do VIP automaticamente.
Vai em data/globalevents/globalevents. xml abra este arquivo e abaixo de.
<globalevent name="clean" interval="7200" event="script" value="clean.lua"/>
Adicione.
<globalevent name="RemoveVipDays" interval="600" event="script" value="removevip.lua"/>
Agora iremos criar o script removevip.lua em data/globalevents/scripts.
No script você vai adicionar este seguinte codigo no spoiler abaixo.
Agora vamos adicionar o sistema que joga o player para o Temple quando acaba a VIP dele.
Vai em data/creaturescripts/creaturescripts.xml abra este arquivo e abaixo de
<event type="login" name="PlayerLogin" event="script" value="login.lua"/>
Adicione
<event type="login" name="VipCheck" event="script" value="vipcheck.lua"/>
Agora vamos adicionar o script vipcheck.lua em data/creaturescripts/scripts.
No script você vai adicionar este seguinte codigo no spoiler abaixo.
Lembrando que você tem que por se você tem que configurar se usa rook sistem.
Se você não usar é so colocar o ID do temple da cidade principal.
Mas se você ativa o rook sistem você tera que por o ID da cidade de rook e da cidade principal mais você so ira usar o sistema de rook se você usar rook em seu ot.
Bom o sistema ja está completo mais falta a parte do tile que so vips podem passar e o comando para adicionar o vip e o comando que o player pode verificar quantos dias vip dele ainda tem então vamos la.
Agora vamos ate data/talkactions/talkactions.xml abra ele e abaixo de.
<talkaction log="yes" words="/addskill" access="5" event="function" value="addSkill"/>
Adicione.
if(not isPlayerGhost(cid)) then
doTransformItem(item.uid, increasingItems[item.itemid])
end
Adicione.
if item.actionid == 7777 then
if (isVip(cid) == false) then
pushBack(cid, position, fromPosition, true)
end
return true
end
Bom terminamos detalhe use o tile ID 426 com actionID 7777 para vip tile um pequeno detalhe no map editor coloque o tile como NO LOGOUT AREA para ninguem fazer bugs de M WALL para passar para area VIP.
Bom para saber como usar é simples para adicionar a vip la vai um explo de adicionar 30 dias no player Luke sky walker
/addvip Daniel sky walker, 30
E para o player veifica quantos dias de vip ele tem ele usa o comando
!checkvip
Bom espero que seja util eu testei o script mas ainda pode ter bugs!!!
VERSÃO NÃO TESTADA EM SQLITE MAIS TALVEZ FUNCIONE SO TESTANDO MESMO!
SE QUISER USAR EM SQILE ADICIONE AS TABELAS MANUALMENTE.
Créditos: Luke Sky Walker
|
|
|