Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 10/20/16 em todas áreas
-
Dodge System 8.54+
Dodge System 8.54+
Leo Zanin reagiu a xWhiteWolf por uma resposta no tópico
1 pontoAe galera do TK, uns caras ficaram me mandando PM pedindo esse sistema aqui.. aparentemente tem em algum server e eles queriam replicar o sistema no OT deles. Não sei como funciona no outro server mas no script que eu fiz vai funcionar assim: Serão 100 livros que você poderá comprar de um npc específico, cada livro te dá 1 ponto a mais na skill Dodge e isso acarreta em 0.3% de chance a mais de desviar de um golpe e tomar só 50% de dano. Infelizmente eu nunca joguei no servidor que foi o pioneiro desse sistema (na vdd eu nem sei qual é) então eu não fiz igual o deles, na realidade o meu só funciona ao perder vida então se o mago usar utamo vita acabou os dodge's dele. Outra coisa importante é que o player tem uma chance rara de dar Dodge no Dodge, ou seja, levando 1/4 do dano. Só vai funcionar para ataques de criaturas, tanto melee quanto spells, ou seja, se o cara passar no fogo não tem chance dele desviar do dano Sem mais delongas, vamos ao script: Crie um arquivo chamado dodge.lua na pasta creaturescripts\scripts e coloque isso dentro dele: agora adicione essa linha no creaturescripts.xml: <event type="statschange" name="dodge" event="script" value="dodge.lua"/> em creaturescripts\scripts\login.lua adicione isso antes do ultimo return true: registerCreatureEvent(cid, "dodge") if getPlayerStorageValue(cid, 48902) == -1 then setPlayerStorageValue(cid, 48902, 0) end agora vá em actions.xml e adicione essa linha aqui: <action itemid="1950" script="dodgebook.lua"/> note que vc pode mudar o ID do livro a hora que vc quiser. em items.xml, procure o item com o ID que vc irá utilizar e deixe ele assim: <item id="1950" article="a" name="Skill Book [DODGE]"> <attribute key="weight" value="1300" /> </item> agora crie um arquivo chamado dodgebook em actions\scripts e coloque isso dentro dele: local config = { minlevel = 150, --- level que precisa pra comprar o livro price = 10000, --- preço do livro itemid = 1950 --- ID DO LIVRO } --- end config function getDodgeSkill(cid) dodgeskill = getPlayerStorageValue(cid, 48902) return dodgeskill end local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} -- OTServ event handling functions start function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end -- OTServ event handling functions end function creatureSayCallback(cid, type, msg) -- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself. if (not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'skill book') then if getDodgeSkill(cid) == dodgeskill then selfSay('You want to buy Skill Book [DODGE]? It will cost '..config.price..' gp\'s!', cid) talkState[talkUser] = 1 else selfSay('I couldnt acess your data bank!', cid) end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerMoney(cid) < config.price then selfSay('Its necessary to have at least '..config.price..' gp\'s in order to buy the Skill Book!', cid) elseif getPlayerLevel(cid) < config.minlevel then selfSay('The minimum level for buying this skill book is '..config.minlevel..'!', cid) else doPlayerRemoveMoney(cid,config.price) doPlayerAddItem(cid, config.itemid, 1, TRUE) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no')) and isInArray({1}, talkState[talkUser]) == TRUE then talkState[talkUser] = 0 selfSay('Ok.', cid) elseif msgcontains(msg, 'level') then selfSay('You have Leveled your Dodge Skill to ['..getDodgeSkill(cid)..'/100].', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) lembrando que no começo vc pode editar o preço, o level que precisa pra comprar a skill e o ID do livro que será usado (USE O MESMO ID NO ITEMS.XML E NO ACTIONS.) agora crie o npc dodgeseller.xml e coloque isso nele: <npc name="Dodge Skill Seller" script="data/npc/scripts/bookseller.lua" access="5" lookdir="1"> <health now="1000" max="1000"/> <look type="133" head="95" body="86" legs="86" feet="38" addons="3"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. I've been waiting for you to come.. Say 'skill book' or 'level'" /> <parameter key="message_farewell" value="Cya folk." /> <parameter key="message_walkaway" value="How Rude!" /> </parameters> </npc> Explanações gerais: O sistema é bem simples (muito simples mesmo), ele pega o valor do storage do cara e multiplica por 3.. se isso for maior que um numero aleatório criado entre 0 e 1000 ele dá dodge e solta os efeitinhos lá do creaturescripts. Note que no nivel máximo o cara vai ter 100 de storagevalue e isso será multiplicado por 3 resultando em 300. Se 300 for maior que um valor aleatorio entre 0 e 1000 (30% de chance) você vai tomar apenas metade do dano. Vc pode editar a vontade e melhorar ele da forma que quiser, se vc quiser que todos os danos do player sejam passíveis de serem esquivados mude aqui: if type == STATSCHANGE_HEALTHLOSS and isCreature(attacker) then apenas retirando esse and isCreature(attacker), daí até dano de firefield vai dar pra dar dodge. Se você quiser adicionar classes que poderão usar (só knights e paladins por exemplo) só colocar isInArray({3,4,7,8}, getPlayerVocation(cid)) como condição na action. E se vc quiser que mago possa dar dodge mesmo com utamo vita (OQUE NÃO FAZ MUITO SENTIDO JÁ QUE O ESCUDO DE MANA FICA EM VOLTA DO PLAYER TEORICAMENTE, MAS TUDO BEM) é só colocar if type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS and isCreature(attacker) then Se você quiser que só ataques de Players sejam desviados ou só ataques de monstros é só trocar isCreature(attacker) por isMonster(attacker) ou isPlayer(attacker). Bom, isso é tudo, espero que vcs tenham curtido e qualquer coisa é só comentar ou me dar um Rep que ajuda pra caralho. Um abraço pra vocês. EDIT: Arrumei o problema de o npc não dar bye automáticamente qnd o player se afasta, bugando em algumas versões e impedindo de conversar com outros npcs. Apenas substituam o arquivo em scripts pela versão atualizada, grato.1 ponto -
[DOWNLOAD] Poke Zot Atualizado + WebSite
[DOWNLOAD] Poke Zot Atualizado + WebSite
marcelinho1234 reagiu a Nicrox por uma resposta no tópico
1 pontoOi, pessoal. Aqui está o server + site que eu estava editando. Adicionei box 10, 11, 12, 13, 14, 15. Editei os mapas e retirei os bugs. Se tiver bugs, pode falar vou arrumar. Download Client MediaFire // 4shared Server MediaFire // 4shared Server sem Website MediaFire // 4shared Download Mapa Editor extendido MediaFire Rep+ Thanks1 ponto -
TFS1.2 Ultimate AOL (Aol VIP)
1 pontoOlá pessoas do TibiaKing, A comunidade tibia king tem me ajudado por meses com conhecimentos para o meu server de tibia, então hoje ocorreu um problema lá no meu servidor e não havia nada atualizado para me suprir, o problema foi o seguinte: "Um player x lá era vip donatadaço" pegou red morreu e perdeu tudo! então para evitar problemas no pagseguro e na vida real eu decidi criar um AOL vip. e hoje vou ensinar a vocês como eu resolvi o problema: Eu apenas adicionei essas linhas no arquivo: "data/creaturescripts/scripts/others/droploot.lua" --AOL VIP local amulet = player:getSlotItem(CONST_SLOT_NECKLACE) if amulet and amulet.itemid == 24683 ) then local isPlayer = false if killer then if killer:isPlayer() then isPlayer = true else local master = killer:getMaster() if master and master:isPlayer() then isPlayer = true end end end Em "if amulet and amulet.itemid == 24683" é só mudar 24683 para o id do amuleto que você queira. bom dá pra ver que eu segui o exemplo do AOL e removi os requisitos para ele não funcionar. Espero que isso ajude alguém e desculpe o péssimo post pois esse aqui é meu primeiro conteúdo de agradecimento.1 ponto
-
[Tutorial] Config.lua - Próprio (MEU) - Versão 8.60
[Tutorial] Config.lua - Próprio (MEU) - Versão 8.60
uesleirodrigues reagiu a thiagobji por uma resposta no tópico
1 pontoOlá galera do TK, eu vejo muitos tutoriais de config.lua, mais eu não vi nenhum ainda da versão 8.6 Porque a versão 8.6 tem umas partes a mais, e nos tutoriais não explica, e esse tutorial aqui é próprio, eu não estou copiando de nada, estou fazendo parte por parte mesmo. Config.lua - Peguei do Baiak Extreme accountManager = "false" -- Ativar ou Desativar o ACC Manager namelockManager = "no" -- É possível algum player criar um char com o nome Account Manager? newPlayerChooseVoc = "yes" -- Yes para o player escolher a vocação que ele quer ser no ACC Manager, e No pra não escolher. newPlayerSpawnPosX = 100 -- Onde o novo player criado irá aparecer newPlayerSpawnPosY = 40 -- Onde o novo player criado irá aparecer newPlayerSpawnPosZ = 7 -- Onde o novo player criado irá aparecer newPlayerTownId = 1 -- Cidade em que o personagem criado irá nascer newPlayerLevel = 8 -- Level inicial quando criar o personagem newPlayerMagicLevel = 1 -- MagicLevel inicial quando criar o personagem generateAccountNumber = "no" -- Gerar conta (login), automaticamente. 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 -- Não sei 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. Quem quiser saber as cores: CLICK AQUI addManaSpentInPvPZone = true -- Não sei squareColor = 0 -- Não sei allowFightback = true -- Não sei worldId = 0 -- Não sei ip = "127.0.0.1" -- IP do seu OT Server bindOnlyConfiguredIpAddress = false -- Não sei loginPort = 7171 -- Port que você quer que os players se conectem ao seu servidor (Pegado de um tuto) gamePort = 7172 -- Não mude adminPort = 7171 -- Não mude statusPort = 7171 -- Não mude loginTries = 10 -- Tentativas de login, se nessas 10 não conseguir a character list desaparece (Pegado de um tutorial) retryTimeout = 2 * 1000 -- Tempo para aparecer denovo a mensagem do servidor offline loginTimeout = 5 * 1000 -- Tempo pra aparecer a primeira mensagem do servidor offline maxPlayers = 1000 -- Máximo player que pode entrar no OT (COM ACC MANAGER não funciona) motd = "Bem-Vindo ao ... OT SERVER" -- Mensagem que apareçe antes do character list displayOnOrOffAtCharlist = true -- mostrar se o player está online ou offline no character list onePlayerOnlinePerAccount = false -- 1 player online por conta? allowClones = false -- Clonar char serverName = "OTServ" -- Nome do Server loginMessage = "Bem-Vindo ao OTServer - TibiaKing.com" -- Primeira mensagem que apareçe quando entra no server statusTimeout = 10 * 100 -- Não sei replaceKickOnLogin = true -- Se tiver um online no char o outro que entrar irá kickar o que estava antes. Entendeu? (Pegado de um tutorial) forceSlowConnectionsToDisconnect = false -- Forçar conexões lentar a desconectar do server (Pegado de um tutorial) loginOnlyWithLoginServer = false -- Não sei premiumPlayerSkipWaitList = false -- Players premmy poderão pular a lista de espera? sqlType = "mysql" - O que seu OT server é. (Os principais são: sqlite e mysql) sqlHost = "localhost" -- Não mude sqlPort = 3306 -- Não mude sqlUser = "root" -- Login do Localhost/phpmyadmin "Aconselho não mudar" sqlPass = "34419284" -- Senha do Localhost/phpmyadmin "Cadastrado" sqlDatabase = "UsherOT ATS" -- Nome da Database sqlFile = "UsherOT ATS.s3db" -- Nome da Database com .s3db sqlKeepAlive = 0 -- Não sei mysqlReadTimeout = 5000 -- Não sei mysqlWriteTimeout = 5000 -- Não sei encryptionType = "sha1" -- Sha1 senha encryptada "Usada maioria das vezes por TFS 4.0 ou plain usada por qualquer outra distro. (Menos TFS 4.0) deathListEnabled = true -- Ativar o comando !deathlist deathListRequiredTime = 1 * 60 * 1000 -- Eu acho que é o tempo pra atualizar o deathlist (Se não for me perdoe) deathAssistCount = 19 -- Não sei maxDeathRecords = 5 -- O Máximo de morte que irá aparecer no deathlist ingameGuildManagement = true -- Guild system pelo jogo levelToFormGuild = 100 -- Level pra entrar em uma guild premiumDaysToFormGuild = 0 -- Quantos dias de premmy um player terá que ter no mínimo para formar uma guild? guildNameMinLength = 3 -- Minimo 3 letras para criar o nome de sua guild guildNameMaxLength = 30 -- Máximo 30 letras para criar o nome de sua guild highscoreDisplayPlayers = 10 -- Server pra site updateHighscoresAfterMinutes = 2 -- Quantos min pra atualizar o rank do site de seu servidor buyableAndSellableHouses = true -- Ativar o comando buyhouse houseNeedPremium = false -- Premium pra comprar house bedsRequirePremium = false -- Premium pra usar a cama levelToBuyHouse = 100 -- Level minimo para comprar house housesPerAccount = 1 -- Apenas 1 char comprar house (1 pra sim), 0 pra quantos char a conta tiver irá poder comprar houses houseRentAsPrice = false -- Não sei housePriceAsRent = false -- Não sei housePriceEachSquare = 1000 -- Preço de cada SQM da casa houseRentPeriod = "weekly" -- Periodo de aluguel da casa, Varia de "never", "weekly", "montly" e "daily". (Se não me engano) (Pegado de um tutorial) houseCleanOld = 0 -- Não sei guildHalls = false -- Guild Halls ativos? timeBetweenActions = 200 -- Tempo pra executar a actions timeBetweenExActions = 1000 -- Tempo pra executar a pasta actions checkCorpseOwner = false -- Checkar dono do corpo? Por exemplo: Só vai poder abrir o loot quem matou, ou estiver na PT hotkeyAimbotEnabled = true -- Não sei maximumDoorLevel = 500 -- Não sei mapName = "Baiak Yurots.otbm" -- Nome do Map do Seu OT mapAuthor = "Usher World OT Server" -- Criador do mapa do seu OT randomizeTiles = true -- Não sei useHouseDataStorage = false -- Não sei storeTrash = true -- Não sei cleanProtectedZones = true -- Quando houver um clean, limpar áreas PZ? mailboxDisabledTowns = "-1" -- Não sei defaultPriority = "high" -- Não sei niceLevel = 5 -- Não sei coresUsed = "-1" -- Level minimo eu acho optimizeDatabaseAtStartup = true -- Não sei removePremiumOnInit = true -- Não sei confirmOutdatedVersion = false maxMessageBuffer = 15 -- Máximo de mensagem em seguida pra tomar muted bufferMutedOnSpellFailure = false -- Tomar muted com magias dataDirectory = "data/" -- Pasta aonde está o resto do OT - Padrão Data allowChangeOutfit = true -- Trocar Outfits allowChangeColors = true -- Trocar cor do Addon allowChangeAddons = true -- Trocar Addons disableOutfitsForPrivilegedPlayers = false -- Desabilitar outfits para player bankSystem = true -- Ativar banksystem saveGlobalStorage = true -- Não sei displaySkillLevelOnAdvance = false -- Mostrar skill quando upar? Exemplo: You advanced from sword 50 to 51. spellNameInsteadOfWords = false -- Não sei emoteSpells = true -- Spells em laranja em vez de pronuncia-la promptExceptionTracerErrorBox = true -- Não sei storePlayerDirection = false -- Guardar a direção do player? Por exemplo: Se eu deslogar virado pra /\, quando entrar novamente estar virado para /\ monsterLootMessage = 3 -- Não sei monsterLootMessageType = 25 -- Não sei separateViplistPerCharacter = false -- Apenas um char VIP ou a conta todo ghostModeInvisibleEffect = true -- Não sei explicar ghostModeSpellEffects = true -- Não sei explicar idleWarningTime = 9 * 60 * 1000 -- Tempo para avisar o player que o personagem irá ser kikado idleKickTime = 10 * 60 * 1000 -- Tempo pra kikar o player sem se mexer expireReportsAfterReads = 1 -- Não sei playerQueryDeepness = 2 -- Não sei maxItemsPerPZTile = 0 -- Não sei maxItemsPerHouseTile = 0 -- Não sei freePremium = true -- Premium grátis ao criar a conta premiumForPromotion = true -- Premium pra pegar promotion blessingOnlyPremium = false -- Precisa ser premium pra pegar bless blessingReductionBase = 30 -- Não sei blessingReductionDecreament = 5 -- Não sei eachBlessReduction = 8 -- Não sei experienceStages = true -- Exp por Stages rateExperience = 200 -- EXP Inicial rateExperienceFromPlayers = 0 -- Exp ao matar player rateSkill = 85 -- Skills do seu Server rateMagic = 35 -- Magic do seu Server rateLoot = 7 -- Loot do seu Server rateSpawn = 4 -- Spawn do seu Server rateMonsterHealth = 1.0 -- Não sei rateMonsterMana = 1.0 -- Não sei rateMonsterAttack = 1.0 -- Não sei rateMonsterDefense = 1.0 -- Não sei minLevelThresholdForKilledPlayer = 0.9 -- Não sei maxLevelThresholdForKilledPlayer = 1.1 -- Não sei rateStaminaLoss = 0 -- Não sei rateStaminaGain = 10 -- Não sei rateStaminaThresholdGain = 12 -- Não sei staminaRatingLimitTop = 40 * 60 -- Não sei staminaRatingLimitBottom = 14 * 60 -- Não sei rateStaminaAboveNormal = 1.0 -- Não sei rateStaminaUnderNormal = 1.0 -- Não sei staminaThresholdOnlyPremium = false -- Não sei experienceShareRadiusX = 30 -- Não sei experienceShareRadiusY = 30 -- Não sei experienceShareRadiusZ = 1 -- Não sei experienceShareLevelDifference = 2 / 3 -- Não sei extraPartyExperienceLimit = 20 -- Não sei extraPartyExperiencePercent = 5 -- Não sei experienceShareActivity = 2 * 60 * 1000 -- Não sei globalSaveEnabled = false -- Não sei globalSaveHour = 24 -- Não sei shutdownAtGlobalSave = true -- Não sei cleanMapAtGlobalSave = false -- Não sei deSpawnRange = 2 -- Não sei deSpawnRadius = 50 -- Não sei maxPlayerSummons = 3 -- Quantos bichos o player pode sumonar teleportAllSummons = false -- sumir os bixos caso o player corra pra longe ou morrer teleportPlayerSummons = false -- mesma coisa Coloque como quiser nessa parte ownerName = "Usher World OT Server" -- ownerEmail = "[email protected]" url = "http://UsherOT.no-ip.org/" location = "Brazil" displayGamemastersWithOnlineCommand = false -- Mostrar o GM online no comando !online adminLogsEnabled = true -- Não sei displayPlayersLogging = true -- Não sei prefixChannelLogs = "" -- Não sei runFile = "" -- Não sei outLogName = "" -- Não sei errorLogName = "" -- Não sei truncateLogsonstartup = false -- Não sei Créditos: Só Otserv - Por pegar algumas partes Thiagobji - Por criar praticamente o tutorial todo É ISSO AE GALERA!1 ponto -
COMO TROCAR A DISTRO DO OTSERV
1 pontoNão entendo muito disso, mas se seu server não tem nenhum sistema que precisou de alteração nas sources, podes pegar outra distro compatível com teu servidor, que tenha o que você quer, e executar teu server por ela. Fiz isso no server que estou trabalhando. Eu não tinhas as sources do server, mas ele não usava nenhuma alteração nela, então, baixei as sources de uma distro compatível, compilei com o que eu queria e rodei meu server com ela.1 ponto
-
Erro de Tiles
Erro de Tiles
albertobetto100 reagiu a KotZletY por uma resposta no tópico
1 pontoAs vezes isso acontece quando você usa um mapa de outro Server, geralmente quando o Mapa não é compatível com o Server, a não ser que você seja paciente para ir em cada posição e mexer nela, sugiro que você volte ao mapa real do Server! xD1 ponto -
[PEDIDO] COMO CRIAR MAGIAS PARA POKETIBIA
[PEDIDO] COMO CRIAR MAGIAS PARA POKETIBIA
Gogetasaya reagiu a Wolf Admin por uma resposta no tópico
1 pontoPara Criar magias, vc vai no pokemon moves.lua, Abre o procura por uma spell que você deseja "imitar" (Você só ira copiar, colar e trocar o efeito). Irei usar de Exemplo a "Earthquake": elseif spell == "Earthquake" then local eff = getSubName(cid, target) == "Shiny Onix" and 175 or 118 --alterado v2.6.1 local function doQuake(cid) if not isCreature(cid) then return false end if isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return false end if isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return true end doMoveInArea2(cid, eff, confusion, GROUNDDAMAGE, min, max, spell) end times = {0, 500, 1000, 1500, 2300, 2800, 3300, 3800, 4600, 5100, 5600, 6100, 6900, 7400, 7900, 8400, 9200, 10000} setPlayerStorageValue(cid, 3644587, 1) addEvent(setPlayerStorageValue, 10000, cid, 3644587, -1) for i = 1, #times do --alterado v1.4 addEvent(doQuake, times, cid) end - Azul: Nome da Spell Vermelho: ID do efeito da spell Ciano: Tipo do Dano que a spell irá causar (DARKDAMAGE, PSYCHICDAMAGE, WATERDAMAGE ....) ~~ Você terá q copiar a spell e colar abaixo, em Seguida troque o nome da spell em Azul pelo nome que você preferir. ~~Logo Após, onde está Vermelho, Coloque o id do Efeito do Spell (Você pode escolher o Efeito por game fazendo /z 1, /z 2, /z 3, /z 4, etc. ou Abrindo seu Dat Editor ou Object Builder e veja o ID do efeito lá. ~~Mude o efeito da parte em Ciano para o efeito que a spell ira causar(FLYINGDAMAGE, FIGHTINGDAMAGE, ROCKDAMAGE, FIREDAMAGE, GRASSDAMAGE, GHOSTDAMAGE, etc...) Agora Vá na pasta spells/scripts/ps e Crie um arquivo em lua com o nome da spell que você criou no pokemon moves.lua e adicione isso: Coloque o mesmo nome da spell lá na parte Verde. ~~Agora, abra o spells.xml e Adicione isso lá nas ultimas linhas: <instant name="Nome Da Spell" words="spell301" lvl="1000" mana="0" event="script" value="ps/Nome da spell.lua"></instant> Espero ter ajudado, Postem suas duvidas sobre o assunto aqui, se houver..1 ponto