Ir para conteúdo

Featured Replies

Postado

Epic promotion some quando desloga, ja tentei de tudo, ja botei a tal da storage no login mas mesmo assim não funfa.

Abaixo o script do NPC:

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

local price = 1000000

local vocations = {5,6,7,8}

if(msgcontains(msg, 'promotion') or msgcontains(msg, 'vip promotion')) then

selfSay('Você quer ser promovido por '..price..' gps? {yes} ', cid)

talkState[talkUser] = 1

elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then

if isInArray(vocations, getPlayerVocation(cid)) then

if doPlayerRemoveMoney(cid,price) == TRUE then

doPlayerSetVocation(cid, getPlayerVocation(cid)+4)

selfSay('Parabens! Você foi promovido. ', cid)

talkState[talkUser] = 0

else

selfSay('Você não tem ' .. price .. ' gps para ser promovido.', cid)

talkState[talkUser] = 0

end

else

selfSay('Desculpe, você precisa ter a segunda promoção.', cid)

talkState[talkUser] = 0

end

elseif msg == "no" and talkState[talkUser] >= 1 then

selfSay("Then not", cid)

talkState[talkUser] = 0

npcHandler:releaseFocus(cid)

end

return TRUE

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

meu Login.lua

local config = {

loginMessage = getConfigValue('loginMessage')

}

function onLogin(cid)

local loss = getConfigValue('deathLostPercent')

if(loss ~= nil) then

doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)

end

local accountManager = getPlayerAccountManager(cid)

if(accountManager == MANAGER_NONE) then

local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage

if(lastLogin > 0) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."

else

str = str .. " Please choose your outfit."

doPlayerSendOutfitWindow(cid)

end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

elseif(accountManager == MANAGER_NAMELOCK) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")

elseif(accountManager == MANAGER_ACCOUNT) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")

end

if(not isPlayerGhost(cid)) then

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)

end

if getPlayerStorageValue(cid,storagadavip)- os.time()<=0and(isInArray({9,10,11,12}, getPlayerVocation(cid)))then-- id das voc promotion

elseif getPlayerStorageValue(cid, storagedavip) - os.time() >= 1 and (isInArray({1, 2, 3, 4}, getPlayerVocation(cid))) then

doPlayerSetVocation(cid,getPlayerVocation(cid)+4) -- aqui ele ganha promotion

end

registerCreatureEvent(cid, "Mail")

registerCreatureEvent(cid, "GuildMotd")

registerCreatureEvent(cid, "killer")

registerCreatureEvent(cid, "Idle")

registerCreatureEvent(cid, "attackguild")

registerCreatureEvent(cid, "Playeradvance")

registerCreatureEvent(cid, "FimVip")

registerCreatureEvent(cid, "Efeitoup")

registerCreatureEvent(cid, "forever amulet")

registerCreatureEvent(cid, "SkullCheck")

registerCreatureEvent(cid, "ReportBug")

registerCreatureEvent(cid, VipReceive)

registerCreatureEvent(cid, "PlayerKill")

if (InitArenaScript ~= 0) then

InitArenaScript = 1

-- make arena rooms free

for i = 42300, 42309 do

setGlobalStorageValue(i, 0)

setGlobalStorageValue(i+100, 0)

end

end

-- if he did not make full arena 1 he must start from zero

if getPlayerStorageValue(cid, 42309) < 1 then

for i = 42300, 42309 do

setPlayerStorageValue(cid, i, 0)

end

end

-- if he did not make full arena 2 he must start from zero

if getPlayerStorageValue(cid, 42319) < 1 then

for i = 42310, 42319 do

setPlayerStorageValue(cid, i, 0)

end

end

-- if he did not make full arena 3 he must start from zero

if getPlayerStorageValue(cid, 42329) < 1 then

for i = 42320, 42329 do

setPlayerStorageValue(cid, i, 0)

end

end

if getPlayerStorageValue(cid, 42355) == -1 then

setPlayerStorageValue(cid, 42355, 0) -- did not arena level

end

setPlayerStorageValue(cid, 42350, 0) -- time to kick 0

setPlayerStorageValue(cid, 42352, 0) -- is not in arena

if getPlayerStorageValue(cid, 878975) ~= -1 then

doPlayerSetVocation(cid, getPlayerStorageValue(cid, 878975))

end

return true

end

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 520k

Informação Importante

Confirmação de Termo