Ir para conteúdo
  • 0

por vip com % de exp


alissonxzff2

Pergunta

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

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

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
Link para o comentário
Compartilhar em outros sites

  • 0

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
Editado por Alencar522
Link para o comentário
Compartilhar em outros sites

  • 0

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?

Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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)
Link para o comentário
Compartilhar em outros sites

  • 0

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

 

Link para o comentário
Compartilhar em outros sites

  • 0
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

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

  • 0

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

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

  • 0


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

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

  • 0

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..

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

×
×
  • Criar Novo...