Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 12/13/12 em todas áreas

  1. Spell Exclusiva

    Luis Matheus e 3 outros reagiu a Junior Lopes por uma resposta no tópico

    4 pontos
    Spell exclusiva! Tibia 8.6 Join! • Menu: ├ Informações; ├ Compatibilidade; ├ Tutorial; ├ Explicação; ├ ScreenShots; └ Créditos. •Informações; Fala galera do TibiaKing. Tudo na paz? Então, hoje estou aqui para postar meu PRIMEIRO TÓPICO no TK. Vou ensina-los a como fazer uma spell exclusivamente MINHA. COMENTEM POR FAVOR... MESMO QUE FOR PARA FALAR MAL OU FALAR BEM. E agora vocês vão me ver explicando... ou não. •Compatibilidade; -Windows Xp: OK! -Windows 7: OK! -Testado Somente em Alissow OT 8.6 •Tutorial; Estou aqui para mostra-los e ensina-los a colocar uma spell que Eu criei! Bom, para começo de conversa, vá na PastaDoSeuServer/Data/Spells/Scripts . E lá , você cria um arquivo ( ou copie e cole um arquivo já existente ) e renomeie ele para: "Vip Spelling" Depois de ter feito isso, abra-o e coloque isto dentro do arquivo: Bom, feito isso, 50% da sua nova spell já está criada! Agora vamos voltar; vá na PastaDoSeuServer/Data/Spells , abra o arquivo chamado Spell.xml ( é o único arquivo editável )! Acrescente isso na linha abaixo de ATTACK SPELLS : <instant name="Vip Spelling" words="Exevo Vip Power" lvl="20000" mana="5500" prem="1" exhaustion="1500" needlearn="0" event="script" value="Vip Spelling.lua"> <vocation name="Druid"/> <vocation name="Knight"/> <vocation name="Paladin"/> <vocation name="Sorcerer"/> <vocation name="Master Sorcerer"/> <vocation name="Elder Druid"/> <vocation name="Elite Knight"/> <vocation name="Royal Paladin"/> </instant> •Explicação; Vip Spelling: isso é o nome da spell que eu falei pra copiar um arquivo já existente e renomear para Vip Spelling ( caso colocou outro nome, escreva o nome que colocou no lugar de Vip Spelling. ) Exevo Vip Power: Isso é o que o player irá falar para que a spell seja conjurada! ( isso é totalmente editável, pode mudar o quanto quiser.) Lvl="20000" = O 20000 é o level mínimo que o player terá que ter para usar a spell, se for abaixo que isso, não poderá usar. ( isso também é totalmente editável. ) Mana="5500" = É a Mana que irá gastar após conjurar a spell. (Totalmente editável, também.) prem="1" = É se o player precisará ser premium para usar a spell, no meu caso, como a spell é para VIP's, eu coloquei sim. (0=não 1=sim) value="Vip Spelling.lua"= Isso é o nome do arquivo que você teve que criar lá no começo do Tutorial. ( Totalmente editável, coloque de acordo com o nome da spell lá no começo do tutorial.) setCombatFormula(combat4, COMBAT_FORMULA_SKILL, 0, -600, 6.0, -650): em rosa é o hit que irá dar. ( Totalmente editável.) O resto eu não recomendo editar, pois irá fazer a spell ficar diferente. Bom, é isso pessoal, espero que tenham gostado. •ScreenShot; •Créditos; 100% Meu, por criar a magia e o tópico.
  2. Tutorial Básico Creaturescripts

    Kyosen e um outro reagiu a Markin por uma resposta no tópico

    2 pontos
    Vim trazer hoje um tutorial bem útil para quem esta aprendendo a linguagem lua. Com a autorização do grande Jhon vou postar aqui um tópico desenvolvido por ele. Tutorial Básico sobre CreatureScripts CreatureScripts = São scripts que serão ativados após uma determinada ação criada pelo monstro ou personagem. Essas ações são determinadas como funções. Existem varias funções utilizadas para a criação de creaturescripts e estas são: onDeath(cid, corpse, killer)-- que é executada ao morrer. onPrepareDeath(cid, lastHitKiller, mostDamageKiller) -- semelhante a onDeath. onAttack(cid, target) -- executa ao atacar. onCombat(cid, target) -- semelhante ao onAttack. onLogin(cid) -- executa ao logar. onLook(cid, thing, position, lookDistance) -- executa ao dar look. onAdvance(cid, skill, oldLevel, newLevel) -- executa ao upar skills/levels. onStatsChange(cid, attacker, type, combat, value) -- executa ao perder ou ganhar life/mana/condições. onLogout(cid) -- executa ao deslogar. onKill(cid, target, lastHit) -- executa ao matar. onThink(cid, interval) -- executa em determinado tempo. onJoinChannel(cid, channelId, users) -- executa ao entrar em um chat. onReceiveMail(cid, sender, item, openBox) -- executa ao receber um parcel/carta. onReportBug(cid, comment) -- executa ao reportar bug. Para criar esse tipo de script, primeiramente vai na pasta data/creaturescripts/scripts e duplica um arquivo e salve com "nomedesejado"; Agora você vai determinar que função você vai precisar para criação do seu script. Para exemplo vou usar a função "onAdvance"(ao upar). Neste exemplo, quando o player upar level 100 ele irá ganhar 1kk: 1 function onAdvance(cid, skill, oldLevel, newLevel) 2 if (getPlayerLevel(cid) == 100) then 3 doPlayerAddItem(cid, 2160, 100) 4 doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabéns, você ganhou 1kk por atingir level 100!") 5 doSendMagicEffect(getCreaturePosition(cid), 30) 6 end 7 return true 8 end Numerei as linhas para melhor entendimento, nos seus scripts vocês não devem numerar. linha 1 = Inicio da função onAdvance, essa linha recebe algumas informações do player que upou, como seu cid, seus skills o velho level e o novo level. Obs: cid = creature id, numero de identificação do player/monstro. linha 2 = Inicia-se um if onde verifica se o level do player é igual a 100. Se for verdadeiro, o script executa as linhas 3,4 e 5, senão pula direto a linha 6. linha 3 = Adiciona 100 itens com o id 2160 ao player. linha 4 = Manda uma mensagem parabenizando o player. linha 5 = Solta o efeito de numero 30, na posição em que o player esta. linha 6 = Finaliza a verificação do if. linha 7 = Retorna verdadeiro. Obs: sempre é necessario ela linha no final de seu código. linha 8 = Finaliza a função onAdvance. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Por fim para funcionamento do seu script é necessario adicionar 2 tags: 1º- No "data/creaturescripts/creaturescripts.xml" 2º- No arquivo "data/creaturescripts/scripts/login.lua", Obs: se o script que você for fazer for de função onLogin, não precisa adicionar a segunda tag. 1º Tag: Vai em data/creaturescripts/creaturescripts.xml e cole a tag: <event type="advance" name="QualquerNome" event="script" value="nomedesejado.lua"/> O type="" , será o nome da função de seu script após a palavra "on" e sempre tudo em minusculo. O name="", use qualquer nome porem esse nome vai ser usado para registrar no script onLogin na tag2. O value="", é o nome com qual você salvou seu script. Agora em data/creaturescripts/scripts/login.lua, sempre antes do último return true: registerCreatureEvent(cid, "QualquerNome") QualquerNome é o name que você adicionou na tag1 do creaturescripts.xml. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Acho que é isso aew, espero ter ajudado a galera que esta iniciando. Dica para criação de scripts: Para melhor edição e organização use Notepad++: http://www.baixaki.c...ad/notepad-.htm Sempre usar uma lista de funções como apoio: http://tibiaking.com...funcoes-em-lua/ E sempre pesquise por scripts prontos e tutoriais para ter uma base. CREDITOS: JHON pelo tutorial completo! Anne por trazer ao TK.
  3. [NPC] Trocar item por X item

    Edilson1 e um outro reagiu a luuuck por uma resposta no tópico

    2 pontos
    Fala galera, andei dando uma olhada aqui em uns NPC's mas não consegui fazer Tipo, queria que o NPC trocasse por exemplo 10 Major Crystalline Token (ID: 18423), por um Prismatic Helmet (ID: 18403), o item é fácil configurar, porem olhando os NPC's não achei nenhuma parte do script o id 2160 que é do crystal coin's, se tivesse dava para trocar o id pelo do token Alguem poderia me informar como mudo de crystal coin para o token? EDIT@ CONSEGUI.
  4. Não testei aqui mas creio que funcione.. data/creaturescripts cria um arquivo .lua "cachorroquest.lua": function onDeath(cid, corpse, killer) local Ppos = {x = 340, y = 840, z = 15} -- posicao para onde ele vai ir local monstName = "Pythius The Rotten" -- nome do monstro if isMonster(cid) then if string.lower(getCreatureName(cid)) == string.lower(monstName) then doTeleportThing(killer[1], Ppos) end end return TRUE end em creaturescript.xml adicione a tag: <event type="death" name="Teleportquest" event="script" value="cachorroquest.lua"/> no arquivo xml do monstro adiciona: <script> <event name="Teleportquest"/> </script>
  5. 2 pontos
    Mals errei as posições. function onUse(cid, item) local Msg = "Você ganhou acesso a todas áreas vip's parabéns." local storages = {13701, 13702, 13703, 7527, 7528, 7529, 7530, 7525, 7520, 5722, 5721} for T = 1, #storages do if getPlayerStorageValue(cid, storages[T]) < 1 then setPlayerStorageValue(cid, storages[T], 1) end end doPlayerSendTextMessage(cid, 27, Msg) doRemoveItem(item.uid, 1) return true end
  6. [PROBLEMA] Evento rodando

    kembely e um outro reagiu a luuuck por uma resposta no tópico

    2 pontos
    Galera, por favor me ajudem '-' Um evento aqui bugou... E pior não da para fechar, todos players estão salvos porem não tem como iniciar o evento denovo... Quando tento inicia-lo denovo da isso >>> 21:36 Biohazard is already running. PS: Já reiniciei o server e o dedicado para ver e da mesma coisa!!!
  7. Aulas de Scripting Lua

    unf4ced reagiu a MaXwEllDeN por uma resposta no tópico

    1 ponto
    Quer aprender a programar em Lua? Sugiro que você comece olhando esses tutoriais escritos por Urso Mock, Suricato Notorious e Raposa Skyen Hasus. Já leu todas as aulas anteriores e acha que você já está apto a criar seus próprios Scripts? Boa! Agora é hora de por suas habilidades em prática. Leia esses tutoriais: Outros Tutoriais: Avançado:
  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. [8.54] Pokemon xD by Rafael Marinho

    Jonathan alcino reagiu a RafaaxD por uma resposta no tópico

    1 ponto
    E ai pessoal primeiro topic e post aqui no TibiaKing ... [ Caso esteja algo errado , área ou algo do tipo mova por favor ? ] Eu ( RafaaxD ) tenho varios servers de tudo quanto é tipo de game e AMO editar , depois eu posto alguns aqui hihi , acabei de criar conta aqui e por falta de tempo e dinheiro pra um dedicado venho postar meu server de pokemon [ POKEMON xD ] que editei sozinho, a base é o pokemon dash mas tá muuuito editado ,Server está muito bom na minha opinião.. espero ver muitos daqui usando este server hein .. rs BUGS ? Sim , tem bugs como todos servers .. maaas são todos simples de resolver mas enche o saco .. sacomé ? então qualquer duvida pode postar aqui que talvez eu arrume e sim vou ajudar quem precisar .. eu tenho esse server aqui faz um tempinho vou formatar meu pc, mas antes vou ver se acho meu documento que fiz com a lista de uns bugs com as soluções já por etapa é que tinha preguiça kkkk. Alguns Systems : Level System , Tv System , Dive System , Fly System , Surf System , Ride System , Carro,Moto e bike system , varias quests pelo mapa , milotic quest ,rary cand quest , game boy box quest .. aah tem varios véi ..(: Algumas SS : [Alguns pokes em frente ao templo de 3 andares ? .. ps : isso que estou usando é uma outfit ] [ Item que pode ser vendido no shop, ele te transforma num carro com Super velocidade] [ Item que pode ser vendido no shop, ele te transforma numa moto com Super velocidade²] [ Item que pode ser vendido no shop, ele te transforma numa bike com Super velocidade³] [ Rare candy , Game boy box , Mega ball (vendida no shop cada por 1 real ela da 100% de catch) VIP outfit e a bike ] É isso ae pessoal espero que gostem ? .. Ps: Comentem sobre o post como ficou tbm ? valeu , qualquer coisa que faltar ou quiserem dou um @EDIT aqui .. POSTADO UNICAMENTE PARA O TIBIAKING , NÃO QUERO QUE POSTEM NO tibiaking POR MOTIVOS PESSOAIS , CASO VOCÊ QUEIRA LEVAR MEU SERVER PARA BLOG OU ALGO DO TIPO POR FAVOR CRÉDITOS A RAFAEL MARINHO ! THANKS. Download SERVER (SPEEDYSHARE) // Download SERVER (MEDIAFIRE BY MATHEUS) // Download CLIENT (SPEEDYSHARE) // Download CLIENT (MEDIAFIRE BY ...); [ BAIXOU COMENTA E DA +REP ? PLS ] [ SE FOR USAR P/ DEDICADO ME CHAMA PRA JOGAR TBM xD ] Scan Do Server // Scan do Client @EDIT Pessoal lembra que eu falei que tinha uma lista de bug e metas para fazer no server e que eu não fiz ? Então Achei , ta ai UPDATE VINDO AE .. AGUARDEM ! @edit UPDATE CANCELADO ! MOTIVO : PLAGIO
  10. Tutorial MageBot! [Completo]

    Bielzorsz reagiu a kenbaue por uma resposta no tópico

    1 ponto
    Tutorial MageBot! Não sabe usar o MageBot? Não? Não tem problema, com este tutorial você vai aprender rapidinho! Antes disso, se você ainda não tem o MageBot, clique aqui e visite o tópico de download. Antes, vejamos uma imagem da interface do MageBot: Ok, agora vamos para a parte de Healing: Aqui temos: Light: Aqui será uma magia (de healing) usada quando você tiver com bastante life (vida). No caso, quase sempre é utilizado magias mais fracas como o "Exura", mas você pode modificar. Você pode escolher a porcentagem ao lado para que quando sua vida tiver em por exemplo "80%" ele usará a magia selecionada e também tem o MP, que se encontra ao lado da porcentagem e ali você terá que indicar o quanto de mana será usado, como o "Exura" é usado "20" de mana. Heavy: Aqui será a magia (de healing) usada quando você tiver com menos life (vida). No caso, quase sempre é utilizado magias mais fortes como o "Exura Gran" ou então até mesmo o "Exura Vita". Você pode escolher a porcentagem ao lado para que quando sua vida tiver em por exemplo "60%" ele usará a magia selecionada e também tem o MP, que se encontra ao lado da porcentagem e ali você terá que indicar o quanto de mana será usado, como o "Exura Gran" é usado "70" de mana. Mana Potion: Primeiramente você colocará a porcentagem, no caso da mana, para usar a "Potion" e depois o "tipo de potion". Health Potion: Primeiramente você colocará a porcentagem, no caso da life (vida), para usar a "Potion" e depois o "tipo de potion" ou então uma runa, como a "UH". Depois de configurar do seu jeito, aperte em "Save Settings". Passamos agora para a parte das Hotkeys, que são as teclas/botões que ativam um comando. Abaixo, qual é a função de cada hotkey: O que ta entre aspas (".") é o que você poderá modificar... Terão "idaqui" que significa que você terá que colocar o ID de tal coisa que você irá usar, ali, entre outros. Você usa o que estiver em negrito, nas barras brancas das hotkeys, como você quiser configurar. Passamos agora para a parte de CaveBot: Como fazer um script para a Cave? Bem fácil e simples, apenas clique em RECORD, que localiza-se na parte superior esquerda, depois disso, faça seu "circuito", quando finalizar o mesmo, aperte em SAVE, salve arquivo como nome.sav, onde "nome" será o nome que você quiser, exemplo o nome da cave/lugar, como você quiser e achar melhor. Existe alguns atalhos para facilitar um pouco que são o "Alt" que começa a gravar seu percurso/circuito e o "Home" que salva seu percurso/circuito. Como usar o script feito? Bom, simplesmente você terá que apertar o LOAD, escolher o arquivo nome.sav e apertar no START, para então ele começar o percurso/circuito. O que significa? Agora, passamos para o Loot Manager: Auto-Loot: Pega automaticamente o loot, que foi usado na sua lista de itens. AutoOpenCorpse: Abre automaticamente os corpos dos monstros para pegar o loot de cada um. AutoAtack: Ataca automaticamente os monstros. Refill Arrow: Coloca automaticamente, munições (para paladins) para uso. Agora, Team Server: Passamos agora para Enemy Target ou Heal Friend: Enemy Target: Caso você queira atacar um team inimigo, um inimigo, alguém de outfit diferente, etc.. Heal Friend: Caso você queira healar um amigo. Agora, Rune Maker: Caso você queira que seu personagem fique runando, você poderá também colocar para ele comer automaticamente e além de não deixa-lo deslogar. Passamos agora para, Specialty: Caso queira que seu personagem use uma magia automaticamente como o "Utamo Vita" ou então "Utani Hur", entre outras. Última parte é o Remote Control: Aqui você colocará o nome de algum personagem, e o mesmo receberá as mensagens que te mandarem, além disso poderá controlar o que o char deve fazer. Isso é apenas uma breve explicação, pois me recordo muito bem disso também. Peço desculpas, por não saber tudo, pois não foi eu que criei.. Espero que gostem e aproveitem. Agradeço ao fórum Tibia Brasil, tive uma ajuda de lá, na parte de Team Server!
  11. Centurion V4

    TogaX reagiu a Hona por uma resposta no tópico

    1 ponto
    com os pokes da 3 geração full. Os bugs que Cacaiu arrumo foram esses : ScreenShots V4: Centurion V3 Centurion V3.1 Centurion V3.2- [Recomendado] Centurion V3.3 Centurion V4 Executável Sem Bug de Catch sé ajudei Rep+ pra mim !!!
  12. Adicionando comando !spells

    uesleirodrigues reagiu a MonsterOt por uma resposta no tópico

    1 ponto
    Isso serve para os players do seu ot saberem as magias. abra: data/talkactions/script/ copie cole renomei para spells e cole isso: agora em talkactions.xml bote: <talkaction words="!spells" event="script" value="spells.lua"/> agora voce cria um bloco de notas com o nome "spells" na pasta do seu ot, bem aonde ta o seu config.lua, seu loader.. ai vc edita do jeito q quiser, e quando alguem falar !spells no ot ira aparecer oq vc escreveu no bloco de notas se te ajudei rep+
  13. [Aula 1] Introdução

    jhonathan wendrell reagiu a MaXwEllDeN por uma resposta no tópico

    1 ponto
    Introdução Aula 1 O que é scripting? Do modo mais simples possível: scripting é o ato de programar. O nome scripting vem do nome "script". O que é um script? De um modo geral, um script é um bloco de código escrito em uma linguagem de programação interpretada, ou seja, ele precisa que alguma coisa leia ele e possa "traduzir" seu conteúdo. Lembre-se de que "script" não é um termo específico de Open Tibia Servers. O que é uma linguagem de programação interpretada? Os brasileiros falam português, ingleses falam inglês e chineses falam mandarim, e com isso o mundo é composto por várias línguas. No mundo da programação não é diferente. Existem várias línguas que podem ser usadas, cada uma com uma característica e modo de escrever diferente (Assim como o português é diferente do inglês). Entre estas linguagens, existem 2 tipos: as linguagens interpretadas e as linguagens compiladas (Não-interpretadas). Podemos fazer uma comparação tosca com a vida real: o português seria uma linguagem interpretada (Nosso cérebro precisa "traduzir" a mensagem), e os desenhos seriam a língua compilada (Nosso cérebro reconhece automaticamente a "mensagem" do desenho). As linguagens compiladas são aquelas que não precisam ser lidas por nenhum programa, pois "conversam" diretamente com o computador, enquando a linguagem interpretada não consegue se comunicar com o computador, então a linguagem compilada recebe a mensagem do codigo interpretado e traduz numa linguagem que o computador entenda, dai a linguagem interpretada pode conversar com o computador (Desde que alguém traduza suas mensagens). Voltando para a parte de Open Tibia Servers, a linguagem compilada é a linguagem usada no seu servidor: o .exe no Windows, por exemplo, e a linguagem interpretada são os scripts .lua. O seu servidor compilado vai ler os scripts .lua e traduzir o conteúdo deles para que o computador possa executar o que o script manda. Se os scripts são escritos em linguagens interpretadas, qual é a linguagem dos script usados nos Open Tibia Servers? Os Open Tibia Servers usam uma linguagem de programação (Interpretada) chamada Lua, que foi feita aqui no Brasil mesmo. Características da linguagem de programação Lua: Linguagem de Programação Interpretada Linguagem de Programação Imperativa ou Programação Procedural Linguagem de Scripts ou Linguagem de Extensão Pequena, Fácil, Leve e Eficiente " Lua foi criada por um time de desenvolvedores do Tecgraf da PUC-Rio, a princípio, para ser usada em um projeto da Petrobras. Devido à sua eficiência, clareza e facilidade de aprendizado, passou a ser usada em diversos ramos da programação, como no desenvolvimento de jogos (a LucasArts, por exemplo, usou a linguagem no jogo Escape from Monkey Island), controle de robôs, processamento de texto, etc. Também é freqüentemente usada como uma linguagem de propósito geral. " Wikipédia - Lua (Linguagem de Programação) O que eu preciso para aprender Lua e começar a produzir meus scripts? Paciência (Embora seja de fácil aprendizado, você vai levar algum tempo para aprender a linguagem) Humildade (Nunca se sinta o melhor, nem ridicularize aqueles que tiverem um conhecimento menor que o seu) Vontade (Não adianta fazer as coisas sem o menor interesse, você não chegará a lugar nenhum sem vontade) Criatividade (O principal para produzir um script é ter a idéia do que você vai fazer) Conhecer a Lógica da Programação (Não se preocupe, eu vou ensinar a Lógica da Programação nas próximas aulas.) Interpretador Lua (Para testar seus scripts, claro. Você pode usar o seu OTServer para testar, e ainda usar um interpretador Lua para testar seus scripts simples fora do OTServer) Editor Lua (Não é realmente necessário, uma vez que você pode usar um editor de textos qualquer, como o bloco de notas, mas ter um Editor Lua vai ajudar muito, e alguns até vêm com um Interpretador Lua junto!) Pagar uma taxa de R$ 700,00, afinal, não estou escrevendo estas aulas de graça! (OK, não precisa pagar nada, mas no mínimo poste seus scripts aqui e ajude a seção a crescer ) Onde posso encontrar um Interpretador e/ou Editor Lua? Como interpretador (No caso de produzir scripts para Open Tibia Servers) você deve usar um servidor próprio, pessoal somente para testar os scripts que você fez, e pode usar também um Interpretador Lua geral, para testar seus scripts fora dos OTServers. Como Editor Lua você pode usar qualquer editor de textos, mas eu recomendo usar um editor que seja próprio para a linguagem Lua. Existem dois editores que já vem com um Interpretador Lua "embutido". São eles: OTScript Live! [Download] e SciTE (Scintilla) [Download]. Exercício-Tarefa: Pesquise mais na internet sobre a linguagem Lua, Scripts, etc... Somente dúvidas serão aceitas aqui! Comentários que não forem dúvidas serão apagados e os autores serão reportados! Essa aula foi escrita por uma raposa levada Skyen Hasus, todos os créditos são dele. Aula 2 - Lógica da programação >> Script Live By colex.rar
  14. Importância de um Comentário

    diegocereza reagiu a Gustavo Ferreira por uma resposta no tópico

    1 ponto
    Importância de um comentário. O fórum é uma comunidade sobre tibia, otserv e bots voltado para todos, muitos usuários se esforçam para trazer conteúdo para comunidade, algo de díficil sem nenhuma vantagem. Por incrível que pareça um comentário em um tópico pode incentivar muito esse usuário a cada dia mais trazer mais e mais conteúdo aumentando assim a interatividade do nosso fórum, é muito gratificante um autor ver seu tópico movimentado! Mesmo que seja para criticar, discordar, reclamar, enfim, qualquer um é válido, apenas comente! Quando for montar seu comentário deve ficar bastante atento para não descumpri nenhuma regra do fórum ou ofender alguém, procure fazer comentários construtivos. Um dos grandes problemas que vem ocorrendo em nossa comunidade é que muitos usuários visualizam o tópico e não deixa sua critica ou sugestão, ate em emissoras de televisão já existe maneiras de interagir. Por que comentar? Comentando em um tópico você mostra sua personalidade e pode ganhar confiança e respeito de outros usuários, deixa de ser mais um cadastrado no fórum e passa a ganhar espaço para exposição de suas idéias. Além de deixar o fórum mais animado e divertido. Vamos todos tornar o Tibia King um lugar mais agradável. Leia Com Atenção: Bom a partir da hora que você expõe um conteúdo saiba aceitar as críticas dele e sugestões, Não leve pro lado ignorante, espero que com esse tópico todos membros do Tk se concientizem e nos ajude a fazer o fórum cada vez melhor! Atenciosamente: Equipe Tibia King Intro Gustavo e Kardek
  15. [SHOW OFF]Joaovitor

    BrunaGaldino169 reagiu a joaovitorjoia por uma resposta no tópico

    1 ponto
    Iaew galera hj vou mostrar todos os meus mapas ja feitos entre esses 2 meses que eu voltei a mappear.
  16. Temple, 8.60

    juliok500 reagiu a kaiquegabriel por uma resposta no tópico

    1 ponto
    Bom, estava atoa e resolvi abrir o meu map editor, saiu um temple nature, pouco estranho, seilá, segue as imagens. Na segunda imagem existe um bug ali perto da cachoeira, grudado com o telhado mas eu já arrumei, só fiquei com preguiça de tirar print e upar no imageshack de novo.. Download. Obrigado.
  17. No PastaDoSeuServer/Data/Spells/Scripts/Healing; Tente assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_MANADRAIN) setCombatParam(combat, COMBAT_PARAM_EFFECT, 1) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, 900, 0, 900) function onCastSpell(cid, var) doPlayerAddItem(cid, ID DO ITEM) doSendAnimatedText(getPlayerPosition(cid), "mana", math.random(1, 255)) return doCombat(cid, combat, var) end e em spells.xml, procure pelo script da runa e em ' charges ' você coloca ' charges = "1" ' . Att, Júnior.
  18. [Resolvido] Como alterar o spawntime

    markim1986 reagiu a Junior Lopes por uma resposta no tópico

    1 ponto
    Ali em cima, na sua dúvida, tenta aumentar para outro valor. Se der algum erro no distro, tira uma screenshot, upa em algum site de imagens, e posta aqui. Att, Júnior.
  19. Fazendo Quest pelo RME

    Morphred reagiu a Sociopata por uma resposta no tópico

    1 ponto
    Desculpem a enrolação, erros de fala, mas acho que to pegando jeito nisso de vídeo-aula, suahsuhasuahus Contato ae Skype = leo.araujo39 E podem fazer pedidos se eu puder ajudar eu faço a vídeo aula
  20. 1 ponto
    Posta como chegar ae, com essa mudança de venore, to perdido u_U
  21. Tibia api 9.80

    iasbik reagiu a Augusto por uma resposta no tópico

    1 ponto
    Os endereços ficam nesta parta das sources http://code.google.com/p/tibiaapi/source/browse/branches/tibiaapi-current/trunk/tibiaapi/Addresses/Versions/Version9_7_1_0.cs mais é necessário modificar aqui também para a versão mais nova http://code.google.com/p/tibiaapi/source/browse/branches/tibiaapi-current/trunk/tibiaapi/Addresses/Versions/Version.cs E para baixar as sources, utilize este tutorial http://code.google.com/p/tibiaapi/wiki/SVNSetup mais no item 4, utilize este link http://tibiaapi.googlecode.com/svn/branches/tibiaapi-current/trunk/
  22. BandMaster Tibia

    Eai Comeu reagiu a Flamer por uma resposta no tópico

    1 ponto
    Parabéns pela criatividade. Tente apenas ter seriedade para levar o projeto até o fim. Se completo, certamente será um sucesso.
  23. Tutorial luz passando no texto

    xWhiteWolf reagiu a Markin por uma resposta no tópico

    1 ponto
    Bom, tava vendo que a sessão estava muito parada e resolvi fazer um tutorial, deu um erro, o ponteiro do mouse sumiu quando salvei o video, tentei fazer outros mais também sumia, não sei como resolver isso gravei com Cantasia Studio 7. Mais bem, é um efeito bem simples não saiu muito bom mais é só pra ter uma base e botar em pratica, ta sem o mouse mais da pra entender eu acho. http://www.youtube.com/watch?v=O_1mUlz0Kwk OBS: é igual ao efeito de minha assinatura. OBS²: PARA SE SALVAR GIF(MOVIMENTO) NÃO SE CLICA EM SAVE AS... E SIM EM Save for Web & Devices...!
  24. Soul System

    juliok500 reagiu a Vodkart por uma resposta no tópico

    1 ponto
    Sem comentários para esse script! eu já testei ele aqui e ta muito fácil de configurar e funcional fora que a idéia foi brilhante, rep++
  25. Adicionando comando !spells

    viniciusvasconcellos reagiu a MonsterOt por uma resposta no tópico

    1 ponto
    q creditos meu? eu q botei esse script no meu ot
  26. PUSHMAX MAGEBOT

    Crackzn reagiu a maconheiros por uma resposta no tópico

    1 ponto
    AAAAAAAAAH QUERO SABE COMO USA UM VI UM CARA COLOCANO UM MONTE DE COISA NO CHAOOO. E PEGANO ,, ELE ME DISSE QUE É UMA HTK DO ELFBOT MAI JA PROCUREI DE CABO A RABO NA NET.. SE ALGUEM SABE USA PUSHMAX DO MAGEBOT ME FALA PF... OU HTK DO ELF :( !!!
  27. [Show OFF] Vampira

    Markin reagiu a Vampira por uma resposta no tópico

    -1 pontos
    Olha! essa montanha tambem tem arvores
  28. FRAGS BUG

    Gustavo Ferreira reagiu a JaTemEsseLoguin por uma resposta no tópico

    -1 pontos
    estou com o mesmo erro =/
  29. [AJUDA] OTSERV WINDOWS 64 BITES

    WarW0lf reagiu a Bluetooth por uma resposta no tópico

    -1 pontos
    como faço para copilar ? este link deve te ajuda NÂO POSTE LINK DE OUTROS FÓRUNS
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo