-
Total de itens
42 -
Registro em
-
Última visita
Tudo que nono182 postou
-
Ó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
-
boa mlk.. perfeito o tutorial, e o melhor,dps q vc termino a explicação ainda coloko o download da lojinha ^^ REP+
-
é 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
-
VLW PELA DIKA VO EDITA O MAPA E ARRUMA ESSE MESMO POST, vlw mesmo pela dika
-
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
-
HUuuuun vlws então!!!Ahh pq vc nun posta esse otro pet system aew pra galera? qual o nome dele? vlw
-
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
-
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
-
Saiba Como Arrumar Erro De Config Lua No Gesior
um tópico no fórum postou nono182 Tutoriais para Iniciantes
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 -
as otra talk action nao vai funcionar msm pq o pet tem que estar envocado
-
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
-
add meu msn aew q t ajudo lah oks? nono.182@hotmail.com
-
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
-
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 ^^
-
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
-
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 '--
-
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
-
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
-
: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
-
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
-
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
-
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
-
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.
-
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.