Ir para conteúdo

Featured Replies

Postado

Eai pessoal blz?? estou com um problema, o player configurei pra que ao ser criado ele fique como no vocation, ai vai ter um npc que configura isto, ou seja, define uma vocation pro player, mas quando ele reloga ele volta pra no vocation !?!?!?!?!?!?!!!! Não sei qual é o motivo, eu tenho uma ideia de como resolver o problema..

ideia 1: Eu poderia colocar pra neste NPC ele setar uma storage que receba o valor da vocationid, por exemplo, Storage: 23123124, Value: 10(vocationid), ai ao logar o player verifica se tem está storage, se sim, ele retorna o valor da storage(o value, que no caso é 10), mas eu não sei como fazer retornar o valor exato da storage(valor 10)

 

Ideia 2: Vcs tentarem me ajudar a fazer algo o.O  Preciso mt disto pfv

 

Então pessoal! Tomara que vcs possam me ajudar! pfv help-me! preciso mt da ajuda de vcs!

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

  • Respostas 6
  • Visualizações 648
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Função no NPC:

if getPlayerStorageValue(cid, storage) < 1 then
    setPlayerStorageValue(cid, storage, vocID)
    doPlayerSetVocation(cid, vocID)
    doPlayerSendCancel(cid, 'msg done.')
else
    doPlayerSendCancel(cid, 'msg fail.')
end

Função no Login.lua:

if getPlayerStorageValue(cid, storage) > 0 then
    doPlayerSetVocation(cid, getPlayerStorageValue(cid, storage))
end

Assim deve funcionar normalmente, caso não funcione, me avise.

Editado por Wakon (veja o histórico de edições)

Postado
  • Autor
if getPlayerStorageValue(cid, storage) > 0 then -- Aqui em storage, coloca a primeira storage na outra parte do script
    doPlayerSetVocation(cid, getPlayerStorageValue(cid, storage)) -- Está parte em storage, não sei qual storage é pra colocar....
end

Deixa eu ver se entendi:

 

if getPlayerStorageValue(cid, storage) < 1 then -- Aqui em storage coloca uma storage qual quer
    setPlayerStorageValue(cid, vocID) -- VocationID
    doPlayerSetVocation(cid, vocID) -- VocationID
    doPlayerSendCancel(cid, 'msg done.')
else
    doPlayerSendCancel(cid, 'msg fail.')
end

Função no Login.lua:

if getPlayerStorageValue(cid, storage) > 0 then -- Aqui em storage, coloca a primeira storage na outra parte do script
    doPlayerSetVocation(cid, getPlayerStorageValue(cid, storage)) -- Está parte em storage, não sei qual storage é pra colocar....
end

Na lib que criei está assim:

local geral = {
speed = 300,
storage = 34132,
mana = 900
}

local config = {
	[2] = {level = 1, health = 39, looktype = 369, storage = 857643, speed = 68, vocid = 2},
}

function setMonsterClass(cid, Monster) -- Está Incompleta
-- tem outras funções que prefiro não postar, porem não tem nada a ver com vocation
    doPlayerSetVocation(cid, config[Monster].vocid)
    doPlayerSave(cid)
	------
    if getPlayerStorageValue(cid, geral.storage) < 1 then
    setPlayerStorageValue(cid, config[Monster].vocid)
    doPlayerSetVocation(cid, config[Monster].vocid)
    doPlayerSendCancel(cid, 'msg done.')
    else
    doPlayerSendCancel(cid, 'msg fail.')
    end
end

e no login.lua está assim:

	if getPlayerStorageValue(cid, 34132) > 0 then
		doPlayerSetVocation(cid, getPlayerStorageValue(cid, storage)) -- não entendi oque é pra fazer( não sei qual das storages é pra colocar)
	end

 

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Postado
  • Autor
8 horas atrás, Wakon disse:

Troca o código do função NPC pelo novo que editei acima, sobre a storage, coloque a mesma storage em todos os códigos.

Eu testei oque você falo, quando o player falou com o npc apareceu "msg done" e quando o player relogou e volto para no vocation.

 

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

function creatureSayCallback(cid, type, msg)
 if(not npcHandler:isFocused(cid)) then
  return false
 end
 
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid

if msgcontains(msg, 'Monster') or msgcontains(msg, 'Monster') then
 	if getPlayerStorageValue(cid, 34132) < 1 then
    setPlayerStorageValue(cid, 2)
    doPlayerSetVocation(cid, 2)
    doPlayerSendCancel(cid, 'msg done.')
	else
    doPlayerSendCancel(cid, 'msg fail.')
	end
 selfSay('You have just become a Monster!', cid)
end

 return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) 
npcHandler:addModule(FocusModule:new())

E no login ficou assim:

	if getPlayerStorageValue(cid, 34132) > 0 then
		doPlayerSetVocation(cid, getPlayerStorageValue(cid, 34132))
	end

... alguem ai pra ajudar ?? :/

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo