Ir para conteúdo

Vip System By Account V1.0


Kydrai

Posts Recomendados

@felipedorgas

Seria parecido com o onLogin, só precisaria colocar a função doPlayerSetPromotionLevel(cid, level).

 

@psybreak

Esse script não é por storage.

 

@lXlSasukelXl

Vlw pelo comentário.

Link para o comentário
Compartilhar em outros sites

@felipedorgas

Seria parecido com o onLogin, só precisaria colocar a função doPlayerSetPromotionLevel(cid, level).

 

 

poderia criar pra mim?

 

as voc vip seria

 

voc 9 voltaria pra 5

voc 10 voltaria pra 6

voc 11 voltaria pra 7

voc 12 voltaria pra 8

 

ai seria pra coloca no viplogin?

 

vlw

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

Não sei bem como é a promotion.

Assim seria mudando o promotion level:

function onLogin(cid)
if getVipTime(cid) > 0  and isVip(cid) == FALSE then
	local townid = 1
	doPlayerSetTown(cid, townid)
	local templePos = getTownTemplePosition(getPlayerTown(cid))
	doTeleportThing(cid, templePos, false)
	doPlayerSetPromotionLevel(cid, 1)
	setVipTime(cid, 0)
	doTeleportPlayers(cid, templePos)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua Vip acabou!")
else
	local duration = getVipDate(cid)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))
end
return TRUE
end

E assim mudando pela vocação:

function onLogin(cid)
if getVipTime(cid) > 0  and isVip(cid) == FALSE then
	local townid = 1
	doPlayerSetTown(cid, townid)
	local templePos = getTownTemplePosition(getPlayerTown(cid))
	doTeleportThing(cid, templePos, false)
	local voc = getPlayerVocation(cid)
	if voc >= 9 then
		doPlayerSetVocation(cid, voc-4)
	end
	setVipTime(cid, 0)
	doTeleportPlayers(cid, templePos)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua Vip acabou!")
else
	local duration = getVipDate(cid)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))
end
return TRUE
end

Link para o comentário
Compartilhar em outros sites

HEy vey ta dando esse erro

[06/08/2010 14:05:45] Error during getDataInt(viptime).

[06/08/2010 14:05:45] Error during getDataInt(viptime).

[06/08/2010 14:05:45] Error during getDataInt(viptime).

[06/08/2010 14:06:32] Error during getDataInt(viptime).

[06/08/2010 14:06:32] Error during getDataInt(viptime).

[06/08/2010 14:06:32] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: no such column: viptime (UPDATE "accounts" SET "viptime" = 1283706392 WHERE "id" = 2;)

[06/08/2010 14:06:32] Error during getDataInt(viptime).

 

 

'-' oq faço ele nao ta adiconando a vipdays 14:06 Você adicionou 30 dia(s) de vip, agora você possui 0 dia(s) de vip. :(

Link para o comentário
Compartilhar em outros sites

@Rapidash

Error during getDataInt(viptime).

Provavelmente é porque vc não instalou a tabela, coloque o exemplo da talkaction e execute o comando /installvip.

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Kydrai, tem como add uma storage pra qndo o player ganha vip, e pra qndo a vip acaba, ele perde a storage?

 

nem que ela n faça nada..presciso para website!

 

 

e tbm se possivel, a mensagem de quantos dias o player possui VIP, apareçer somente pra qm é vip.

(da pra usar a storage aqui :P:)

 

obrigado.

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

O do storage você usa quando o player compra vip:

doPlayerSetStorageValue(cid, 5000, 1)

Ai vai depender de como você ta fazendo pra saber onde por.

 

Corrigi a mensagem e adicionei "doPlayerSetStorageValue(cid, 5000, 0)":

function onLogin(cid)
       local vip = isVip(cid)
       if getVipTime(cid) > 0 and vip == FALSE then
               doPlayerSetStorageValue(cid, 5000, 0) -- Termina a VIP
               local townid = 1
               doPlayerSetTown(cid, townid)
               local templePos = getTownTemplePosition(getPlayerTown(cid))
               doTeleportThing(cid, templePos, false)
               setVipTime(cid, 0)
               doTeleportPlayers(cid, templePos)
               doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua Vip acabou!")
       elseif vip == TRUE then
               local duration = getVipDate(cid)
               doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))
       end
       return TRUE
end

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

Da uma ajuda ae =)

 

[28/08/2010 01:04:05] Lua Script Error: [TalkAction Interface]

[28/08/2010 01:04:05] data/talkactions/scripts/vipaccplayer.lua:onSay

 

[28/08/2010 01:04:05] data/talkactions/scripts/vipaccplayer.lua:6: attempt to call global 'addVipDays' (a nil value)

[28/08/2010 01:04:05] stack traceback:

[28/08/2010 01:04:05] data/talkactions/scripts/vipaccplayer.lua:6: in function <data/talkactions/scripts/vipaccplayer.lua:1>

 

 

Link para o comentário
Compartilhar em outros sites

[28/08/2010 15:09:53] Lua Script Error: [TalkAction Interface]

[28/08/2010 15:09:53] data/talkactions/scripts/vipaccplayer.lua:onSay

 

[28/08/2010 15:09:54] data/talkactions/scripts/vipaccplayer.lua:6: attempt to call global 'addVipDays' (a nil value)

[28/08/2010 15:09:54] stack traceback:

[28/08/2010 15:09:55] data/talkactions/scripts/vipaccplayer.lua:6: in function <data/talkactions/scripts/vipaccplayer.lua:1>

AJUDA MANO

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

×
×
  • Criar Novo...