Ir para conteúdo

Kisuck

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Kisuck deu reputação a olokomeu em (Resolvido)O que um verdadeiro RPG de tibia precisa?   
    Bem, no meu ponto de vista:
     
    - Mapa próprio. Nunca gostei de jogar Otserver com mapa global. Acho que mapas novos, novas hunte's atrai jogadores.
    - Quest's diversificadas e "NOVAS", sendo elas em grupos e individuais. Sair dessa onda de Poi....Anihi...bla bla bla..
    - Magias novas? Depende, se você souber balancear elas, pode ficar até atrativas.
    - Novas classes ou promotion? Não curto. Principalmente quando botam para quem é Vip, pois, de um jeito ou de outro da uma desequilibrada no server.
    - Invasões? Bem, se souber fazer umas boas, pois, muitos servidores poem cada invasão que afs 
    - Atrativos como Arenas para players usarem suas táticas, no qual não drope seus itens.
    - Eventos como WarSystem, Wave's entre outros que até você pode criar. Pode lhe garantir uma boa impressão no seu Gamer.
     
    Acho que com uma boa Criatividade e com ajuda da família TibiaKing dá para criar uma Ótimo Gamer de Tibia . Digo isso, pois, sempre contei com a ajuda da galerinha aqui. Meu projeto comecei do 0 e ainda tá em andamento, mas, ta ficando legal ^.^
  2. Gostei
    Kisuck deu reputação a Gabrieltxu em [Map 8.60] Tibia Illusion City   
    Fala ai Galera eu aki novamente com uma Super Cidade para Tibia 8.60 xD Chamada Illusion feita por meu Amigo S4KO


    Umas Print como Sempre xD:





    Download: http://www.4shared.com/file/yvBCo7Xh/Illusion_city.html?
    Scan: https://www.virustot...037ba/analysis/


    è isso galera deixo com vcs mais um Super MAP Fuizzzzzzzzz haaa deixa REP++ ai Plis
  3. Gostei
    Kisuck deu reputação a xWhiteWolf em [Boss Skill] Aegis of Immortal   
    Fala galera do TK, hoje vim trazer pra vocês um script de um server bem famoso, trata-se de nada mais e nada menos doque a Aegis of Immortal do Fox World. Quase nenhum OTserver consegue me deixar com vontade de jogar, mas se tem um que chegou bem próximo foi o Fox e o motivo é a criatividade dos caras. É muito fácil aprender lua e ser um ótimo scripter mas ter criatividade pra criar esse tipo de script é bem mais raro. Sem mais delongas vou apresentar a idéia do script e logo em seguida ensinar a instalar no seu servidor. 
      Aegis of the Immortal
    Descrição: É obtida 1 carga ao vencer o boss Aegis (aparece em invasões). Com esta técnica, o jogador ganha a aura do boss, e se morrer é teleportado para a Aegis Dimension, e após 3 segundos volta para o lugar que estava, com life e mana full como se não tivesse sido tocado. (limite de 1 carga) Tipo: (B.Skill) Vocações: All Vocations Elemento: n/a fonte: site do fox


    Well, o script é bem simpleszinho mas eu apanhei pra caramba pra fazer ele funcionar certinho (acredito que nem o script dos caras do Fox funcione da maneira correta, mas esse daqui vai funcionar)

    Antes de tudo você tem que criar uma área no seu map editor e colocar ela inteira como no-pvp e no-logout. Essa vai ser a área que você vai ser teleportado, será a sua "Aegis Dimension".




    Feito isso você vai precisar adicionar essa linha em creaturescripts.xml:
       <event type="statschange" name="reborn" script="reborn.lua"/> obs: eu levei muito tempo tentando fazer por onPrepareDeath mas aparentemente essa função não funciona tão bem quanto statschange e acabava chamando a si mesma repetidas vezes.

    agora crie um arquivo chamado reborn.lua na pasta creaturescripts\scripts e coloque isso dentro dele:




    Agora você só tem que adicionar essa linha no creaturescripts\scripts\login.lua (de preferencia antes do ultimo return true)
    --- BOSS SKILLS ---- registerCreatureEvent(cid, "reborn") if getPlayerStorageValue(cid, 19332) == -1 then         setPlayerStorageValue(cid, 19332, 0)      end Agora seu server possui a Aegis of Immortal e você pode configurar essa skill passiva de diferentes maneiras:
    1) Pode ser uma quest que dá como prêmio X quantidades dessa skill
    2) Um npc que vende X quantidades da skill
    3) Um item que ao ser equipado ativa a skill
    4) Um boss que vc mata e ganha quantidades dela
    5) Um bonus em algum evento
    6) Um item de shop
    etc.

    Tudo que vc precisa fazer é criar um script que dê o storage 19332, o valor do storage é o numero de vezes que vc vai utilizar a skill.

    aqui tem um exemplo de uma quest que ganha 5 charges da Aegis of Immortal:
    function onUse(cid, item) local storage = 19332 if getPlayerStorageValue(cid, storage) ~= 5 then doPlayerSetStorageValue(cid, storage, 5) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have habilited your [BOSS SKILL]") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your [BOSS SKILL] is already with "..getPlayerStorageValue(cid, storage).." charges.") end return true end e aqui tem algumas fotos de como fica no seu server:












     
    Espero que vcs tenham gostado.. 
    Vou dar 20% de Crédito pro Kilua porque sem o tutorial dele de addEvent isso daqui não seria possível e 30% pro pessoal do Fox por terem me dado a idéia do script.   

    EDIT: Fiz um monstro q dá essa skill ao morrer, só que eu inovei um pouquinho e fiz ele tendo a skill, ou seja, vc tem que matar ele um numero X de vezes pra valer de verdade kkk A graça é que esse numero de X é inerente ao player (fiz por storage), então se um grupo de 10 pessoas for fazer e cada hora uma matar, serão (X+1) vezes no mínimo auhauhauh Só que como ele não dá loot e o unico premio dele é a skill pra quem matar X vezes, então o pessoal dá KS mesmo. Enfim, aproveitem:

    creaturescripts\scripts\aegis.lua
    local config = { storagekill = 19500, --- storage q conta a quantidade de kills storageaegis = 19332, --- storage da skill tempo = 5, -- tempo até ele renascer times = 2, --- quantidade de vezes que tenho que matar charges = 1, --- cargas da skill q ganha ao matar definitivamente effect1 = 66, -- efeito ao morrer effect2 = 10 --- efeito ao renascer } function onKill(cid, target, lastHit) local killed = getPlayerStorageValue(cid,config.storagekill) local skill = getPlayerStorageValue(cid, config.storageaegis) if isMonster(target) and getCreatureName(target):lower() == 'aegis' then if killed < config.times then doCreatureSay(target, "I'll be back mortal...", 20) doSendMagicEffect(getThingPos(target), config.effect1) setPlayerStorageValue(cid, config.storagekill, killed+1) addEvent(doSendMagicEffect, 1000*config.tempo, getThingPos(target), config.effect2) addEvent(doCreateMonster, 1000*config.tempo, "Aegis", getCreaturePosition(target), true) end if killed >= config.times then setPlayerStorageValue(cid, config.storagekill, 0) if skill < config.charges then doPlayerSendTextMessage(cid,22,"Congratulations, you just killed "..getCreatureName(target).." and earned Aegis of Immortal skill!") setPlayerStorageValue(cid, config.storageaegis, config.charges) end end end return true end
    creaturescripts\scripts\login.lua registerCreatureEvent(cid, "aegis") if getPlayerStorageValue(cid, 19500) == -1 then         setPlayerStorageValue(cid, 19500, 0)      end creaturescripts.xml
    <event type="kill" name="aegis" script="aegis.lua"/> monster\aegis.xml
    <?xml version="1.0" encoding="UTF-8"?> <monster name="Aegis" nameDescription="Aegis, the immortal" race="blood" experience="0" speed="605" manacost="0"> <health now="100000" max="100000"/> <look type="287" head="0" body="0" legs="0" feet="0" corpse="0"/> <targetchange interval="2000" chance="15"/> <strategy attack="60" defense="5"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="210" attack="260"/> <attack name="lifedrain" interval="1000" chance="20" range="3" min="-550" max="-1050"/> <attack name="firecondition" interval="1000" chance="7" range="2" min="-800" max="-1200"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="yellowspark"/> </attack> <attack name="physical" interval="1000" chance="7" radius="6" target="0" min="-250" max="-750"> <attribute key="areaEffect" value="explosion"/> </attack> <attack name="death" interval="1000" chance="50" radius="5" target="0" min="-200" max="-500"> <attribute key="areaEffect" value="mortarea"/> <attribute key="shootEffect" value="suddendeath"/> </attack> <attack name="firefield" interval="1000" chance="4" radius="5" target="0"> <attribute key="areaEffect" value="explosion"/> </attack> <attack name="fire" interval="1000" chance="34" range="7" radius="7" target="1" min="-350" max="-850"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="firearea"/> </attack> <attack name="fire" interval="1000" chance="13" length="8" spread="0" min="-500" max="-1000"> <attribute key="areaEffect" value="explosion"/> </attack> <attack name="fire" interval="1000" chance="10" length="8" spread="3" min="-300" max="-1500"> <attribute key="areaEffect" value="firearea"/> </attack> </attacks> <defenses armor="165" defense="150"> <defense name="healing" interval="1000" chance="25" min="2000" max="3000"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="speed" interval="1000" chance="10" speedchange="1800" duration="4000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <immunities> <immunity physical="0"/> <immunity energy="1"/> <immunity fire="1"/> <immunity poison="0"/> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity outfit="1"/> <immunity drunk="1"/> <immunity invisible="1"/> </immunities> <voices interval="5000" chance="50"> <voice sentence="Poor innocent, I CAN'T DIE HAHAHAHAAHA"/> <voice sentence="Your soul will be mine!"/> <voice sentence="MUAHAHAHAAHAHA, I TOLD YOU" yell="1"/> </voices> </monster> OBS: edite ele porque eu coloquei ele muito forte, com muita vida e com muita recuperação de vida.


    monster\monsters.xml
    <monster name="Aegis" file="aegis.xml"/>
  4. Gostei
    Kisuck deu reputação a nookia em Kill Boss System   
    Nome: Kill Boss System Função: Ao desferir o último golpe no "BOSS" configurado na script ganha uma spell "storage" x3 de cargas, alem de mandar uma mensagem para todo o servidor anunciando quem desferiu o último golpe no "BOSS" Autor: Nokia Versão Testada: 8.60 ~ Em data/creaturescripts/scripts
    Crie 1 arquivo chamado storageBoss.lua e copie e cole isso lá dentro
    function onDeath(cid, corpse, killer) local monstName = "NOME" -- nome do monstro local target = getCreatureTarget(cid) if isMonster(cid) then setPlayerStorageValue(killer[1], 111310, getPlayerStorageValue(killer[1], 111310) +3) doPlayerSendTextMessage(killer[1], MESSAGE_STATUS_WARNING, "Você absorveu a técnica NOME DA SPELL(3x).") doBroadcastMessage("O jogador "..getPlayerName(killer[1]).." absorveu a técnica NOME DA SPELL ao desferir o último golpe no NOME DO BOSS.") doSendMagicEffect(getPlayerPosition(target), 65) end return TRUE end Em creaturescripts.xml adicione a seguinte TAG
    <event type="death" name="storageBoss" script="storageBoss.lua"/> Agora vá no monstro configurado na script e abaixo de </loot> adicione
    <script> <event name="storageBoss"/> </script> Agora implantando na spell, vá até na spell.lua desejada e adicione
    local chargeCount = getPlayerStorageValue(cid, 111310) if chargeCount < 1 then doPlayerSendCancel(cid, "You do not have enough charges to cast this spell.") return TRUE end setPlayerStorageValue(cid, 111310, chargeCount -1) beijo na bunda <3
  5. Gostei
    Kisuck deu reputação a Godfather em [Action] Controlled Attack   
    ATENÇÃO:
    NÃO DOU DIREITO À NINGUÉM DE POSTAR ESTE SCRIPT EM OUTRO LUGAR, SEM MINHA PERMISSÃO.
    MEU MSN: [email protected]

    Pretexto:
    Olá, este é o meu primeiro tópico aqui no TibiaKing, e resolvi trazer pra vocês um script que eu criei, e que estava criando mofo no meu PC haha, eu não vou explicar muito, eu coloquei um vídeo que explica melhor o que o script faz.

    Explicando:
    O script é basicamente um ataque que tem uma rota controlada por você, usando ctrl + setas, para direcionar o ataque.
    - Tempo de controle limitado
    - Não tem efeito em proction-zone
    - Os danos são: level do jogador (min), e level do jogador x 3 (max)
    - Mana gasta: level do jogador x 6

    Script:
    [data/actions/scripts/cattack.lua]

    function onUse(cid, item, fromPosition, itemEx, toPosition) minMana = getPlayerLevel(cid) * 6 onoff = 4956 quantx = 0 quanty = 0 function setAxis() o = getPlayerPosition(cid) xe = o.x ye = o.y ze = o.z tempo = 3 velocidade = 150 end function doEffect() pos = {x=xe+quantx,y=ye+quanty,z=ze} if getPlayerMana(cid) < minMana then setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getTilePzInfo(pos) == FALSE then local ef = 6 of = 2 doAreaCombatHealth(cid, COMBAT_FIREDAMAGE, pos, 0, -getPlayerLevel(cid), -getPlayerLevel(cid) * 3, ef) -- doPlayerSendCancel(cid,"x = "..xe+quantx..", y = "..ye+quanty..", z = "..ze.."") else doSendMagicEffect(pos,of) -- doPlayerSendCancel(cid,"x = "..xe+quantx..", y = "..ye+quanty..", z = "..ze.."") end addEvent(checkDir,velocidade) end function checkPer() if getPlayerStorageValue(cid,work) == 1 then checkTime() end end function checkTime() if tempo > 0 then doEffect() else stop() end end function stop() posi = {x=xe+quantx,y=ye+quanty,z=ze} doSendMagicEffect(posi,49) doSendAnimatedText(posi,"...",TEXTCOLOR_YELLOW) setPlayerStorageValue(cid,onoff,0) doPlayerSetNoMove(cid,0) addEvent(doPlayerSendCancel,800,cid,"Tempo restante: 0.") end function minusTime() if getPlayerStorageValue(cid,onoff) == 0 then elseif tempo > 0 then doPlayerSendCancel(cid,"Tempo restante: "..tempo..".") tempo = tempo - 1 addEvent(minusTime,1000) elseif tempo == 0 then stop() end end function checkDir() po = getCreatureLookDirection(cid) if po == NORTH then quanty = quanty - 1 elseif po == SOUTH then quanty = quanty + 1 elseif po == WEST then quantx = quantx - 1 elseif po == EAST then quantx = quantx + 1 end checkPer() end if getTilePzInfo(getPlayerPosition(cid)) == TRUE then doSendAnimatedText(getPlayerPosition(cid),"PZ!",TEXTCOLOR_YELLOW) setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getPlayerMana(cid) < minMana then doSendAnimatedText(getPlayerPosition(cid),"MANA",TEXTCOLOR_LIGHTBLUE) doPlayerSendCancel(cid,"Você precisa de "..minMana.." de mana para isso.") setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getPlayerStorageValue(cid,onoff) == 0 then setPlayerStorageValue(cid,work,1) setPlayerStorageValue(cid,onoff,1) doPlayerAddMana(cid,-minMana) doPlayerSetNoMove(cid,1) setAxis() minusTime() checkDir() else doPlayerSendCancel(cid,"Contagem cancelada.") setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) doPlayerSetNoMove(cid,0) end return TRUE end "velocidade = 150": velocidade em milisegundos "tempo = 3": tempo em segundos Tag: [data/actions/actions.xml] <action itemid="xxx" script="cattack.lua"/>
    Note: xxx é o ID do item que será utilizado.

    Vídeo:



  6. Gostei
    Kisuck deu reputação a Greenomos em Anti-Trap com ITEM .   
    Ao usar o item no player que está te trapando você troca de posição com ele .
    Mais você so pode usar o item se não tiver com skull .
    e também so pode usar a cada X minutos .
     
    vá em data / actions / scripts .
    Cria um Arquivo.lua
    e cola isso dentro :
    function onUse(cid, item, fromPosition, itemEx, toPosition) local time = 1 -- tempo por minuto local storage = 1961 -- storage local pos = getCreaturePosition(cid) local pos2 = getCreaturePosition(itemEx.uid) if isPlayer(itemEx.uid) then    if getPlayerStorageValue(cid, storage) - os.time() <= 0 then       if getCreatureSkullType(cid) == SKULL_NONE then         doTeleportThing(cid, pos2)         doTeleportThing(itemEx.uid, pos)         doSendMagicEffect(pos, 4)         doSendMagicEffect(pos2, 4)         setPlayerStorageValue(cid, storage, os.time()+time*1*60)        else         doPlayerSendCancel(cid, "Você está com Skull.")       end    else       doPlayerSendCancel(cid, "Você só pode usar esse item denovo a "..time.." Minutos.")    end else   doPlayerSendCancel(cid, "Você só pode usar este item em Players.") end return TRUE end e em actions.xml coloca a tag :
    <action itemid="IDdoItem" script="NomeDoArquivo.lua"/> você so pode usar o item se tiver ao lado do player .
  7. Gostei
    Kisuck deu reputação a xWhiteWolf em Darkness Pact Quest   
    Hoje vou ensinar vocês a fazer uma quest com bastante RPG (e com um pouquinho de esforço talvez o melhor sistema já visto num OTSERV!!)
    É uma quest que você tem um determinado tempo pra matar um monstro e entrar num teleporte ou a passagem será bloqueada
    "tá, mas oque difere essa quest de qualquer script de arena que tenha aí pelo fórum?"
    na verdade nada, mas no meu server eu coloquei um tempo bem ridículo (8 segundos) e é tecnicamente impossível chegar do outro lado.
    "então você fez uma quest que não dá pra fazer, é isso mesmo?"
    não meu caro amigo, é uma quest que foi feita pra ser pensada. Um dos players entra na quest e termina ela, daí outro player ativa a alavanca e ele passa.. fazendo com que o pessoal só consiga passar com a ajuda de um amigo.  Se você conseguir trabalhar em equipe em prol de um prêmio a sua recompensa é a oportunidade de fazer um pacto com as trevas.
    "masoque??"   
    isso mesmo que você entendeu, você ganha a chance de abrir mão da sua vida (literalmente) pra receber uma spell nova.

    ~~ Hoje eu vou ensinar a reproduzirem esse sistema caralhudo no server de vocês:


    Tudo começa no map editor quando você vai fazer uma área + ou - igual a essa e colocar os seguintes actions/unique ids








    Agora vamos aos scripts:
    actions\scripts\newquest.lua


    Feito isso você vai precisar preparar uma sala aonde o player será teleportado caso ele consiga passar e coloque uma alavanca nessa sala.
    Na alavanca você deve colocar o actionid 6102 e uma plaquinha explicando sobre o pacto
    daí você adiciona isso no actions.xml
    <action actionid="6102" script="alavanca de magia.lua"/> e crie o script 'alavanca de magia.lua' que deverá conter o seguinte:


    Feito tudo isso agora só falta criar a magia Target Spell que no caso é essa daqui: 



    e colocar no spells.xml:
    <instant name="Target Spell" words="exevo res" lvl="120" maglv="10" mana="500" exhaustion="3000" prem="0" needlearn="1" script="especiais/seguidor.lua">   <vocation id="6"/> <vocation id="7"/> <vocation id="5"/> <vocation id="8"/> </instant> FIM.

    Agora você só precisa editar as actions pra rodarem de acordo com as posições do seu server então vamos às explicações:
    SCRIPT1:
    local tempo = 8000 ---- tempo até a porta fechar 
    local wall1 = {x=612, y=345, z=7, stackpos=1} -- local da primeira pedra
    local pos1 = getThingfromPos(wall1)
    local wall2 = {x=653, y=345, z=7, stackpos=1} --- local da segunda pedra
    local pos2 = getThingfromPos(wall2)
    local monster1 = {x=615, y=345, z=7, stackpos=1} --- local que cria o monstro, no caso eu uso o Juggernaut mas vc pode editar dentro do script
    local posmonster1 = getThingfromPos(monster1)
    local monster3 = {x=654, y=345, z=7, stackpos=1} --- Ultima posição antes do teleporte, serve pra remover o monstro 
    local idparede = 9788 --- id do obstáculo q será criado
    local alavanca = {x=610, y=344, z=7, stackpos=1} -- POSIÇÃO DA ALAVANCA 
    local alavancapos = getThingfromPos(alavanca)  SCRIPT2:
    local topos = {x=609, y=345, z=7, stackpos=1} -- posição que vai ser teleportado caso clique na alavanca de 'FAIL QUEST'

    Espero que vocês tenham curtido   
    Aqui tem mais duas imagens pra vocês 
    Alavanca:



    Magia:




    EXPLICANDO A MAGIA: Os morcegos seguem a direção que você tá olhando, se vc tiver um target eles seguem o target.
  8. Gostei
    Kisuck recebeu reputação de huuumberto em (Resolvido)O que um verdadeiro RPG de tibia precisa?   
    Gostei da resposta, concordo principalmente na parte das quests em grupo, aguardo mais respostas...
     
    obs: estória = narração fictícia, História = Narração verdadeira.
  9. Gostei
    Kisuck deu reputação a Markin em (Resolvido)Quero ser scripter   
    Eu aprendi o básico esses dias... Eu achei que alguém ia ter que me ajudar porem oque eu aprendi foi montando meus próprios scripts e lendo tópicos.
     
    Primeiro tenha a lista de funções em mãos
    http://www.tibiaking.com/forum/topic/1988-lista-de-funcoes-lua/
     
     
    Procure nos tutoriais de scripting que você pode achar coisas básicas...
    http://www.tibiaking.com/forum/forum/136-tutoriais-de-scripting/
     
    Caso queria ajuda agora no começo adicione o skype: walzinhooo
    quando eu não estiver ocupado(quase nunca estou ocupado) eu ajudo você com o básico.

Informação Importante

Confirmação de Termo