Ir para conteúdo
  • 0

Error Characters.php


matheusata55

Pergunta

bom galera, meu otserv existe uma promotion segundaria para jogadores VIP, e essa promotion e acionada automaticamente, assim que o player compra vip no site, porem quando pesquisa o nome do character no site, a PROFISSÃO dele fica em branco, como segue a imagem abaixo...

 

IRREI DEIXAR AQUI MEU CHARACTERS.PHP, O CONFIG.PHP E O ID DAS VOCAÇÃO QUEM PUDER ME AJUDAR VLW!

 

characters.php

config.php

 

 

<vocation id="5" name="Master Sorcerer (VIP)"

<vocation id="6" name="Elder Druid (VIP)"

<vocation id="7" name="Royal Paladin (VIP)"

<vocation id="8" name="Elite Knight (VIP)"

 

 

 

r3VJh5o.jpg


@up


@up


@up

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

Posts Recomendados

  • 0

amigo, eu ja vi meu erro eu ja arrumei e deixei igual o mitsuig falou, porem o player está vip e fica so "elder druid"

 

esses sao os ids da voc vip

<vocation id="5" name="Master Sorcerer (VIP)"

<vocation id="6" name="Elder Druid (VIP)"

<vocation id="7" name="Royal Paladin (VIP)"

<vocation id="8" name="Elite Knight (VIP)"

então vamos la pq ta tudo errado, vocaçoes normais vao de 1 a 4 sem promotion, 5 a 8 com promotion e 9 a 12 com segunda vocação, para usar esse sistema seu npc de promoção tem que dar second promotion ou seja (promotion, cid 2),logo então é um erro do seu sistema de segunda promoção!

Link para o comentário
Compartilhar em outros sites

  • 0

mais entenda, nao existe npc, o player compra a vip no site, ele deslogo e logo ele ja tem a promotion é automatico, dura enquanto ele tem vip e depois ela some


meu vocationvip.lua está assim..

 

 

--[[ by vodkart ]]--
function onLogin(cid)

if isVip(cid) == TRUE then
if(isInArray({1, 2, 3, 4}, getPlayerVocation(cid))) then
doPlayerSetVocation(cid,getPlayerVocation(cid)+4)
end

elseif isVip(cid) == FALSE and getVipTime(cid) == 0 then
if(isInArray({5, 6, 7, 8}, getPlayerVocation(cid))) then -- id das vocation epic
doPlayerSetVocation(cid,getPlayerVocation(cid)-4)
end
end
return TRUE
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

mais entenda, nao existe npc, o player compra a vip no site, ele deslogo e logo ele ja tem a promotion é automatico, dura enquanto ele tem vip e depois ela some

então voce tem que mudar seu sistema pq ele so vai rodar com promotion 2, cria um check no creaturescripts que seta o player premiu/vip_time/VipDays/VipTime para promotion 2 se nao nao vai rolar, o menos complicado é por so para players vips poderem pegar a vocação com o npc

 

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

local node2 = keywordHandler:addKeyword({'vip'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can vip promote you for 200000 gold coins. Do you want me to high promote you?'})
node2:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 200000, level = 120, promotion = 2, text = 'Congratulations! You are now vip promoted.'})
node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true})


npcHandler:addModule(FocusModule:new())

 

só por esse npc em uma area vip ou só onde vips tem acesso, bjs!

Link para o comentário
Compartilhar em outros sites

  • 0

--[[ by vodkart ]]--
function onLogin(cid)

if isVip(cid) == TRUE then
if(isInArray({1, 2, 3, 4}, getPromotion(cid))) then
doPlayerSetPromotion(cid,getPromotion(cid)2)
end

elseif isVip(cid) == FALSE and getVipTime(cid) == 0 then
if(isInArray({1, 2, 3, 4}, getPromotion(cid))) then
doPlayerSetPromotion(cid,getPromotion(cid)1)
end
end
return TRUE
end

 

tenta assim, faz um back up, não manjo de lua posso ter feito merda!

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

  • 0
--[[ by vodkart ]]--
function onLogin(cid)
if isVip(cid) == TRUE then
setPlayerPromotion(cid, 2)
elseif isVip(cid) == FALSE and getVipTime(cid) == 0 then
setPlayerPromotion(cid, 1)
end
return TRUE
end

ou se preferir

$vocation_name[0][0] = array(0 => 'None', 1 => 'Sorcerer', 2 => 'Druid', 3 => 'Paladin', 4 => 'Knight', 9 => 'Master Sorcerer (vip)', 10 => 'Elder Druid (vip)', 11 => 'Royal Paladin (vip)', 12 => 'Elite Knight (vip)'); 

troque seu script lua por este.

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

  • 0
$vocation_name[0][0] = array(0 => 'None', 1 => 'Sorcerer', 2 => 'Druid', 3 => 'Paladin', 4 => 'Knight', 9 => 'Master Sorcerer (vip)', 10 => 'Elder Druid (vip)', 11 => 'Royal Paladin (vip)', 12 => 'Elite Knight (vip)); 

troque seu script lua por este.

 

isso nao vai resolver pq a vocação dele so vai ate 8...

Link para o comentário
Compartilhar em outros sites

  • 0

então usa, ja que o sistema dele não usa promotion e sim set vocation.

$vocation_name[0][0] = array(0 => 'None', 1 => 'Sorcerer', 2 => 'Druid', 3 => 'Paladin', 4 => 'Knight', 5 => 'Master Sorcerer (vip)', 6 => 'Elder Druid (vip)', 7 => 'Royal Paladin (vip)', 8 => 'Elite Knight (vip)');

 

 

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

  • 0

então usa, ja que o sistema dele não usa promotion e sim set vocation.

 

$vocation_name[0][0] = array(0 => 'None', 1 => 'Sorcerer', 2 => 'Druid', 3 => 'Paladin', 4 => 'Knight', 5 => 'Master Sorcerer (vip)', 6 => 'Elder Druid (vip)', 7 => 'Royal Paladin (vip)', 8 => 'Elite Knight (vip)');

 

 

o lance é ver ele responder agora, ele mesmo saiu do forum, deixa ai caso resolva espero que ele reporte para que o topico seja movido!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...