Ir para conteúdo

Featured Replies

  • Respostas 10
  • Visualizações 564
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • Diretor

manda config.lua ai  :P isso acontece quando há mais mundos...

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Postado
  • Autor

- Da algum Error quando mata algum Pokemon? Posta seu pokeexp.lua  em data/creaturescripts

Nao da nao, 

pokeexp.lua

local function playerAddExp(cid, exp)
   doPlayerAddExp(cid, exp)
   doSendAnimatedText(getThingPos(cid), exp, 215)
end
 
local Exps = {
{minL = 1, maxL = 51, multipler = 1.6},
{minL = 51, maxL = 150, multipler = 1.4},
{minL = 150, maxL = 199, multipler = 1.2},
{minL = 200, maxL = 249, multipler = 1.0},
{minL = 250, maxL = 299, multipler = 0.9},
}
 
local function calculaExp(cid, expTotal)
if not isPlayer(cid) then return 0 end
   local expFinal = expTotal
   local flag = false
   for _, TABLE in pairs(Exps) do
          if getPlayerLevel(cid) >= TABLE.minL and getPlayerLevel(cid) <= TABLE.maxL then
                 flag = true
                 expFinal = expFinal * TABLE.multipler
                 break
          end
   end
   if not flag then expFinal = expFinal * 0.1 end --lvl 300+
return math.floor(expFinal)
end
 
function onDeath(cid, corpse, deathList)
 
if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8
-------------Edited Golden Arena-------------------------
   if getPlayerStorageValue(cid, 22546) == 1 then
          setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1)
          if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end --alterado v1.8
   end
   if getPlayerStorageValue(cid, 22546) == 1 and getGlobalStorageValue(22548) == 0 then
          local wave = getGlobalStorageValue(22547)
          for _, sid in ipairs(getPlayersOnline()) do
                 if isPlayer(sid) and getPlayerStorageValue(sid, 22545) == 1 then
                    if getGlobalStorageValue(22547) < #wavesGolden+1 then
                           doPlayerSendTextMessage(sid, 20, "Wave "..wave.." will begin in "..timeToWaves.."seconds!")
                           doPlayerSendTextMessage(sid, 28, "Wave "..wave.." will begin in "..timeToWaves.."seconds!")
                           addEvent(creaturesInGolden, 100, GoldenUpper, GoldenLower, false, true, true)
                           addEvent(doWave, timeToWaves*1000)
                    elseif getGlobalStorageValue(22547) == #wavesGolden+1 then
                           doPlayerSendTextMessage(sid, 20, "You have win the golden arena! Take your reward!")
                           doPlayerAddItem(sid, 2152, getPlayerStorageValue(sid, 22551)*2) --premio
                           setPlayerStorageValue(sid, 22545, -1)
                           doTeleportThing(sid, getClosestFreeTile(sid, posBackGolden), false)
                           setPlayerRecordWaves(sid)
                    end
                 end
          end
          if getGlobalStorageValue(22547) == #wavesGolden+1 then
                 endGoldenArena()
          end
   end
--------------------------------------------------- /\/\
   local givenexp = getWildPokemonExp(cid)
 
   if givenexp > 0 then
          for a = 1, #deathList do
                  local pk = deathList[a]
                  local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false)
                  if isCreature(pk) then
                         local expTotal = math.floor(playerExperienceRate * givenexp * getDamageMapPercent(pk, cid))
                                   expTotal = calculaExp(pk, expTotal)
                         local party = getPartyMembers(pk)
                         if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then
                            expTotal = math.floor(expTotal/#party)
                            for i = 1, #party do
                                    if isInArray(list, party) then
                                           playerAddExp(party, expTotal)
                                    end
                            end
                         else
                                 playerAddExp(pk, expTotal)
                         end
                  end
          end
   end
 
   if isNpcSummon(cid) then
          local master = getCreatureMaster(cid)
          doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000))
          doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1)
          doRemoveCreature(cid)
          return false
   end
 
   if corpse.itemid ~= 0 then --alterado v1.8
          doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid))
          doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid))
   end
return true
end

 

manda config.lua ai   :P isso acontece quando há mais mundos...

hm

-- The Forgotten Server Config
-- Account manager
accountManager = true
namelockManager = true
newPlayerChooseVoc = false
newPlayerSpawnPosX = 1027
newPlayerSpawnPosY = 1244
newPlayerSpawnPosZ = 15
newPlayerTownId = 0
newPlayerLevel = 5
newPlayerMagicLevel = 0
generateAccountNumber = false
 
lightInterval = 7500
-- a cada "lightInterval" ms vai passar 1 minuto
lightChange = 1
-- quanto de light ira alterar durante passagem de dia/noite
startupTime = 351
-- quantas horas serão ao ligar o server (360 = 6:00 a.m, 1080 = 6:00 p.m, varia de 0 a 1440)
startupLight = 40
-- quanto de light vai estar ao ligar o server
 
limitPokeballs = 15 -- deprecated
happyDropTime = 12 -- a cada "happyDropTime" segundos o pokemon vai perder HAPPINESS
minHappinessEffectDelay = 25 -- a cada min de "happinessEffectDelay" segundos o pokemon vai mostrar a felicidade
maxHappinessEffectDelay = 40 -- a cada min de "happinessEffectDelay" segundos o pokemon vai mostrar a felicidade
PokemonStageVeryHappy = 215 -- com quanto de happy o poke precisa pra estar muito feliz
PokemonStageHappy = 160 -- ... pra estar feliz
PokemonStageOK = 110 -- ... pra estar normal
PokemonStageSad = 50 -- ... pra estar triste
PokemonStageMad = 0 -- ... pra estar bravo
maximumHunger = 120 -- maior fome possivel
stateHunger = 100 -- 19estagio que precisa estar pra ficar com fome
increaseHunger = 7 -- a cada X segundos (xml do monstro) aumenta o hunger em "increaseHunger"
decreaseHappy = 1 -- HAPPINESS que o pokemon vai perder a cada "happyDropTime"
decreaseHungryHappy = 4 -- 3HAPPINESS a mais que o pokemon vai perder se estiver com fome
useTeleportWithFly = false
dropHappyDuringBattles = true -- HAPPINESS vai cair enquanto estiver batalhando ? true / false
 
allowBlockSpawn = false
 
rateGymSpellInterval = 0.68
 
-- Unjustified kills
-- NOTE: *Banishment and *BlackSkull variables are >summed up<
-- (dailyFragsToRedSkull + dailyFragsToBanishment) with their
-- *RedSkull equivalents.
-- Auto banishing works only if useBlackSkull set to negative.
-- advancedFragList is not advised if you use huge frags
-- requirements.
redSkullLength = 30 * 24 * 60 * 60
blackSkullLength = 45 * 24 * 60 * 60
dailyFragsToRedSkull = 3
weeklyFragsToRedSkull = 5
monthlyFragsToRedSkull = 10
dailyFragsToBlackSkull = dailyFragsToRedSkull
weeklyFragsToBlackSkull = weeklyFragsToRedSkull
monthlyFragsToBlackSkull = monthlyFragsToRedSkull
dailyFragsToBanishment = dailyFragsToRedSkull
weeklyFragsToBanishment = weeklyFragsToRedSkull
monthlyFragsToBanishment = monthlyFragsToRedSkull
blackSkulledDeathHealth = 40
blackSkulledDeathMana = 0
useBlackSkull = true
useFragHandler = true
advancedFragList = false
 
-- Banishments
-- violationNameReportActionType 1 = just a report, 2 = name lock, 3 = player banishment
-- killsBanLength works only if useBlackSkull option is disabled.
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
 
-- Battle
-- NOTE: showHealingDamageForMonsters inheritates from showHealingDamage.
-- loginProtectionPeriod is the famous Tibia anti-magebomb system.
-- deathLostPercent set to nil enables manual mode.
worldType = "pvp"
protectionLevel = 1000
pvpTileIgnoreLevelAndVocationProtection = true
pzLocked = 18 * 1000
huntingDuration = 60 * 1000
criticalHitChance = 7
criticalHitMultiplier = 1
displayCriticalHitNotify = false
removeWeaponAmmunition = true
removeWeaponCharges = true
removeRuneCharges = true
whiteSkullTime = 15 * 60 * 1000
noDamageToSameLookfeet = false
showHealingDamage = false
showHealingDamageForMonsters = false
fieldOwnershipDuration = 5 * 1000
stopAttackingAtExit = false
oldConditionAccuracy = false
loginProtectionPeriod = 10 * 1000
deathLostPercent = 10
stairhopDelay = 0 * 1000
pushCreatureDelay = 1 * 1000
deathContainerId = 0
gainExperienceColor = 215
addManaSpentInPvPZone = true
squareColor = 0
allowFightback = true
 
-- Connection config
worldId = 0
ip = "25.0.172.114"
bindOnlyConfiguredIpAddress = false
loginPort = 7171
gamePort = 7172
adminPort = 7171
statusPort = 7171
loginTries = 10
retryTimeout = 5 * 1000
loginTimeout = 60 * 1000
maxPlayers = 1000 -- codificado e limitado para 7
motd = "Bem-Vindo ao Poke Steel Life"
displayOnOrOffAtCharlist = false
onePlayerOnlinePerAccount = false
allowClones = true
serverName = "PG"
loginMessage = "Bem-Vindo ao PSL"
statusTimeout = 5 * 60 * 1000
replaceKickOnLogin = true
forceSlowConnectionsToDisconnect = false
loginOnlyWithLoginServer = false
premiumPlayerSkipWaitList = true
 
-- Database
-- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database.
-- To disable sqlKeepAlive such as mysqlReadTimeout use 0 value.
sqlType = "sqlite"
sqlHost = "localhost"
sqlPort = 3306
sqlUser = "root"
sqlPass = ""
sqlDatabase = "forgottenserver"
sqlFile = "forgottenserver.s3db"
sqlKeepAlive = 0
mysqlReadTimeout = 10
mysqlWriteTimeout = 10
encryptionType = "plain"
 
-- Deathlist
deathListEnabled = true
deathListRequiredTime = 1 * 60 * 1000
deathAssistCount = 19
maxDeathRecords = 10
 
-- Guilds
ingameGuildManagement = true
levelToFormGuild = 40
premiumDaysToFormGuild = 0
guildNameMinLength = 2
guildNameMaxLength = 25
 
-- Highscores
highscoreDisplayPlayers = 15
updateHighscoresAfterMinutes = 60
 
-- Houses
buyableAndSellableHouses = true
houseNeedPremium = true
bedsRequirePremium = true
levelToBuyHouse = 1
housesPerAccount = 0
houseRentAsPrice = false
housePriceAsRent = false
housePriceEachSquare = 2975
houseRentPeriod = "never"
houseCleanOld = 0
guildHalls = false
 
-- Item usage
timeBetweenActions = 500
timeBetweenExActions = 500
hotkeyAimbotEnabled = true
 
-- Map
-- NOTE: storeTrash costs more memory, but will perform alot faster cleaning.
mapName = "PGalaxy"
mapAuthor = "Gabrieltxu"
randomizeTiles = true
storeTrash = false
cleanProtectedZones = true
mailboxDisabledTowns = "1"
 
-- Process
-- NOTE: defaultPriority works only on Windows and niceLevel on *nix
-- coresUsed are seperated by comma cores ids used by server process,
-- default is -1, so it stays untouched (automaticaly assigned by OS).
defaultPriority = "high"
niceLevel = 5
coresUsed = "-1"
 
-- Startup
optimizeDatabaseAtStartup = true
removePremiumOnInit = true
confirmOutdatedVersion = false
 
-- Spells
formulaLevel = 5.0
formulaMagic = 1.0
bufferMutedOnSpellFailure = false
spellNameInsteadOfWords = false
emoteSpells = false
 
-- Outfits
allowChangeOutfit = true
allowChangeColors = true
allowChangeAddons = true
disableOutfitsForPrivilegedPlayers = false
addonsOnlyPremium = false
 
-- Miscellaneous
-- NOTE: promptExceptionTracerErrorBox works only with precompiled support feature,
-- called "exception tracer" (__EXCEPTION_TRACER__ flag).
dataDirectory = "data/"
bankSystem = true
displaySkillLevelOnAdvance = false
promptExceptionTracerErrorBox = true
separateViplistPerCharacter = false
maximumDoorLevel = 500
maxMessageBuffer = 4
 
-- Saving-related
-- useHouseDataStorage usage may be found at README.
saveGlobalStorage = false
useHouseDataStorage = false
storePlayerDirection = false
 
-- Loot
-- monsterLootMessage 0 to disable, 1 - only party, 2 - only player, 3 - party or player (like Tibia's)
checkCorpseOwner = true
monsterLootMessage = 3
monsterLootMessageType = MESSAGE_INFO_DESCR
 
-- Ghost mode
ghostModeInvisibleEffect = true
ghostModeSpellEffects = true
 
-- Limits
idleWarningTime = 14 * 60 * 1000
idleKickTime = 15 * 60 * 1000
expireReportsAfterReads = 1
playerQueryDeepness = 2
maxItemsPerPZTile = 0
maxItemsPerHouseTile = 0
 
-- Premium-related
freePremium = false
premiumForPromotion = true
 
-- Blessings
-- NOTE: blessingReduction* regards items/containers loss.
-- eachBlessReduction is how much each bless reduces the experience/magic/skills loss.
blessingOnlyPremium = true
blessingReductionBase = 30
blessingReductionDecreament = 5
eachBlessReduction = 8
 
-- Rates
-- NOTE: experienceStages configuration is located in data/XML/stages.xml.
-- rateExperienceFromPlayers 0 to disable.
experienceStages = true
rateExperienceFromPlayers = 3
rateSkill = 10
rateMagic = 2.0
rateLoot = 5
rateSpawn = 10
 
-- Monster rates
rateMonsterHealth = 1.0
rateMonsterMana = 1.0
rateMonsterAttack = 1.0
rateMonsterDefense = 1.0
 
-- Experience from players
-- NOTE: min~Threshold* set to 0 will disable the minimum threshold:
-- player will gain experience from every lower leveled player.
-- max~Threshold* set to 0 will disable the maximum threshold:
-- player will gain experience from every higher leveled player.
minLevelThresholdForKilledPlayer = 0.9
maxLevelThresholdForKilledPlayer = 1.1
 
-- Stamina
-- NOTE: Stamina is stored in miliseconds, so seconds are multiplied by 1000.
-- rateStaminaHits multiplies every hit done a creature, which are later
-- multiplied by player attack speed.
-- rateStaminaGain is divider of every logged out second, eg:
-- 60000 / 3 = 20000 milliseconds, what gives 20 stamina seconds for 1 minute being logged off.
-- rateStaminaThresholdGain is divider for the premium stamina.
-- staminaRatingLimit* is in minutes.
rateStaminaLoss = 1
rateStaminaGain = 3
rateStaminaThresholdGain = 12
staminaRatingLimitTop = 41 * 60
staminaRatingLimitBottom = 14 * 60
rateStaminaAboveNormal = 1.0
rateStaminaUnderNormal = 1.0
staminaThresholdOnlyPremium = true
 
-- Party
-- NOTE: experienceShareLevelDifference is float number.
-- experienceShareLevelDifference is highestLevel * value
experienceShareRadiusX = 30
experienceShareRadiusY = 30
experienceShareRadiusZ = 1
experienceShareLevelDifference = 200 * 200
extraPartyExperienceLimit = 20
extraPartyExperiencePercent = 20
experienceShareActivity = 2 * 60 * 1000
 
-- Global save
-- NOTE: globalSaveHour means like 03:00, not that it will save every 3 hours,
-- if you want such a system please check out data/globalevents/globalevents.xml.
globalSaveEnabled = false
globalSaveHour = 8
shutdownAtGlobalSave = true
cleanMapAtGlobalSave = false
 
-- Spawns
deSpawnRange = 2
deSpawnRadius = 25
 
-- Summons
maxPlayerSummons = 1
teleportAllSummons = true
teleportPlayerSummons = true
 
-- Status
ownerName = "Poke Steel Life"
ownerEmail = ""
url = ""
location = "Brazil"
displayGamemastersWithOnlineCommand = false
 
-- Logs
-- NOTE: This kind of logging does not work in GUI version.
-- For such, please compile the software with __GUI_LOGS__ flag.
adminLogsEnabled = false
displayPlayersLogging = true
prefixChannelLogs = ""
runFile = ""
outLogName = ""
errorLogName = ""
truncateLogsOnStartup = false

                                        O conhecimento só é achado quando você o busca. 

 

Postado
  • Diretor

1° opção 

 

experienceStages = true

 

veja sua stages

 

<?xml version="1.0" encoding="UTF-8"?>
<stages>
<world id="0" multiplier="1">
  <stage minlevel="1" maxlevel="100" multiplier="15"/>
</world>
</stages>

 

0 é o mundo se caso tiver 1 não vai da exp nem pra vc e nem pro player

 

2° opção outra opção

 

se preferir desativa e teste

 

experienceStages = false

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

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Postado
  • Autor

1° opção 

 

experienceStages = true

 

veja sua stages

 

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

<stages>

<world id="0" multiplier="1">

  <stage minlevel="1" maxlevel="100" multiplier="15"/>

</world>

</stages>

 

0 é o mundo se caso tiver 1 não vai da exp nem pra vc e nem pro player

 

2° opção outra opção

 

se preferir desativa e teste

 

experienceStages = false

nao deu certo

                                        O conhecimento só é achado quando você o busca. 

 

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

Informação Importante

Confirmação de Termo