Ir para conteúdo

Posts Recomendados

gente me ajudem eu tenho um script aki de talkaction que add promotion mas see eu deslogar a promotion acaba ou seja:

 

eu sou knight falo !buypromotion e viro elite knight mas se eu deslogo o char e logo de novo vou voltar a ser knight...

 

ta ai o script para ver o que tem de errado:

 

function onSay(cid, words, param)

if getPlayerVocation(cid) <= 4 then
	if doPlayerRemoveMoney(cid,20000) == TRUE then

	doPlayerSetVocation(cid,getPlayerVocation(cid)+4)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have been promoted!")
	doSendMagicEffect(getPlayerPosition(cid), 30)

		else

	doPlayerSendCancel(cid, "Sorry, you don't have enought money")
	doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

		end
	else

	doPlayerSendCancel(cid, "Sorry, you are already promoted")
end
end

 

vlw rep++

 

 

tambem tem um npc soh que é para second promotion e ele add a promotion só que quando desloga ele volta a vocação anterior olha o script:

 

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

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, 'forever sorcerer') or msgcontains(msg, 'forever sorc')) then
selfSay('Deseja virar {forever sorcerer} por 100 crystal coins?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 2160) >= 100) then
doPlayerRemoveItem(cid, 2160, 100)
doPlayerSetVocation(cid,9)
selfSay('Vocação trocada com sucesso , Agora você é um Forever Sorcerer.', cid)
else
selfSay('Você não tem {crystal coins} Suficientes.', cid)
end
talkState[talkUser] = 0

elseif(msgcontains(msg, 'forever druid') or msgcontains(msg, 'forever druida')) then
selfSay('Deseja virar {forever druid} por 100 crystal coins?', cid)
talkState[talkUser] = 2
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
if(getPlayerItemCount(cid, 2160) >= 100) then
doPlayerRemoveItem(cid, 2160, 100)
doPlayerSetVocation(cid,10)
selfSay('Vocação trocada com sucesso , Agora você é um Forever Druid.', cid)
else
selfSay('Você não tem {crystal coins} Suficientes.', cid)
end
talkState[talkUser] = 0

elseif(msgcontains(msg, 'forever knight') or msgcontains(msg, 'forever kina')) then
selfSay('Deseja virar {forever knight} por 100 crystal coins?', cid)
talkState[talkUser] = 3
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then
if(getPlayerItemCount(cid, 2160) >= 100) then
doPlayerRemoveItem(cid, 2160, 100)
doPlayerSetVocation(cid,12)
selfSay('Vocação trocada com sucesso , Agora você é um Forever Knight.', cid)
else
selfSay('Você não tem {crystal coins} Suficientes.', cid)
end
talkState[talkUser] = 0

elseif(msgcontains(msg, 'forever paladin') or msgcontains(msg, 'forever pala')) then
selfSay('Deseja virar {forever paladin} por 100 crystal coins?', cid)
talkState[talkUser] = 4
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then
if(getPlayerItemCount(cid, 2160) >= 100) then
doPlayerRemoveItem(cid, 2160, 100)
doPlayerSetVocation(cid,11)
selfSay('Vocação trocada com sucesso , Agora você é um Forever Paladin.', cid)
else
selfSay('Você não tem {crystal coins} Suficientes.', cid)
end
talkState[talkUser] = 0
end
return true
end

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

Editado por ADM_Forever
Link para o comentário
https://xtibia.com/forum/topic/163113-talkaction-que-adiciona-promote-mas-se-deslogar-acaba/
Compartilhar em outros sites

×
×
  • Criar Novo...