Postado Outubro 30, 2018 6 anos Autor Em 29/10/2018 em 12:09, xBlackWolf disse: Bom, então assim, verifica seu globalevents para ver se estão verificando algo da VIP (provavelmente não, porque é feito via creaturescripts. Poste em tag de código seu creaturescripts.xml e qualquer script de VIP que esteja reclarado no login.lua Aguardo. <?xml version="1.0" encoding="UTF-8"?> <creaturescripts> <!-- Login Functions --> <event type="login" name="Welcome" script="welcome.lua"/> <event type="login" name="PlayerLogin" event="script" value="login.lua"/> <event type="login" name="TempleTeleporter" event="script" value="templeteleport.lua"/> <!-- Kill Functions --> <event type="kill" name="TopFrags" event="script" value="frags/topfrags.lua"/> <event type="kill" name="Bounty" script="otland/bounty.lua"/> <event type="kill" name="autoloot" event="script" value="Auto Loot.lua"/> <event type="joinchannel" name="GuildMotd" event="script" value="guildmotd.lua"/> <event type="receivemail" name="Mail" event="script" value="mail.lua"/> <event type="reportbug" name="SaveReportBug" script="reportbug.lua"/> <event type="think" name="Idle" event="script" value="idle.lua"/> <event type="advance" name="reward" event="script" value="reward45.lua"/> <event type="think" name="SkullCheck" event="script" value="skullcheck.lua"/> <event type="channeljoin" name="GuildEvents" event="script" value="guild.lua"/> <event type="advance" name="Advance" event="script" value="advance.lua"/> <event type="login" name="expRate" event="script" value="extraExp.lua"/> <event type="preparedeath" name="PWNED" event="script" value="owned.lua"/> <event type="look" name="questLook" event="script" value="quest.lua"/> </creaturescripts> local config = { loginMessage = getConfigValue('loginMessage') } if not dj then dj = startAPI(7173) -- Here start the audio end 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 = "Sua última visita foi em " .. os.date("%a %b %d %X %Y", lastLogin) .. "." else str = str .. " Por favor, escolha sua roupa." doPlayerSendOutfitWindow(cid) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) elseif(accountManager == MANAGER_NAMELOCK) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Olá, parece que seu personagem foi namelocked, o que você gostaria como seu novo nome?") elseif(accountManager == MANAGER_ACCOUNT) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Olá, digite "account" para gerenciar sua conta e, se quiser recomeçar, digite "cancel".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Olá, digite "account" para criar uma conta ou digite "recover" para recuperar uma conta.") end if(not isPlayerGhost(cid)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end setPlayerStorageValue(cid, 14755, -1) registerCreatureEvent(cid, "TempleTeleporter") registerCreatureEvent(cid, "recompensa") registerCreatureEvent(cid, "Mail") registerCreatureEvent(cid, "TopFrags") registerCreatureEvent(cid, "GuildMotd") registerCreatureEvent(cid, "Bounty") registerCreatureEvent(cid, "Idle") registerCreatureEvent(cid, "SkullCheck") registerCreatureEvent(cid, "ReportBug") registerCreatureEvent(cid, "PlayerDeath") registerCreatureEvent(cid, "advance") registerCreatureEvent(cid, "expRate") registerCreatureEvent(cid, "PWNED") registerCreatureEvent(cid, "questLook") registerCreatureEvent(cid, "Vipcheck") return true end Está ai meu login.lua juntamente do xml.
Postado Outubro 31, 2018 6 anos 6 horas atrás, magrelo751 disse: <?xml version="1.0" encoding="UTF-8"?> <creaturescripts> <!-- Login Functions --> <event type="login" name="Welcome" script="welcome.lua"/> <event type="login" name="PlayerLogin" event="script" value="login.lua"/> <event type="login" name="TempleTeleporter" event="script" value="templeteleport.lua"/> <!-- Kill Functions --> <event type="kill" name="TopFrags" event="script" value="frags/topfrags.lua"/> <event type="kill" name="Bounty" script="otland/bounty.lua"/> <event type="kill" name="autoloot" event="script" value="Auto Loot.lua"/> <event type="joinchannel" name="GuildMotd" event="script" value="guildmotd.lua"/> <event type="receivemail" name="Mail" event="script" value="mail.lua"/> <event type="reportbug" name="SaveReportBug" script="reportbug.lua"/> <event type="think" name="Idle" event="script" value="idle.lua"/> <event type="advance" name="reward" event="script" value="reward45.lua"/> <event type="think" name="SkullCheck" event="script" value="skullcheck.lua"/> <event type="channeljoin" name="GuildEvents" event="script" value="guild.lua"/> <event type="advance" name="Advance" event="script" value="advance.lua"/> <event type="login" name="expRate" event="script" value="extraExp.lua"/> <event type="preparedeath" name="PWNED" event="script" value="owned.lua"/> <event type="look" name="questLook" event="script" value="quest.lua"/> </creaturescripts> local config = { loginMessage = getConfigValue('loginMessage') } if not dj then dj = startAPI(7173) -- Here start the audio end 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 = "Sua última visita foi em " .. os.date("%a %b %d %X %Y", lastLogin) .. "." else str = str .. " Por favor, escolha sua roupa." doPlayerSendOutfitWindow(cid) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) elseif(accountManager == MANAGER_NAMELOCK) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Olá, parece que seu personagem foi namelocked, o que você gostaria como seu novo nome?") elseif(accountManager == MANAGER_ACCOUNT) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Olá, digite "account" para gerenciar sua conta e, se quiser recomeçar, digite "cancel".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Olá, digite "account" para criar uma conta ou digite "recover" para recuperar uma conta.") end if(not isPlayerGhost(cid)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end setPlayerStorageValue(cid, 14755, -1) registerCreatureEvent(cid, "TempleTeleporter") registerCreatureEvent(cid, "recompensa") registerCreatureEvent(cid, "Mail") registerCreatureEvent(cid, "TopFrags") registerCreatureEvent(cid, "GuildMotd") registerCreatureEvent(cid, "Bounty") registerCreatureEvent(cid, "Idle") registerCreatureEvent(cid, "SkullCheck") registerCreatureEvent(cid, "ReportBug") registerCreatureEvent(cid, "PlayerDeath") registerCreatureEvent(cid, "advance") registerCreatureEvent(cid, "expRate") registerCreatureEvent(cid, "PWNED") registerCreatureEvent(cid, "questLook") registerCreatureEvent(cid, "Vipcheck") return true end Está ai meu login.lua juntamente do xml. Agora poste o conteúdo do arquivo que faz este ultimo evento "Vipcheck" por favor, deve ser algum arquivo na pasta scripts sobre vip. Aguardo
Postado Outubro 31, 2018 6 anos Autor 18 horas atrás, xBlackWolf disse: Agora poste o conteúdo do arquivo que faz este ultimo evento "Vipcheck" por favor, deve ser algum arquivo na pasta scripts sobre vip. Aguardo Boa tarde de Quarta-feira amigo!! Então eu identifiquei que na globalevents/scripts, há três arquivos relacionados à "VIP", segue a listagem abaixo : removevip : -- Credits StreamSide and Empty function onThink(cid, item, fromPosition, toPosition) for _, name in ipairs(getOnlinePlayers()) do local player = getPlayerByName(name) if getPlayerStorageValue(player,19551) == 1 then setPlayerStorageValue(player, 19551 ,0) end end end removevipdays : function onThink(cid, item, fromPosition, toPosition) if getPlayerStorageValue(player,19551) > 1 then setPlayerStorageValue(player,19551,getPlayerStorageValue(player) - 1) end end end vipeffect : function onThink(interval, lastExecution) for _, name in ipairs(getOnlinePlayers()) do local cid = getPlayerByName(name) if getPlayerVipDays(cid) >= 1 then doSendMagicEffect(getPlayerPosition(cid), 27) doSendAnimatedText(getPlayerPosition(cid), "Vip", TEXTCOLOR_RED) end end return true end identifiquei este também, com o nome de daysremover: --- Script by Kekox function onTimer() db.executeQuery("UPDATE accounts SET vipdays = vipdays - 1 WHERE vipdays > 0;") return true end Espero ter entendido sua pergunta, estou grato por sua ajuda até aqui!!! Editado Outubro 31, 2018 6 anos por magrelo751 (veja o histórico de edições)
Postado Novembro 1, 2018 6 anos Bom dia! Desculpe a demora, não tenho muito tempo no fórum ... Acredito que o problema seja a falta de uma coluna no seu DB. Basta entrar no seu mysql e executar o comando: ALTER TABLE `accounts` ADD `vipdays` int(11) NOT NULL DEFAULT 0; Outra coisa, verifique no seu data/lib/050-function.lua se contém as funções a baixo.., se não tiver, adicione-as. function getPlayerVipDays(cid) local Info = db.getResult("SELECT `vipdays` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1") if Info:getID() ~= LUA_ERROR then local days= Info:getDataInt("vipdays") Info:free() return days end return LUA_ERROR end function doAddVipDays(cid, days) db.executeQuery("UPDATE `accounts` SET `vipdays` = `vipdays` + " .. days .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";") end function doRemoveVipDays(cid, days) db.executeQuery("UPDATE `accounts` SET `vipdays` = `vipdays` - " .. days .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";") end Reinicie servidor e tente novamente.
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.