BL

[Pedido] Sistema De Vip Por Talkaction

Por Blinkrox, 28 de mar. de 2012 em Scripts

12
1.9k
BlinkroxB
28 de março de 2012 às 19:23

queria aquele sistema vip igual do baiak...

 

!buyvip

 

esse ai !

 

REP+ pra quem me ajudar.

28 de março de 2012 às 22:15

Vodkart

 

Talkactions...

function onSay(cid, words, param)

local price = 1000000
if doPlayerRemoveMoney(cid, price) == TRUE then
	local days = 15
			 local s = 29000
	local daysvalue = days * 24 * 60 * 60
	local storageplayer = getPlayerStorageValue(cid, s)
	local timenow = os.time()

	if getPlayerStorageValue(cid, s) - os.time() <= 0 then
		time = timenow + daysvalue
	else
		time = storageplayer + daysvalue
	end

	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
	setPlayerStorageValue(cid, s, time)

	local quantity = math.floor((getPlayerStorageValue(cid, s) - timenow)/(24 * 60 * 60))
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
else
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.")
end
return TRUE
end

 

 

edita nessa parte:

 

local days = 15 -- dias de vip que irão ganhar

local s = 29000 -- é a storage do seu vip cso for outra só mudar o valor ai

 

agora em data/movements

 

movements/script

 

tileforvip.lua

function onStepIn(cid, item, position, fromPosition)

local config = {
msgDenied = "Vc nao e vip , comprepelo comando !buyvip.",
msgWelcome = "Seja Bem Vindo a Area vip."
}

local s = 29000

if getPlayerStorageValue(cid, s) - os.time() <= 0 then
doTeleportThing(cid, fromPosition, true)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return TRUE
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome)
return TRUE
end

 

movements.xml

 

<movevent type="StepIn" uniqueid="13850" event="script" value="tileforvip.lua"/>

Editado Março 28 por DuuhCarvalho

BlinkroxB
28 de março de 2012 às 22:20

tive uma duvida ali na storage, como faço pra saber a minha?

28 de março de 2012 às 22:30

se vc colocar esse script em movements não vai precisar mudar a storage...

dai vc vai no mapa editor e coloca a actionid/uniqueid no piso que passa para area vip

uniqueid="13850"

 

movements/script

 

tileforvip.lua

function onStepIn(cid, item, position, fromPosition)

local config = {
msgDenied = "Vc nao e vip , comprepelo comando !buyvip.",
msgWelcome = "Seja Bem Vindo a Area vip."
}

local s = 29000

if getPlayerStorageValue(cid, s) - os.time() <= 0 then
doTeleportThing(cid, fromPosition, true)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return TRUE
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome)
return TRUE
end

 

movements.xml

 

<movevent type="StepIn" uniqueid="13850" event="script" value="tileforvip.lua"/>

Editado Março 28 por DuuhCarvalho

BlinkroxB
28 de março de 2012 às 22:40

ah ok ! vlw, quando der 00:00 te do REP+ , pq o meu de hj ja usei..

28 de março de 2012 às 22:41

oks se der algo errado ai dar um toque ak

BlinkroxB
28 de março de 2012 às 22:53

oque eu tenho que por em talkaction.xml?

28 de março de 2012 às 23:05

Vai em talkactions/script copia alguma arquiv renomeia para buyvip e coloca isso dentro:

 

function onSay(cid, words, param)

local price = 1000000
if doPlayerRemoveMoney(cid, price) == TRUE then
	local days = 15
			 local s = 29000
	local daysvalue = days * 24 * 60 * 60
	local storageplayer = getPlayerStorageValue(cid, s)
	local timenow = os.time()

	if getPlayerStorageValue(cid, s) - os.time() <= 0 then
		time = timenow + daysvalue
	else
		time = storageplayer + daysvalue
	end

	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
	setPlayerStorageValue(cid, s, time)

	local quantity = math.floor((getPlayerStorageValue(cid, s) - timenow)/(24 * 60 * 60))
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
else
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.")
end
return TRUE
end

agora vai em talkactions.xml e coloca a seguinte tag :

 

<talkaction words="!buyvip" event="script" value="buyvip.lua"/>
BlinkroxB
28 de março de 2012 às 23:31

ae cara, consegui aqui ! funcionou perfeitamente..

obrigado.

29 de março de 2012 às 17:33

Qual quer coisa se eu poder ajudar...

BlinkroxB
30 de março de 2012 às 18:27

esta ai o REP+ que eu tinha prometido !

9 meses depois...
tacolokoooT
26 de dezembro de 2012 às 04:01

Cara, o que eu coloco na actionID lá no map editor.. Tipo, eu coloquei um portal no chao, coloquei a uniqueID como 13850 mas não sei o que faço com a ActionID