Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 08/28/14 em todas áreas

  1. Poke Zot editado por Factur Final 80%

    SombriadoO e 7 outros reagiu a Factur por uma resposta no tópico

    8 pontos
    A ultima versão sera á 90%, não sera 100% poís ja criei um tópico falando os motivos; A Versão 80% e apenas para vocês verêm como ficou o CP novo e as novas quests; E também verem as novas quests que vorão e terem uma ídeia de como vai ser as próximas; A Mais recente foi a quest box +5, que se encontra no teleport do penúltimo andar do CP de Saffron Vamos lá ! A conta do god é Login: Luh Senha: 123 - Novos pokémons alguns deles : Shiny Lugia // Shiny Heatran // Shiny Articuno // Shiny Moltres // Gogoat // Xerneas // Yveltal // Giratina // Black Articuno // Black Celebi -Fly de alguns pokémons: Alguns deles: Shiny Zekrom // Shiny Articuno // Giratina // Black Articuno - Ride de alguns pokémons: Alguns deles: Raikou // Suicune - Adicionado npc "Teleportador" Quando você fala "HI" e depois "TRAVEL" e depois "YES" você é teleportado para saffron. -Removido a quest bike; -Removido o stronp -Removido algumas houses -Removido alguns npcs - -Adicionado quest de box Algumas delas: Box +1 // Box +2 // Box +3 // Box +4 // Box +5 -Adicionado algumas quests de pokémons Alguns deles: Shiny Lugia // Divine Jirachi // Shiny Riolu // Shiny Reshiram // Green Dialga // Victini // Shiny Regigigas -Adicionado quest Diamonds Recompensa: 50 Diamonds -Adicionado quest Ultra Rod Recompensa: 1 Ultra Rod Bug de atravessar parede da quest Latias/Latios Quest (Corrigido) /t para os players (Corrigido) Bug de atravessar parede do Shiny Zekrom Quest (Corrigido) Quando matar Attack deoxys MVP não abria teleport na Kyogre Quest (Corrigido) Bug da quest Deoxys que não tinha teto (Corrigido) Bug dos novos Megas que não tem atack nem força (Não foi corrigido) MAPA E QUESTS POKÉMONS Servidor http://www.mediafire.com/download/c6calm48gh7v6w5/PokeZot.rar Cliente http://www.mediafire.com/download/pw3qvqpgdf7tgha/OTclient.rar Servidor https://www.virustotal.com/pt/file/5c2a7d33c35d5d6acf10b368dfe15fbfa5d4d2645440a4205c97bf4eed0cb5a1/analysis/1409199216/ Cliente Não é possível tirar um Scan do client, poís ele pesa mais do que 64 MB Factur - Por adicionar os pokémons Poke pro - Pelas sprites Otsclop - Não posso revelar Não lembro - Por me ensinar a tira o /t para os players Tio do Leite - Por eu estar aguardando a sprite do shiny corsselia
  2. Alguns TRABALHOS ! *-*

    Gaant e 2 outros reagiu a xDeft por uma resposta no tópico

    3 pontos
    Eae glr, como eu tinha dito, vou participar no fórum na área de Design! *---* OBS: A maioria dos meus trabalhos são capas por causa da minha página! CURTE? https://www.facebook.com/deftdesigner ♥
  3. Poke zot editado por factur v2.0

    Igorzerah e um outro reagiu a Factur por uma resposta no tópico

    2 pontos
    ATENÇÃO O Tópico ainda pode ser atualizado. Em breve versão v2.2 !! Eae galera tudo beleza? venho trazendo pra vocês Um novo server PokeZot! Eu editei ele bastante!, Vou mostrar algumas coisas que eu editei, algumas coisas que adicionei E algumas que eu resolvi... ------------------ // ------------------ [~] Bugs ------------------ // ------------------ [~] Quest's Modificadas/Adicionadas. ------------------ // ------------------ [~] Resto que foi Editado/Adicionado/Removido ------------------ // ------------------ [~] Prints ------------------ // ------------------ [~] Download ------------------ // ------------------ [~] Créditos Pelo jogo = Wolf Admin Por Editar = Factur Flw galera! Factur ~ ------------------ // ------------------
  4. Poketibia 9.60 by lazarocp

    ScpEd e um outro reagiu a lazarocp por uma resposta no tópico

    2 pontos
    removido
  5. WebSite PokexMostyer

    cicinhobdr e um outro reagiu a kranzix por uma resposta no tópico

    2 pontos
    Queria saber a opinião de vocês! Breve Online:pokexmostyer.tk
  6. Voodoo

    kirabig reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Aeeeeeee carai, hoje vim trazer pra vocês meu mais novo sistema *-*. É uma fodenda spell que você seleciona alguém pra ser seu voodoo e a partir disso durante um tempo X ela vai receber todos os hit's que você deveria receber... INCRÍVEL, NÃO? Agora se nesse meio tempo ela deslogar ou entrar em pz você vai tomar o dano normal, mas se ainda tiver nesse tempo X e ela sair ela vai receber o dano instantaneamente (É BOM DEMAIS PRA SER VERDADE). Agora você deve estar imaginando, e se eu usar a magia pra transferir o dano pra um amigo e ele fizer a mesma coisa em mim, pra onde vai o dano? PRA LUGAR NENHUM!!!! Até porque eu já me previni contra esse bug fazendo com que não seja possível fazer alguém de voodoo se ele já tiver alguém de voodoo. Testado em versão 8.54 TFS Crying Damnson mas deve funcionar em todas as versões que tenham a função onStatsChange no creaturescripts. Bom, o script tá 100% funcional e livre de bugs (se vc achar algum eu te dou 3 REP). Agora vamos à mágica: Crie um arquivo em mods com extensão .xml e adiciona isso daqui nele <?xml version="1.0" encoding="UTF-8"?> <mod name="Voodoo System" version="1.0" author="Night Wolf" contact="none" enabled="yes"> ------------------------------------------------------------------------------------ <config name="feitisso"><![CDATA[ configuration = { storage = 24567, tempo = 20, cooldown = 45, effect1 = 13, effect2 = 65 } storagecool = 24568 ]]></config> ---------------------------------------------------------------------------------- <event type="login" name="registerVoodoo" event="script"><![CDATA[ function onLogin(cid) domodlib('feitisso') if getPlayerStorageValue(cid, configuration.storage) > 0 then doPlayerSendTextMessage(cid, 22, "Your victim is not receiving your hits anymore.") doPlayerSetStorageValue(cid, configuration.storage, 0) end registerCreatureEvent(cid,"voodoo") return true end ]]></event> ------------------------------------------------------------------------------------ <instant name="Feitiço" words="voodoo" lvl="50" mana="10" prem="1" range="3" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> <![CDATA[ function onCastSpell(cid, var) domodlib('feitisso') if not (isPlayer(variantToNumber(var))) then doPlayerSendCancel(cid, "You can only use this spell in players.") return false end if getPlayerStorageValue(variantToNumber(var), configuration.storage) > 0 then doPlayerSendCancel(cid, "You can't make a voodoo of someone who already has a voodoo.") return false end if (os.time() - getPlayerStorageValue(cid, storagecool)) >= configuration.cooldown then if getPlayerStorageValue(cid, configuration.storage) <= 0 then timeleft = (os.time() + configuration.cooldown) doPlayerSetStorageValue(cid, storagecool, timeleft) local target = getPlayerGUID(variantToNumber(var)) doPlayerSetStorageValue(cid, configuration.storage, target) doSendMagicEffect(getPlayerPosition(cid), configuration.effect1) doSendMagicEffect(getThingPos(variantToNumber(var)), configuration.effect1) addEvent(function() if isCreature(cid) then doSendMagicEffect(getPlayerPosition(cid), configuration.effect2) doPlayerSendTextMessage(cid, 22, "Your victim is not receiving your hits anymore.") doPlayerSetStorageValue(cid, configuration.storage, 0) end end, 100+1000*configuration.tempo) elseif getPlayerStorageValue (cid, configuration.storage) > 0 then doPlayerSendCancel(cid, "You've already set a target.") end else doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(configuration.cooldown - (os.time() - getPlayerStorageValue(cid, storagecool))).." seconds.") end return true end ]]></instant> ------------------------------------------------------------------------------------ <event type="statschange" name="voodoo" event="script"><![CDATA[ function onStatsChange(cid, attacker, type, combat, value) domodlib('feitisso') if isPlayer(cid) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and getPlayerStorageValue(cid, configuration.storage) >= 1 then local name = getPlayerNameByGUID(getPlayerStorageValue(cid, configuration.storage)) local victim = getCreatureByName(name) if isCreature(victim) and not (getTilePzInfo(getPlayerPosition(victim))) then dano = math.ceil(value) doSendMagicEffect(getPlayerPosition(cid), configuration.effect2) if attacker == victim then doTargetCombatHealth(cid, victim, combat, -dano, -dano, configuration.effect2) else doTargetCombatHealth(attacker, victim, combat, -dano, -dano, configuration.effect2) end return false end end return true end ]]></event> ------------------------------------------------------------------------------------ </mod> aqui você edita os storages da magia e do cooldown, além do tempo que ela dura, o tempo de cooldown (um uso e outro) e os efeitos que vão sair. ------------------------------------------------------------------------------------------------------------- aqui você edita o nome da spell, as palavras pra ela sair, level, custo de mana, se é preciso ser premium pra usar, o range dela, e as vocações que podem usá-la. OBS: se vc quiser que essa spell seja ganha em uma quest (por se tratar de algo bastante apelativo), é só colocar needlearn = "1" e fazer uma quest pra ganhar a spell (tem no meu Darkness Pact Quest uma quest de ganhar Spell, é só ir lá no meu perfil e procurar o tópico). Essa spell não serve somente pra ATS, use a criatividade pra criar uma história e fazer ela se encaixar... foque nos elementos de RPG e tcharam, está feito!. Façam bom uso e espero que não saiam postando em outros lugares sem os devidos créditos. Abraços do lobinho pra vcs PS: a foto ficou meio bosta mas vou postar mesmo assim Eu (sorc) ataquei a zuera e tomei o dano de volta e ainda saiu esse efeitinho bonito. Espero que tenham gostado e usem essa spell como base pra fazer outras coisas maravilhosas pra esse fórum E não esqueça de clicar em "gostei" caso tenha curtido a idéia. Ahhh, e antes que eu me esqueça dos agradecimentos: @ViitinG por me ajudar a testar @CreatServer por me dar a idéia @MaXwEllDeN por me orientar a trocar a table pelo storage possibilitando que o script fosse possível.
  7. Item que teleporta o player para house

    bim reagiu a ViitinG por uma resposta no tópico

    1 ponto
    Para quem não sabe como funciona o script : O player usa um certo item e se ele for dono de alguma house ele será teleportado para ela. • Adicionando o script • Em "data/actions/scripts/tphouse.lua" : function onUse(cid, item, fromPosition, itemEx, toPosition) if hasCondition(cid, CONDITION_INFIGHT) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desculpe,voce esta em batalha.") end if getPlayerLevel(cid) < getConfigInfo("levelToBuyHouse") then return doPlayerSendCancel(cid, "Sorry, not possible.") end if not getHouseByPlayerGUID(getPlayerGUID(cid)) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desculpe voce nao tem house.") end doTeleportThing(cid, getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))) doRemoveItem(item.uid, 1) return true end Em "data/actions/actions.xml" : <action itemid="7722" event="script" value="tphouse.lua"/> Créditos : MaXwEllDeN por ajudar em algumas funções. • Configurando •
  8. new marriage system

    Komix07 reagiu a Latoy por uma resposta no tópico

    1 ponto
    Mulizeu/Latoy são a msm pessoa Na sua db execute: CREATE TABLE marriage_system ( id INTEGER NOT NULL, player_id INTEGER NOT NULL, partner VARCHAR( 255 ) NOT NULL, marriage_date INTEGER NOT NULL, PRIMARY KEY ( id ) ); Mods MarriageSystem.xml <?xml version="1.0" encoding="UTF-8"?> <mod name="MarriageSystem" version="1.0" author="Mulizeu" contact="tibiaking.com" enabled="yes"> <config name="marry_func"><![CDATA[ marry_config = { Premium = false, OnlyDifferentSex = false, Marry_Price = 300000, Divorce_Price = 100000, Level = 50, MaxSqm = 7 -- to up system and win bonus } Marry_stage = { [0] = {exp = 350000, marry_percent = 50, player_experience = 0}, [1] = {exp = 700000, marry_percent = 45, player_experience = 2}, [2] = {exp = 1050000, marry_percent = 40, player_experience = 4}, [3] = {exp = 1400000, marry_percent = 35, player_experience = 6}, [4] = {exp = 1750000, marry_percent = 30, player_experience = 8}, [5] = {exp = 2100000, marry_percent = 25, player_experience = 10}, [6] = {exp = 2450000, marry_percent = 20, player_experience = 12}, [7] = {exp = 2800000, marry_percent = 15, player_experience = 14}, [8] = {exp = 3150000, marry_percent = 10, player_experience = 16}, [9] = {exp = 3500000, marry_percent = 5, player_experience = 18}, [10] = {exp = 0, marry_percent = 0, player_experience = 20} } marriage_tabble = {exp = 350250,level = 340200} function isMarried(cid) local m = db.getResult("SELECT `player_id` FROM `marriage_system` WHERE `player_id` = '"..getPlayerGUID(cid).."';") if(m:getID() == -1) then local e = db.getResult("SELECT `partner` FROM `marriage_system` WHERE `partner` = '"..getPlayerGUID(cid).."';") if(e:getID() == -1) then return false end end return true end function isPatner(cid) local p = db.getResult("SELECT `partner` FROM `marriage_system` WHERE `player_id` = '"..getPlayerGUID(cid).."';") if(p:getID() == -1) then return true end return false end function isMarryOnline(cid) if not getPlayerByNameWildcard(getPartner(cid)) then return false end return true end function getPartner(cid) if isPatner(cid) then a = db.getResult("SELECT `player_id` FROM `marriage_system` WHERE `partner` = '"..getPlayerGUID(cid).."';") b = "player_id" else a = db.getResult("SELECT `partner` FROM `marriage_system` WHERE `player_id` = '"..getPlayerGUID(cid).."';") b = "partner" end local query = a return getPlayerNameByGUID(query:getDataString(b)) end function doMarry(cid, patner) return db.executeQuery("INSERT INTO `marriage_system` (`player_id`, `partner`, `marriage_date`) VALUES ('".. getPlayerGUID(cid) .."', '"..patner.."', '".. os.time() .."');") end function doDivorcePlayer(cid) if isPatner(cid) then pid,player = getPlayerGUIDByName(getPartner(cid)),getPlayerByNameWildcard(getPartner(cid)) else pid,player = getPlayerGUID(cid),cid end if(not player or isPlayerGhost(player)) then db.executeQuery("DELETE FROM `player_storage` WHERE `player_id` = " .. pid .. " AND `key` = " .. marriage_tabble.level .. ";") db.executeQuery("DELETE FROM `player_storage` WHERE `player_id` = " .. pid .. " AND `key` = " .. marriage_tabble.exp .. ";") else setPlayerStorageValue(player, marriage_tabble.level,0) setPlayerStorageValue(player, marriage_tabble.exp,0) end return db.executeQuery("DELETE FROM `marriage_system` WHERE `player_id` = '" .. pid .. "';") end function getMarryStatus(cid, status) player = isPatner(cid) and getPlayerByNameWildcard(getPartner(cid)) or cid return getPlayerStorageValue(player,status == "level" and marriage_tabble.level or marriage_tabble.exp) < 0 and 0 or getPlayerStorageValue(player, status == "level" and marriage_tabble.level or marriage_tabble.exp) end function setMarryStatus(cid, status, amount) player = isPatner(cid) and getPlayerByNameWildcard(getPartner(cid)) or cid return setPlayerStorageValue(player, status == "level" and marriage_tabble.level or marriage_tabble.exp, getMarryStatus(player, status)+amount) end function getMarryExp(cid) return getMarryStatus(cid, "exp") end function addMarryExp(cid, amount) return setMarryStatus(cid, "exp", amount) end function addMarryLevel(cid, amount) return setMarryStatus(cid, "level", amount) end function getMarryLevel(cid) return getMarryStatus(cid, "level") end function getMarryDate(cid) local player = isPatner(cid) and getPlayerGUIDByName(getPartner(cid)) or getPlayerGUID(cid) local date = db.getResult("SELECT `marriage_date` FROM `marriage_system` WHERE `player_id` = '"..player.."';") return os.date("%d %B %Y %X ", date:getDataInt("marriage_date")) end ]]></config> <talkaction words="/marriage;!marriage;!divorce;/divorce" event="buffer"><![CDATA[ domodlib('marry_func') config = {TimeAccept = 30, sqm = 3, storage1 = 873438, storage2 = 532579} if words =="!marriage" or words =="/marriage" then param = string.lower(param) if (param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"invalid command, for more information enter !marriage info") elseif(param == "info") then msg = "Marriage Info".."\n\nLevel Minimum: "..marry_config.Level.."\nMarriage Cost: "..marry_config.Marry_Price.."\nDivorce Cost: "..marry_config.Divorce_Price.."\n\nMarried Players have a bonus exp as a wedding gift given by the union".."\n\nThis bonus is only given if the married players are nearby.\n\nTo marry use the command:\n!marriage NAME" doShowTextDialog(cid,2160,msg) elseif(param == "status") then if isMarried(cid) then msg = "Marriage Status".."\n\nMarried with: ["..getPartner(cid).."]\n\nMarry Experience: "..(getMarryLevel(cid) ~= 10 and "["..getMarryExp(cid).."/"..Marry_stage[getMarryLevel(cid)].exp.."]" or "[Max]").."\n\nMarry Level: "..(getMarryLevel(cid) ~= 10 and "["..getMarryLevel(cid).."]" or "[Max]").."\n" else msg = "you are not married" end doPlayerPopupFYI(cid, msg) elseif (param =="date") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,""..(isMarried(cid) and "The date of his marriage with "..getPartner(cid).." was: "..getMarryDate(cid).."." or "you are not married.").."") elseif (param =="accept") then player = getPlayerStorageValue(cid, config.storage2) if getPlayerStorageValue(cid, config.storage1) >= os.time() then if not isMarried(cid) then if getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(player)) <= config.sqm then doMarry(cid, getPlayerGUID(player)) doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_ORANGE,"Congratulations! "..getCreatureName(cid).." accepted his marriage proposal.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Congratulations! you married with "..getCreatureName(player)) doSendMagicEffect(getCreaturePosition(cid), 35) doSendMagicEffect(getCreaturePosition(player), 35) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "you're far away from her suitor.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you are not married.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you do not received none wedding invitation.") end elseif (param =="reject") then if getPlayerStorageValue(cid, config.storage1) >= os.time() then if not isMarried(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"You just refuse the wedding invitation from player "..getCreatureName(getPlayerStorageValue(cid, config.storage2))) doPlayerSendTextMessage(getPlayerStorageValue(cid, config.storage2), MESSAGE_STATUS_CONSOLE_ORANGE,getCreatureName(cid).." rejected his marriage proposal.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you are already married.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you do not received none wedding invitation.") end else local player = getPlayerByNameWildcard(param) if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, param.." is offline or does not exist.") return true elseif isMarried(cid) or isMarried(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, ""..(isMarried(cid) and "you" or "he").." already is wedded.") return true elseif marry_config.Premium == true then if not isPremium(cid) or not isPremium(Player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "players must be premium") end return true elseif getPlayerLevel(cid) < marry_config.Level or getPlayerLevel(player) < marry_config.Level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "players must to be level "..marry_config.Level) return true elseif getPlayerStorageValue(player, config.storage1) >= os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, param.." already have a wedding invitation, wait.") return true elseif getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(player)) > config.sqm then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "you are far away from each other to get married.") return true elseif marry_config.OnlyDifferentSex and getPlayerSex(cid) == getPlayerSex(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "you can only marry the opposite sex") return true elseif not doPlayerRemoveMoney(cid, marry_config.Marry_Price) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, but you do not have "..marry_config.Marry_Price.." gp(s) to ask "..param.." in marriage.") return true end setPlayerStorageValue(player, config.storage1,os.time()+config.TimeAccept) setPlayerStorageValue(player, config.storage2, cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you asked "..param.." in marriage, wait a answer!") doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_BLUE,getCreatureName(cid).." asked you in marriage, enter !marriage accept or !marriage reject") end elseif words =="!divorce" or words =="/divorce" then if isMarried(cid) then if doPlayerRemoveMoney(cid, marry_config.Divorce_Price) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Congratulations, you end up divorcing from player: "..getPartner(cid)) doDivorcePlayer(cid) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Sorry, you do not have "..marry_config.Divorce_Price.." gp(s).") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you are not married.") end end return true ]]></talkaction> <event type="login" name="MarryRegister" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "ExpMarry") registerCreatureEvent(cid, "MarryLook") registerCreatureEvent(cid, "MarryStats") registerCreatureEvent(cid, "MarryNoAttack") return true end]]></event> <event type="look" name="MarryLook" event="script"><![CDATA[ domodlib('marry_func') function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and isMarried(thing.uid) then doPlayerSetSpecialDescription(thing.uid, "\nMarried with "..getPartner(thing.uid).." - [Nv: " .. getMarryLevel(thing.uid) .."]\n") end return true end]]></event> <event type="combat" name="MarryNoAttack" event="script"><![CDATA[ domodlib('marry_func') if isPlayer(cid) and isPlayer(target) and isMarried(cid) and isMarried(target) then if (getCreatureName(target) == getPartner(cid))then doPlayerSendCancel(cid, "You may not attack this player.") return false end end return true ]]></event> <event type="kill" name="ExpMarry" event="script"><![CDATA[ domodlib('marry_func') function onKill(cid, target, lastHit) if isMonster(target) then conta = getMonsterInfo(string.lower(getCreatureName(target))).experience if isMarried(cid) and isMarryOnline(cid) and getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(getPlayerByNameWildcard(getPartner(cid)))) <= marry_config.MaxSqm then if getMarryLevel(cid) ~= 10 then mexp = math.ceil((conta*Marry_stage[getMarryLevel(cid)].marry_percent)/100) addMarryExp(cid, mexp) if isMarryOnline(cid) then doPlayerSendTextMessage(getPlayerByNameWildcard(getPartner(cid)),MESSAGE_STATUS_SMALL,"Marry exp + "..mexp) end doPlayerSendTextMessage(cid,MESSAGE_STATUS_SMALL,"Marry exp + "..mexp) if getMarryExp(cid) >= Marry_stage[getMarryLevel(cid)].exp then addMarryLevel(cid, 1) if isMarryOnline(cid) then doPlayerSendTextMessage(getPlayerByNameWildcard(getPartner(cid)), MESSAGE_STATUS_CONSOLE_RED,"[Marriage System] Level Up! [Nv: "..getMarryLevel(cid).."].") doSendMagicEffect(getCreaturePosition(getPlayerByNameWildcard(getPartner(cid))), 35) end doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_RED,"[Marriage System] Level Up! [Nv: "..getMarryLevel(cid).."].") doSendMagicEffect(getCreaturePosition(cid), 35) end end local exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier) local count = math.ceil(((getMonsterInfo(string.lower(getCreatureName(target))).experience*exp)*Marry_stage[getMarryLevel(cid)].player_experience)/100) doPlayerAddExperience(cid, count) end end return true end]]></event> <event type="statschange" name="MarryStats" event="script"><![CDATA[ domodlib('marry_func') Damage_percent = 50 -- metade n mexa Chance = 25 -- chance de conseguir o reflect ou couple damage if isMonster(attacker) and type == STATSCHANGE_HEALTHLOSS then if isMarried(cid) and isMarryOnline(cid) and getPlayerByNameWildcard(getPartner(cid)) and getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(getPlayerByNameWildcard(getPartner(cid)))) <= marry_config.MaxSqm then if (Chance > math.random(1, 100)) then damage = math.ceil((value*Damage_percent)/100) if (50 > math.random(1, 100)) then doTargetCombatHealth(cid, attacker, COMBAT_PHYSICALDAMAGE, -damage, -damage, CONST_ME_HOLYDAMAGE) doSendAnimatedText(getCreaturePosition(cid), "REFLECT!", 140) else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HEARTS) doSendAnimatedText(getCreaturePosition(cid), "Love!", 200) doCreatureAddHealth(cid, damage) if isMarryOnline(cid) then doSendMagicEffect(getCreaturePosition(getPlayerByNameWildcard(getPartner(cid))), CONST_ME_HEARTS) doSendAnimatedText(getCreaturePosition(getPlayerByNameWildcard(getPartner(cid))), "Love!", 200) doCreatureAddHealth(getPlayerByNameWildcard(getPartner(cid)), -damage) end end end end end return true ]]></event> </mod> Configuração: CREDITOS : 25% Ao vodkart pela lib e 75% ao mulizeu(eu) Pelos demais scripts
  9. [Link Quebrado]Pokémon Dash v6 open source

    tioj reagiu a Wend por uma resposta no tópico

    1 ponto
    ►Hoje estou trazendo aqui para vocês o download do pokemon dash v6 open source! ►Lista dos sistemas, lembrando o servidor não contem level system v1.0 v2.0 v3.0 beta v4.0 v5.0 v6.0 ► O servidor pode ser desatualizado próximo ao pda porem o Dash v6 é \/ ► Antes de falarem ctrl +c ctrl+v leia \/ ► Download - no download contem client + server + sources ! http://www.4shared.com/rar/VPIc8EeQba/servidor_pokemon_dash_v6.html? ► uma img para terem noção do que estão baixando ► Scan ► Créditos Brun123 por ums 92% do servidor Snix ajustou varios bugs no source, e compilou o executavel etc...
  10. Gesior Acc Maker Para Tibia 8.60(2.0)

    Cicuta Verde reagiu a ricardo3 por uma resposta no tópico

    1 ponto
    ATENÇÃO!!!! NÃO SEI SE FUNCIONARÁ MAS PARA EVITAR ATAQUES À DATABASE DELETE A PASTA WEBDAV NA PASTA DO XAMPP! Recomendo usar o xampp 1.7.3 para baixa-lo Clique aqui Olá baixei um gesior e resolvi editar tirar alguns bugs etc... este gesior funciona nas versoes 8.60 pra cima! O que tem de novo? Update 2.0 Screen Shot: characters.php modificado: DOWNLOAD: Gesior Acc 8.60 By [ADM] DaNgeR(2.0).rar SCAN: https://www.virustotal.com/file/181723a2883aaf5bd3cc66eeb694db85fb2e1879f10888bdac8d63c0a7f5dcbc/analysis/1334924828/ Créditos: Gesior GM Beckman Walef Xavier [ADM] DaNger - [ADM] Forever -Ricardo 3- Por ter trago sem remover os créditos. QUALQUER ERRO COMENTEM.
  11. 1 ponto
    Olá pessoal, a pedido do membro TioSlash fiz essa simples alteração no script padrão, para quem não sabe o script dá uma porcentagem a mais da experiencia ganha por aqueles jogares que são premium accounts ou, se preferir, vip account. (precisa usar o sistema feito por mim) Em data/events/scripts/player.lua, procure essa função: function Player:onGainExperience(source, exp, rawExp) Agora ache o fim dela: return exp end Agora antes do código final da função (^) coloca isso a seguir: Para premium ganhar a porcentagem a mais: if self:isPremium() then local exp_extra = 1.2 -- 20% + exp = exp * exp_extra end e para vip ganhar a procentagem a mais: if self:isVip() then local exp_extra = 1.2 -- 20% + exp = exp * exp_extra end Pronto! Para editar é fácil, nesta linha: local exp_extra = 1.2 -- 20% + Dúvidas postem aqui, 2 beijos.
  12. [8.60] Kalima // War System e Pet System

    IzzyWalker reagiu a .HuRRiKaNe por uma resposta no tópico

    1 ponto
    Informações: Mapa Kalima 100%; Erros do console retirados; Sqlite database 100%; Novos Monstros; Items Vip Level 8, para novos players; Novas Magias; Novos Comandos; War System 100%; Pet System 100%; Teleports; Quests; Servidor 100% estável; E muito mais! Comandos War System: Escreva no Guild Channel; /war invite,Guildname,Frags /war accept,guildname /war reject,guildname Imagens: Download: http://www.mediafire.com/?a6h5kfwdwx3i4cb Scan: https://www.virustotal.com/file/adecedaac4554d4a8283bab7693da635ebb4e6216afab6b83e028b7f309d4938/analysis/1358782460/ Créditos: Kalima Team NewManiatiko Animal Pak
  13. [ERRO] MOD SISTEMA LOTERIA + GESIOR

    HilariClinton reagiu a Wiz Khalifa por uma resposta no tópico

    1 ponto
    Eae rapaziada do Tibia king Hooje estou com um erro , fui instalar o MOD Sistema de Loteria com pagina no site , Fiz tudo bonitinho, executei as querys, adicionei no Index, criei o xml, o php , etc, etc... porém não aparece no index, e quando eu entro no localhost/loteria.php , da o seguinte erro: Line 3 : Agradeço desde já
  14. 1 ponto
    Introdução: Esses dias eu estava fazendo um sistema e senti a necessidade de armazenar várias informações (por player) em um só lugar. Porém, todos nós sabemos que não é possível colocar uma tabela como valor de um storage. Por conta disso, decidi tornar possível esse armazenamento. Tenho certeza de que essa biblioteca será uma ferramenta extremamente útil para todos os scripters. Ela abre muitas portas e vai permitir a criação de muitos sistemas interessantes. Instalação: Simplesmente crie o arquivo tableStorage.lua em data/lib e coloque esse código: Utilização: Para armazenar uma tabela em um storage de um player, use: setPlayerTableStorage(cid, key, tabela) Exemplo: setPlayerTableStorage(cid, 199991, {["primeiro"] = 4, [8] = "Killua", [3] = 22}) Para armazenar uma tabela em um storage global, use: setGlobalTableStorage(key, tabela) Exemplo: setGlobalStorageValue(123412, {1, 55, "c", 3}) Para retornar as tabelas, use: getGlobalTableStorage(key) ou getPlayerTableStorage(cid, key) Esclarecimento: As tabelas retornadas pelas funções getGlobalTableStorage e getPlayerTableStorage são tabelas normais e podem ser manipuladas como qualquer outra, por exemplo: for t, k in pairs(getPlayerTableStorage(cid, 123444)) do print("["..t.."] "..v) end Observações: As tabelas não armazenam valores booleanos, outras tabelas e nem funções, apenas strings e números. No entanto é claro que ela pode armazenar valores recebidos de funções, por exemplo: setPlayerTableStorage(cid, 17271, {["level"] = getPlayerLevel(cid), ["sex"] = getPlayerSex(cid) == 1 and "female" or "male"}) Funcionará perfeitamente. Mas: setPlayerTableStorage(cid, 17271, {returnDouble = function(value) return value*2 end, try = 11, [2] = 10}) Não irá funcionar. As tabelas podem ser preenchidas com ou sem index definido, de forma que os não definidos serão definidos automaticamente numa sequencia (Como qualquer tabela). Sendo assim: setPlayerTableStorage(cid, 12344, {1,3,23,1999,"test"})setPlayerTableStorage(cid, 12344, {[5] = "hi", ["mia"] = 32, c = 18})setPlayerTableStorage(cid, 12344, {1, "c", 6, ["test"] = 18, b = "c", "hello world"}) São todas válidas. Cuidado com com tabelas muito grandes! Elas podem acabar pesando bastante e consumindo bastante de sua database. Eu aconselho não ultrapassar 4 elementos. É claro que apenas um storage com uma tabela bem grande não vai causar problema mas, em um servidor com muitos jogadores, pode ser perigoso adicionar muitas tabelas grandes (1 por jogador). Considerações: Eu realmente acho que essa biblioteca vai abrir várias possibilidades para todos vocês, scripters. E espero que criem muitos sistemas legais a partir dela. Se tiverem dúvidas ou sugestões, podem dizer. Abraços.
  15. (Resolvido)MAX de magic lvl 156 como aumentar?

    574747 reagiu a Danves por uma resposta no tópico

    1 ponto
    Sim, pois voce ta limitando o ml maximo pra quando o requerimento for maior que 200 ._. (nem sei com oainda chegou a ml 86) Faz assim if(currReqMana > currReqMana * 2) É matematicamente impossivel limitar assim, hahaha
  16. [Ajuda]Mysql e Sqlestudio

    DavyziinC reagiu a Gaant por uma resposta no tópico

    1 ponto
    substitui por
  17. (Pedido)Sprites Mega Pokémons Uurgente!

    Gaant reagiu a GOD Vitor por uma resposta no tópico

    1 ponto
    Galera Download Do Cliente Do pokelute Descompilado : http://www.4shared.com/zip/BgLgevvgce/Cliente_Pokelute_Descompilado.html Créditos : GOD Vitor Por Descompilar o Cliente.
  18. (Resolvido)[PEDIDO] Catch system facil .

    dono red reagiu a allanzinh por uma resposta no tópico

    1 ponto
    Facio Apenas Altere ali no 15 . Ali É o rate do cagth da ball quantos mais vc almentar mais facio vai ser o cagth .[2392] = {cr = 15, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra"}, para ficar balanceado vc pode mexer no seo serv tbm o rate de cagth de cada um dos seus pokemons em data/lib/confgu la vc axa a rate de todos os seus pokemons Se ajudei Rep +
  19. Alguns TRABALHOS ! *-*

    DouglasTibia reagiu a Cat por uma resposta no tópico

    1 ponto
    realmente gostei, continue postando
  20. [OTC] Barra de HP no OTclient

    Wend reagiu a otaviogfl por uma resposta no tópico

    1 ponto
    Estranho kkkk aki já é o contrário, quando dá go back não aparece só se tomar dano e alguns clients a barra diminuia outros não, testa esse que a AnnaFeh colocou ai pra min.
  21. [Busque a cabeça] Mandato de morte! SCRIPT!

    Lyon reagiu a Absolute por uma resposta no tópico

    1 ponto
    Créditos para o autor base masteuszx. Absolute. masteuszx = autor do auto hunted e os créditos a mim pela tradução. Vamos ler, se é que saber. Abraços
  22. [PEDIDO] Algum DESIGN para esse serviço?

    Ryouu reagiu a Superion por uma resposta no tópico

    1 ponto
    Pedir por favor pelo menos seria bom, bando de gente mais folgada nesse TK.
  23. (Resolvido)account manager

    allanzinh reagiu a Wend por uma resposta no tópico

    1 ponto
    ou Delete o account Manager da Database
  24. Erro VIPTILE!

    BlinkRox reagiu a Wend por uma resposta no tópico

    1 ponto
    Então fica ruim de ajuda
  25. Erro VIPTILE!

    BlinkRox reagiu a Cerberus por uma resposta no tópico

    1 ponto
    ana nao adianta por premmy ele tem free premmy no server ja mandei ele tirar mais ele nao quer...
  26. PHP Error - Dúvida e ajuda!

    waldirjunior reagiu a Gaant por uma resposta no tópico

    1 ponto
    hm... vou upload de uma mysql , é de otpokemon ne ? poketibia.zip
  27. PS: coloque uma porta normal, não locked. faça um arquivo chamado doorkeystorage.lua e coloque em actions/scripts function onUse(cid, item, frompos, item2, topos) local storage = 304392 -- coloque o storage aqui local porta = 7049 -- id da porta local uniqueidporta = 12000 if item2.uid == uniqueidporta and item2.itemid == porta then setPlayerStorageValue(cid, storage, 1) doRemoveItem(cid, item.uid, 1) else doPlayerSendTextMessage(cid, 22, "Porta errada!") end return TRUE end Em actions.xml: <action itemid="ID DA CHAVE" script="doorkeystorage.lua"/> <action uniqueid="12000" script="doorkeystorage.lua"/> Aí você põe na porta no map, o uniqueid 12000 e a chave tal, quando usada na porta, dá o storage pro jogador. em movements/scripts crie um arquivo com o nome doorkeystorage.lua function onStepIn(cid, item, position, fromPosition, toPosition) local storage = getPlayerStorageValue(cid, 304392) if storage == 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Siga em frente.") else doTeleportThing(cid, fromPosition) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Somente players que liberaram esta passagem, podem passar.") end return true end Em movements.xml adicione: <movevent type="StepIn" actionid="ACTION QUE VC VAI POR NO PISO EM BAIXO DA PORTA" event="script" value="doorkeystorage.lua"/>
  28. (Resolvido)Lag no Servidor

    Wend II reagiu a Wend por uma resposta no tópico

    1 ponto
    você no VPS aperte em Ctrl+Shift+Esc e procure o processo de seu OTserver e faça oque o kbpaulo Disse
  29. PDA By: [GOD Anna]

    Wend II reagiu a Wend por uma resposta no tópico

    1 ponto
    então, no config.lua e no entergame.lua você vai colocar o IP do seu hamachi
  30. 1 ponto
    Iria ser Legal vc antes ter da uma Editada nesse Templo, pq esse templo Original do Baiakzik com esses KK no chão e sem cor e mto Feio
  31. Poke zot editado por factur v2.0

    DouglasTibia reagiu a Gaant por uma resposta no tópico

    1 ponto
    Caraka, só agr que foi trocado de area o.O
  32. [PEDIDO] Map

    kaboflow reagiu a eric77 por uma resposta no tópico

    1 ponto
    Nossa mano, vc quer alguém pra editar o mapa inteiro?? Fica a dica: quando for fazer algum pedido seja mais específico, por exemplo, " gostaria que alguém editasse a city principal do meu mapa" ou alguma parte específica, ou então pedir para alguém criar um área do jeito que vc quer e postar aqui para vc juntar no teu mapa dps e tal ...
  33. (Resolvido)[Ajuda] RME não consigo abrir meu mapa

    Wend II reagiu a Wend por uma resposta no tópico

    1 ponto
    você não vai consegui abri o Meu Mapa com esse RME Baixe esse aqui >> http://www.tibiaking.com/forum/topic/38665-remeres-map-editor-vers%C3%A3o-cliente-estendidaextended/ OBS; para instalar normal siga a video-aula do nosso amigo @oiuhygwueuho
  34. Evolutions Server

    Joa1 Grasshopper reagiu a AQuiLIX por uma resposta no tópico

    1 ponto
    Alguém poderia por favor fazer um passo a passo detalhado de como por esse servidor online? Sei que muitos aqui tem amplo conhecimento e não precisão de ajuda, mas creio que a grande maioria tem um conhecimento relativamente baixo quanto a esses tipos de servidores, pois requer um conhecimento maior. Gostei bastante das imagens do server e ja ouvir falar muito bem do Alissow, porem estou com muito dificuldade em por o servidor pra rodar e lendo os comentários vejo que faço parte de uma maioria. Alguém poderia fazer um tutorial ou linkar um aqui? Tenho certeza que iria chuver cliques no botão GOSTEI. Desde já, agradeço.
  35. (Resolvido){Ajuda} Account Manager

    Wend II reagiu a Wend por uma resposta no tópico

    1 ponto
    Creio que sim pois o Site vai usa o sha1
  36. Configurar site

    Wend II reagiu a Wend por uma resposta no tópico

    1 ponto
    vá na pasta C:\xampp\htdocs\system\pages e lá irar ter um arquivo.php chamado de download abra ele e edite a seu Gosto
  37. 1 ponto
    Olha aqui >> Client.rar Baixe e coloque o seu DAT e SPR na pasta do client. Obs: os Arquivos dat e spr devem tá com o nome >> POK
  38. Ajuda barra de atks poketibia

    SliceFalso reagiu a Wend por uma resposta no tópico

    1 ponto
    Creio que ele não tem o systema instalado então sem as source não dá
  39. [Link Quebrado]Pokémon Dash v6 open source

    SliceFalso reagiu a Wend por uma resposta no tópico

    1 ponto
    vá no seu Iniciar e digite cmd, quando achar abra e digite nele ipconfig vai aparecer uma lista de uns IP's, procure por +ou- isso endereço IPv4 . . . . . . . . . . . . . . 154.154.154.1 quando acha seu IPv4 pegue o IP que está do lado e copie ou salve para não esquece agora vá no seu config.lua e troque o ip de lá pelo IP do IPv4
  40. [Link Quebrado]Pokémon Dash v6 open source

    SliceFalso reagiu a Wend por uma resposta no tópico

    1 ponto
    Para resolve o problema da tela de personagens olhe esse Tópico >> http://www.tibiaking.com/forum/topic/9232-resolvendo-temple-position-is-wrong-contact-the-administrator/
  41. aaah já estou vendo vai começar a dar varios erros use essa database ai >> poketibia.zip
  42. (Resolvido)Meu .exe do Serv com Outro Nome

    Takashira reagiu a Orochi Elf por uma resposta no tópico

    1 ponto
    Da uma editada com no hex decimal, vê se você consegue editar
  43. [PEDIDO] Como editar um monster

    BrunoWots reagiu a augustomeneghetti por uma resposta no tópico

    1 ponto
    Bom.. vamos começar por partes. Vou dar um ctrl c + ctrl v em algumas partes e vou explicando passo a passo, vale lembrar que eu não manjo 100% pois nunca me preocupei com algumas coisas.. então o que eu tiver certeza vou deixar explicito, o que for uma hipotese para mim vou falar EU ACHO. Vamos lá. <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000"> Auto-explicativo. Utilize para mudar o nome do monstro. <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000"> Serve para você escolher o que vai apareçer quanto você der look num monstro.. por exemplo você da look num demon.. vai apareçer "You se a demon".. ai se você quiser alterar isso, a vontade <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000"> Raça propriamente dita, essa parte é simples de entender porém eu nunca parie para prestar atenção no que isso influencia, mas provavelmente deve influenciar em algo. <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000"> Altere a experiencia do monstro aqui.. por exemplo, seu ot server é exp de 10x Nesse caso um demon irá lhe dar 6000 de exp * 10, ficando então 60,000 de exp, se você alterar para 7000 a exp, irá dar 70,000 de exp o demon, você tem que levar em conta a exp como 1x elevado a rate do seu server, se você quer que um monstro de 10k de exp, você vai lá e põe 10k, e por seu server ser 10x ele vai dar 100k, algo que você não quer.. nesse caso utilize 1k de exp <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000"> Velocidade propriamente dita do monstro, altere isso para faze-lo andar mais rapido/devagar, ou deixe em zero para o monstro ficar parado <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000"> Provavelmente deve ser a mana necessária para sumonar o demon, mas calma lá.. ja vamos chegar num ponto onde definimos se o monstro é sumonavel ou não. ----------------------------- <health now="8200" max="8200"/> Aqui você define a health do monstro.. por exemplo <health now="500" max="8200"/> Se você fizer isso, o monstro vai ter um TOTAL de 8200 de HP, mas quando ele nascer, ele vai nascer com 500 de HP, ou seja, a barrinha de life dele vai estar no vermelho praticamente ----------------------------- <look type="35" corpse="5995"/> Aqui você define o sprite do seu monstro Não lembro de cabeça.. mas vamos fingir que o citizen outfit é look type 100, você tem o looktype 35, e quer fazer um demon com outfit de citizen, você muda para 100, ou qualquer outro valor referente ao outfit que você procura. <look type="35" corpse="5995"/> Aqui você define qual será o sprite do seu monstro quando ele morrer. Agora, vamos fazer algo mais divertido? Vamos alterar o seguinte código: " <look type="35" corpse="5995"/>" Suponha-se que você quer utilizar o outfit citizen, mas dessa maneira você não pode definir as cores, e nem fazer um monstro com addon, então agora vou te ensinar como fazer isso Insira no código as seguintes informações destacadas: <look type="35" head="114" body="114" legs="0" feet="0" addons="3" corpse="5995"/> Agora vamos as explicações: <look type="35" head="114" body="114" legs="0" feet="0" addons="3" corpse="5995"/> Define a cor do cabelo do seu monstro, porém você tem que definir com numeros, ja te ensino o macete para descobrir como conseguir esses valores No caso, 114 representa o preto, então seu monsto terá cabelo preto, se você definir como 0, será cabelo branco. <look type="35" head="114" body="114" legs="0" feet="0" addons="3" corpse="5995"/> Mesma coisa do caso acima, porém para o peitoral do corpo.. e assim por diante Basta você imaginar na ordem do Set outfit do próprio Tibia, quando você vai em ser outfit, temos as seguintes coisas: Head = Head Primary = Body Secondary = Legs Detail = feet Entendeu? Para definir os addons do seu monstro você editará a seguinte parte: <look type="35" head="114" body="114" legs="0" feet="0" addons="3" corpse="5995"/> Se você quiser que ele tenha APENAS o addon 1, deixe dessa maneira: addons="1" Para o addon 2: addons="2" Agora, você quer saber a melhor maneira de deixar o monstro como você quer? Simples, coloque seu ot server online, e pegue um char de teste, selecione nele o outfit com as cores e addons que você quer, e depois deslogue do char, feito isso abra o MYSQL (a versão que você utilizar), lá vá em editar players, se você utilizar o SQLite Studio assim como eu, logo a frente do nome do seu char de teste, vai ter as informações com o numero da cor e outfit que você selecionou <targetchange interval="5000" chance="8"/> Nessa parte você coloca um valor para definir a cada QUANTO TEMPO ele irá sorteiar baseado no valor ao lado (chance) se o monstro irá mudar seu alvo de um jogador para outro. Na parte a seguir vamos definir algumas coisas utilizando o padrão Binário, mas ai você me pergunta o que é binário? Simples, definição de verdadeiro e falso a partir de 0 e 1. Para verdadeiro utilizaremos 1, para falso 0. <flag summonable="0"/> Define se é possivel um player normal sumonar o monstro através da magia "utevo res".. no caso está definido como não, não é possivel. <flag attackable="1"/> Define se é possivel UM JOGADOR atacar o monstro, por exemplo, se você definir como 0, ao tentar atacar o monstro vai ser impossivel. <flag hostile="1"/> Define se é um monstro hostil, ou simplificando, se estiver como 1 ele te ataca, mas se estiver como 0 ele seria um rabbit da vida, pode ser atacado mas não ataca de volta. <flag illusionable="0"/> Define se é possivel utilizar a magia "utevo res ina" no monstro.. ou seja, um player comum (mage) se transformar no monstro por um determinado tempo <flag convinceable="0"/> Mesma coisa do summonable PRATICAMENTE, porém é através de uma runa que existe no jogo, se você utilizar ela num monstro ele irá virar seu summon. <flag pushable="0"/> No caso, demons não são possiveis de arrastar, mas se você alterar para 1, será possivel arrastar seu demon. <flag canpushitems="1"/> Define se o monstro em si irá arrastar itens, no caso você tacou uma parcel na frente do bixo e saiu correndo, ele arrasta ela tirando-a do seu caminho. <flag canpushcreatures="1"/> Mesma coisa do item anterior, porém com criaturas, se uma criatura entrar na frente do seu monstro, ele irá arrasta-lá para chegar até você. <flag targetdistance="1"/> A distancia que você quer que o monstro fique do jogador, exemplo: Você quer que o demon ataque o jogador a 2 sqm's de distancia, basta alterar para 2 o valor. <flag staticattack="90"/> Não sei dizer o que fazer, se alguem souber, peço que poste. <flag runonhealth="0"/> Define a vida em que o monstro irá fugir de você (porém não sei dizer se funciona como a vida mesmo ou em % da vida, se alguem puder deixar mais claro isso) --------------------------- </flags> <attacks> <attack name="melee" interval="2000" skill="100" attack="110"/> <attack name="manadrain" interval="2000" chance="13" range="7" min="0" max="-120"/> <attack name="fire" interval="2000" chance="30" range="7" radius="7" target="1" min="-150" max="-250"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="firearea"/> </attack> Nessa parte iremos trabalhar as spells do monstro. A parte destacada em negrito, é onde você coloca os ataques, ou seja, todo ataque novo que você quiser fazer OU TIRAR, terá que ser assim, e sempre terá de ser dentro do padrão, no caso eu retirar todos os ataques e deixar apenas um novo. <attacks> <attack name="melee" interval="2000" skill="100" attack="110"/> </attack> Dessa maneira o demon irá utilizar APENAS o melee skill, com um intervalo de 2000 milésimos, a parte e skill e attack basta pensar que ele é um player, vamos utilizar um exemplo. <attack name="melee" interval="2000" skill="100" attack="25"/> Isso equivale a um jogador com skill 100 utilizando uma arma com attack 25. (Por exemplo um paladino com spear) <defenses armor="55" defense="55"> <defense name="healing" interval="2000" chance="15" min="130" max="240"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="speed" interval="1000" chance="8" speedchange="290" duration="5000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> O critério utilizado acima nos ataques, também servem para buffs do monstro, por exemplo aqui em defense, você pode ver que ele tem uma chamada speed, que é um haste que o monstro usa para correr mais rapido. Mas esse não é o foco que irei abordar aqui. A parte em negrito aborda a defesa do monstro, mesmo criterio utilizado acima no ataque, porém para defesa. Agora, você queria adicionar uma spell de healing, correto? então vamos lá Peguei como exemplo a linha de código de um monstro do meu servidor, basta você inserir isso no seu código que estará tudo perfeito. <defense name="healing" interval="1000" chance="25" min="500000" max="50000000"> Interval define o intervalo do chance, ou seja, a cada 1000 milésimos será sortiado com uma chance de 25 de o monstro healar (detalhe, se não for sortiado dentro da chance o monsto não irá healar) entre o valor min e max, e a próposito, estou falando sortiar, mas o mais correto seria dizer: "Sortear um valor random", pois não há como definir o valor a ser sortiado (se não nem sequer seria um sorteio né?" ------------------------------------- <elements> <element physicalPercent="30"/> <element energyPercent="50"/> <element earthPercent="20"/> <element icePercent="-15"/> <element holyPercent="-15"/> <element deathPercent="20"/> </elements> Essa parte é BEM SIMPLES, é a % de defesa do monstro contra danos magicos/fisicos: Levando em conta os dados acima vamos lá: <element physicalPercent="30"/> O monstro tem uma defesa de 30% contra physical, ou seja, se você iria hitar 100 nele, o valor 100 será diminuido para 70, que será o seu hit final <element icePercent="-15"/> Aqui ja fica diferente.. DESTAQUE para o sinal de -, isso significa que o monstro É FRACO ao elemento ice, ou seja, você iria hitar 100? Seu hit final vai ser 100 + 15% = 115 de dano É essa formula para qualquer valor, por exemplo: 300 de dano (15% do valor é igual a 45), ou seja, 345 de dano de ice ----------------------------- <immunities> <immunity fire="1"/> <immunity drown="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> Aqui são as imunidades do monstro, vamos lá, 1 por 1: <immunity fire="1"/> Significa que o monsto tem 100% de proteção a fogo, então não importa o que ele não toma dano de fogo. <immunity drown="1"/> Não me lembro o que é drown, se não me engano é andar embaixo da água, se for 0 o monstro iria perder vida (SE NÃO ME ENGANO) <immunity paralyze="1"/> Ao utilizar a paralise rune no monstro, isso define se ele será afetado ou não <immunity invisible="1"/> Define se o monstro irá ver invisbilidade (utana vid ou stealth ring) Caso essa opção esteja marcado como 0, se você utilizar utana vid, o demon não irá lhe atacar por não te ver. ----------------------- <summons maxSummons="1"> <summon name="fire elemental" interval="1000" chance="12"/> </summons> O demon é um monsto que sumona bixos, no caso aqui você define em MAXSUMMONS qual o limite de bixos que ele poderá sumonar, e em baixo qual o bixo propriamente dito que será sumonado, no caso você pode alterar o fire elemental para um rat se quiser. ------------------------ <voices interval="5000" chance="10"> <voice sentence="MUHAHAHAHA!" yell="1"/> <voice sentence="Your soul will be mine!" yell="0"/> </voices> Deixei apenas as 2 opções para uma explicação mais objetiva, o primeiro em negrito é uma fala do monstro, porém está como yell=1, isso significa que quando ele falar, ele irá gritar na verdade, então será possivel ver essa fala dele de fora da tela. A fala de baixo no caso, ja representa uma simples fala qualquer que só se pode ser vista estando na mesma tela do monstro em si. ----------- ~ Enfim.. Só restou explicar a ultima parte de loot, mas com tudo que ja expliquei acima, creio que você pegou uma base e isso não será necessário né? hehe, espero que esse post tenha lhe ajudado, qualquer dúvida, basta perguntar, ajudarei no que for possivel.
  44. Poke zot editado por factur v2.0

    Francisco tibia reagiu a Factur por uma resposta no tópico

    1 ponto
    Tópico atualizado , Versão v2.0!
  45. Poke zot editado por factur v2.0

    marcoswitt reagiu a Factur por uma resposta no tópico

    1 ponto
    ATENÇÃO O Tópico foi editado,adicionado o download do client para usúarios que ainda não conhecem o Poke Zot. Isso irá contribuir para os usúarios que não contém o client e ficar procurando, agora ja tem. Agradecimento aos Players que avisarão que estava faltando ele. 09 / 08 / 2014 ás 00 : 37
  46. Poke zot editado por factur v2.0

    Solado reagiu a jeszao por uma resposta no tópico

    1 ponto
    Faltando o cliente do OT Coloque o Link ....
  47. 1 ponto
    @chevinha cuidado com double post ! @topic se o erro ocorreu no meu script,tente trocar por este : function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getPlayerGroupId(cid) >= 2 then doSendMagicEffect(getPlayerPosition(cid), 28) else doTeleportThing(cid, lastPosition) doPlayerSendCancel(cid, "Desculpe "..getPlayerName(cid).." somente players da staff passam aqui!") end return TRUE end
  48. 1 ponto
    Se você não sabe como mudar para funcionar na porta 8090, vou ensinar: C:\xampp\apache\conf\httpd.conf: Procure > Mude "Listen 80" > "Listen 8090" C:\xampp\apache\conf\extra\httpd-ssl.conf Procure > Mude "Listen 443" > "Listen 4499" "<VirtualHost _default_:443>" > "<VirtualHost _default_:4499>" "ServerName localhost:443" > "ServerName localhost:4499"
  49. [8.54] Erondino Poketibia Revolution 1.0

    tilu reagiu a Gabrieltxu por uma resposta no tópico

    1 ponto
    hum... talves Posto o meu Server Original com pokes de Unova para vcs!! mais para eu Postar quero REP++ sei que nãoo vale para nada mais eu quero xD
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo