Ir para conteúdo
  • 0
Entre para seguir isso  
luhfe

Scripting Free Vip New account (Resolvido)

Pergunta

luhfe    1
luhfe

Então, boa noite galera. 
Estou com um problema pois uso sistema de VIP por Account e não por Player, meu problema está em dar 2 dias vip grátis aos novos players que criarem conta.
Consegui por para dar aos player porém fica acumulativo, toda vez que cria um char novo ele adicionado mais 2 dias, ou seja, não tem nada checando se já foi dado esses dias vip naquela conta.
Queria saber como faz para o script verificar um valor na Database (exemplo VipC) e se este valor for diferente de 1 lhe dará a VIP e adicionara o valor 2 no lugar deste 1 !
assim teria um check pra verificar se o usuario daquela conta já recebeu a vip e resolveria meu problema !!!!  -Grato

--------------------------------------------Editado (Fix)-----------------------------------------------

 

Para ser sincero não sei se a forma que o código foi elaborado está correta ou acarretara em algum bug mais pra frente porém foi a qual eu achei depois da madrugada toda procurando, entendendo os cod, refazendo libs, etc... algumas funções  estavam 'trocados' na minha lib.

Ai está o código para adicionar 2 dias Vips Grátis ao primeiro Login do player, Será adicionado a vip na MySQL na tabela "VipDays" a qual eu uso, junto ao sistema Vip. Mesmo criando vários characters não será possível acumular a bonificação do tempo de vip !!!

Só colocar no Login.lua , dentro da pasta de Creaturescript/Script (podendo estar em alguma subpasta tb).

    local storage3 = (player:getAccountId(cid)+550)
local diasv = 2 --DIAS DE VIP (Em dias mesmo não em horas - pois é o que uso no systema vip) 
if getGlobalStorageValue(storage3) == 1 then
player:sendTextMessage(MESSAGE_EVENT_ORANGE,string.format('MSG PARA QUEM JA GANHOU O VIP TIME'))
else
    setGlobalStorageValue(storage3, 1)
    player:addVipDays(diasv)
player:sendTextMessage(MESSAGE_EVENT_ORANGE,string.format('MSG PARA QUEM RECEBERA A VIP TIME'))
    end

Obs : Antes do ultimo
 

    return true
end

Qualquer problema ou bug avisar pois ajudara a mim também ainda não testei no dia a dia.

Editado por luhfe

Compartilhar este post


Link para o post
Compartilhar em outros sites

4 respostass a esta questão

Recommended Posts

  • 0
luhfe    1
luhfe

QUANDO FECHA E ABRE O SERVER fica acumulativo os vip dado, ganha mais 2 além dos que ganhou a primeira vez. somente quando reseta o server, provavelmente por ser Storage Global, alguém sabe ajeitar? 

----------------------------------------------------------------------------------

 

Para ser sincero não sei se a forma que o código foi elaborado está correta ou acarretara em algum bug mais pra frente porém foi a qual eu achei depois da madrugada toda procurando, entendendo os cod, refazendo libs, etc... algumas funções  estavam 'trocados' na minha lib.

Ai está o código para adicionar 2 dias Vips Grátis ao primeiro Login do player, Será adicionado a vip na MySQL na tabela "VipDays" a qual eu uso, junto ao sistema Vip. Mesmo criando vários characters não será possível acumular a bonificação do tempo de vip !!!

Só colocar no Login.lua , dentro da pasta de Creaturescript/Script (podendo estar em alguma subpasta tb).

    local storage3 = (player:getAccountId(cid)+550)
local diasv = 2 --DIAS DE VIP (Em dias mesmo não em horas - pois é o que uso no systema vip) 
if getGlobalStorageValue(storage3) == 1 then
player:sendTextMessage(MESSAGE_EVENT_ORANGE,string.format('MSG PARA QUEM JA GANHOU O VIP TIME'))
else
    setGlobalStorageValue(storage3, 1)
    player:addVipDays(diasv)
player:sendTextMessage(MESSAGE_EVENT_ORANGE,string.format('MSG PARA QUEM RECEBERA A VIP TIME'))
    end

Obs : Antes do ultimo
 

    return true
end

Qualquer problema ou bug avisar pois ajudara a mim também ainda não testei no dia a dia.

Editado por luhfe

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
Nolis    29
Nolis

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
luhfe    1
luhfe

Então obrigado por ajudar, vi o primeiro link e tentei editalo conforme a necessidade porém me retornou o mesmo erro que eu estava antes de ver este tópico, não retorna o valor fica dando que ta nil, n ta localizando corretamente, pode ser falta de comando na distro?! to meio perdido, os nomes no database estão corretos, foi adicionado as tabelas e tals. o Lua tb ta com os nomes dos campos corretos. Segue o erro ! deu na libs e no lua. 

Erro ao tentar com o primeiro link citado (imgshack)

Creature xml

	<event type="login" name="vipgive" script="vipgive.lua"/>

Login lua
 

registerCreatureEvent(cid, "VipGive")

VipGive lua
 

function onLogin(cid, item, frompos, item2, topos)
if getPlayerAccountStorage(cid) >= 1 then
doPlayerPopupFYI(cid, "Lo sentimos, ya has reclamado tiempo VIP para tu account.")
else
doAddAccountStorage(cid, 1)
doAddVipDays(cid, 72)
doPlayerPopupFYI(cid, "Has agregado 72 horas/3 dias de VIP a tu account!\nAdemas, recibiras un +15% bonus de exp\nDisfrutalo!\nPhoenix OTS")
end
return true
end

Tentarei ver se consigo pelos outros links, qualquer coisa atualizo aqui ! 
obg de novo

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
Majesty    1755
Majesty

A questão neste tópico de suporte foi respondida, o autor do tópico também conseguiu resolver a questão por conta própria e postou a solução. Este tópico está fechado agora. Se você tiver outras perguntas, crie um novo tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×