Ir para conteúdo

Vocação Vip Por Database


Akiles III

Posts Recomendados

Seguinte, eu tenho o seguinte scrip para que quando algum player colocar VIP ele automaticamente receba a vocação VIP:

 

function onLogin(cid)    

if vip.hasVip(cid) == TRUE then  
if(isInArray({5, 6, 7, 8}, getPlayerVocation(cid))) then    
doPlayerSetVocation(cid,getPlayerVocation(cid)+4)    
end  
elseif vip.hasVip(cid) == FALSE then   
if(isInArray({9, 10, 11, 12}, getPlayerVocation(cid))) then  
doPlayerSetVocation(cid,getPlayerVocation(cid)-4)  
end  
end     
return TRUE   
end

 

O problema é que esse scrip não altera nada no banco de dados, assim quando olhamos no site o player ainda continua como Elite Knight etc... Na database um Elite Knight por exemplo possue vocação 4 e promotion 1. Eu precisaria mudar a vocação para 8 e o promotion continuar 1. Dessa forma apareceria no site a vocação VIP.

 

Resumindo, preciso de um scrip que seja algo assim:

 

function onLogin(cid)    

if vip.hasVip(cid) == TRUE then  
if(isInArray({5, 6, 7, 8}, getPlayerVocation(cid))) then    
DB.STORAGE +4 NO CAMPO VOCAÇÃO
end  
elseif vip.hasVip(cid) == FALSE then   
if(isInArray({9, 10, 11, 12}, getPlayerVocation(cid))) then  
DB.STORAGE -4 NO CAMPO VOCAÇÃO  
end  
end     
return TRUE   
end

 

Alguém poderia me ajudar?

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

tenta assim:

 

function onLogin(cid)    

if vip.hasVip(cid) == TRUE then  
if getPlayerPromotionLevel(cid) == 1 then    
setPlayerPromotionLevel(cid, 2)  
end  
elseif vip.hasVip(cid) == FALSE then   
if getPlayerPromotionLevel(cid) == 2 then 
setPlayerPromotionLevel(cid, 1) 
end  
end     
return TRUE   
end

Link para o comentário
Compartilhar em outros sites

Ele não reconheceu o promotion 2 como +4 na vocação. Ao fazer isso o player ficou: You see yourself. You are .

Ele chegou a mudar no database pra promotion 2, mas no site ficou em branco a parte da vocação também.

 

O que eu não entendo é como o script anterior "pega" a vocation 5, 6, 7 e 8 sendo que no database fica como a vocação 1, 2, 3 e 4 com promotion 1. Além disso é como se a mudança fosse apenas enquanto o char está logado, pq nada muda na database. E o script que vc me passou mecheu na databse, mas o que eu uso não meche, só muda a vocação no game. ;S

Link para o comentário
Compartilhar em outros sites

você pode até mecher na database do player mais ele vai ter que estar offline

 

vou passar uma função que eu fiz,você pode tentar adptar com o primeiro script para ve se funciona.

 

 

function doPlayerChangeVocation(cid, vocation)
local pid = getPlayerGUID(cid)  
doRemoveCreature(cid,true)
db.executeQuery("UPDATE `players` SET `vocation` = ".. vocation .." WHERE `id` = "..pid)
return TRUE
end

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...