Ir para conteúdo
  • 0

Sistema de premium


YagobLINDDD

Pergunta

Salve galera Xtibiana, estou com um pequeno problema, que a muito tempo venho tentando resolver, porem não consigo de forma alguma, e pra dizer a verdade não consigo nem entender tal erro, vou tentar explicar da melhor forma para que alguém possa me ajudar, assim darei REP++.

 

Eu escolhi ao em vez de por um novo sistema de vip utilizar o sistema de premium account, com isto apenas adicionei algumas scripts em cima de oque todo servidor já possui.

Em "Data/movements/scripts foi criado um arquivo com a seguinte script para evitar que players Free (SEM P.A) passasse em cima de tal tile.
 

function onStepIn(cid, item, position, fromPosition)    if not isPlayer(cid) then        return true    end    if getPlayerPremiumDays(cid) <= 0 thendoPlayerSendCancel(cid, "Apenas premium accounts podem passar aqui.")doTeleportThing(cid, fromPosition)doSendMagicEffect(position, 13)elsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Bem-Vindo a area premium.")doSendMagicEffect(position, 12)endreturn trueend

em "Data/movements" foi registrada a script com a linha .

<movevent type="StepIn" actionid="25200" event="script" value="premmytile.lua" />

Foi aberto o RME e adicionado a AID  25200, e até ai beleza funcionou perfeitamente. Somente players P.A passam no tile.

Agora em "Data/creaturescripts/scripts , foi adicionada uma script para quando o player free logasse , chegasse uma mensagem para ele dizendo que ele é free account, e para o player P.A chega uma mensagem dizendo quanto tempo de P.A ele ainda tem, e qual a data que iria acabar a P.A dele, e quando acabasse a P.A dele ele automaticamente seria teleportado pro temple , na Localização x:160 y:54 z:7.
 

function onLogin(cid)local pos = {x = 160, y = 54, z = 7}local storage = 21590   if getPlayerStorageValue(cid, storage) <= 0 and getPlayerPremiumDays(cid) >= 1 then      setPlayerStorageValue(cid, storage, 1)   end   if getPlayerPremiumDays(cid) >= 1 then   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem "..getPlayerPremiumDays(cid).." dias de premium restantes.")   else   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você é free account.")   end      if getPlayerStorageValue(cid, storage) >= 1 and getPlayerPremiumDays(cid) <= 0 then      doTeleportThing(cid, pos)      doPlayerSendTextMessage(cid, 25, "Sua premium expirou.")      setPlayerStorageValue(cid, storage, -1)      doSendMagicEffect(getPlayerPosition(cid), 13)   end return trueend

Em "Data/creaturescripts"  Foi registrado a script.

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

Agora vem o erro , a script funciona perfeitamente porem sempre que abro o executável acusa um erro e eu simplesmente não gosto de erros e tenho a bastante tempo tentado resolver, estudado o caso e de forma alguma eu estou conseguindo, estou tendo bastante dificuldades com isto. Segue Print do ERRO. (Estou tentando deixar o servidor sem nenhum tipo de erro para por online).
 

5bfaee43848240caaacc7883fd6b4aeb.png

 

@Edit, é como se tivesse faltando algo na DATABASE , porem tudo esta funcionando corretamente , porem é um erro, e erros não são bons. Já tentei até reconstruir a script porem não consigo.

5bfaee43848240caaacc7883fd6b4aeb.thumb.png.87005e1b08d4d58f7239da771a0456ff.png

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

4 respostass a esta questão

Posts Recomendados

  • 0

To acostumado á ver esse quando não utilizo "MySQL" tenta usar MySQL no lugar do SQLITE.

 

Caso não funcionar execute essas querys na database:

 

ALTER TABLE  `players.id` ADD  `houses.owner` INT( 11 ) NOT NULL DEFAULT  '0'ALTER TABLE  `players.accounts_id` ADD  `accounts.id` INT( 11 ) NOT NULL DEFAULT  '0'

Eu não tenho certeza se à segunda solução irá funcionar pois nunca tentei já á primeira estou acostumado á resolver utilizando o MySQL.

 

Atenciosamente

Prometheus X

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
57 minutos atrás, Prometheus X disse:

To acostumado á ver esse quando não utilizo "MySQL" tenta usar MySQL no lugar do SQLITE.

 

Caso não funcionar execute essas querys na database:

 

ALTER TABLE  `players.id` ADD  `houses.owner` INT( 11 ) NOT NULL DEFAULT  '0'ALTER TABLE  `players.accounts_id` ADD  `accounts.id` INT( 11 ) NOT NULL DEFAULT  '0'

Eu não tenho certeza se à segunda solução irá funcionar pois nunca tentei já á primeira estou acostumado á resolver utilizando o MySQL.

 

Atenciosamente

Prometheus X

 

 

 

 

 

 

 

Sim irei testar aqui, porem eu uso MYSQL , ESTOU USANDO SQL NORMAL POIS AINDA ESTOU TESTANDO TUDO EM MEU PC ANTES DE COMPRAR UMA VPS PRA JOGAR O SERVIDOR ONLINE, IREI TESTAR AQUI E JA JA VOLTO PARA EDITAR.

 

@Edit , só uma pergunta neste caso ai que você me mandou vai alterar o nome de alguma tabela ou só ira adicionar mais uma ??? Pois não posso alterar nada, no caso eu teria apenas que adicionar, só pra remover o erro.

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

  • 0
9 horas atrás, YagobLINDDD disse:

 

Sim irei testar aqui, porem eu uso MYSQL , ESTOU USANDO SQL NORMAL POIS AINDA ESTOU TESTANDO TUDO EM MEU PC ANTES DE COMPRAR UMA VPS PRA JOGAR O SERVIDOR ONLINE, IREI TESTAR AQUI E JA JA VOLTO PARA EDITAR.

 

@Edit , só uma pergunta neste caso ai que você me mandou vai alterar o nome de alguma tabela ou só ira adicionar mais uma ??? Pois não posso alterar nada, no caso eu teria apenas que adicionar, só pra remover o erro.

Sim nesse caso ae seria adicionado tabelas, se ajudei REP+

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpa só ver agora estava no trabalho, irei testar e ja ja volto para dizer se funcionou editando, porem de qualquer forma toma rep++ pelo esforço.

@EDIT

Pelo sqlite , não consegui criar a tabela pelos comandos que você me passou, porem quando eu passar pra mysql mais a frente irei testar mais uma vez.

@EDIT2

Consegui criar as tables manualmente , porem não solucionou o problema.

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

×
×
  • Criar Novo...