
OTAvatar
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
OTAvatar deu reputação a Cat em MOTW #23 - ResultadoDecepcionante, dou um tema livre tem 6 participantes, dou um tema mais desafiador, só 2 participam. E ai que percebemos os mappers bons ou to errado? Pode ser que a galera não teve tempo também, não interpretem mal... Enfim, estarei dando 2 REPS aos dois participantes abaixo:
robmaggot
Imagens:
leoleo
Espero que participem na próxima
-
GUERRA
1 - O conteúdo enviado pelo participante, deverá ser de autoria própria;
2 - Mapas já utilizados ou publicados serão desclassificados;
3 - O participante pode enviar até 15 fotos (Nenhuma pode conter edição, seja efeitos ou nomes), o nome da mensagem deve ser o nome deste concurso (exemplo: MOTW #24);
4 - O calendário pode ser modificado durante o concurso caso houver fatores que impeçam a continuação do mesmo;
Inicio: 18/11/14
Término: 24/11/14
Avaliação e publicação: 24/11/24 - 25/11/14
Avaliação:
Detalhamento - (30)
Criatividade - (25) Jogabilidade (RPG) - (10) Harmonia - (10) Utilização do espaço - (15) Inovação - (10) _______________________ Total: 100 Premiação:
1º Lugar: 6 Pontos de Reputação, 3 Pontos;
2º Lugar: 4 Pontos de Reputação, 2 Pontos;
3º Lugar: 2 Pontos de Reputação, 1 Pontos;
(Premiação válida apenas acima de 3 participantes)
-
OTAvatar deu reputação a Cat em Nolis Show Offahahahah
nem pensei nisto hehe
esgoto de carlin:
-
OTAvatar deu reputação a Cat em Nolis Show Off
-
OTAvatar deu reputação a Cat em [Resolvido] Level Ao Matar...-- Rates -- NOTE: experienceStages configuration is located in data/XML/stages.xml. -- rateExperienceFromPlayers 0 to disable. experienceStages = false rateExperience = 1 rateExperienceFromPlayers = 0 rateSkill = 1 rateMagic = 1 rateLoot = 1
-
OTAvatar deu reputação a Cat em [Resolvido] Se n for pedir mto, alguém pode me explicar tudo quem tem no config.lua?Vou explicar o que eu sei beleza?
-- Account manager accountManager = "yes" -> YES para ativar o account manager e NO para desativar. namelockManager = "no" -> Criar um char com o nome de account manager sim/não newPlayerChooseVoc = "yes" -> YES para o player escolher a vocação do char pelo acc manager e NO para não poder escolher newPlayerSpawnPosX = 160 -> posição onde o player vai nascer newPlayerSpawnPosY = 54 -> " " " newPlayerSpawnPosZ = 7 -> " " " newPlayerTownId = 1 -> id da cidade que o jogador vai nascer/morar newPlayerLevel = 8 -> level inicial ao criar o char newPlayerMagicLevel = 0 -> magic level inicial ao entrar no char generateAccountNumber = "no" -> gerar o login automaticamente (com números, ex: 58719684) redSkullLength = 180 * 60 * 1000 -- Tempo pra sair o red blackSkullLength = 240 * 60 * 1000 -- Tempo pra sair o black dailyFragsToRedSkull = 10 -- Tempo pra sair o frag weeklyFragsToRedSkull = 100 -- Quantos frags o player pegará em uma semana para ficar red monthlyFragsToRedSkull = 300 -- Quantos frags o player pegará em um mês para ficar red dailyFragsToBlackSkull = 20 -- Quantos frags por dia o player pegará para ficar Black weeklyFragsToBlackSkull = 120 -- Quantos frags o player pegará em uma semana para ficar black monthlyFragsToBlackSkull = 480 -- Quantos frags o player pegará em um mês para pegar black dailyFragsToBanishment = 0 -- Quantos frags o player pegará em um dia para ser ban weeklyFragsToBanishment = 0 -- Quantos frags o player pegará em uma semana para levar ban monthlyFragsToBanishment = 0 -- Quantos frags o player pegará em um mês para levar ban blackSkulledDeathHealth = 40 -- Quando pegar black quantos de HP o player irá ficar blackSkulledDeathMana = 0 -- Quando pegar black quantos de MANA o player irá ficar useBlackSkull = true -- Usar o sistema de Black Skull? useFragHandler = true -- Não sei advancedFragList = false -- Não sei notationsToBan = 3 -- Quantas notations para tomar ban warningsToFinalBan = 1 -- Ao tomar ban quantas warning o personagem irá levar warningsToDeletion = 5 -- Quantas warnings para tomar deleted banLength = 2 * 24 * 60 * 60 -- Quando tomar ban o tempo pra sair killsBanLength = 1 * 24 * 60 * 60 -- Tempo pro ban sair (Aqui tá 1 dia) finalBanLength = 3 * 24 * 60 * 60 -- Tempo pro final ban sair. *último ban*, após tomar outro é deleted. (Aqui tá 3 dias) ipBanishmentLength = 30 * 24 * 60 * 60 -- Quantos dias pro ban IP sair. (Aqui tá 30 *1 mês*) broadcastBanishments = false -- Quando o player tomar ban anunciar "O Player XXX tomou ban" maxViolationCommentSize = 200 -- Quando for reportar algum bug, quantas letras só pode colocar. violationNameReportActionType = 2 -- Não sei autoBanishUnknownBytes = false -- Tomar ban automaticamente (Não sei como funciona) worldType = "open" -- Tipo de server. Varia de "pvp", "non-pvp", "pvp-enforced". (Pegado de um tutorial) protectionLevel = 100 -- Level para você já poder morrer ou matar pvpTileIgnoreLevelAndVocationProtection = true -- Tem relação com o tool do RME de pvp com o level e vocação do player, no caso vai ou nao ignorar a proteção do level pzLocked = 30 * 1000 -- Tempo do PK sem ter matado nenhum jogador huntingDuration = 45 * 1000 -- Não sei criticalHitChance = 7 -- Chance em % de um player dar um hit mais alto do que o normal (Pegado de um Tuto) criticalHitMultiplier = 1 -- Não sei displayCriticalHitNotify = false -- Mostrar a palavra "CRITICAL" quando o player dá um hit muito alto removeWeaponAmmunition = false -- Remover bolts, arrows, etcs.. removeWeaponCharges = false -- Remover cargas de Runas, armas etcs removeRuneCharges = "false" -- Remover runas, armas encantadas etcs whiteSkullTime = 2 * 60 * 1000 -- Tempo pro PK sair (Se você tiver matado algum player), aqui está 2 minutos. noDamageToSameLookfeet = false -- Não sei showHealingDamage = true -- Na hora que você healar mostrar o tanto que você healou showHealingDamageForMonsters = false -- Na hora que o bicho healar mostrar o tanto que ele healou fieldOwnershipDuration = 5 * 1000 -- Não sei stopAttackingAtExit = false -- Quando o player dá exit no trainer, continuar atacando ou não oldConditionAccuracy = false -- Não sei loginProtectionPeriod = 0 * 1000 -- Quando o player logar o tanto de tempo que ele não pode ser atacado. deathLostPercent = 10 -- Porcetagem da perde de level quando morrer stairhopDelay = 0 * 1000 -- Quando o player descer ou subir uma escada o tanto de tempo que ele não poderá ser atacado pushCreatureDelay = 1 * 500 -- O Tanto de tempo pro player se puxado (Aqui está 1 seg) deathContainerId = 1987 -- Quando morrer sem aol, qual backpack irá aparecer. (aqui tá bag) gainExperienceColor = 18 -- Cor do exp quando upar. addManaSpentInPvPZone = true -> vai curar mana com food ou algum item dentro do pz squareColor = 0 -> nao sei allowFightback = true -> não sei -- Connection config worldId = 0 ip = "127.0.0.1" -- Seu IP loginPort = 7171 -- Port que você quer que os players se conectem ao seu servidor gamePort = 7172 -- Não mude!!! adminPort = 7171 -- Ainda to pra descobrir statusPort = 7171 -- Ainda to pra descobrir loginTries = 10 -- Tentativas de login, se nessas 10 não conseguir a character list desaparece retryTimeout = 5 * 1000 -- Tempo para aparecer novamente a mensagem de server offline loginTimeout = 60 * 1000 -- Tempo para aparecer a mensagem de server offline maxPlayers = "1000" -- Maximo de players online no server motd = "Bem vindo!" -- Mensagem que aparece antes da Character List displayOnOrOffAtCharlist = "no" -- Mostrar se o player está online ou offline na character list onePlayerOnlinePerAccount = "yes" -- Apenas um player online por account allowClones = 0 -- Clonar char. 0 para não e 1 para sim serverName = "Alissow OTs" -- Nome do server loginMessage = "Bem vindo ao Alissow OTs! Para comprar premium fale !buypremium ." -- Primeira mensagem que aparece quando entra no server statusTimeout = 5 * 60 * 1000 replaceKickOnLogin = "yes" -- Se tiver um online no char o outro que entrar irá kickar o que estava antes. Entendeu? forceSlowConnectionsToDisconnect = "no" -- Forçar conexões lentar a desconectar do server loginOnlyWithLoginServer = "no" -- Database -- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database. -- To disable sqlKeepAlive such as mysqlReadTimeout use 0 value. sqlType = "sqlite" -- Varia de sqlite à Mysql sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "" sqlDatabase = "theforgottenserver" -- Nome da database do server sqlFile = "forgottenserver.s3db" -- Mesmo do anterior sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTImeout = 10 passwordType = "plain" -- Deathlist deathListEnabled = "yes" -- Abilitar o deathlist. Pode ser acessado pelo comando !deathlist "Player maxDeathRecords = 5 -- Mostrar mortes na deathlist -- Guilds ingameGuildManagement = "yes" -- Guild system pelo jogo levelToFormGuild = 75 -- Level para criar guild guildNameMinLength = 4 -- Minimo de tamanho do nome da guild guildNameMaxLength = 22 -- Máximo de tamanho do nome da guild -- Highscores highscoreDisplayPlayers = 15 -- Função highscores, funciona perfeitamente apenas em Mysql updateHighscoresAfterMinutes = 60 -- Houses buyableAndSellableHouses = "yes" -- Abilitar compra e venda de casas houseNeedPremium = "yes" -- Premium para comprar casas bedsRequirePremium = "yes" -- Premium para usar camas levelToBuyHouse = 100 -- Level para comprar houses housesPerAccount = 0 -- Houses por account, 0 para infinito. houseRentAsPrice = "no" -- Hâ? housePriceAsRent = "no" -- Hâ? housePriceEachSquare = 1000 -- Preço de cada SQM (quadrado) da casa houseRentPeriod = "never" -- Periodo de aluguel da casa, Varia de "never", "weekly", "montly" e "daily". (Se não me engano) -- Item usage timeBetweenActions = 200 -- Tempo para executar actions timeBetweenExActions = 1000 -- Tempo para executar actions da pasta Actions checkCorpseOwner = "yes" -- Impedir roubo de loots hotkeyAimbotEnabled = "yes" -- Abilitar hotkeys -- Map -- NOTE: storeTrash costs more memory, but will perform alot faster cleaning. -- useHouseDataStorage usage may be found at README. mapName = "xedegux" -- Nome do map, Aquele da pasta world mapAuthor = "Alissow" -- Autor do map randomizeTiles = "yes" useHouseDataStorage = "no" storeTrash = "yes" cleanProtectedZones = "yes" -- Limpar zonas em PZ -- Startup -- NOTE: defaultPriority works only on Windows and niceLevel on *nix -- coresUsed are seperated by comma cores ids used by server process, -- default is -1, so it stays untouched (automaticaly assigned by OS). defaultPriority = "high" niceLevel = 5 coresUsed = "-1" optimizeDatabaseAtStartup = "yes" removePremiumOnInit = "yes" -- Muted buffer maxMessageBuffer = 4 -- Maximo de mensagens seguidas para dar "mutted" bufferMutedOnSpellFailure = "no" -- Miscellaneous -- NOTE: promptExceptionTracerErrorBox works only with precompiled support feature, -- called "exception tracer" (__EXCEPTION_TRACER__ flag). dataDirectory = "data/" -- Pasta onde está o resto do ot. Padrão Data. kickIdlePlayerAfterMinutes = 15 -- Kickar o player AFK em xx minutos allowChangeOutfit = "yes" -- Players podem mudar outfits allowChangeColors = "yes" -- Players mudam cores do outfit allowChangeAddons = "yes" -- Players mudam addons disableOutfitsForPrivilegedPlayers = "no" -- Significa desabilitar outfits para players privilegiados, não sei como funciona bankSystem = "yes" -- Bank system, Funciona com NPC ou Talkaction saveGlobalStorage = "yes" ghostModeInvisibleEffect = "yes" displaySkillLevelOnAdvance = "yes" -- Mostrar o skill na mensagem quando avança. Exemplo "You advanced in axe fighting. [77] spellNameInsteadOfWords = "no" -- Mostrar nome da Magia ao invés da pronuncia. emoteSpells = "yes" -- Magias em animação. Em laranja expireReportsAfterReads = 1 -- Apagar reports (ctrl + R) se o player fechar ou sair do tibia promptExceptionTracerErrorBox = "yes" storePlayerDirection = "no" playerQueryDeepness = 2 -- Premium-related freePremium = "no" -- Premium gratuita quando cria o char premiumForPromotion = "yes" -- Premium para comprar promotion -- Blessings -- NOTE: blessingReduction* regards items/containers loss. -- eachBlessReduction is how much each bless reduces the experience/magic/skills loss. blessingsOnlyPremium = "yes" -- Blessings apenas para premiums blessingReductionBase = 30 blessingReductionDecreament = 5 eachBlessReduction = 8 -- Rates -- NOTE: experienceStages configuration is located in data/XML/stages.xml. experienceStages = "no" -- Exp stages, configurado em data/XML stages.xml rateExperience = 75 -- Exp Rate rateSkill = 130 -- Skill Rate rateMagic = 95 -- Ml Rate rateLoot = 3 -- Loot rate rateSpawn = 1 -- Spawn rate -- 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 = "no" -- Abilitar Global salve, nunca usei mas acho que é algo parecido como o server save do global globalSaveHour = 8 shutdownAtGlobalSave = "yes" cleanMapAtGlobalSave = "no" -- Spawns deSpawnRange = 2 deSpawnRadius = 50 -- Summons maxPlayerSummons = 2 -- Max de monstros que o player pode sumonar teleportAllSummons = "no" -- Teleportar os summons caso o player corra para longe teleportPlayerSummons = "no" -- Mesmo do de cima -- ABAIXO coloque como quiser ownerName = "Xtibia" -- Nome Do Dono ownerEmail = "[email protected]" -- E-mail Do Dono url = "http://xtibia.com" -- Site Do Dono location = "Brasil" -- País displayGamemastersWithOnlineCommand = "no" -- Mostrar GMs online no comando !online -- Logs -- NOTE: This kind of logging does not work in GUI version. -- For such, please compile the software with __GUI_LOGS__ flag. adminLogsEnabled = "no" displayPlayersLogging = "yes" prefixChannelLogs = "" runeFile = "" outLogName = "" errorLogName = "" truncateLogsOnStartup = "no" Créditos:
WebTutorial
Eu
-
OTAvatar deu reputação a Cat em [Resolvido] Encher life/mana ao uparComo faço para fazer o char se curar toda vez que upa lvl? '-' Os chars tão estão se curando quando upam quis dizer não estão se curando' certo?
vá em data/creaturescripts/scripts e crie um script com o nome hmup
function onAdvance(cid, skill, oldlevel, newlevel) if skill == SKILL__LEVEL then doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doCreatureAddMana(cid, getCreatureMaxMana(cid)) end return TRUE end ainda em data/creaturescripts/script abra o login.lua e adicione em baixo das linhas
registerCreatureEvent(cid, "hmup") em data/creaturescripts/creaturescripts.xml
<event type="advance" name="hmup" event="script" value="hmup.lua"/> -
OTAvatar deu reputação a Cat em (Resolvido)[Resolvido] [URGENTE AJUDA] Script change Platinum Coin por Crystal Coin clicando !O tópico foi movido para a área correta, preste mais atenção da próxima vez!
Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680
Este tópico foi movido:
De: "OTServ → Scripting → Actions e TalkActions"
Para: "OTServ → Suporte OTServ"
actions\scripts\changegold.lua
local coins = { [ITEM_GOLD_COIN] = { to = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_YELLOW }, [ITEM_PLATINUM_COIN] = { from = ITEM_GOLD_COIN, to = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_LIGHTBLUE }, [ITEM_CRYSTAL_COIN] = { from = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_TEAL } } function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerFlagValue(cid, PLAYERFLAG_CANNOTPICKUPITEM)) then return false end local coin = coins[item.itemid] if(not coin) then return false end if(coin.to ~= nil and item.type == ITEMCOUNT_MAX) then doChangeTypeItem(item.uid, item.type - item.type) doPlayerAddItem(cid, coin.to, 1) doSendAnimatedText(fromPosition, "$$", coins[coin.to].effect) elseif(coin.from ~= nil) then doChangeTypeItem(item.uid, item.type - 1) doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX) doSendAnimatedText(fromPosition, "$$", coins[coin.from].effect) end return true end actions.xml
<!-- Change gold --> <action itemid="2148" event="script" value="other/changegold.lua"/> <action itemid="2152" event="script" value="other/changegold.lua"/> <action itemid="2160" event="script" value="other/changegold.lua"/> by: beddy
-
OTAvatar deu reputação a Cat em [Resolvido] [Mapping] New Wall RMEsim, mas dai vai ficar sem o item que tu apagar, tenta substituir por algum que nao esta sendo utilizado
-
OTAvatar deu reputação a Cat em [Resolvido] [SCRIPT] quando loga apareci onlinefunction onLogin(cid) if getPlayerStorageValue(cid, 10010) == -1 then doPlayerSendTextMessage(cid, 22, "O jogador"..getPlayerName(cid).." está online.") setPlayerStorageValue(cid, 10010, 1) end return TRUE end avise se der erro
-
OTAvatar deu reputação a Cat em Não consigo ativar meu Tibia Auto (versão 8.60)Tente reinstalar ele em outro local executando como administrador.
Dica: você pode editar seu post anterior para não cometer double-post
-
OTAvatar deu reputação a Cat em Nolis Show Off
-
OTAvatar deu reputação a Cat em Nolis Show Off
-
OTAvatar deu reputação a Cat em Nolis Show Off
-
OTAvatar deu reputação a Cat em [Resolvido] Comando Fragstenta esse:
local config = { useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')), advancedFragList = getBooleanFromString(getConfigValue('advancedFragList')) } function onSay(cid, words, param, channel) if(not config.useFragHandler) then return false end local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = { name = result:getDataString("name"), level = result:getDataInt("level"), date = result:getDataInt("date") } if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month) } if(config.advancedFragList) then local result = "Frags de hoje: " .. size.day .. ". Red skull= 5. Black Skull= 7." if(size.day > 0) then for _, content in ipairs(contents.day) do result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level end result = result .. "\n" end result = result .. "\nFrags na semana: " .. (size.day + size.week) .. ". Red Skull= 15. Black Skull= 20." if(size.week > 0) then for _, content in ipairs(contents.week) do result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level end result = result .. "\n" end result = result .. "\nFrags no mes: " .. (size.day + size.week + size.month) .. ". Red Skull= 25. Black Skull= 30." if(size.month > 0) then for _, content in ipairs(contents.month) do result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level end result = result .. "\n" end local skullEnd = getPlayerSkullEnd(cid) if(skullEnd > 0) then result = result .. "\nYour " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, result) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You currently have " .. size.day .. " frags today, " .. (size.day + size.week) .. " this week and " .. (size.day + size.week + size.month) .. " this month.") if(size.day > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Last frag at " .. os.date("%d %B %Y %X", contents.day[1].date) .. " on level " .. contents.day[1].level .. " (" .. contents.day[1].name .. ").") end local skullEnd = getPlayerSkullEnd(cid) if(skullEnd > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd)) end end return true end vodkart
-
OTAvatar deu reputação a Cat em [Resolvido] Ajuda com raid'snão sei mecher com esse tipo de funçao ai, sempre me confundo, tenta essas duas opções:
fazer por globalevents
script do vodkart
inv.lua
local days = { ["Sunday"] = { ["00:00"] = {nome = "Demon Invasões", pos = {x=185, y=54, z=7}, monster = {"40 Demon", "50 Fire Devil", "4 Orshabaal"}, Time = 15}, ["21:00"] = {nome = "Dragon Invasões", pos = {x=185, y=54, z=7}, monster = {"100 Dragon"}, Time = 15} }, ["Saturday"] = { ["00:00"] = {nome = "Demon Invasões", pos = {x=185, y=54, z=7}, monster = {"40 Demon", "50 Fire Devil", "4 Orshabaal"}, Time = 15}, ["21:13"] = {nome = "Dragon Invasões", pos = {x=185, y=57, z=7},monster = {"100 Dragon"}, Time = 15} } } function onThink(interval, lastExecution) function getDayName() local days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"} return days[os.date("*t")["wday"]] end hours = tostring(os.date("%X")):sub(1, 5) tb = days[getDayName()][hours] if tb then function removeCreature() for x = ((tb.pos.x)-10), ((tb.pos.x)+10) do for y = ((tb.pos.y)-10), ((tb.pos.y)+10) do local m = getTopCreature({x=x, y=y, z= tb.pos.z}).uid if m ~= 0 and isMonster(m) then doRemoveCreature(m) end end end return true end addEvent(removeCreature, tb.Time*60*1000) doBroadcastMessage(hours .. " - " .. tb.nome .. " Iníciou.") for _,x in pairs(tb.monster) do for s = 1, tonumber(x:match("%d+")) do doSummonCreature(x:match("%s(.+)"), tb.pos) end end end return true end globalevents.xml
<globalevent name="Invasao" interval="60" event="script" value="inv.lua"/> fazer por mod
script do vodkart
Automatic Raids.xml
<?xml version="1.0" encoding="UTF-8"?> <mod name="Automatic Raids" version="1.0" author="Vodkart And xotservx" contact="xtibia.com" enabled="yes"> <config name="raids_func"><![CDATA[ days = { ["Monday"] = { ["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 15}, ["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 20} }, ["Sunday"] = { ["10:08"] = {nome = "Demon", pos = {fromPosition = {x=202, y=11, z=7},toPosition = {x=204, y=12, z=7}}, m = {"1 Demon"}, Time = 15}, ["10:46"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20} } } ]]></config> <globalevent name="AutomaticRaids" interval="60" event="script"><![CDATA[ domodlib('raids_func') function onThink(interval, lastExecution) if days[os.date("%A")] then hours = tostring(os.date("%X")):sub(1, 5) tb = days[os.date("%A")][hours] if tb then function removeCreature(tb) for x = ((tb.pos.fromPosition.x)-10), ((tb.pos.toPosition.x)+10) do for y = ((tb.pos.fromPosition.y)-10), ((tb.pos.toPosition.y)+10) do local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid if m ~= 0 and isMonster(m) then doRemoveCreature(m) end end end end doBroadcastMessage("The invasion of " .. tb.nome .. " started") for _,x in pairs(tb.m) do for s = 1, tonumber(x:match("%d+")) do pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z} doSummonCreature(x:match("%s(.+)"), pos) end end addEvent(removeCreature, tb.Time*60*1000, tb) end end return true end ]]></globalevent> </mod>
Configuração:
days = { ["Monday"] = { ["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 1}, ["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 2} }, ["Tuesday"] = { ["10:44"] = {nome = "Demon", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}}, m = {"5 Demon", "8 Fire Devil"}, Time = 1}, ["10:46"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 2} } } ["DIA"] = { ["HORA DA INVASÃO"] = {nome = "NOME DA INVASÃO", pos = {começo e final da área}, monster = {"MONSTROS"}, Time = para remover os monstro} } O dia da invasão é colocada entre " " e somente dia em inglês e a primeira letra maiúscula, exemplo:
"Saturday"
Depois são as hora da invasão, que é colocada entre " " e somente a hora e minuto, segundos não precisa exemplo:
"15:00"
As Posições estão entre { } adicionando as posições x, y e z, é o começo e final da área exemplo:
pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}} fromPosition -- começo da área onde vai acontecer a raid
toPosition -- final da área onde vai acontecer a raid
Os monters tem um modo especial de configurar, vc coloca entre { }, e cada monstro entre " ", e entre as " " vc adiciona "QUANTIDADE MONSTRO", e para adicionar mais tipos de monstro se separa por virgulas, exemplo:
{"40 Water Elemental", "5 Cyclops"} Time é uma função extra, é para caso ninguém participe do evento os monstros não fiquem pelo mapa, e é em minutos, exemplo:
Time = 15 -
OTAvatar deu reputação a Cat em Nolis Show Off
-
OTAvatar deu reputação a Cat em [ACTION] Rock ShovelEsse é um script RPG que eu fiz a um bom tempo com base em outro script do global, cuja sua função é remover uma pedra que está em seu caminho, você usa o item na pedra para quebrá-la e ganha uma small stone, e após um certo tempo a pedra volta ao normal, é bem parecido bom a machete, abre caminho para passar, mas nesse caso a pedra pode estar em uma passagem na montanha por exemplo.
DATA/Actions/scripts -> rockshovel.lua
function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.itemid == 1285 then doTransformItem(itemEx.uid, 3610) doDecayItem(itemEx.uid) doPlayerAddItem(cid, 1294, 1) return TRUE end return destroyItem(cid, itemEx, toPosition) end DATA/Actions/Actions.xml
<action itemid="5710" script="tools/rock.lua"/> 1285 -> ID da pedra grande.
3610 -> ID da pedra menor que ela vai se transformar quando "quebrar".
5710 -> ID da shovel que será usada para quebrar a pedra.
••
••
••
É bem simples mas útil em quests, espero que tenham gostado.
-
OTAvatar deu reputação a Cat em Nolis Show Offa areia é por que é uma caverna bem embaixo do deserto, mas um pouco longe, estou colocando esse mapa no meu server ;p
-
OTAvatar deu reputação a Cat em Nolis Show Offremovido~~
-
OTAvatar deu reputação a Cat em Nolis Show Offtreinando um pouco
-
OTAvatar deu reputação a Cat em Nolis Show Offhehehe é so treinar, eu ainda pretendo ser um mapper bom, até lá, treinar muito
-
OTAvatar deu reputação a Cat em [SHOW OFF] kaiquegabriel & DaanielOs temas tao interessantes em... quero ver escolher um bom
-
OTAvatar deu reputação a Cat em [SHOW OFF] kaiquegabriel & Daanielhaha tem alguns bugzinhos e da pra acrescentar mais coisas, mas é só um teste, vamos sugerir temas galera.
-
OTAvatar deu reputação a Cat em Nolis Show Offremovido~~