Ir para conteúdo

Blackmotion

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Blackmotion recebeu reputação de kiyumedd em (Resolvido)[URGENTE] Player Não Salva Erro MYSQL [SOccorro ajuda]   
    Execute todos os comandos abaixo no seu phpmyadmin :
    ALTER TABLE `players` ADD `cast` VARCHAR(255) not null default ''; ...
    DROP TABLE IF EXISTS `bans`; CREATE TABLE `bans` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `type` tinyint(1) NOT NULL COMMENT '1 - ip banishment, 2 - namelock, 3 - account banishment, 4 - notation, 5 - deletion', `value` int(10) unsigned NOT NULL COMMENT 'ip address (integer), player guid or account number', `param` int(10) unsigned NOT NULL DEFAULT '4294967295' COMMENT 'used only for ip banishment mask (integer)', `active` tinyint(1) NOT NULL DEFAULT '1', `expires` int(11) NOT NULL, `added` int(10) unsigned NOT NULL, `admin_id` int(10) unsigned NOT NULL DEFAULT '0', `comment` text NOT NULL, `reason` int(10) unsigned NOT NULL DEFAULT '0', `action` int(10) unsigned NOT NULL DEFAULT '0', `statement` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `type` (`type`,`value`), KEY `active` (`active`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ...
    DROP TABLE IF EXISTS `player_depotitems`; CREATE TABLE `player_depotitems` ( `player_id` int(11) NOT NULL, `sid` int(11) NOT NULL COMMENT 'any given range, eg. 0-100 is reserved for depot lockers and all above 100 will be normal items inside depots', `pid` int(11) NOT NULL DEFAULT '0', `itemtype` int(11) NOT NULL, `count` int(11) NOT NULL DEFAULT '0', `attributes` blob NOT NULL, UNIQUE KEY `player_id_2` (`player_id`,`sid`), KEY `player_id` (`player_id`), CONSTRAINT `player_depotitems_ibfk_1` FOREIGN KEY (`player_id`) REFERENCES `players` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1; Algumas pessoas conseguiram resolver o problema com esse método
  2. Gostei
    Blackmotion deu reputação a Wise em (Resolvido)Script de Transform [Me explique!]   
    Sinceramente, que dor de cabeça ver esse spoiler.
    Me explica o que você quer que aconteça, como acontece esse "transform", que eu vejo se posso fazer de forma simplificada.
    E informe a versão do servidor e do distro, se possível.
  3. Gostei
    Primeiramente esse numero dat="0x54128727" spr="0x54128755"  você tem que abrir o .dat e o.srp no HexEditor pra pegar ...
     
    Pra abrir o seu rme 10.53 baixar esse rme aqui >https://mega.co.nz/#!e1NzxQAR!bAUuZ8mDzh4G-3vur9pxHovpwvqPqGu79G2x7Nln6l8<
    dps que abri-lo vai pedir pra localizar o .dat e .spr do 10.55 você seleciona a pasta com tal arquivos, se não tiver, baixa um client 10.55 qualquer por aew, dps só ir em Open e procurar seu mapa 10.53 e abri-lo, sem problemas
  4. Gostei
    Blackmotion deu reputação a Danihcv em Logo ThunderCore   
    Assim está bom?

  5. Gostei
    Blackmotion deu reputação a Danihcv em Logo ThunderCore   
    Assim?

     
    Eu diminuí o brilho de todos os entalhes na vdd. Tava achando mt claro no geral.
  6. Gostei
    Blackmotion deu reputação a Beeny em Seção -- Resolvidos   
    Olá.
     
     
    Bem, eu estou aqui para pedir que vocês deem um pouco de atenção para a seção designer do fórum.
     
    Não é que ela esteja "abandonada" tem vários tópicos lá .. vamos dizer que o problema começa aí ..
     
     
    Quando o pedido é resolvido, ele fica lá na seção de pedidos, não vai para nenhum outro lugar .. :<
     
    Vamos dar um exemplo :
     
    Eu atendi esses 6 pedidos nos últimos dias : 
    1
    2
    3
    4
    5
    6
     
    E eles ficaram lá, parados
     
    Acredito que se tivesse uma seção de resolvidos lá, ia ficar bem mais organizado e bonito!
     
     
    Abraços !!
  7. Gostei
    Blackmotion deu reputação a Caronte em Lib 000-Const   
    Olá pessoal, venho mais uma vez trazer um tutorial simples, e tentar explicar tudo claramente, esse tutorial pode ficar grande dependendo do desenrolar dele, pois é um pack de tutoriais, então vou usar spoilers para ajudar na formatação do tópico.
     

     
     
     
    Nota: as informações usadas abaixo, podem ser tanto usadas com o nome, quanto com o número, e podem ser encontradas na pasta lib no arquivo 000-const
    https://pastebin.com/0FfPcg7y
     
    line4
     

     
    Coordenadas:
     
     

    Tutorial feito e formatado por Caronte o + gato do fórum, avaliações do perfil são bem-vindas.

     
     
    Explicando:
    doMoveCreature(cid, direction): Serve para mover tanto o player quanto o monstro.
     
     
     
     
    Combate:
     
     

    Tutorial feito e formatado por Caronte o + gato do fórum, avaliações do perfil são bem-vindas.
     
    Parâmetros de condição:
     
     
    Condições:
     
     
    Slots:
     
     

     
    Tutorial feito e formatado por Caronte o + gato do fórum, avaliações do perfil são bem-vindas.
    Participação: xWhiteWolf
     
    Const_ani e Const_me:
     
     

     
    Tutorial feito e formatado por Caronte o + gato do fórum, avaliações do perfil são bem-vindas.


     
    Talktypes and message types:
     

    [title][/title]
     
    Tutoriais concluídos por ordem de formatação (podem ser alterados assim mesmo):
    Coordenadas, e suas direções. Combat (ainda há coisas a serem adicionadas). Slots. CONST_ME and CONST_ANI  
     
    Os assuntos do tópico poderão se diminuídos ou aumentados de acordo com o desenrolar do tempo,
    gostaria de apoio, e não me incomodaria se alguém se propusesse fazer algum tutorial, eles serão supervisionados por mim e formatados por mim, para serem postados neste tópico.
     
     
     
     
    Esse tópico demorou e vai demorar muito para fazer
    cada tutorial, então eu não me importo com um obrigado e REP+,
    OBS.: Um obrigado vale bem mais do que um REP+
  8. Gostei
    Blackmotion recebeu reputação de f..silva em (Resolvido)[Pedido] Npc Teleport com Level   
    Não testei sou novo nesses bang de script ...
     
    carlos.lua
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local cfg = { toPos = {x=1789, y=3667, z=7}, -- Posição level = 50, -- Level necessário price = 30 -- Dinheiro cobrado } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'travel') then selfSay('You are sure you want to go?', cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then if getPlayerLevel(cid) >= cfg.level then if doPlayerRemoveMoney(cid, cfg.price) then doTeleportThing(cid, cfg.toPos) talkState[talkUser] = 0 else selfSay('You don\'t have enough money.', cid) end else selfSay('You need level having above '.. cfg.level ..'.', cid) end elseif msgcontains(msg, 'no') then selfSay('bye', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) carlos.xml
    <?xml version="1.0" encoding="UTF-8"?> <npc name="Carlos" script="data/npc/scripts/carlos.lua" walkinterval="25" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="128" head="114" body="12" legs="57" feet="114" addons="0" /> <parameters> <parameter key="message_greet" value="Hello, |PLAYERNAME|! Would like to {travel} ?"/> <parameter key="message_walkaway" value="Hey, where you go ?"/> <parameter key="message_farewell" value="Bye!"/> </parameters> </npc> #Edit
  9. Gostei
    Blackmotion recebeu reputação de linhhares em (Resolvido)[Pedido] Npc Teleport com Level   
    Não testei sou novo nesses bang de script ...
     
    carlos.lua
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local cfg = { toPos = {x=1789, y=3667, z=7}, -- Posição level = 50, -- Level necessário price = 30 -- Dinheiro cobrado } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'travel') then selfSay('You are sure you want to go?', cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then if getPlayerLevel(cid) >= cfg.level then if doPlayerRemoveMoney(cid, cfg.price) then doTeleportThing(cid, cfg.toPos) talkState[talkUser] = 0 else selfSay('You don\'t have enough money.', cid) end else selfSay('You need level having above '.. cfg.level ..'.', cid) end elseif msgcontains(msg, 'no') then selfSay('bye', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) carlos.xml
    <?xml version="1.0" encoding="UTF-8"?> <npc name="Carlos" script="data/npc/scripts/carlos.lua" walkinterval="25" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="128" head="114" body="12" legs="57" feet="114" addons="0" /> <parameters> <parameter key="message_greet" value="Hello, |PLAYERNAME|! Would like to {travel} ?"/> <parameter key="message_walkaway" value="Hey, where you go ?"/> <parameter key="message_farewell" value="Bye!"/> </parameters> </npc> #Edit
  10. Gostei
    Blackmotion recebeu reputação de kaleudd em (Resolvido)Muitas Duvidas Gesior   
    Suas perguntas são alguém que pelo menos nem tentou fazer sozinho... vê esse vídeo(3 da suas perguntas serão resolvidas) :
     
     

     
     
     
     
    Só que baixa esse > XAMPP < ...
    E no lugar do gesior se baixa um website de Poketibia... na seção de download de websites tem várias ... (ai a sua ultima pergunta está resolvida também);
  11. Gostei
    Blackmotion recebeu reputação de Lord Hades em Gesior 1.0 Moderado Por Min -V1   
    desculpe-me viajei aqui HAUSHAUHSHUA
    ALTER TABLE `players` ADD `cast` tinyint(4) NOT NULL DEFAULT '0'
  12. Gostei
    Blackmotion deu reputação a Beeny em que bem loco esse admin voltando   
    http://www.tibiaking.com/forum/topic/48839-pedido-preciso-de-5-imagens/?p=283424
     
    cara me deu rep- pq eu pedi pro mlk fazer o pedido direito, oasheoashsoah
     
    e não, eu não ligo pra rep
    é mais pela ação do grande administrador que está voltando
     
  13. Gostei
    Blackmotion deu reputação a Raell5 em O TK quer você!   
    Só que, tem muitos "Individuos" que, somente entram para equipe por Status ou REP+ e este não e o espirito creio eu. 
     
       
    Também não e por tempo, que se entra na equipe assim magina nego de 2010 todos agora na equipe.
     
    E outra, tem muitos que pegão mapas e scripts e colocam seus nomes por cima de trabalhos bem feitos.
    e ainda poem nome ou "edited by MAX2020" não e por ai que se pensa em entrar na equipe pegando mapas e scripts de grandes membros.
     



  14. Gostei
    Blackmotion recebeu reputação de cliverson em (Resolvido)Preciso muito da sua AJUDA! Compra IN-GAME.   
    9693 é o id do baú ?
     
    vou tentar fazer aqui sou novo em script, mas vou ver o que da pra fazer
  15. Gostei
    Blackmotion recebeu reputação de Jonnieh em (Resolvido)Erro Shiny Stone.lua   
    local evo = { ["Alakazam"] = {"Shiny Alakazam", 1}, ["Blaziken"] = {"Shiny Blaziken", 1}, ["Charizard"] = {"Shiny Charizard", 1}, ["Tyranitar"] = {"Shiny Tyranitar", 1}, ["Ninetales"] = {"Shiny ninetales", 1}, ["Scyther"] = {"Shiny Scyther", 1}, ["Arcanine"] = {"Shiny Arcanine", 1}, ["Blastoise"] = {"Shiny Blastoise", 1}, ["Onix"] = {"Shiny Onix", 1}, ["Snorlax"] = {"Shiny Snorlax", 1}, ["Golbat"] = {"Shiny Golbat", 1}, ["Crobat"] = {"Shiny Crobat", 1}, ["Muk"] = {"Shiny Muk", 1}, ["Dragonair"] = {"Shiny Dragonair", 1}, ["Marowak"] = {"Shiny Marowak", 1}, } local balls = { [2394] = {newBall = 2394}, [2391] = {newBall = 2391}, [2393] = {newBall = 2393}, [2392] = {newBall = 2392}, [12832] = {newBall = 12832}, } function onUse(cid, item, fromPosition, itemEx, toPosition) if isMonster(itemEx.uid) and getCreatureMaster(itemEx.uid) == cid then local monster = getCreatureName(itemEx.uid) if evo[monster] then if getPlayerItemCount(cid, item.itemid) >= evo[monster][2] then doPlayerSendTextMessage(cid, 27, "Parabens! Seu "..getPokeName(itemEx.uid).." evoluiu para "..evo[monster][1].."!") local health, maxHealth = getCreatureHealth(itemEx.uid), getCreatureMaxHealth(itemEx.uid) doSendMagicEffect(getThingPos(itemEx.uid), 18) doRemoveCreature(itemEx.uid) doPlayerRemoveItem(cid, item.itemid, evo[monster][2]-1) doRemoveItem(item.uid, 1) doSummonMonster(cid,evo[monster][1]) local pokeball = getPlayerSlotItem(cid, 8) doItemSetAttribute(pokeball.uid, "poke", evo[monster][1]) doItemSetAttribute(pokeball.uid, "level", pokes[evo[monster][1]].level) doItemSetAttribute(ball, "hp", 1) doItemSetAttribute(ball, "happy", 110) local pk = getCreatureSummons(cid)[1] local getShinyPokeballs = balls[getPlayerSlotItem(cid, 8).itemid] doTransformItem(getPlayerSlotItem(cid, 8).uid, getShinyPokeballs.newBall) adjustStatus(pk, pokeball.uid, true, false, true) return TRUE else return doPlayerSendTextMessage(cid, 27, "You need atleast ".. evo[monster][2] .." stones to do it!") end end end return FALSE end
  16. Gostei
    Blackmotion deu reputação a Orochi Elf em [C++] Pokemon Ghost System   
    [C++] Pokemon Ghost System
     
    Fala galera do TibiaKing, hoje eu venho postar pra vocês um conteúdo que particularmente eu acho muito bom.
    Esse sistema faz com que o pokemon cuja o nome seja "Gastly, Haunter ou Gengar" (é possível adicionar mais pokemons), passe por dentro das paredes.
     
    Instalação:
    Vá em creature.cpp, e procure por

    void Creature::getPathSearchParams(const Creature* creature, FindPathParams& fpp) const {     fpp.fullPathSearch = !hasFollowPath;  
    E abaixo adicione:

    if(creature->isPlayerSummon()) {     if(!creature->getMaster()->hasCondition(CONDITION_INFIGHT))     {         if(creature->getName() == "Gengar")             fpp.clearSight = false;         if(creature->getName() == "Haunter")             fpp.clearSight = false;         if(creature->getName() == "Gastly")             fpp.clearSight = false;     } }  
     
    Espero que façam bom uso
     
    Créditos:
    Tony Araújo (OrochiElf)
  17. Gostei
    Blackmotion deu reputação a Danihcv em [TUTORIAL] Resolvendo qualquer erro na data base   
    Opa, galerinha do TK, pro meu primeiro tutorial resolvi fazer uma solução de um problema que desde que cheguei no TK, vejo que ocorre com uma certa frequência. Os erros da data base.
     
    Neste tutorial vou ensinar a resolver os erros do tipo No such table, Insert into, No such column, ... has no column named... etc.
     
    1°) NO SUCH TABLE
     
    Bom, para o erro No such table, basta vc visualizar qual table está faltando. Para isso basta ler o erro na distro:

     
    No caso da imagem, está faltando a table: player_statements
    Para resolver este e qualquer outro problema deste tipo, caso sua data base seja sqlite,
    basta abrir sua data base pelo Sqlite Studio(download: http://sqlitestudio.pl/?act=download) e clicar em Open SQL query editor:



     
    Mas caso sua data base seja Mysql abra pelo phpMyadmin, ou por outro editor de sua preferencia.
     
    1.1°) EXECUTANDO OS COMANDOS PARA RESOLVER O PROBLEMA
      Bom, dependendo da table que estiver faltando, vc irá colocar seu respectivo comando, segue abaixo TODOS os comandos básicos necessários para que sua data base fique Ok! :   (VC VAI PEGAR O COMANDO REFERENTE À TABLE QUE VC QUER!!!)
     
     
    account_viplist



     
    Sqlite




     
    accounts



     
    Sqlite




     
    bans



     
    Sqlite




     
    environment_killers



     
    Sqlite




     
    global_storage



     
    Sqlite




     
    guild_invites



     
    Sqlite




     
    guild_kills



     
    Sqlite




     
    guild_ranks



     
    Sqlite




     
    guild_wars



     
    Sqlite




     
    guilds



     
    Sqlite




     
    house_auctions



     
    Sqlite




     
    house_data



     
    Sqlite




     
    house_lists



     
    Sqlite




     
    houses



     
    Sqlite




     
    killers



     
    Sqlite




     
    market_history



     
    Sqlite




     
    market_offers



     
    Sqlite




     
    player_deaths



     
    Sqlite




     
    player_depotitems



     
    Sqlite




     
    player_inboxitems



     
    Sqlite




     
    player_items



     
    Sqlite




     
    player_killers



     
    Sqlite




     
    player_namelocks



     
    Sqlite




     
    player_skills



     
    Sqlite




     
    player_spells



     
    Sqlite




     
    player_statements



     
    Sqlite




     
    player_storage



     
    Sqlite




     
    player_viplist



     
    Sqlite




     
    players



     
    Sqlite




     
    server_config



     
    Sqlite




     
    server_motd



     
    Sqlite




     
    server_record



     
    Sqlite




     
    server_reports



     
    Sqlite




     
    tile_items



     
    Sqlite




     
    tile_store



     
    Sqlite




     
    tiles



     
    Sqlite




     
    announcements



     
    Sqlite




     
    pagsegurotransacoes



     
    Sqlite




     
    player_advances



     
    Sqlite




     
    reports



     
    Sqlite




     
    thanks



     
    Sqlite




     
    z_bug_logs



     
    Sqlite




     
    z_featured_article



     
    Sqlite




     
    z_forum



     
    Sqlite




     
    z_helpdesk



     
    Sqlite




     
    z_monsters



     
    Sqlite




     
    z_network_box



     
    Sqlite




     
    z_news_tickers



     
    Sqlite




     
    z_ots_comunication



     
    Sqlite




     
    z_polls



     
    Sqlite




     
    z_polls_answers



     
    Sqlite




     
    z_poll_votes



     
    Sqlite




     
    z_shop_history_item



     
    Sqlite




     
    z_shop_history_pacc



     
    Sqlite




     
    z_shop_offer



     
    Sqlite




     
    z_spells



     
    Sqlite




     
    z_news_big



     
    Sqlite




     
     
    2°) No such column /  "NOME DA TABLE" has no column named "NOME DA COLUMN QUE FALTA" / Insert into
      Bom, para resolver esse problema vc deve identificar em qual TABLE está essa coluna que falta. Para isso, basta ler o erro como na imagem:

     
    No caso da imagem, está faltando a column WORLD_ID dentro da table MARKET_OFFERS. Para resolver, vc deve executar excluir a sua table MARKET_OFFERS existante em sua data base, e em seguida, executar o domando da da market_offers, encontrado acima, logicamente isso só se aplica ao caso da imagem, depende do seu caso, vc deve excutar o comando da table que estiver sendo referida no erro. Mas antes de executá-lo vc deve excluir a sua table EXISTENTE, para então executar o comando.
     
    ESTA FORMA DE RESOLUÇÃO SE APLICA AOS TRÊS CASOS: NO SUCH COLUMN, ...HAS NO COLUMN NAMED... e INSERT INTO.
     
     
     
    Bom galera, é isso.
     
    SE ENCONTRAREM, OU SE DEPARAREM COM ALGUM ERRO, BASTA ME PEDIR AJUDA QUE EU DAREI TOTAL SUPORTE PARA VOCÊS!
     
    SE ESTIVR FALTANDO MAIS ALGUMA TABLE QUE EU NÃO COLOQUEI AQUI, PF ME INFORMEM E EU ATUALIZAREI O TÓPICO!!!
     
     
    Lembrem-se, se eu te ajudei, por favor, deem REP++ pois foi meio trabolhoso fazer este tutorial todo...
     
    ESTOU A DISPOSIÇÃO DE TODOS! Tanto por PM quanto por SKYPE, e até mesmo por aqui, pois vou checar este tópico regularmente!!
     
     
    Espero ter ajudado!!
    Abraços.
  18. Gostei
    Blackmotion recebeu reputação de xmaster0 em Com sources tudo é possivel?   
    se tu souber programar tudo é possível, a pergunta é se tu é capaz de fazer isso
  19. Gostei
    Blackmotion deu reputação a Beeny em O TK quer você!   
    acho que todo mundo já sabia disso
    anyway
  20. Gostei
    Finalmente galera consegui resolver o problema do salt, muitas pessoas estavam com este problema, pesquisei bem por horas e finalmente encontrei a solução, para quem estava com o problema do Account Manager criar conta e não logar no gesior e vice versa, agora está resolvido .. obs: usem o sistema SHA1. Para quem tentou esse sistema: http://www.tibiaking.com/forum/topic/40463-distro-tfs-04-ant-dv-war-system-no-otbm-check-no-gerar-salt-acc-manager-pega-junto-com-site-em-sha1/ , E NÃO Conseguiu resolver, está é a solução.
     
    AVISO: Deu trabalho para fazer, se puderem me ajudar com +REP irei agradecer.
    TFS compatível com baiaks e outros servidores estando 100% estável, estou postando a TFS PRONTA para uso e também está incluso as Sources para quem quiser compilar.
     
    NÃO SE ESQUEÇAM DO +REP, ESPERO TER AJUDADO.
     
    DOWNLOAD: (SEM WAR SYSTEM MAS PODE SER COMPILADO) SOURCES+EXECUTÁVEL
    http://www.4shared.com/rar/1UkZ4SFaba/TFS_86_-_War_System_e_Anti_SAL.html?
     
    SOMENTE EXECUTÁVEL COMPILADO COM WAR SYSTEM E ANTI SALT
    http://www.4shared.com/rar/4KijpSs0ba/TheForgottenServer.html?
     
     
     
    SCAN:
    https://www.virustotal.com/sv/file/9ac2a228444c7d5b08f42d657ee5a82a9963a7674cde58e2b8b5c25dd40cadf8/analysis/1417440333/
  21. Gostei
    Blackmotion recebeu reputação de Azinhawk em (Resolvido)Featured article (help)   
    posta seu latestnews.php aqui
  22. Gostei
    Blackmotion deu reputação a Yugami em [Script Spell] Dai Kamui   
    não sou um script nem nada,mas mesmo assim ja consigui arruma muintas spells minhas pra ficar do geito que eu gosto entretanto ainda to Iniciante,mas eu tinha um Spell aki chamda "Kamui Me" e arrumei ela,para só levar o target a tal de "Dai Kamui" que augums dos Cara do TK estão atras,segue o tutorial abaixo.
     
    Va em Pasta Do Ot/Data/Spells e Abra o Spells.xml e add éssa tag.
            <instant name="Dai Kamui" words="Dai kamui" lvl="225" mana="10000" aggressive="1" exhaustion="2000" needtarget="1" range="7" needlearn="0" event="script" value="kamui prision.lua">         <vocation id="76"/>         <vocation id="77"/>        </instant>        apóis adiciona click CTRL+S para salva e feche,agora vai em Pasta Do Ot/Data/Spells/Scripts copie qualquer arquivo.lua e adicione isso abaixo.
     
    function onCastSpell(cid, var)   local Tile1 = {x=1566, y=1293, z=7} -- para onde o player é teleportado local from1,to1 = {x=1509, y=1259, z=7},{x=1509, y=1255, z=7} -- ponto 1 ao ponto 2 de onde ele sera levado. local pos = getCreaturePosition(cid) local target = getCreatureTarget(cid) local targetpos = getCreaturePosition(target) local time = 30 -- tempo para voltar em segundos local exausted = 5 -- tempo em minutos que vai ficar sem usa a spell(se não quiser exausted deixe "0") if isInRange(pos, from1, to1) then doPlayerSendCancel(cid, "Você nao pode usar o Kamui aqui!") return FALSE end local function Teleport_Target(target) doTeleportThing(target, targetpos) end if isPlayer(cid) and getPlayerAccess(cid) < 3 and getPlayerStorageValue(cid, 17457)-os.time() > 1 then local seetime = getPlayerStorageValue(cid, 17457)-os.time() local minutes, seconds = math.floor(seetime/60), math.floor(seetime%60) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde "..minutes.." minuto(s) e "..seconds.." segundo(s) para usar novamente!") return false end if isPlayer(target) then doTeleportThing(target, Tile1) doSendMagicEffect(targetpos, 196) addEvent(Teleport_Target, time*1000, target) doCreatureSay(cid, "Dai Kamui", TALKTYPE_MONSTER) setPlayerStorageValue(cid, 17457, exausted*60+os.time()) else doPlayerSendCancel(cid, "Voce so pode usar esta magia em players!") end end   
    Até Onde eu sei 100% dos creditos é meu!!
     
  23. Gostei
    Blackmotion deu reputação a Smart Maxx em [GlobalEvents] Perfect Zombie Event 100% automatico   
    Primeiramente o evento foi testado num servidor 8.6, TFS 0.4, sem apresentar nenhum problema.
     
     
     
     
    Em data/creaturescripts/scripts  crie o arquivo zombieevent.lua :
     
    local config = {     playerCount = 2001, -- Storage dos players que entram e sai do evento          goblet = 5805, -- Troféu que vai pro vencedor do evento     rewards = {2195, 2152, 2160}, -- Recompensas.            moneyReward = {2160, 10, 1}, -- {moneyId, quantidade, usar}1 pra usar 0 pra não usar}          -- Area que o zumbi vai spawnar     fromPosition = {x = 543, y = 578, z = 7}, -- top de fromPosition até     toPosition = {x = 577, y = 600, z = 7} -- em baixo toPostion     } function onStatsChange(cid, attacker, type, combat, value)     if isPlayer(cid) and isMonster(attacker) then         if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then             if getGlobalStorageValue(config.playerCount) >= 2 then                 doBroadcastMessage(getPlayerName(cid) .. " have been eated by Zombies!", MESSAGE_STATUS_CONSOLE_RED)                 local corpse = doCreateItem(3058, 1, getPlayerPosition(cid))                 doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".")                 doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)                 doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)                 doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)                 setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)-1)             elseif getGlobalStorageValue(config.playerCount) == 1 then                 if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then                     doBroadcastMessage(getPlayerName(cid) .. " won the Zombie event! Congratulations!", MESSAGE_STATUS_WARNING)                     local goblet = doPlayerAddItem(cid, config.goblet, 1)                     doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(cid) .. " for winning the Zombie event.")                     local corpse = doCreateItem(3058, 1, getPlayerPosition(cid))                     doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".")                     doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)                     doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)                     doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)                     for _,items in ipairs(config.rewards) do                         doPlayerAddItem(cid, items, 1)                     end                     if config.moneyReward[3] == 1 then                         doPlayerAddItem(cid, config.moneyReward[1], config.moneyReward[2])                     end                 end                                          for x = config.fromPosition.x, config.toPosition.x do                     for y = config.fromPosition.y, config.toPosition.y do                         for z = config.fromPosition.z, config.toPosition.z do                             areapos = {x = x, y = y, z = z, stackpos = 253}                             getMonsters = getThingfromPos(areapos)                             if isMonster(getMonsters.uid) then                                 doRemoveCreature(getMonsters.uid)                             end                         end                     end                 end             end             return false         end     end return true end Na mesma pasta  em login.lua antes do ultimo return true adicione :
    registerCreatureEvent(cid, "zombieevent") Agora em data/creaturescripts adicione em creturescripts.XML :
    <!-- ZOMBIE EVENT -->    <event type="statschange" name="zombieevent" event="script" value="zombieevent.lua"/> Agora vamos em data/monster crie uma pasta com o nome ZombieEvent e dentro dessa pasta crie o arquivo chamado event zombie.XML :
    <?xml version="1.0" encoding="UTF-8"?><monster name="Event Zombie" nameDescription="an event zombie" race="undead" experience="280" speed="100" manacost="0">     <health now="500" max="500"/>     <look type="311" corpse="9875"/>     <targetchange interval="5000" chance="50"/>     <strategy attack="100" defense="0"/>     <flags>         <flag summonable="0"/>         <flag attackable="0"/>         <flag hostile="1"/>         <flag illusionable="0"/>         <flag convinceable="0"/>         <flag pushable="0"/>         <flag canpushitems="1"/>         <flag canpushcreatures="1"/>         <flag targetdistance="1"/>         <flag staticattack="90"/>         <flag runonhealth="0"/>     </flags>     <attacks>         <attack name="melee" interval="2000" min="-35000" max="-35000"/>     </attacks>     <defenses armor="15" defense="10"/>     <immunities>         <immunity paralyze="1"/> <immunity invisible="1"/>     </immunities>     <voices interval="5000" chance="10">         <voice sentence="You wont last long!"/>         <voice sentence="Mmmmh.. braains!"/>     </voices>     <loot>         <item id="2148" countmax="1" chance="100000"/><!-- gold coin -->     </loot> </monster> voltando pra pasta data/monster abra o arquivo monsters.XML  e adicione :
    <!-- ZombieEvent --> <monster name="event zombie" file="ZombieEvent/event zombie.xml"/> tudo ok até aqui ... então vamos pra pasta data/movements/scripts crie zombieevent.lua :
    local config = {    playerCount = 2001, -- Storage do players do evento     maxPlayers = 20, -- Maximo de players pra partiparem do evento     minLevel = 17 -- Level minimo pra entrar no evento     }      function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getPlayerLevel(cid) < config.minLevel then         addEvent(tpBack, 1000, cid, fromPosition)         doPlayerSendCancel(cid, "You need to be at least level " .. config.minLevel .. ".")         return false end     if getGlobalStorageValue(config.playerCount) < config.maxPlayers then         setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)+1)         if getGlobalStorageValue(config.playerCount) == config.maxPlayers then             doBroadcastMessage("The Zombie event is now full [" .. getGlobalStorageValue(config.playerCount) .. " players]! The event will soon start.")         else                 doBroadcastMessage(getPlayerName(cid) .. " entered the Zombie event! Currently " .. getGlobalStorageValue(config.playerCount) .. " players have joined!", MESSAGE_STATUS_CONSOLE_RED)         end         else         addEvent(tpBack, 1000, cid, fromPosition)         doPlayerSendCancel(cid, "The event is full. There is already " .. config.maxPlayers .. " players participating in the quest.")         return false     end     print(getStorage(config.playerCount) .. " Players in the zombie event.")     return true end function tpBack(cid, fromPosition)     doTeleportThing(cid, fromPosition, true)     doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) end voltando pra data/movements abra o arquivo movements.XML e adicione :
     
     <!-- ZOMBIE event -->     <movevent type="StepIn" actionid="2008" event="script" value="zombieevent.lua"/> agora vamos pra parte mais importante e que devemos mais prestar atenção... 
     
    em data/globalevents/scripts crie zombieevent.lua :
    local config = {    semana_mes = "semana",     days = {1,2,3,4,5,6,7}, -- Dia das semanas que irá acontecer o evento     goblet = 5805, -- Troféu que vai pro vencedor do evento     rewards = {2195, 2152, 2160}, -- Recompensas.        moneyReward = {2160, 10, 1},-- {moneyId, quantidade, usar}1 pra usar 0 pra não usar}     playerCount = 2001, -- Storage dos players que entram e sai do evento     zombieCount = 2002, -- Storage do zombie do event     teleportActionId = 2008, -- Action ID do teleport     teleportPosition = {x = 652, y = 1020, z = 7, stackpos = 1}, -- Onde o teleport é criado     teleportToPosition = {x = 559, y = 589, z = 7}, -- Pra onde será teleportado     teleportId = 1387, -- ID do teleporte     timeToStartEvent = 2, -- Minutos que o portal irá ficar aberto até os player entrarem     timeBetweenSpawns = 20, -- Segundos dps do evento ser startado começarem a aparecer os zombie     zombieName = "event zombie", -- Nome do zombie sumonado     playersNeededToStartEvent = 3, -- Players necessários pro evento ser iniciado          -- Area que o zumbi vai spawnar     fromPosition = {x = 543, y = 578, z = 7}, -- top de fromPosition até     toPosition = {x = 577, y = 600, z = 7} -- -- em baixo toPostion     } function onTime()     local time = os.date("*t")     if (config.semana_mes == "semana" and isInArray(config.days,time.wday)) or (config.semana_mes == "mes" and isInArray(config.days,time.day)) or config.semana_mes == "" then    local tp = doCreateTeleport(config.teleportId, config.teleportToPosition, config.teleportPosition)    doItemSetAttribute(tp, "aid", config.teleportActionId)    doBroadcastMessage("Zombie event starting in " .. config.timeToStartEvent .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING)    setGlobalStorageValue(config.playerCount, 0)    setGlobalStorageValue(config.zombieCount, 0)    addEvent(startEvent, config.timeToStartEvent * 1000 * 60)     end     return TRUE end function startEvent()             local fromp, top = config.fromPosition, config.toPosition     if getGlobalStorageValue(config.playerCount) >= config.playersNeededToStartEvent then         addEvent(spawnZombie, config.timeBetweenSpawns * 1000)         doBroadcastMessage("Good luck in the zombie event people! The teleport has closed!", MESSAGE_STATUS_WARNING)                  for x = fromp.x, top.x do             for y = fromp.y, top.y do                 for z = fromp.z, top.z do                     areapos = {x = x, y = y, z = z, stackpos = 253}                     getPlayers = getThingfromPos(areapos)                     if isPlayer(getPlayers.uid) then                         doPlayerSendTextMessage(getPlayers.uid, MESSAGE_EVENT_ADVANCE, "The first zombie will spawn in " .. config.timeBetweenSpawns .. " seconds! Good luck!") pvgaylord()                     end                 end             end         end     else         doBroadcastMessage("The Zombie event could not start because of to few players participating.\n At least " .. config.playersNeededToStartEvent .. " players is needed!", MESSAGE_STATUS_WARNING)         for x = fromp.x, top.x do             for y = fromp.y, top.y do                 for z = fromp.z, top.z do                     areapos = {x = x, y = y, z = z, stackpos = 253}                     getPlayers = getThingfromPos(areapos)                     if isPlayer(getPlayers.uid) then                         doTeleportThing(getPlayers.uid, getTownTemplePosition(getPlayerTown(getPlayers.uid)), false)                         doSendMagicEffect(getPlayerPosition(getPlayers.uid), CONST_ME_TELEPORT)                     end                 end             end         end     end end function spawnZombie()     if getGlobalStorageValue(config.playerCount) >= 2 then         pos = {x = math.random(config.fromPosition.x, config.toPosition.x), y = math.random(config.fromPosition.y, config.toPosition.y), z = math.random(config.fromPosition.z, config.toPosition.z)}         doSummonCreature(config.zombieName, pos)         doSendMagicEffect(pos, CONST_ME_MORTAREA)         setGlobalStorageValue(config.zombieCount, getGlobalStorageValue(config.zombieCount)+1)         doBroadcastMessage("A zombie has spawned! There is currently " .. getGlobalStorageValue(config.zombieCount) .. " zombies in the zombie event!", MESSAGE_STATUS_CONSOLE_RED)         addEvent(spawnZombie, config.timeBetweenSpawns * 1000)     else local fromp, top = config.fromPosition, config.toPosition         for x = fromp.x, top.x do             for y = fromp.y, top.y do                 for z = fromp.z, top.z do                     areapos = {x = x, y = y, z = z, stackpos = 253}                     cid = getThingfromPos(areapos).uid                     if isPlayer(cid) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) doBroadcastMessage(getCreatureName(cid)..' has survived at zombie event!')                   for _,items in ipairs(config.rewards) do               doPlayerAddItem(cid, items, 1)       end               if config.moneyReward[3] == 1 then         doPlayerAddItem(cid, config.moneyReward[1], config.moneyReward[2])         end                 doBroadcastMessage(getPlayerName(cid) .. " won the Zombie event! Congratulations!", MESSAGE_STATUS_WARNING)                local goblet = doPlayerAddItem(cid, config.goblet, 1)                doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(cid) .. " for winning the Zombie event.")    elseif isMonster(cid) then doRemoveCreature(cid)                     end                 end             end         end     end end function pvgaylord() local fromp, top, p, m = config.fromPosition, config.toPosition, 0, 0 for x = fromp.x, top.x do             for y = fromp.y, top.y do                 for z = fromp.z, top.z do                     local areapos = {x = x, y = y, z = z, stackpos = 253}                     local cid = getThingfromPos(areapos).uid                     if isPlayer(cid) then p = p+1    elseif isMonster(cid) then m = m+1                     end                 end             end         end if p ~= getGlobalStorageValue(config.playerCount) then setGlobalStorageValue(config.playerCount, p) end if p < 2 then return true end addEvent(pvgaylord,100,nil) end na mesma pasta crie o arquivo fechazombie.lua :
    local teleportPos = {x = 652, y = 1020, z = 7, stackpos = 1} -- Posição em que se abre o teleport local teleportId = 1387 function onTimer()     for i = 1, 255 do         teleportPos.stackpos = i         if getThingFromPos(teleportPos).itemid == teleportId then             doRemoveItem(getThingFromPos(teleportPos).uid, 1)         end     end     return true end agora em data/globalevents abra o arquivo globalevents.XML e adicione :
     
    <globalevent name="zombieevent" time="23:41" event="script" value="zombieevent.lua"/> <globalevent name="zombieventt" time="23:43" event="script" value="fechazombie.lua"/> Importante : time="Horário que irá acontecer o evento" e no fechazombie coloque 2 minutos a mais da hora que vc colocou pra iniciar, para assim fechar o teleport na hora em que o evento é startado (configuração padrão do script, se alterar lá terá que alterar aqui tb)
     
     
     
     
     
    Agora só abrir e desfrutar do seu novo sistema...
     
     
    Download de mapas :
     
    http://tibiaking.com...apa-modificado/ - tiago.bordin1988
    http://tibiaking.com...mbie-event-v10/ - ricardo3
    http://tibiaking.com...map-86-inovado/ - OhGod
    http://www.speedysha...ombieEvent.otbm
     
     
     
     
     
     
     
    Créditos...
    Fausto32
    Sociopata
    Orochi Elf
    Phowned
    Smart Maxx
     
     
  24. Gostei
    Blackmotion deu reputação a Smart Maxx em [Original] Azeroth RPG   
    bastar trocar no config.lua para mysql se tem vários tutoriais no fórum de como fazer isso;
  25. Gostei
    Blackmotion deu reputação a Smart Maxx em [Original] Azeroth RPG   
    > o Servidor creio que seria considerado bem leve comparado aos global full e baiak que já vi e editei ...
    > Zombie event é automático podendo ser programado a qualquer hora que queira, Castle of honor por opção minha eu não editei(só algumas mudança e bugs corrigidos) e deixei por comando para acompanhar de perto o sistema pois gosto dele, o battlefield é por comando tb mas recentemente editei e deixei automático(talvez eu coloque na próxima versão).
    >As spells do servidor são as msm encontrada nos tibias 8.6.

Informação Importante

Confirmação de Termo