Akiles III 0 Postado Fevereiro 17, 2011 Share Postado Fevereiro 17, 2011 (editado) 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 Fevereiro 17, 2011 por Akiles III Link para o comentário Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Fevereiro 17, 2011 Share Postado Fevereiro 17, 2011 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 More sharing options...
Akiles III 0 Postado Fevereiro 17, 2011 Autor Share Postado Fevereiro 17, 2011 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 More sharing options...
Vodkart 1515 Postado Fevereiro 17, 2011 Share Postado Fevereiro 17, 2011 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 More sharing options...
Posts Recomendados