Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Boa noite

Então pessoal eu queria um script de double xp automatico que acontecese 2 dias por mes (tipo Sabado e Domingo)

ou que eu possa configurar pra que aconteça o dia e a hora que eu quizer

por mes ou por ano

 

se alguem poder fazer isso por mim, darei varios rep+

n35408.gif

Link para o post
Compartilhar em outros sites

TFS 1.x:

 

events.xml

<event class="Player" method="onGainExperience" enabled="1" />

 

player.lua

function Player:onGainExperience(source, exp, rawExp)
    local days = {
        ["Sunday"] = 2, -- Double exp
        ["Monday"] = 3 -- Triple exp
    }

    local bonus = days[os.time("%A")]

    return exp * (bonus and bonus or 1)
end
Editado por elwyn (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Elwyn  esse eh double por dia, no caso ele se repetiria toda semana neeh ?

eu queria um que fosse só 2 vezes no mes, typo pegar dia 15 e 16, ou então podia ser uma que acontecesse num certo dia no ano typo assim ( todo ano no mes de agosto vai ter 1 semana de double xp

n35408.gif

Link para o post
Compartilhar em outros sites
  Em 27/01/2015 em 01:34, subhe disse:

@Elwyn  esse eh double por dia, no caso ele se repetiria toda semana neeh ?

eu queria um que fosse só 2 vezes no mes, typo pegar dia 15 e 16, ou então podia ser uma que acontecesse num certo dia no ano typo assim ( todo ano no mes de agosto vai ter 1 semana de double xp

Mostrar mais  

 

Voce usa TFS 1.x?

Link para o post
Compartilhar em outros sites

uso TFS 0.4, mais se for TFS 1.0 pode ser tbm, qualquer coisa eu adapto pro meu TFS

n35408.gif

Link para o post
Compartilhar em outros sites

local days = {1, 5, 10} -- Dias do mês onde terá o evento double xp
local stg = 512154

function onLogin(cid)
    
	if isInArray(days, os.date("%d")) then
		if getPlayerStorageValue(cid, stg) < 1 then
			doPlayerSetRate(cid, SKILL_LEVEL, 2.0)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hoje estamos em dia de double XP!")
			setPlayerStorageValue(cid, stg, 1)
		end	
	elseif getPlayerStorageValue(cid, stg) > 0 then	
			doPlayerSetRate(cid, SKILL_LEVEL, 1)
			setPlayerStorageValue(cid, stg, -1)
    end
return true
end 
Editado por Summ (veja o histórico de edições)

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

Irei Testar @Summ. depois edito pra dizer se funcinou aqui

 

Testei no TFS 0.4 e nao funcinou, irei testar no TFS 1.0 agora ;s

 

Poderia me enviar a forma correta de instalar ele ? pra mim ver se fiz tudo certinho mesmo ? pq nao da erro nenhum no console, mais tbm nao fica double xp ;s

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

n35408.gif

Link para o post
Compartilhar em outros sites

Vá na pasta creaturescripts e abre o creaturescripts.xml e adicione a seguinte tag:

<event type="login" name="DoubleXP" event="script" value="DoubleXP.lua"/>

Agora vá em creaturescripts/scripts e crie um arquivo chamado DoubleXP.lua e adicione:

-- Monday = Segunda
-- Tuesday = Terça
-- Wednesday = Quarta
-- Thursday = Quinta
-- Friday = Sexta
-- Saturday = Sabado
-- Sunday = Domingo

function onLogin(cid)
DoubleDays = {"Saturday", "Sunday"}
 if isInArray(DoubleDays, os.date("%A")) then
  doPlayerSetRate(cid, SKILL__LEVEL, 2.0)
  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Double XP]\nHoje estamos em evento de Double XP!\nAproveite.")
 end
 return true
end

No caso de duas vezes por mês é só adicionar o script quando quiser, quando já tiver feito o evento retire a tag do creaturescripts/creaturescripts.xml

Faça bom aproveito, flw, vlw.

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

The medieval RpG Server

espada-barbara.jpg

[RpG] OLDWORLD OPEN TIBIA

Link para o post
Compartilhar em outros sites

esse script eu tenho

eu queria um que ficasse double xp 2 vezes no mes, ou no ano, justamente pra nao ter que ficar fazendo isso ;x

 

mais mesmo assim vlw ;s

n35408.gif

Link para o post
Compartilhar em outros sites
  Em 26/01/2015 em 07:06, subhe disse:
que eu possa configurar pra que aconteça o dia e a hora
Mostrar mais  

dexplogin.lua (data\creaturescripts\scripts):

local days = {
    [10] = '00:00', -- [day] = 'hour(s):minute(s)'
    [11] = '12:00'
}

function onLogin(cid)
    local d = days[os.date('*t').day]
    local os, h = os.date('%X'):sub(1, 5), {'', ''}
    
    if d then
        h[1] = os:sub(1, 2)..os:sub(-2)
        h[2] = d:sub(1, 2)..d:sub(-2)
        
        if tonumber(h[1]) > tonumber(h[2]) then
            doPlayerSetRate(cid, SKILL__LEVEL, 2.0)
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Today is a day of double experience, enjoy!')
        end
    end
    
    return true
end

Observação: Uma elfa vadia (MaXwEllDeN<3) não admitiu que eu fizesse a gambiarra de relacionar os bytes das strings, por isso o script ficou tão aparentemente complexo.

Tag - creaturescripts.xml (data\creaturescripts):

<event type="login" name="DExpLogin" event="script" value="dexplogin.lua"/>

PS: callback onLogin não registra creature event.

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

Irei Testar, se funcionar darei rep infinito pra você ><'

@Suicide Funcinou parceiro vlw mesmo, tá ai o seu REP+

só uma coisa, ele tah double exp e tals.. mais no !serverinfo não está atualizando que está double exp
poderia me ajudar nisso ?

exemplo sem double: 01:41 Server Information:
Experience rate: x5

exemplo com double : 01:41 Server Information:
Experience rate: x10

 

ele deveria ficar igual ao segundo exemplo com o double, mais nao fica, fica aparecendo o primeiro exemplo ainda
 

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

n35408.gif

Link para o post
Compartilhar em outros sites

  Em 30/01/2015 em 03:03, subhe disse:
só uma coisa, ele tah double exp e tals.. mais no !serverinfo não está atualizando que está double exp poderia me ajudar nisso ?
Mostrar mais  

Provavelmente, o script dessa talkaction pega um valor estipulado em config.lua ou em stages.xml, por isso, sempre vai informar esse mesmo valor.
Poste os códigos dela, que eu vejo se faço de outra forma pra você.

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

Config.lua

  Citar

 

accountManager = true

namelockManager = true
newPlayerChooseVoc = true
newPlayerSpawnPosX = 100
newPlayerSpawnPosY = 40
newPlayerSpawnPosZ = 7
newPlayerTownId = 1
newPlayerLevel = 10
newPlayerMagicLevel = 1
generateAccountNumber = false
 
redSkullLength = 3 * 24 * 60 * 60
blackSkullLength = 6 * 24 * 60 * 60
dailyFragsToRedSkull = 10
weeklyFragsToRedSkull = 15
monthlyFragsToRedSkull = 30
dailyFragsToBlackSkull = dailyFragsToRedSkull
weeklyFragsToBlackSkull = weeklyFragsToRedSkull
monthlyFragsToBlackSkull = monthlyFragsToRedSkull
dailyFragsToBanishment = dailyFragsToRedSkull
weeklyFragsToBanishment = weeklyFragsToRedSkull
monthlyFragsToBanishment = monthlyFragsToRedSkull
blackSkulledDeathHealth = 40
blackSkulledDeathMana = 0
useBlackSkull = true
useFragHandler = true
advancedFragList = true
 
notationsToBan = 3
warningsToFinalBan = 4
warningsToDeletion = 5
banLength = 7 * 24 * 60 * 60
killsBanLength = 7 * 24 * 60 * 60
finalBanLength = 30 * 24 * 60 * 60
ipBanishmentLength = 1 * 24 * 60 * 60
broadcastBanishments = true
maxViolationCommentSize = 200
violationNameReportActionType = 2
autoBanishUnknownBytes = false
 
worldType = "pvp"
protectionLevel = 50
pvpTileIgnoreLevelAndVocationProtection = true
pzLocked = 20 * 1000
huntingDuration = 60 * 1000
criticalHitChance = 40
criticalHitMultiplier = 1
displayCriticalHitNotify = true
removeWeaponAmmunition = false
removeWeaponCharges = false
removeRuneCharges = false
whiteSkullTime = 10 * 60 * 1000
noDamageToSameLookfeet = false
showHealingDamage = true
showHealingDamageForMonsters = false
fieldOwnershipDuration = 5 * 1000
stopAttackingAtExit = false
oldConditionAccuracy = false
loginProtectionPeriod = 10 * 1000
deathLostPercent = 5
stairhopDelay = 2 * 1000
pushCreatureDelay = 2 * 1000
deathContainerId = 1987
gainExperienceColor = 215
addManaSpentInPvPZone = true
squareColor = 0
allowFightback = true
 
worldId = 0
ip = "127.0.0.1"
bindOnlyConfiguredIpAddress = false
loginPort = 7171
gamePort = 7172 -- Não mude
adminPort = 7171
statusPort = 7171
loginTries = 10
retryTimeout = 5 * 1000
loginTimeout = 60 * 1000
maxPlayers = 100
motd = "Bem vindo ao Emperium-OT"
displayOnOrOffAtCharlist = false
onePlayerOnlinePerAccount = true
allowClones = false
serverName = "Emperium-Tibia"
loginMessage = "Tente sobreviver ao grande mundo RPG, Bem vindo ao Emperium-OT"
statusTimeout = 5 * 60 * 1000
replaceKickOnLogin = true
forceSlowConnectionsToDisconnect = false
loginOnlyWithLoginServer = false
premiumPlayerSkipWaitList = false
 
sqlType = "sqlite"
sqlHost = "localhost"
sqlPort = 3306
sqlUser = "root"
sqlPass = "15071994"
sqlDatabase = "Alissow"
sqlFile = "schemas+Database/Alissow.s3db"
sqlKeepAlive = 0
mysqlReadTimeout = 10
mysqlWriteTimeout = 10
encryptionType = "plain"
 
deathListEnabled = true
deathListRequiredTime = 1 * 60 * 1000
deathAssistCount = 19
maxDeathRecords = 5
 
ingameGuildManagement = true
levelToFormGuild = 10
premiumDaysToFormGuild = 0
guildNameMinLength = 4
guildNameMaxLength = 30
 
highscoreDisplayPlayers = 15
updateHighscoresAfterMinutes = 10
 
buyableAndSellableHouses = true
houseNeedPremium = true
bedsRequirePremium = true
levelToBuyHouse = 150
housesPerAccount = 0
houseRentAsPrice = false
housePriceAsRent = false
housePriceEachSquare = 1000
houseRentPeriod = "weekly"
houseCleanOld = 0
guildHalls = true
 
timeBetweenActions = 200
timeBetweenExActions = 1000
checkCorpseOwner = true
hotkeyAimbotEnabled = true
maximumDoorLevel = 500
 
mapName = "Xedegux"
mapAuthor = "Alissow - Xedegux"
randomizeTiles = true
useHouseDataStorage = false
storeTrash = true
cleanProtectedZones = true
mailboxDisabledTowns = "-1"
 
defaultPriority = "high"
niceLevel = 5
coresUsed = "-1"
optimizeDatabaseAtStartup = true
removePremiumOnInit = true
confirmOutdatedVersion = false
 
maxMessageBuffer = 4
bufferMutedOnSpellFailure = false
 
dataDirectory = "data/"
allowChangeOutfit = true
allowChangeColors = true
allowChangeAddons = true
disableOutfitsForPrivilegedPlayers = false
bankSystem = true
saveGlobalStorage = true
displaySkillLevelOnAdvance = true
spellNameInsteadOfWords = false
emoteSpells = true
promptExceptionTracerErrorBox = true
storePlayerDirection = false
monsterLootMessage = 3
monsterLootMessageType = 25
separateViplistPerCharacter = false
 
ghostModeInvisibleEffect = false
ghostModeSpellEffects = true
 
idleWarningTime = 14 * 60 * 1000
idleKickTime = 15 * 60 * 1000
expireReportsAfterReads = 1
playerQueryDeepness = 2
maxItemsPerPZTile = 0
maxItemsPerHouseTile = 0
 
freePremium = false
premiumForPromotion = true
 
blessingOnlyPremium = true
blessingReductionBase = 30
blessingReductionDecreament = 5
eachBlessReduction = 8
 
experienceStages = true
rateExperience = 100
rateExperienceFromPlayers = 0
rateSkill = 75
rateMagic = 50
rateLoot = 3
rateSpawn = 3
 
rateMonsterHealth = 1.0
rateMonsterMana = 1.0
rateMonsterAttack = 1.0
rateMonsterDefense = 1.0
 
minLevelThresholdForKilledPlayer = 0.9
maxLevelThresholdForKilledPlayer = 1.1
 
rateStaminaLoss = 1
rateStaminaGain = 3
rateStaminaThresholdGain = 12
staminaRatingLimitTop = 41 * 60
staminaRatingLimitBottom = 14 * 60
rateStaminaAboveNormal = 1.5
rateStaminaUnderNormal = 0.5
staminaThresholdOnlyPremium = true
 
experienceShareRadiusX = 30
experienceShareRadiusY = 30
experienceShareRadiusZ = 1
experienceShareLevelDifference = 2 / 3
extraPartyExperienceLimit = 20
extraPartyExperiencePercent = 5
experienceShareActivity = 2 * 60 * 1000
 
globalSaveEnabled = false
globalSaveHour = 8
shutdownAtGlobalSave = true
cleanMapAtGlobalSave = false
 
deSpawnRange = 2
deSpawnRadius = 50
 
maxPlayerSummons = 2
teleportAllSummons = false
teleportPlayerSummons = false
 
ownerName = "Alissow"
ownerEmail = "alissow@tibiaking.com"
location = "Vitoria da conquista, Bahia - Brasil"
displayGamemastersWithOnlineCommand = true
 
adminLogsEnabled = false
displayPlayersLogging = true
prefixChannelLogs = ""
runFile = ""
outLogName = ""
errorLogName = ""
truncateLogsOnStartup = false
 
Mostrar mais  

 

Stages.xml

  Citar

 

<?xml version="1.0" encoding="UTF-8"?>

<stages>
<world id="0" multiplier="1">
<stage minlevel="1" maxlevel="50" multiplier="100"/>
<stage minlevel="51" maxlevel="100" multiplier="60"/>
<stage minlevel="101" maxlevel="150" multiplier="40"/>
<stage minlevel="151" maxlevel="180" multiplier="20"/>
<stage minlevel="181" maxlevel="210" multiplier="10"/>
<stage minlevel="211" multiplier="5"/>
</world>
</stages>
 
Mostrar mais  

n35408.gif

Link para o post
Compartilhar em outros sites

Eu me referi aos códigos da talkaction (!serverinfo), poste-os.

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

Serverinfo

  Citar

 

local config = {

rateExperience = getConfigInfo('rateExperience'),
rateSkill = getConfigInfo('rateSkill'),
rateLoot = getConfigInfo('rateLoot'),
rateMagic = getConfigInfo('rateMagic'),
rateSpawn = getConfigInfo('rateSpawn'),
protectionLevel = getConfigInfo('protectionLevel'),
stages = getBooleanFromString(getConfigInfo('experienceStages'))
}
 
function onSay(cid, words, param, channel)
local exp = config.rateExperience
if(config.stages) then
exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier)
end
 
doPlayerPopupFYI(cid, "Server Information:\n\nExperience rate: x" .. exp .. "\nSkills rate: x" .. config.rateSkill .. "\nLoot rate: x" .. config.rateLoot .. "\nMagic rate: x" .. config.rateMagic .. "\nSpawns rate: x" .. config.rateSpawn .. "\nProtection level: " .. config.protectionLevel)
return true
end
 
Expand   Mostrar mais  

n35408.gif

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • 1 month later...

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo