por vip com % de exp

alissonxzff2
em Scripts

alissonxzff2

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/07/15Posts: 55

como faço pra colocar % de exp pra quem é vip no servidor, mas tipo... tem a vip normal de 3kk, a vip 2 que da acesso a mais uma area, e tem a donate, que quero implantar esse sistema de aumentar % de exp..

 

só que não é a vip do sistema que já veio, nem do gesior, é uma que eu fiz com storage mesmo, de permissão

 

achei uns códigos aqui, mas acho que ele não declara minha situação:

 

local expextra = 20 -- 20% de exp

function onLogin(cid)
if isVip(cid) == TRUE then <<< acho que não declara a minha vip por storage
doPlayerSetExperienceRate(cid,expextra)
doPlayerSendTextMessage(cid,21,"Você ganhou "..expextra.."% de exp por ser vip ")
else
doPlayerSendTextMessage(cid,21,"Torna-se vip e ganhe "..expextra.."% de exp")
end
end

Alencar522

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/10/13Posts: 55

Tenta assim

local expextra = 20 -- 20% de exp
local storage = 123456 -- coloque sua storage aqui
local valor = 1 -- valor da storage, se for por tempo deixe como está

function onLogin(cid)
if getPlayerStorageValue(cid, 1452369) == 1 valor then -- verificação para adicionar a xp só uma vez
return true
end
         if getPlayerStorageValue(cid, storage) >= valor then
         doPlayerSetExperienceRate(cid,expextra)
         doPlayerSendTextMessage(cid,21,"Você ganhou "..expextra.."% de exp por ser vip ")
         setPlayerStorageValue(cid, 1452369, 1)
         else
             doPlayerSendTextMessage(cid,21,"Torna-se vip e ganhe "..expextra.."% de exp")
end
end

oswdmr.gif

alissonxzff2

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/07/15Posts: 55

local expextra = 20 -- 20% de exp
local storage = 123456 -- coloque sua storage aqui
local valor = 1 -- valor da storage

function onLogin(cid)

if getPlayerStorageValue(cid, 1452369) == 1 valor then -- verificação para adicionar a xp só uma vez 

/\

aqui eu não troco? só deixo uma storage que não usei ainda no caso?
return true
end
if getPlayerStorageValue(cid, storage) >= valor then
doPlayerSetExperienceRate(cid,expextra)
doPlayerSendTextMessage(cid,21,"Você ganhou "..expextra.."% de exp por ser vip ")
setPlayerStorageValue(cid, 1452369, 1)
else
doPlayerSendTextMessage(cid,21,"Torna-se vip e ganhe "..expextra.."% de exp")
end
end

 

se deixar só assim os que não forem mais vips será que vão ter o benefício?

Alencar522

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/10/13Posts: 55

Nas linhas

if getPlayerStorageValue(cid, 1452369) == 1 valor then -- verificação para adicionar a xp só uma vez 
setPlayerStorageValue(cid, 1452369, 1)

coloca uma storage que você não usou, creio os não vips não receberão o benefício.

oswdmr.gif

Bruno

Ousadia e Alegria
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 01/05/08Posts: 2571Gênero: Masculino

Qual é seu sistema vip meu querido?

Atenciosamente,
Bruno Minervino

 

Tibia Clients - Downloads Window

alissonxzff2

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/07/15Posts: 55

line 6

then expected near valor

 

no executavel confused.gif

 

obg pela atenção, você é rapido ^^ kkkk

Alencar522

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/10/13Posts: 55

Só uma coisa, acho que se você quer adicionar um rate extra deve usar essa função:

setPlayerExtraExpRate(cid, expextra)

no lugar dessa:

doPlayerSetExperienceRate(cid,expextra)

oswdmr.gif

alissonxzff2

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/07/15Posts: 55

não sei dizer, mas vou postar aqui:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
local config={
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}
local days = 30 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 13704)
local timenow = os.time()
if getPlayerStorageValue(cid, 13704) - 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, 13704, time)
local quantity = math.floor((getPlayerStorageValue(cid, 13704) - timenow)/(24 * 60 * 60))
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
if (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")
doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos para mudança de nome.")
doPlayerAddAddons(cid, 1)
addEvent(doRemoveCreature, 5*1000, cid, true)
end
return TRUE
end
function onStepIn(cid, item, position, fromPosition)
local config = {
msgDenied = "Este lugar é só para vips, adquira sua vip no site..",
msgWelcome = "Bem vindo a area vip, bom up.."
}
if getPlayerStorageValue(cid, 13704) - 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

 

Alencar522

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/10/13Posts: 55
local expextra = 20 -- 20% de exp
local storage = 13704 -- coloque sua storage aqui
local valor = 1 -- valor da storage, se for por tempo deixe como está

function onLogin(cid)
if getPlayerStorageValue(cid, 1452369) == 1 then -- verificação para adicionar a xp só uma vez
return true
end
         if getPlayerStorageValue(cid, storage) >= valor then
         setPlayerExtraExpRate(cid, expextra)
         doPlayerSendTextMessage(cid,21,"Você ganhou "..expextra.."% de exp por ser vip ")
         setPlayerStorageValue(cid, 1452369, 1)
         else
             doPlayerSendTextMessage(cid,21,"Torna-se vip e ganhe "..expextra.."% de exp")
end
end

Tenta ae

oswdmr.gif

alissonxzff2

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/07/15Posts: 55

asdasd.png?1437154118

 

que droga, não achei que era tão dificil )):

 

algo deu errado, pior que não entendo nada de scripts.. comecei essa semana um projeto sozinho

 

não loga os personagens, só aparece no executavel que logou e deslogou bem rapido

Alencar522

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/10/13Posts: 55


local expextra = 20 -- 20% de exp

local storage = 13704 -- coloque sua storage aqui

local valor = 1 -- valor da storage, se for por tempo deixe como está

 

function onLogin(cid)

if getPlayerStorageValue(cid, 1452369) == 1 then -- verificação para adicionar a xp só uma vez

return true

end

if getPlayerStorageValue(cid, storage) >= valor then

doPlayerSetExperienceRate(cid,expextra)

doPlayerSendTextMessage(cid,21,"Você ganhou "..expextra.."% de exp por ser vip ")

setPlayerStorageValue(cid, 1452369, 1)

else

doPlayerSendTextMessage(cid,21,"Torna-se vip e ganhe "..expextra.."% de exp")

end

end

oswdmr.gif

alissonxzff2

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/07/15Posts: 55

então, até logou agora, mas não apareceu a mensagem doPlayerSendTextMessage(cid,21,"Torna-se vip e ganhe "..expextra.."% de exp")

 

torne-se vip e ganhe.;..

 

vou testar com um amigo

 

então, não deu certo, meu adm logou mas o character do meu amigo ficou entrando e saindo tipo teleportando mas não entra..

Bruno

Ousadia e Alegria
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 01/05/08Posts: 2571Gênero: Masculino

então, até logou agora, mas não apareceu a mensagem doPlayerSendTextMessage(cid,21,"Torna-se vip e ganhe "..expextra.."% de exp")

 

torne-se vip e ganhe.;..

 

vou testar com um amigo

 

então, não deu certo, meu adm logou mas o character do meu amigo ficou entrando e saindo tipo teleportando mas não entra..

local expextra = 1.2 -- 20%

function onLogin(cid)
	if getPlayerStorageValue(cid, 13704) - os.time() > 0 then
		doPlayerSetExperienceRate(cid, expextra)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou "..((rate - 1) * 100).."% de exp por ser vip.")
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Torna-se vip e ganhe "..((rate - 1) * 100).."% de exp.")
	end
	return true
end

Atenciosamente,
Bruno Minervino

 

Tibia Clients - Downloads Window

alissonxzff2

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/07/15Posts: 55

obrigado galera, deu certo ^^

Bruno

Ousadia e Alegria
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 01/05/08Posts: 2571Gênero: Masculino

Tópico movido para dúvidas / pedidos resolvidos.

Atenciosamente,
Bruno Minervino

 

Tibia Clients - Downloads Window