Ir para conteúdo

nono182

Campones
  • Total de itens

    42
  • Registro em

  • Última visita

Tudo que nono182 postou

  1. Ótimo tutorial, mas... no seu templo você colocou uma flecha cravada na parede só que do lado de dentro É um templo,um dos unicos lugares que o player se salva,é o lugar onde tem protection zone. hehe so novato pra falar disso mas só dei minha opinião. Ótimo tutorial kara Abrass
  2. boa mlk.. perfeito o tutorial, e o melhor,dps q vc termino a explicação ainda coloko o download da lojinha ^^ REP+
  3. nono182

    Set Que Da Atributo

    é o seguinte galera. Eu quero um scripit assim cada set completo da alguns tipows de atributo por exemplo APENAS DEMON ARMOR>> nenhum atributo pois esta sosinho Demon armor sendo usado com demon helmet + 2 shield Demon armor + demon helmet + demon Legs = +2 shield +2 ml Set completo= +4 shield +3 ml esse foi só um exemplo ´para não pedir mto qro apenas q alguem desenvolva o script e o resto eu faço OBS: faz o script com pelomenos um set mto obrigado vllwwwww
  4. VLW PELA DIKA VO EDITA O MAPA E ARRUMA ESSE MESMO POST, vlw mesmo pela dika
  5. aew pessoal do xtibia esse ake é meu primeiro map q vou postar ake screenshots: quero q vocês avaliem e critique o mapa q foi o meu primeiro deem dicas tb para fazer eu fazer um map melhor da proxima vez. QUEM SABE N FAÇO UM UPDATE DELE ;D vlw pessoal DOWNLOAD VIA 4SHARED: http://www.4shared.com/file/2gjoV0eg/Mountain_Hunting_malignant.html
  6. HUuuuun vlws então!!!Ahh pq vc nun posta esse otro pet system aew pra galera? qual o nome dele? vlw
  7. Olá, eu quero saber como faço para colocar uma foto do monstro no site do ot(gesior) ja tentei colocar o nome dele na imagem que eu quero na pasta monsters do gesior e nada acontece olha como fica!!! espero que vocês consigam isso tah mi tirandu u sono
  8. Aonde ficaria essa pasta? explica um poko melhor aonde colocar os arquivos LUA pastas etc mais o tutorial ta bom vou testar o script aqui qualquer erro eu reporto se der pra mim arrumar eu posto o arrumado aqui Na pasta do ot,siguinifica onde fica o executavel do ot,o config.lua e tals ahh...vlw a todos que estão comentando
  9. para arrumar o erro de config.lua ue da no começo é só você usar este config lua -- The Forgotten Server Config -- Account manager accountManager = true namelockManager = false newPlayerChooseVoc = true newPlayerSpawnPosX = 289 newPlayerSpawnPosY = 455 newPlayerSpawnPosZ = 7 newPlayerTownId = 1 newPlayerLevel = 20 newPlayerMagicLevel = 1 generateAccountNumber = false -- Unjustified kills -- NOTE: *Banishment and *BlackSkull variables are >summed up< -- *RedSkull equivalents. -- Auto banishing works only if useBlackSkull set to negative. -- advancedFragList is not advised if you use huge frags -- requirements. redSkullLength = 3 * 2 * 6 * 6 blackSkullLength = 4 * 2 * 6 * 6 dailyFragsToRedSkull = 10 weeklyFragsToRedSkull = 15 monthlyFragsToRedSkull = 100 dailyFragsToBlackSkull = dailyFragsToRedSkull weeklyFragsToBlackSkull = weeklyFragsToRedSkull monthlyFragsToBlackSkull = monthlyFragsToRedSkull dailyFragsToBanishment = dailyFragsToRedSkull weeklyFragsToBanishment = weeklyFragsToRedSkull monthlyFragsToBanishment = monthlyFragsToRedSkull blackSkulledDeathHealth = 4000 blackSkulledDeathMana = 1000 useBlackSkull = true useFragHandler = true advancedFragList = true -- Banishments -- 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 = 200 pvpTileIgnoreLevelAndVocationProtection = true pzLocked = 60 * 100 huntingDuration = 60 * 100 criticalHitChance = 55 criticalHitMultiplier = 1 displayCriticalHitNotify = false removeWeaponAmmunition = false removeWeaponCharges = false removeRuneCharges = false whiteSkullTime = 15 * 60 * 100 noDamageToSameLookfeet = false showHealingDamage = true showHealingDamageForMonsters = false fieldOwnershipDuration = 5 * 1000 stopAttackingAtExit = false oldConditionAccuracy = false loginProtectionPeriod = 1 * 10 deathLostPercent = 3 stairhopDelay = 2 * 1000 pushCreatureDelay = 2 * 1000 deathContainerId = 1987 gainExperienceColor = 215 addManaSpentInPvPZone = true squareColor = 0 allowFightback = true -- Connection config worldId = 0 ip = "" bindOnlyConfiguredIpAddress = false loginPort = 7171 gamePort = 7172 adminPort = 7171 statusPort = 7171 loginTries = 10 retryTimeout = 5 * 1000 loginTimeout = 60 * 1000 maxPlayers = 120 motd = "Bem vindo ao Pvp master Up,Upem xD" displayOnOrOffAtCharlist = false onePlayerOnlinePerAccount = false allowClones = 4020 serverName = "PvP Master Up" loginMessage = "Bem vindo ao Pvp master Up,Upem xD" statusTimeout = 5 * 60 * 1000 replaceKickOnLogin = 0 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 = "mysql" sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "sua senha aki" sqlDatabase = "novo" sqlFile = "forgottenserver.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 encryptionType = "plain" -- Deathlist deathListEnabled = false deathListRequiredTime = 1 * 60 * 1000 deathAssistCount = 19 maxDeathRecords = 5 -- Guilds ingameGuildManagement = true levelToFormGuild = 8 premiumDaysToFormGuild = 0 guildNameMinLength = 1 guildNameMaxLength = 55 -- Highscores highscoreDisplayPlayers = 99 updateHighscoresAfterMinutes = 5 -- Houses buyableAndSellableHouses = true houseNeedPremium = true bedsRequirePremium = true levelToBuyHouse = 1000 housesPerAccount = 1 houseRentAsPrice = true housePriceAsRent = true housePriceEachSquare = 1000 houseRentPeriod = "never" houseCleanOld = 1 guildHalls = false -- Item usage timeBetweenActions = 200 timeBetweenExActions = 100 checkCorpseOwner = true hotkeyAimbotEnabled = true maximumDoorLevel = 50000 -- Map -- NOTE: storeTrash costs more memory, but will perform alot faster cleaning. -- useHouseDataStorage usage may be found at README. mapName = "subwat" mapAuthor = "gean riot" randomizeTiles = true useHouseDataStorage = false storeTrash = true cleanProtectedZones = true mailboxDisabledTowns = "-1" -- Startup -- coresUsed are seperated by comma cores ids used by server process, defaultPriority = "high" niceLevel = 5 coresUsed = "-1" optimizeDatabaseAtStartup = true removePremiumOnInit = true confirmOutdatedVersion = false -- Muted buffer maxMessageBuffer = 999 bufferMutedOnSpellFailure = false -- Miscellaneous dataDirectory = "data/" allowChangeOutfit = true allowChangeColors = true allowChangeAddons = true disableOutfitsForPrivilegedPlayers = false bankSystem = true saveGlobalStorage = true displaySkillLevelOnAdvance = true spellNameInsteadOfWords = false emoteSpells = false promptExceptionTracerErrorBox = true storePlayerDirection = false monsterLootMessage = 3 monsterLootMessageType = 23 separateViplistPerCharacter = false -- Ghost mode ghostModeInvisibleEffect = false ghostModeSpellEffects = true -- Limits idleWarningTime = 1400 * 6000 * 100000 idleKickTime = 1500 * 6000 * 100000 expireReportsAfterReads = 1 playerQueryDeepness = 2 maxItemsPerPZTile = 0 maxItemsPerHouseTile = 0 -- Premium-related freePremium = true 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 rateExperience = 100000.0 rateExperienceFromPlayers = 0.1 rateSkill = 2000.0 rateMagic = 2000.0 rateLoot = 5.0 rateSpawn = 30.0 -- Monster rates rateMonsterHealth = 1.0 rateMonsterMana = 1.0 rateMonsterAttack = 1.0 rateMonsterDefense = 1.0 -- Experience from players minLevelThresholdForKilledPlayer = 0.1 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.5 rateStaminaUnderNormal = 0.5 staminaThresholdOnlyPremium = true -- Party -- NOTE: experienceShareLevelDifference is float number. -- experienceShareLevelDifference is highestLevel * value experienceShareRadiusX = 3000 experienceShareRadiusY = 3000 experienceShareRadiusZ = 70 experienceShareLevelDifference = 1 / 3 extraPartyExperienceLimit = 20 extraPartyExperiencePercent = 5 experienceShareActivity = 2 * 60 * 100000 -- 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 = 50 -- Summons maxPlayerSummons = 3 teleportAllSummons = true teleportPlayerSummons = false -- Status ownerName = "Sub Soft" ownerEmail = "geanriot@hotmail.com" url = "pvpmasterup.servgame.com" 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
  10. as otra talk action nao vai funcionar msm pq o pet tem que estar envocado
  11. O F.oda é que ninguem consegue, pra fala a verdade nem eu consigui por isso,tipow n da erro e lugar nenhum só nun funciona quem tiver a solução posta aki
  12. add meu msn aew q t ajudo lah oks? nono.182@hotmail.com
  13. olha se você colocou tudo na pasta certinho vc entra em talckaction depois clica na pasta scripts depois cria uma pasta nova chamada pets(olha se o nome da pasta que vc criou é "pets" ou "pet" escreve exatamente assim "pets")e dentro da pasta pets vc coloca os arquivos pet,petgetiten,petcarry etc... espero ter ajudado,me fala se deu certo agora
  14. sem comentarios vamu lah xD Coloque essas tags no Talkaction: <talkaction words="!petinfo" script="pets/!petinfo.lua"/> <talkaction words="!petsay" script="pets/!petsay.lua"/> <talkaction words="!petcarry" script="pets/!petcarry.lua"/> <talkaction words="!pet" script="pets/!pet.lua"/> <talkaction words="!petattack" script="pets/!petattack.lua"/> <talkaction words="!petgetitem" script="pets/!petgetitem.lua"/> apos feito isso crie um arquivo na pasta do seu ot chamado petConfig.lua e nele cole isso: --// \\-- --( made by FedeVI ) -- --____________ //-- petSystemExhaustion = 1 --in secods, 0 = no exhausted. frases = {"Men, im still exhausted!", "Ok, in one momment", "afff, again?!", "meh, one second"} lenght = 39 -- maximun lenght the !petsay can have... manaGainTicks = 3000 -- --how fast the pet gains mana manaGainAmmount = 10 --// manaGainPerLevel = 20 -- mana that gains the pet for each level the player gain magicLevelRate = 4 -- how faster the pet will gain mlvl compared to real tibia,, base = 2000 --base storage. All storages will depend of this number storages = { petMag = base, petUid = base+1, petExha = base+2, petDamage = base+3, petManaSpent = base+4, petIsOnline = base+5, petMana = base+6, petIsHealing = base+7, petCap = base+8, petSystemExhaustion = base+9 } petItems = {} maxItems = 10 --Max items the pet can carry --lol V x = 0 y = function() x = x + 1 end table.foreach(storages, y) for i = 1, maxItems do petItems[i] = base+x+i end --Pets, dependiong on the level pets = { {vocations = {1, 5}, pets = {{level = 100, name = "demon"}, {level = 60, name = "Dragon"}, {level = 50, name = "Dwarf Gegmancers"}, {level = 40, name = "Demon Skeleton"}, {level = 30, name = "Fire Devil"}, {level = 20, name = "Minotaur Archer"}, {level = 10, name = "Minotaur"}, {level = 0, name = "Rat"}} }, {vocations = {2, 6}, pets = {{level = 100, name = "demon"}, {level = 60, name = "Dragon"}, {level = 50, name = "Dwarf Gegmancers"}, {level = 40, name = "Demon Skeleton"}, {level = 30, name = "Fire Devil"}, {level = 20, name = "Minotaur Archer"}, {level = 10, name = "Minotaur"}, {level = 0, name = "Rat"}} }, {vocations = {3, 7}, pets = {{level = 100, name = "demon"}, {level = 60, name = "Dragon"}, {level = 50, name = "Dwarf Gegmancers"}, {level = 40, name = "Demon Skeleton"}, {level = 30, name = "Fire Devil"}, {level = 20, name = "Minotaur Archer"}, {level = 10, name = "Minotaur"}, {level = 0, name = "Rat"}} }, {vocations = {4, 8}, pets = {{level = 100, name = "demon"}, {level = 60, name = "Dragon"}, {level = 50, name = "Dwarf Gegmancers"}, {level = 40, name = "Demon Skeleton"}, {level = 30, name = "Fire Devil"}, {level = 20, name = "Minotaur Archer"}, {level = 10, name = "Minotaur"}, {level = 0, name = "Cave Rat"}} } } --attacks of the pet. !petattack "param --It's pretty easy how to config, I think it doesn't need an extra explanation. attacks = {{param = "energy", theFunction = false, offensive = 1, needLevel = 20, self = 0, needMag = 10, manaSpent = 60, exhausted = 1, range = 6, combatType = COMBAT_ENERGYDAMAGE, combatAni = CONST_ME_ENERGYAREA, area = 2, formula = {maxb = 0.4, maxa = 30, minb = 0.5, mina = 0}, }, {param = "exori", theFunction = false, offensive = 1, needLevel = 40, self = 0, needMag = 5, manaSpent = 145, exhausted = 1, range = 0, combatType = COMBAT_PHYSICALDAMAGE, combatAni = CONST_ME_HITAREA, area = 2, formula = {maxb = 0.6, maxa = 30, minb = 1.2, mina = 0}, }, {param = "fireball", theFunction = false, offensive = 1, needLevel = 50, self = 0, needMag = 15, manaSpent = 100, exhausted = 1, range = 3, combatType = COMBAT_FIREDAMAGE, combatAni = CONST_ME_FIREAREA, area = 6, formula = {maxb = 0.6, maxa = 30, minb = 1.2, mina = 0} }, {param = "mini energy", theFunction = false, offensive = 1, needLevel = 0, self = 0, needMag = 0, manaSpent = 20, exhausted = 1, range = 1, combatType = COMBAT_ENERGYDAMAGE, combatAni = CONST_ME_ENERGYAREA, area = 1, formula = {maxb = 0.13, maxa = 0, minb = 0.262, mina = 0} }, {param = "health", theFunction = false, offensive = -1, needLevel = 10, self = 1, needMag = 0, manaSpent = 100, exhausted = 2, range = 0, combatType = COMBAT_HEALING, combatAni = CONST_ME_MAGIC_BLUE, area = 1, formula = {maxb = 0.4, maxa = 20, minb = 0.7, mina = 0} }, {param = "paralize", needLevel = 1, needMag = 0, manaSpent = 300, exhausted = 2, theFunction = function (parameters) daPet = getPlayerStorageValue(parameters.cid, storages.petUid) if getCreatureTarget(daPet) ~= 0 then doAddCondition(getCreatureTarget(parameters.cid), 4) end end }, {param = "speed", needLevel = 10, needMag = 4, manaSpent = 60, exhausted = 2, theFunction = function (parameters) doAddCondition(getPlayerStorageValue(parameters.cid, storages.petUid), 11) end }, {param = "double fire", needLevel = 1, needMag = 0, manaSpent = 100, exhausted = 2, theFunction = function (parameters) local myAttack = formulaAttack(getPlayerLevel(parameters.cid), getPlayerStorageValue(parameters.cid, storages.petMag), 0.7, 0, 1.0, 0) function doAreaCombatHealthEx(params) local randoms = {[1] = math.random(-2, 2), [2] = math.random(-2, 2) } local attackCreature = getPlayerStorageValue(parameters.cid, storages.petUid) if getCreatureTarget(getPlayerStorageValue(parameters.cid, storages.petUid)) ~= 0 then attackCreature = getCreatureTarget(getPlayerStorageValue(parameters.cid, storages.petUid)) end local posa = getCreaturePosition(attackCreature) doAreaCombatHealth(getPlayerStorageValue(parameters.cid, storages.petUid), COMBAT_FIREDAMAGE, {x = posa.x + randoms[1], y = posa.y + randoms[2], z = posa.z}, 1, -params.myAttack.minD, -params.myAttack.maxD, CONST_ME_FIREAREA) doSendDistanceShoot(getCreaturePosition(getPlayerStorageValue(parameters.cid, storages.petUid)), {x = posa.x + randoms[1], y = posa.y + randoms[2], z = posa.z}, CONST_ANI_FIRE) end doAreaCombatHealthEx({cid = parameters.cid, target = getCreaturePosition(attackCreature), myAttack = myAttack}) for i = 1, 7 do addEvent(doAreaCombatHealthEx, 200*i, {cid = parameters.cid, target = getCreaturePosition(attackCreature), myAttack = myAttack}) end end } } function setExhausted(cid) setPlayerStorageValue(cid, storages.petSystemExhaustion, os.clock()+1) end function formulaAttack(magicLevel, level, maxb, maxa, minb, mina) return {minD = (level * 2 + magicLevel * 3) * (1 + mina) + minb, maxD = (level * 2 + magicLevel * 3) * (1 + maxb) + maxa } end function isExhausted(cid) if isPlayer(cid) == 1 then local CRONOMETRO = getPlayerStorageValue(cid, storages.petSystemExhaustion) local CRONOMETRO2 = os.clock() local TIEMPO = os.difftime(CRONOMETRO2, CRONOMETRO) if petSystemExhaustion - TIEMPO > petSystemExhaustion or CRONOMETRO == -1 then setPlayerStorageValue(cid, storages.petSystemExhaustion, CRONOMETRO2+1) return 0 end if petSystemExhaustion - TIEMPO <= 0 then return 0 end end return 1 end function addMana(a) local cid = a.cid local petManaMax = getPlayerLevel(cid)*manaGainPerLevel if getPlayerStorageValue(cid, storages.petMana) < petManaMax then if petManaMax - getPlayerStorageValue(cid, storages.petMana) < 10 then setPlayerStorageValue(cid, storages.petMana, getPlayerStorageValue(cid, storages.petMana) + petManaMax - getPlayerStorageValue(cid, storages.petMana)) else setPlayerStorageValue(cid, storages.petMana, getPlayerStorageValue(cid, storages.petMana) + 10) end addEvent(addMana, manaGainTicks, {cid = cid}) else setPlayerStorageValue(cid, storages.petIsHealing, 0) end end function onLogout(cid) if isCreature(getPlayerStorageValue(cid, storages.petUid)) == 1 then if getPlayerStorageValue(cid, storages.petIsOnline) == 2 then setPlayerStorageValue(cid, storages.petIsOnline, 1) end end return TRUE end apos ter feito isso va na pasta: data\talkactions\scripts crie uma pasta chamada "pets" e dentro crie os seguintes arquivos: !petinfo.lua dofile("./petConfig.lua") function onSay(cid, words, param) if isExhausted(cid) == 1 then return 0 end local request = 0 local daPet = getPlayerStorageValue(cid, storages.petUid) if isCreature(daPet) == 1 then param = string.lower(param) if param == "magic level" then request = getPlayerStorageValue(cid, storages.petMag) elseif param == "mana" then request = getPlayerStorageValue(cid, storages.petMana) elseif param == "health" then request = getCreatureHealth(daPet) end if request ~= 0 then doPlayerSendTextMessage(cid, 19, 'Pet ' .. param .. ': ' .. request .. '.') end else doPlayerSendCancel(cid, 'You haven\'t call your pet!') end return setExhausted(cid) end !petsay.lua dofile("./petConfig.lua") function onSay(cid, words, param) if isExhausted(cid) == 1 then return 0 end local daPet = getPlayerStorageValue(cid, storages.petUid) if isCreature(daPet) == 1 then if param ~= nil then if string.len(param) < lenght then doCreatureSay(daPet, '' .. param .. '', TALKTYPE_ORANGE_1) else doPlayerSendCancel(cid, 'No more than ' .. lenght .. ' character. ') end else doPlayerSendCancel(cid, 'You must enter a text') end else doPlayerSendCancel(cid, 'You haven\'t call your pet!') end return setExhausted(cid) end !petcarry.lua dofile("./petConfig.lua") function onSay(cid, words, param) if isExhausted(cid) == 1 then return 0 end local mySto = 0 local daPet = getPlayerStorageValue(cid, storages.petUid) if isCreature(daPet) == 1 then local pos = getCreaturePosition(daPet) local a = 1 while a < 10 do if getItemWeight(getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = a}).itemid, 1) ~= 0 then break end a = a + 1 end local carryingItem = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = a}) if getItemWeight(carryingItem.itemid, 1) ~= 0 then if isContainer(carryingItem.uid) == 0 then for b = 1, #petItems do if getPlayerStorageValue(cid, petItems[b]) == 0 or getPlayerStorageValue(cid, petItems[b]) == -1 then mySto = b break end end local count = 1 if mySto ~= 0 then local theID = carryingItem.itemid if isItemStackable(theID) == 1 then count = carryingItem.type doRemoveItem(carryingItem.uid, carryingItem.type) else doRemoveItem(carryingItem.uid, 1) end setPlayerStorageValue(cid, petItems[mySto], theID*100+count) if count == 1 then doCreatureSay(daPet, 'Hmm, a ' .. getItemName(theID) .. ', I\'ll save it on my bag number ' .. mySto .. '!', TALKTYPE_ORANGE_1) else doCreatureSay(daPet, 'Hmm, ' .. count .. ' ' .. getItemName(theID) .. 's, I\'ll save them on my bag number ' .. mySto .. '!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, 'I have no space!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, 'I can\'t take containers!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, 'I can\'t see any item!', TALKTYPE_ORANGE_1) end else doPlayerSendCancel(cid, 'You haven\'t call your pet!') end return setExhausted(cid) end !pet.lua dofile("./petConfig.lua") function doPlayerAddSummon(cid, name, pos) local MyCreature = doSummonCreature(name, pos) doConvinceCreature(cid, MyCreature) return MyCreature end local myPet = "" local myPetUid = 0 function onSay(cid, words, param) if isExhausted(cid) == 1 then return 0 end if getPlayerStorageValue(cid, storages.petMag) == -1 then setPlayerStorageValue(cid, storages.petMag, 0) end if isCreature(getPlayerStorageValue(cid, storages.petUid)) == 0 then if getTilePzInfo(getCreaturePosition(cid)) == 0 then if getPlayerStorageValue(cid, storages.petIsOnline) == 1 or getPlayerStorageValue(cid, storages.petIsOnline) == -1 then for i = 1, #pets do if isInArray(pets[i].vocations, getPlayerVocation(cid)) == 1 then for k = 1, #pets[i].pets do if pets[i].pets[k].level <= getPlayerLevel(cid) then myPet = pets[i].pets[k].name break end end break end end myPetUid = doPlayerAddSummon(cid, myPet, getCreaturePosition(cid)) if myPetUid ~= -1 then setPlayerStorageValue(cid, storages.petUid, myPetUid) if getPlayerStorageValue(cid, storages.petDamage) ~= 0 and getPlayerStorageValue(cid, storages.petDamage) ~= -1 then if getPlayerStorageValue(cid, storages.petDamage) < getCreatureMaxHealth(getPlayerStorageValue(cid, storages.petUid)) then doCreatureAddHealth(getPlayerStorageValue(cid, storages.petUid), getPlayerStorageValue(cid, storages.petDamage)*-1) end end doChangeSpeed(myPetUid, getCreatureBaseSpeed(cid) - getCreatureBaseSpeed(myPetUid)) doCreatureSay(myPetUid, 'Hello!', TALKTYPE_ORANGE_1) addMana({cid = cid}) setPlayerStorageValue(cid, storages.petIsOnline, 2) else doPlayerSendCancel(cid, 'Not enought room.') end else doPlayerSendCancel(cid, 'Your pet died! You have to revive it.') end else doPlayerSendCancel(cid, 'You cannot summon your pet in PZ.') end else local daPet = getPlayerStorageValue(cid, storages.petUid) setPlayerStorageValue(cid, storages.petDamage, getCreatureMaxHealth(daPet) - getCreatureHealth(daPet)) doCreatureSay(daPet, 'Byebye !', TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, storages.petIsOnline, 1) doSendMagicEffect(getCreaturePosition(daPet), CONST_ME_POFF) doRemoveCreature(daPet) end return setExhausted(cid) end !petattack.lua dofile("./petConfig.lua") function onSay(cid, words, param) if isExhausted(cid) == 1 then return 0 end local lookDirs = {[0] = {x = 0, y = -1}, [1] = {x = 1, y = 0}, [2] = {x = 0, y = 1}, [3] = {x = -1, y = 0} } local myAttack = 0 local CRONOMETRO = 0 local CRONOMETRO2 = 0 local TIEMPO = 0 function formulaAttack(magicLevel, level, maxb, maxa, minb, mina) return {minD = (level * 2 + magicLevel * 3) * (1 + mina) + minb, maxD = (level * 2 + magicLevel * 3) * (1 + maxb) + maxa } end function getPetMlvl(manaSpent) local i = 0 while manaSpent >= (1600 * (1.2^i))*magicLevelRate do i = i + 1 end return i end local daPet = getPlayerStorageValue(cid, storages.petUid) if isCreature(daPet) == 1 then if param ~= nil then param = string.lower(param) local petPos = getCreaturePosition(daPet) local lookDir = getPlayerLookDir(cid) -- getPlayerLookDir(daPet plz ! ! !) local damage = {} CRONOMETRO = getPlayerStorageValue(cid, storages.petExha) CRONOMETRO2 = os.clock() TIEMPO = os.difftime(CRONOMETRO2, CRONOMETRO) for i = 1, #attacks do if param == attacks[i].param then myAttack = i break end end if myAttack ~= 0 then if attacks[myAttack].exhausted - TIEMPO > attacks[myAttack].exhausted or CRONOMETRO == -1 then setPlayerStorageValue(cid, storages.petExha, CRONOMETRO2+1) end if getPlayerStorageValue(cid, storages.petMana) >= attacks[myAttack].manaSpent then if attacks[myAttack].needLevel <= getPlayerLevel(cid) then if attacks[myAttack].needMag <= getPlayerStorageValue(cid, storages.petMag) then if attacks[myAttack].exhausted - TIEMPO <= 0 then if attacks[myAttack].theFunction == false then damage = formulaAttack(getPlayerStorageValue(cid, storages.petMag), getPlayerLevel(cid), attacks[myAttack].formula.maxb, attacks[myAttack].formula.maxa, attacks[myAttack].formula.minb, attacks[myAttack].formula.mina) doAreaCombatHealth(daPet*((attacks[myAttack].self - 1)*-1), attacks[myAttack].combatType, {x = petPos.x + attacks[myAttack].range*lookDirs[lookDir].x, y = petPos.y + attacks[myAttack].range*lookDirs[lookDir].y, z = petPos.z}, attacks[myAttack].area, math.floor(damage.minD*-1*attacks[myAttack].offensive), math.floor(damage.maxD*-1*attacks[myAttack].offensive), attacks[myAttack].combatAni) else attacks[myAttack].theFunction({cid = cid, words = words, param = param}) end doCreatureSay(daPet, '' .. param .. '!', TALKTYPE_ORANGE_1) if getPlayerStorageValue(cid, storages.petIsHealing) == 0 or getPlayerStorageValue(cid, storages.petIsHealing) == -1 then addEvent(addMana, manaGainTicks, {cid = cid}) setPlayerStorageValue(cid, storages.petIsHealing, 1) end setPlayerStorageValue(cid, storages.petExha, CRONOMETRO2+1) setPlayerStorageValue(cid, storages.petManaSpent, getPlayerStorageValue(cid, storages.petManaSpent) + attacks[myAttack].manaSpent) setPlayerStorageValue(cid, storages.petMana, getPlayerStorageValue(cid, storages.petMana) - attacks[myAttack].manaSpent) if getPetMlvl(getPlayerStorageValue(cid, storages.petManaSpent)) > getPlayerStorageValue(cid, storages.petMag) then setPlayerStorageValue(cid, storages.petMag, getPetMlvl(getPlayerStorageValue(cid, storages.petManaSpent))) doCreatureSay(daPet, 'You advanced to magic level ' .. getPlayerStorageValue(cid, storages.petMag) .. '!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, '' .. frases[math.random(1, #frases)] .. '!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, 'My magic level is too low!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, 'AAh Im out of mana!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, 'Woups! I can\'t use that spell yet', TALKTYPE_ORANGE_1) end else ----------------special attacks ?---------------------- end else doPlayerSendCancel(cid, 'You must spesific a spell.') end else doPlayerSendCancel(cid, 'You haven\'t call your pet!.') end return setExhausted(cid) end !petgetitem.lua dofile("./petConfig.lua") function onSay(cid, words, param) if isExhausted(cid) == 1 then return 0 end local daPet = getPlayerStorageValue(cid, storages.petUid) if isCreature(daPet) == 1 then if param ~= "" then param = tonumber(param) if type(param) == "number" then if param <= maxItems then if getPlayerStorageValue(cid, petItems[param]) ~= 0 and getPlayerStorageValue(cid, petItems[param]) ~= -1 then local that = getPlayerStorageValue(cid, petItems[param]) local item = math.floor(that/100) local count = that-item*100 doPlayerAddItem(cid, item, count) if count == 1 then doCreatureSay(daPet, 'Here is your ' .. getItemName(item) .. '', TALKTYPE_ORANGE_1) else doCreatureSay(daPet, 'Here are your ' .. count .. ' ' .. getItemName(item) .. 's', TALKTYPE_ORANGE_1) end setPlayerStorageValue(cid, petItems[param], 0) end end end end end return setExhausted(cid) end Agora em data/npc adicione o seguinte arquivo: Peter Revive.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Buff NPC" script="data/npc/scripts/previver.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="132" head="20" body="39" legs="45" feet="7" addons="3"/> agora em data/npc/scripts/ adicione o segunite arquivo previver.lua e cole isso: local focus = 0 local talk_start = 0 local talk_state = 0 local costPerLevel = 300 dofile("./petConfig.lua") function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('How rude!.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if getDistanceToCreature(cid) < 4 then if (msgcontains(msg, 'hi') and (focus == 0)) then selfSay('Hello ' .. creatureGetName(cid) .. '! I can take you to the train!') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) then selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.') end if msgcontains(msg, 'revive') and focus == cid then if isCreature(getPlayerStorageValue(cid, storages.petUid)) == 0 then if getPlayerStorageValue(cid, storages.petIsOnline) == 2 then selfSay('YOUR PET DIED?!, YOU\'R A BAD OWNER, THIS WILL COST YOU ' .. getPlayerLevel(cid)*costPerLevel .. ' GOLD COINS!, AGREE?!') talk_state = 1 else selfSay('Your pet is alive.') end else selfSay('Your pet is standing next to you.') end talk_start = os.clock() end if msgcontains(msg, 'yes') and focus == cid and talk_state == 1 then if doPlayerRemoveMoney(cid, getPlayerLevel(cid)*costPerLevel) == 1 then setPlayerStorageValue(cid, storages.petIsOnline, 1) selfSay('You can now summon again your pet.') else selfSay('You don\'t have enought money.') end talk_state = 0 talk_start = os.clock() end if msgcontains(msg, 'bye') then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 talk_state = 0 end end end function onCreatureChangeOutfit(creature) end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Next Please...') end focus = 0 talk_state = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then talk_state = 0 selfSay('Good bye then.') talk_state = 0 focus = 0 end end end agora com o script pronto vamos as explicações: para saber informações do pet escreva: !petinfo "magic level (informa a quantidade de ML q seu pet tm !petinfo "mana (informa a quantidade de mana que o seu pet esta) !petinfo "health (informa a quantidade de hp que o seu pet tem !petsay: Este comando permite que você faça seu pet falar o que voce quer. Por exemplo: !petsay "Eu sou um demonio!. !petcarry: Com este comando você pode fazer seu animal de estimação levar itens. O item deve ser abaixo do animal de estimação.Após isso o seu pet guardara o iten na Bolsa dele. !pet : serve para colocar ou gradar seu pet !petattack : serve para o seu pet ataca com uma magia(obs:o pet só ataca com as magias dele),abaixo a lista de magias que o pet pode usar !petattack "energy Level necessário :20 !petattack "exori Level necessário :40 !petattack "fireball Level necessário :50 !petattack "mini energy Level necessário :0 !petattack "health Level necessário :10 !petattack "paralize Level necessário :1 !petattack "speed Level necessário :10 !petattack "speed Level necessário :10 !petattack "double fire Level necessário :1 espero que isso tenha esplicado e ajudado vocês a intenderem como funcionam tutorial feito por min comentem ^^
  15. Almentei o lvl maximo de upgrade dos iten,a chance de falha,e a quantidade do upgrade se vcs kerem mudanças drasticas estou editando otro aki
  16. LOL Nao mudei só o idioma se vc tivesse prestado atenção nu script original i nesse ia ve q nao é só o idioma mudado :Z cuidado antes de fala coisas os unicos erros de portugês que tem nesse script é os acentos '--
  17. E aew pessoal hoje to fazendo mais um post aki no xtbia um sistema de refinamento usado em muitos ots,porém esse coloquei umas modificações e passei para portugês. Vamos lah... primeiro abra o bloco de notas e cole isso: local gain = { gainArmor='&p+5',loseArmor='&p-5', gainShield='&s+#',loseShield='&s-(#+7)', gainAttack='&a+#+1',loseAttack='&a-(#+4)-2', gainDefense='&d+#+2',loseDefense='&d-(#+4)-2', chance='75/((#*(1/(@/2)))*(@/2))', -- Essa equação é boa para ficar perfeito seu refinamento --- Se você colocar "chance=100" sempre irá funcionar o upgrade e se colocar chance=0 sempre ira falhar maxlvl = 10, blocked_ids = {2488,8881} } -- &a = weapon attack -- &d = weapon defense -- &s = shield defense -- &p = armor defense -- # = weapon curr level -- @ = max level function isArmor(uid) -- Function by Mock the bear. uid = uid or 0 if getItemArmor(uid) > 0 and getItemAttack(uid) == 0 and getItemDefense(uid) == 0 and getItemWeaponType(uid) == 0 then return TRUE end return FALSE end function isWeapon(uid) -- Function by Mock the bear. uid = uid or 0 local f = getItemWeaponType(uid) if f == 1 or f == 2 or f == 3 then return TRUE end return FALSE end function isShield(uid) -- Function by Mock the bear. uid = uid or 0 if getItemWeaponType(uid) == 4 then return TRUE end return FALSE end function getWeaponLevel(uid) -- Function by Mock the bear. uid = uid or 0 local name = getItemName(uid) local _,_,lvl = string.find(name,'+(%d+)') return tonumber(lvl) or 0 end function doTransform(s,uid) -- Function by Mock the bear. local c = string.gsub(s,'@',gain.maxlvl) local c = string.gsub(c,'&a',getItemAttack(uid)) local c = string.gsub(c,'&d',getItemDefense(uid)) local c = string.gsub(c,'&s',getItemDefense(uid)) local c = string.gsub(c,'&p',getItemArmor(uid)) local c = string.gsub(c,'#',getWeaponLevel(uid)) local q,err = loadstring('return '..c) assert(q,err) return assert(q()) end function onUse(cid, item, fromPosition, itemEx, toPosition) toPosition.stackpos = 255 if isInArray(gain.blocked_ids, itemEx.itemid) == TRUE or getItemWeaponType(itemEx.uid) > 4 or (getItemWeaponType(itemEx.uid) == 0 and isArmor(itemEx.uid) == FALSE) or itemEx.itemid == 0 then doPlayerSendTextMessage(cid, 24,"Você não pode refinar esse item.") return TRUE end if isCreature(itemEx.uid) == TRUE then return FALSE end local level = getWeaponLevel(itemEx.uid) local chance = doTransform(gain.chance,itemEx.uid) if chance >= math.random(0,100) or item.actionid >= 1000 then if level+1 > gain.maxlvl then doSendMagicEffect(toPosition, 2) return doPlayerSendTextMessage(cid, 24,"Seu Item esta no nivel maximo,nao pode mais fazer upgrade nele.") else setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level+1)) doPlayerSendTextMessage(cid, 24,"Seu item foi almentado para +"..(level+1)..".") doSendMagicEffect(toPosition, 39) if isArmor(itemEx.uid) == TRUE then local get = doTransform(gain.gainArmor,itemEx.uid) setItemArmor(itemEx.uid,get) elseif isWeapon(itemEx.uid) == TRUE then setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx.uid)) setItemDefense(itemEx.uid, doTransform(gain.gainDefense,itemEx.uid)) elseif isShield(itemEx.uid) == TRUE then setItemDefense(itemEx.uid, doTransform(gain.gainShield,itemEx.uid)) end end else if level == 0 then doPlayerSendTextMessage(cid, 24,"No effect.") doSendMagicEffect(toPosition, 2) elseif level == gain.maxlvl then doSendMagicEffect(toPosition, 2) return doPlayerSendTextMessage(cid, 24,"Seu Item esta no nivel maximo,nao pode mais ser feito upgrade.") elseif level > 0 then if level == 1 then setItemName(itemEx.uid, getItemNameById(itemEx.itemid)) doPlayerSendTextMessage(cid, 24,"Seu item voltou ao normal.") else setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level-1)) doPlayerSendTextMessage(cid, 24,"Seu Item voltou para +"..(level-1)..".") end if isArmor(itemEx.uid) == TRUE then setItemArmor(itemEx.uid,doTransform(gain.loseArmor,itemEx.uid)) elseif isWeapon(itemEx.uid) == TRUE then setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx.uid)) setItemDefense(itemEx.uid, doTransform(gain.loseDefense,itemEx.uid)) elseif isShield(itemEx.uid) == TRUE then setItemDefense(itemEx.uid, doTransform(gain.loseShield,itemEx.uid)) end end doSendMagicEffect(toPosition, 15) end doRemoveItem(item.uid,1) return TRUE end Agora salve ele como upgrade.lua na pasta scripts agora em actions.xml adicione essa linha <action itemid="8306" script="upgrade.lua"/> e pronto seu script esta feito!!! mudanças: * Script atualizado para português * diminuido a chance de sucesso do upgrade(se nao todos no ot vai ter os itens fortes) * almentado os pontos que ganha quando o upgrade tem sucesso * almentado os pontos que perde quando o upgrade falha espero que vocês gostem do novo script créditos 98% para Mock(criador do script) e 2 % para min pelas mudanças. atualizado
  18. nono182

    Gosma Verde

    crie um arquivo chamado : gosma verde.xml e adicione isso e salve em data/monsters: <?xml version="1.0" encoding="UTF-8"?> <monster name="Gosma Verdi" nameDescription="do gosma verde" race="venom" experience="450" speed="350" manacost="0"> <health now="5000" max="5000"/> <look type="314" corpse="9962"/> <targetchange interval="5000" chance="0"/> <strategy attack="150" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="85"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" min="-0" max="-80"/> <attack name="earth" interval="3000" chance="25" radius="4" min="-10" max="-22"> <attribute key="areaEffect" value="greenspark"/> </attack> <attack name="earth" interval="3000" chance="8" length="5" spread="0" min="-49" max="-54"> <attribute key="areaEffect" value="poison"/> </attack> </attacks> <defenses armor="10" defense="10"/> <immunities> <immunity earth="1"/> </immunities> <elements> <element firePercent="-5"/> <element icePercent="8"/> <element energyPercent="-10"/> </elements> <summons maxSummons="2"> <summon name="Demon" interval="4000" chance="8"/> </summons> <voices interval="5000" chance="10"/> <loot> <item id="2160" chance="1000"/><!-- cristal coin --> </loot> </monster> apos feito isso adicione essa linha em monster.xml <monster name="Acid Blob" file="gosma verde.xml"/> é isso espero que gostem... comentem
  19. :blink: kra se ja jogo Flyff?? lah chama pedra do sol,até +3 ele faz upgrade sem problemas dpois de mais tres ele quebra o item se vc tiver azar,ele só nao quebra se vc usar um tal de pergaminho de proteção q é bem karo 15 milhoes lah noo flyff vo tenta da um jeito aki pa vc, upgrade +3 e dpois quebra o iten se tiver azar
  20. vlws aew todos os comentarios jaja vou colocar ele perfect sem esse "LOT" que quase ninguem gostou,como eu tinha dito bom pra serv de exp alta <?xml version="1.0" encoding="UTF-8"?> <monster name="Metamorfo" nameDescription="do metamorfo" race="fire" experience="45000" speed="500" manacost="0"> <health now="100000" max="100000"/> <look type="12" head="0" body="101" legs="0" feet="101" corpse="6068"/> <targetchange interval="5000" chance="20"/> <strategy attack="65" defense="5"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="Frozen Wave" interval="1000" min="-600" max="-1200"/> <attack name="Eternal Winter" interval="2000" min="-600" max="-1200"/> <attack name="Exkordium" interval="3000" min="-600" max="-1200"/> <attack name="Ice Storm" interval="4000" min="-600" max="-1200"/> <attack name="Fierce Berserk" interval="1500" min="-600" max="-1200"/> <attack name="Hells Core" interval="2500" min="-600" max="-1200"/> </attacks> <defenses armor="188" defense="145"> <defense name="healing" interval="1000" chance="15" min="1000" max="3000"> </defense> <defense name="outfit" interval="0" chance="60" monster="apocalypse" duration="0"> </defense> <defense name="outfit" interval="0" chance="60" monster="mutant angel" duration="0"> </defense> <defense name="outfit" interval="0" chance="60" monster="zugurosh" duration="0"> </defense> <defense name="outfit" interval="0" chance="60" monster="Lord Knight" duration="0"> </defense> <defense name="speed" interval="2000" chance="8" speedchange="360" duration="6000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <immunities> <immunity physical="0"/> <immunity energy="1"/> <immunity fire="1"/> <immunity poison="1"/> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity outfit="1"/> <immunity drunk="1"/> <immunity invisible="1"/> </immunities> <loot> <item id="2142" countmax="1" chance="3500"/> <item id="2160" countmax="5" chance="9000"/> <item id="5926" chance="100000"> <inside> <item id="2197" countmax="20" chance="4000"/> <item id="7753" countmax="1" chance="13000"/> </inside> </item> </loot> </monster> AXU que agora ta melhor de lot comentem aew
  21. Concordo tem muito loot ai, mas de resto gostei muito, tb ja tinha visto algo assim, e ate criei um monstro a partir de parte desse script, a parte de mudar outfit. Mas uma pergunta, ele so muda com os 5 ultimos adicionados, nao e?? Não vc add o tanto de monstro que vc quiser... mais se forem da mesma cor não vai ter graça porque vai dar emprensão de que não mudou nada
  22. Então coloque todos os monstros do seu ot que tenham o outfit 12 e se precisar faça ate msmo alguns monstros para ficar mais legal, se vc quiser add os monstro citados acima eu coloco os que estiverem faltando Multant angel: <?xml version="1.0" encoding="UTF-8"?> <monster name="Mutant Angel" nameDescription="mutant angel" race="fire" experience="45000" speed="500" manacost="0"> <health now="100000" max="100000"/> <look type="12" head="0" body="87" legs="0" feet="94" corpse="6068"/> <targetchange interval="5000" chance="20"/> <strategy attack="65" defense="5"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="Light Chain" interval="1000" min="-600" max="-1200"/> <attack name="Frozen Wave" interval="2000" min="-600" max="-1200"/> <attack name="Eternal Winter" interval="3000" min="-600" max="-1200"/> <attack name="Exkordium" interval="4000" min="-600" max="-1200"/> <attack name="Ice Storm" interval="5000" min="-600" max="-1200"/> <attack name="Fierce Berserk" interval="2500" min="-600" max="-1200"/> <attack name="Hells Core" interval="3500" min="-600" max="-1200"/> </attacks> <defenses armor="188" defense="145"> <defense name="healing" interval="1000" chance="15" min="1000" max="3000"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="speed" interval="2000" chance="8" speedchange="480" duration="6000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <immunities> <immunity physical="0"/> <immunity energy="1"/> <immunity fire="1"/> <immunity poison="1"/> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity outfit="1"/> <immunity drunk="1"/> <immunity invisible="1"/> </immunities> <loot> <item id="2142" countmax="1" chance="3500"/> <item id="2160" countmax="10" chance="9000"/> <item id="2160" countmax="5" chance="9000"/> <item id="2151" countmax="40" chance="15000"/> <item id="2472" countmax="1" chance="3000"/> <item id="2514" countmax="1" chance="7500"/> <item id="2539" countmax="1" chance="5000"/> <item id="2157" countmax="10" chance="4000"/> <item id="5926" chance="100000"> <inside> <item id="2197" countmax="20" chance="4000"/> <item id="7745" countmax="1" chance="2600"/> <item id="2453" countmax="1" chance="12500"/> <item id="7753" countmax="1" chance="13000"/> <item id="7755" countmax="1" chance="3500"/> <item id="8870" countmax="1" chance="13000"/> <item id="8871" countmax="1" chance="15500"/> </inside> </item> </loot> </monster> Lord Knight <?xml version="1.0" encoding="UTF-8"?> <monster name="Lord Knight" nameDescription="a lord knight" race="blood" experience="17000" speed="600" manacost="0"> <health now="25000" max="25000"/> <look type="12" head="20" body="30" legs="40" feet="50" corpse="2916"/> <targetchange interval="60000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag staticattack="45"/> <flag lightlevel="0"/> <flag lightcolor="0"/> <flag targetdistance="1"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" min="-410" max="-1090"/> <attack name="fire field" interval="7500" chance="75"/> <attack name="great energy beam" interval="7000" chance="60" min="-600" max="-700"/> <attack name="great fireball" interval="3000" chance="50" min="-300" max="-750"/> <attack name="orshabaal berserk" interval="8000" chance="55"/> <attack name="mana drain" interval="4000" chance="30"/> </attacks> <defenses armor="56" defense="60"> <defense name="light healing" interval="5000" chance="60" min="20" max="70"/> </defenses> <immunities> <immunity physical="0"/> <immunity energy="1"/> <immunity fire="1"/> <immunity poison="1"/> <immunity lifedrain="0"/> <immunity paralyze="1"/> <immunity outfit="0"/> <immunity drunk="1"/> <immunity invisible="1"/> </immunities> <summons maxSummons="2"> <summon name="Demon" interval="1000" chance="10"/> </summons> <voices interval="2000" chance="5"> <voice sentence="PRAISED BE MY MASTERS, THE RUTHLESS SEVEN!"/> <voice sentence="MUAHAHAHAHA!"/> </voices> <loot> <item id="2152" countmax="7" chance1="50000" chancemax="0"/> <item id="2393" chance="1000"/> <item id="5891" chance="1000"/> <item id="2470" chance="2000"/> <item id="2508" chance="1000"/> <item id="2522" chance="1333"/> <item id="2452" chance="1333"/> <item id="2447" chance="1333"/> <item id="7391" countmax="1" chance="3000"/> <item id="2158" chance="1000"/> <item id="2319" chance="8000"/> <item id="2517" chance="5000"/> <item id="2462" chance="5000"/> <item id="2157" countmax="2" chance1="9000" chancemax="0"/> <item id="2153" chance="5000"/> <item id="2472" chance="1857"/> <item id="2004" chance="33333"> <inside> <item id="2148" countmax="100" chance1="100000" chancemax="0"/> <item id="2148" countmax="100" chance1="50000" chancemax="0"/> <item id="2148" countmax="100" chance1="50000" chancemax="0"/> <item id="2178" chance="10000"/> <item id="2402" chance="5000"/> <item id="2646" chance="3333"/> </inside> </item> </loot> </monster> agora dah certo flw
  23. Venho aqui para apresentar meu primeiro post aki no XTbia e mostrar meu primeiro monstro Descrição ele fica mudando de cor direto como se fosse dele mesmo e não que esta mudando aparencia para outro monstro. Então vamos lah! Crie um arquivo na pasta demon bosses chamado metamorfo.xml <?xml version="1.0" encoding="UTF-8"?> <monster name="Metamorfo" nameDescription="do metamorfo" race="fire" experience="45000" speed="500" manacost="0"> <health now="100000" max="100000"/> <look type="12" head="0" body="101" legs="0" feet="101" corpse="6068"/> <targetchange interval="5000" chance="20"/> <strategy attack="65" defense="5"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="Frozen Wave" interval="1000" min="-600" max="-1200"/> <attack name="Eternal Winter" interval="2000" min="-600" max="-1200"/> <attack name="Exkordium" interval="3000" min="-600" max="-1200"/> <attack name="Ice Storm" interval="4000" min="-600" max="-1200"/> <attack name="Fierce Berserk" interval="1500" min="-600" max="-1200"/> <attack name="Hells Core" interval="2500" min="-600" max="-1200"/> </attacks> <defenses armor="188" defense="145"> <defense name="healing" interval="1000" chance="15" min="1000" max="3000"> </defense> <defense name="outfit" interval="0" chance="60" monster="apocalypse" duration="0"> </defense> <defense name="outfit" interval="0" chance="60" monster="mutant angel" duration="0"> </defense> <defense name="outfit" interval="0" chance="60" monster="zugurosh" duration="0"> </defense> <defense name="outfit" interval="0" chance="60" monster="Lord Knight" duration="0"> </defense> <defense name="speed" interval="2000" chance="8" speedchange="360" duration="6000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <immunities> <immunity physical="0"/> <immunity energy="1"/> <immunity fire="1"/> <immunity poison="1"/> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity outfit="1"/> <immunity drunk="1"/> <immunity invisible="1"/> </immunities> <loot> <item id="2142" countmax="1" chance="3500"/> <item id="2160" countmax="10" chance="9000"/> <item id="2160" countmax="5" chance="9000"/> <item id="2151" countmax="40" chance="15000"/> <item id="2158" countmax="1" chance="1500"/> <item id="2646" countmax="1" chance="4000"/> <item id="2159" countmax="50" chance="2500"/> <item id="2173" countmax="1" chance="1500"/> <item id="2127" countmax="1" chance="5500"/> <item id="2520" countmax="1" chance="15500"/> <item id="2342" countmax="1" chance="11000"/> <item id="2390" countmax="1" chance="90000"/> <item id="6528" countmax="1" chance="4500"/> <item id="2167" countmax="1" chance="13500"/> <item id="7456" countmax="1" chance="17000"/> <item id="2179" countmax="1" chance="8000"/> <item id="2470" countmax="1" chance="5000"/> <item id="2523" countmax="1" chance="2000"/> <item id="2155" countmax="1" chance="1500"/> <item id="2472" countmax="1" chance="3000"/> <item id="2514" countmax="1" chance="7500"/> <item id="2539" countmax="1" chance="5000"/> <item id="2157" countmax="10" chance="4000"/> <item id="5926" chance="100000"> <inside> <item id="2197" countmax="20" chance="4000"/> <item id="7745" countmax="1" chance="2600"/> <item id="2453" countmax="1" chance="12500"/> <item id="7753" countmax="1" chance="13000"/> <item id="7755" countmax="1" chance="3500"/> <item id="8870" countmax="1" chance="13000"/> <item id="8871" countmax="1" chance="15500"/> <item id="8892" countmax="1" chance="5000"/> <item id="8900" countmax="1" chance="13500"/> <item id="8901" countmax="1" chance="9500"/> <item id="8902" countmax="1" chance="15500"/> <item id="8903" countmax="1" chance="13500"/> <item id="8904" countmax="1" chance="3500"/> <item id="8905" countmax="1" chance="3500"/> <item id="8890" countmax="1" chance="2500"/> <item id="8887" countmax="1" chance="14000"/> <item id="8884" countmax="1" chance="14500"/> <item id="8883" countmax="1" chance="13500"/> <item id="8882" countmax="1" chance="20000"/> <item id="8881" countmax="1" chance="3500"/> <item id="8879" countmax="1" chance="3000"/> <item id="8878" countmax="1" chance="2500"/> <item id="8877" countmax="1" chance="12500"/> <item id="8869" countmax="1" chance="3500"/> <item id="8867" countmax="1" chance="3000"/> <item id="8866" countmax="1" chance="2500"/> <item id="8865" countmax="1" chance="2500"/> <item id="8873" countmax="1" chance="3500"/> <item id="8874" countmax="1" chance="3000"/> <item id="8876" countmax="1" chance="2500"/> </inside> </item> </loot> </monster> agora em monster.xml adicione essa tag <monster name="Metamorfo" file="Demon bosses/metamorfo.xml"/> De preferencia coloquem esse monstro em teleport de cidade vip ou espalhado pela cidade(bem escondido) pois ele éh forte e tem o lot bom. AVISO:Não tem como postar Ss pq eu teria que fazer uma imagem em gif e não daria para fazer isso. Créditos 100% meus :sml: comentem.
  24. Heavy Metaaaaaaal

  25. ae gente pelo que ví pelas Ss fico legal mais preciso de ajudo meu pc nun abre ot global -.- tipo abre ele normal fica on mais da erro :Temple Position Is worong ajuda awe ....No RME tb nao abre fica tudo preto to ficandu pirado ajudem
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...