Ir para conteúdo

Puncker

Héroi
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Puncker deu reputação a Doughell em #1 Desmembrando seu Script   
    Olá a todos frequentadores da seção Scripting, tomei minha própria iniciativa junto com o Lpz de criar dicas ao scripting, como perceberam ele já começou com seu tópico dicas onde foi muito importante a iniciantes!

    Hoje começarei de nv. de script inferior, com scripts/comandos/funções básicas!
    Então vamos começar com o comando parecido com o do !aol que é bastante útil a outros servidores.
    Ok, vamos lá!


    function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"MENSAGEM QUE A TALKACTION FOI REALIZADA COM SUCESSO",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"MENSAGEM QUE HOUVE ERRO NA TALKACTION, MOTIVO: FALTA DE DINHEIRO",TALKTYPE_ORANGE_1) end end

    Agora vamos as explicações:

    function onSay(cid,words,param)
    Para executar o comando é por meio de falas, palavras (exemplo: !aol)



    if doPlayerRemoveItem(cid,2145,10) == TRUE then
    Esta linha já diz tudo "PlayerRemoveItem" significa que removerá o tal item do player, no caso removerá o ID 2145 (Small Diamonds) e a quantidade, que seria 10.
    Para modificar altere o número 2145 (Small Diamonds) para o que desejar idem a quantidade, que e o número 10.
    OBSERVAÇÃO do Alexx Pirado lol: Além de remover, ele checa se o player possui o item e a quantidade. Após isso executa a função.



    doPlayerAddItem(cid,1738,1)
    Essa função ela mesmo diz já "AddItem" ao executar o comando e não houver erros/falhas (ex: falta de dinheiro) adiciona o id do item, você mesmo opta por qual item adicionar e a sua quantidade.
    No caso os números 1738 é o ID do item é o número 1 e a quantidade.



    doCreatureSay(cid,"MENSAGEM QUE A TALKACTION FOI REALIZADA COM SUCESSO",TALKTYPE_ORANGE_1)
    else
    Essa mensagem será mandada para a creature(pessoa,player) entre as aspas adicione uma mensagem de sucesso, onde a pessoa conseguiu executar o script sem problemas (onde teve o dinheiro suficiente).
    Observação: A função "else" fará o contrário do de baixo, por exemplo No de baixo deu certo, no de cima com o else dará certo.
    O TALKTYPE_ORANGE_1 e a cor que aparecerá na tela do jogador, no caso laranja (mude ao seu gosto).



    doCreatureSay(cid,"MENSAGEM QUE HOUVE ERRO NA TALKACTION",TALKTYPE_ORANGE_1)
    Essa mensagem será mandada para a creature(pessoa,player) entre as aspas adicione uma mensagem de erro, onde a pessoa não consegui executar o script por que não possuia dinheiro (que e o caso do script).


    end
    end
    Os dois end servirão para fechar o if e o script.



    É isso ai galera, primeira "aulinha" espero que tenham gostado quem sabe hoje mesmo posto outra um pouco mais avançada!
  2. Gostei
    Puncker deu reputação a Doughell em #2 Desmembrando seu Script   
    Olá a todos frequentadores da seção Scripting!

    Hoje partiremos para nossa segunda aula de Scripting, as duas aulas foram bem rápidas essa aqui já será um pouco mais complexa, mas espero que usufruam bem dela!


    local config = { doorPosition = {x = 100, y = 100, z = 7}, doorID = 1000, minAccess = 6, message = { doorOpen = "The door has been opened!" doorClose = "The door has been closed!" } } function onSay(cid, words, param) if getPlayerAccess(cid) >= config.minAccess then local item = getTileItemById(config.doorPosition, config.doorID) if item.uid > 0 then doRemoveItem(item.uid, 1) doPlayerSnedTextMessage(cid, 22, config.message.doorOpen) else doCreateItem(config.doorID, 1, config.doorPosition) doPlayerSendTextMessage(cid, 22, config.message.doorClose) end end return true end

    Agora vamos as explicações:

    local config = {
    Esse o inicio de uma tabela, para fácilitar a organização (isso e uma das vantagens).

    doorPosition = {x = 100, y = 100, z = 7},
    A posição aonde o item/door será removido e adicionado.

    doorID = 1000,
    O ID da door, selecione corretamente!

    minAccess = 6,
    O acesso que precisa ter no minimo para executar o comando,

    message = {
    Entre essa tabela, terá as mensagens de abertura e fechamento.

    doorOpen = "The door has been opened!"
    Mensagem que aparecerá ao abrir o portão.

    doorClose = "The door has been closed!"
    Mensagem que aparecerá ao fechar o portão.

    }
    }
    Fecha as tabelas.

    function onSay(cid, words, param)
    Para executar o comando é por meio de falas, palavras (exemplo: !gate)

    if getPlayerAccess(cid) >= config.minAccess then
    A if onde checa o acesso minimo para executar o comando.

    local item = getTileItemById(config.doorPosition, config.doorID)
    Checa o tile (piso) para as configurações da posição da porta e do ID.

    doRemoveItem(item.uid, 1)
    Remove o ID da door selecionado e a quantidade 1.

    doPlayerSnedTextMessage(cid, 22, config.message.doorOpen)
    else
    Para mandar a mensagem ao abrir a porta, o número 22 e a cor da mensagem.
    Observação: A função "else" fará o contrário do de baixo, por exemplo No de baixo deu certo, no de cima com o else dará certo.

    doCreateItem(config.doorID, 1, config.doorPosition)
    Criará a door (com a id selecionada) na quantidade 1 com as configurações da posição.

    doPlayerSendTextMessage(cid, 22, config.message.doorClose)
    Mandará uma mensagem que a porta foi fechada.

    end
    end
    return true
    end
    O final do script, para fechar as ifs o script e checar a função no return, no caso true.
  3. Gostei
    Puncker deu reputação a Doughell em [TalkAction] Gate System   
    Olá a todos!
    Bom, estou aqui para mostrar um dos meus novos scripts BEM MAIS APERFEIÇOADO com base em um dos antigos, como assim?
    Apenas peguei um script de alavanca como base e modifiquei completamente para que fique mais fácil e bem mais útil.
    Pode ser utilizados em todos tipos de eventos, por exemplo: Você anuncia que terá Castle WAR tal horário, até você chegar terá um monte de gente e tal... Para antecipar a abertura, apenas execute o comando que será aberto automaticamente! E claro também possui outras utilidades, mais cada um com a sua
    Ok, agora vamos ao script!





    Portão System
    Crie um arquivo em otserv/talkactions/scripts com o nome de abertura.lua e adicione no arquivo:



    Agora em talkactions.xml adicione:


    [/color] [color=#000000]<talkaction words="!open" event="script" value="abertura.lua"/>[/color] [color=#000000]


    É isso ai galera, qualquer duvida postem aqui mesmo ou dêem sujestões!
  4. Gostei
    Puncker recebeu reputação de Augusto em Depositer   
    Já existe isso... vá nos Basic Functions e deixa marcado o checkbox escrito Alguma Coisa Tray...
  5. Gostei
    Puncker recebeu reputação de Kimoszin em (Resolvido) Follow attack BBot!   
    Abra o Tibia vá em Options > General e verifique se o Auto Chase Off está marcado caso esteja desmarque.
  6. Gostei
    Puncker recebeu reputação de Iago Felipe em fama de slipknot = ?   
    Pra querer falar mal de Slipknot deve escutar músicas muito ruins eim? Sinto muito mais você deve ter um péssimo gosto... Não digo por total porque tem muito metaleiro aí que gosta de Iron Maiden, Metallica, Motorhead, etc. e não gosta de Slipknot e bandas do gênero por terem um estilo diferente do Metal Tradicional.

    Sendo de propósito ou não, Slipknot toca uma boa música, muito melhor que esse monte de merda que todo mundo ouve por aí e ainda por cima vale muito mais a pena assitir um show do Slipknot mesmo com um erro do que assistir essas coisas escrotas que todos veem e escutam atualmente, que não fazem sentido, não tem um objetivo musical ( o objetivo deles é conquistar o mundo com música podre e ganhar dinheiro com isso ) e ainda querem criticar os que tocam música boa como o Slipknot.

    @Edit

    OBS: Não estou dizendo que todos que não gostam de Metal possuem péssimo gosto, pois tem muitas bandas e gêneros que eu não gosto porém eu respeito, já algumas não merecem meu respeito e o respeito de nenhum metaleiro/rockeiro pois como eu posso dizer... São "lixos sonoros" que geralmente conquistam a população mundial ( para ser mais exato a população brasileira que são aptos a seguirem modinhas pops/nacionais ridículas ) e se aproveitam adquirindo riquezas acumuladas dessas pessoas bobas que estão sendo enganadas ouvindo coisas ruins.
  7. Gostei
    Puncker deu reputação a ClariX em 378 Pack - ALL C4Ds Added by ~stinky666   
    142 Abstracts - CLICK HERE TO DOWNLOAD (153mb)
    50 Bubbles - CLICK HERE TO DOWNLOAD (75mb)
    63 Effects - CLICK HERE TO DOWNLOAD (47mb)
    13 Lens' - CLICK HERE TO DOWNLOAD (28mb)
    10 sQuigs - CLICK HERE TO DOWNLOAD (20mb)
    100 WireFrames - CLICK HERE TO DOWNLOAD (53mb)

    Todos os devidos créditos para ~stinky666.
  8. Gostei
    Puncker deu reputação a Aluccard em Infinity Aol   
    Olá!

    A pedidos de usuarios, resolvi fazer esse script simples e eficaz. Como o própio nome do tópico diz: Aol Inifinito.
    No script possui um config onde pode ser alterado o ammyID = id do amuleto, lossExp = player perder exp, lossItems = player perder items.

    newAol.lua

    local config = { ammyID = 2130, lossExp = false, lossItems = false } function onDeath(cid, lastHitKiller, mostDamageKiller) if isPlayer(cid) then if (getPlayerSlotItem(cid, 2).itemid == config.ammyID) then if (config.lossExp == false) then doPlayerSetLossPercent(cid, experience, 0) end doCreatureSetDropLoot(cid, config.lossItems) return true end end return true end creaturescripts.xml <event type="death" name="NewAol" event="script" value="newAol.lua"/> Adicione no login.lua essa linha perto dos outros registercreatures. registerCreatureEvent(cid, "NewAol")

    Obs¹: Esse script serve para todos os players inclusive RedSkulls/BlackSkulls.


    Qualquer dúvida é só postar!



    Atenciosamente,
    Aluccard.
  9. Gostei
    Puncker deu reputação a Augusto em Scroll de Level   
    Esse script funciona da seguinte maneira, é um scroll, que ao usa-lo você recebe avança um lvl, você pode coloca-lo como recompensa de uma quest ou sei lá, basta usar a imaginação.
    Scroll de experiência
    Vá até data > actions > actions.xml e adicione a tag:
      <action itemid="6119" event="script" value="Exp_Scroll.lua"/> crie um arquivo "Exp_Scroll.lua" e coloque na pasta data > actions > scripts
      -- Scripted By Perfection -- local itemID = 6119 local lvl = 1 function onUse(cid, item, frompos, item2, topos) if item.itemid == itemID then doPlayerAddLevel(cid, lvl) doPlayerSendTextMessage(cid,22,"You Recieved 1 Level !") doRemoveItem(cid, item.uid, 1) end return 1 end Crétidos: perfection.
  10. Gostei
    Puncker deu reputação a DevilMoon em [TalkAction] Buy Aol   
    muito bom, mais não ficaria melhor assim?




    custo = 10000 -- Quanto vai custar, gps
    item = 2173 -- ID do item
    quantidade = 1 -- Quantos vai vir

    function onSay(cid, words, param)
    if doPlayerRemoveMoney(cid, custo) == TRUE then
    doPlayerAddItem(cid, item, quantidade)
    doSendMagicEffect(getPlayerPosition(cid), 14)
    else
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce precisa de 10k para comprar um aol.")
    end
    return TRUE
    end
    [/codebox]

    porque cada vez que o player compraria um aol, ficaria aparecendo aquela mensagem chata!
    so fiz.. gosto de cada, mas no meu server ta assim =)
  11. Gostei
    Puncker deu reputação a Kimoszin em [TalkAction] Buy Aol   
    Uma simples talkaction para o player comprar aol,
    Totalmente configuravel

    BuyAol.lua

    custo = 10000 -- Quanto vai custar, gps item = 2173 -- ID do item quantidade = 1 -- Quantos vai vir function onSay(cid, words, param) if doPlayerRemoveMoney(cid, custo) == TRUE then doPlayerAddItem(cid, item, quantidade) doSendMagicEffect(getPlayerPosition(cid), 14) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voc&#234; acabou de comprar um AOL por "..custo.." gps.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voc&#234; precisa de "..custo.." gps.") end return TRUE end Talkactions.xml <talkaction words="!buyaol" script="BuyAol.lua"/>

    Qualquer duvida relacionada ao script só perguntar (=
  12. Gostei
    Puncker recebeu reputação de Lorinho em Alguem me recomenda ...   
    NeoBot é pago...
  13. Gostei
    Puncker deu reputação a Augusto em Cursos em Video Aula PHP+MySQL   
    PHP+MySQL







    Galera, estava procurando material relacionado a PHP (básico para eu começar a brincar) e encontrei várias video aulas sobre o assunto, abordando tambem MySQL, ajudando tambem bastante quem esta desenvolvendo sites pra OtServ. O autor se preocupou em desenvolver um método de ensino tanto para pessoas que ja conhecem a linguagem, como para leigas (como eu). Então, vale a pena.

    4shared - Parte 1 - Parte 2

    Tamanho: 1.2GB
    Duração: 9 Horas.
    Idioma: Portugues.

    Crétidos: BaixeBr.org
  14. Gostei
    Puncker deu reputação a Raul Neiva em Potion baseado no level do player   
    Potion Baseado no Level do Player
    Explicação: A potion será usada de acordo com o level desejado. Antes de fazer as substituições no seu potion.lua,faça um backup para prevenir. Vá em data/actions/actions.xml e coloque o código:
      <action itemid="7588-7591;8472-8473;7618;7620;8704" event="script" value="potions.lua"/> Feito isso,vá em data/actions/scripts/potions.lua,apague tudo que estiver dentro e coloque:
      local config = { removeOnUse = "no", usableOnTarget = "yes", -- can be used on target? (fe. healing friend) splashable = "yes", range = -1, realAnimation = "no" -- make text effect visible only for players in range 1x1 } local min, max = 0, 0 local POTIONS = { [8704] = {empty = 7636, splash = 42, health = {1.0, 1.25}, min = 50, max = 100}, -- small health potion [7618] = {empty = 7636, splash = 42, health = {1.25, 1.75}, min = 50, max = 150}, -- health potion [7588] = {empty = 7634, splash = 42, health = {1.75, 2.25}, min = 0, max = 350, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 42, health = {2.25, 2.5}, min = 0, max = 500, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 42, health = {2.5, 3.0}, min = 0, max = 800, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 47, mana = {1.0, 1.5}, min = 50, max = 150}, -- mana potion [7589] = {empty = 7634, splash = 47, mana = {1.5, 2.0}, min = 0, max = 250, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 47, mana = {2.0, 2.5}, min = 0, max = 350, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 43, health = {1.25, 2.25}, mana = {1.25, 2.25}, min = 0, max = 320, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion } for index, potion in pairs(POTIONS) do if(type(index) == "number")then for k, v in pairs(config) do if(not potion[k]) then potion[k] = v end end if(potion.removeOnUse) then potion.removeOnUse = getBooleanFromString(potion.removeOnUse) end if(potion.usableOnTarget) then potion.usableOnTarget = getBooleanFromString(potion.usableOnTarget) end if(potion.splashable) then potion.splashable = getBooleanFromString(potion.splashable) end if(potion.realAnimation) then potion.realAnimation = getBooleanFromString(potion.realAnimation) end POTIONS[index] = potion end end function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid) or (not potion.usableOnTarget and cid ~= itemEx.uid)) then if(not potion.splashable or not potion.splash) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPosition(item.uid) end doDecayItem(doCreateItem(POOL, potion.splash, toPosition)) doRemoveItem(item.uid, 1) if(not potion.empty or potion.removeOnUse) then return true end if(fromPosition.x ~= CONTAINER_POSITION) then doCreateItem(potion.empty, fromPosition) else doPlayerAddItem(cid, potion.empty, 1) end return true end if(((potion.level and getPlayerLevel(itemEx.uid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(itemEx.uid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1) return true end if(potion.range > 0 and cid ~= itemEx.uid and getDistanceBetween(getThingPosition(cid), getThingPosition(itemEx.uid)) > potion.range) then return false end local x = getPlayerLevel(cid) local min_, max_ = potion.min, potion.max local health = potion.health if health then local hp = math.ceil(math.random(health[1] * x, health[2] * x)) if hp < min_ then hp = math.random(min_, max_) elseif hp > max_ then hp = math.random(max_, max_ + 100) end doCreatureAddHealth(itemEx.uid, hp) end local mana = potion.mana if mana then local mp = math.ceil(math.random(mana[1] * x, mana[2] * x)) if mp < min_ then mp = math.random(min_, max_) elseif mp > max_ then mp = math.random(max_, max_ + 100) end doPlayerAddMana(itemEx.uid, mp) end doSendMagicEffect(getThingPosition(itemEx.uid), CONST_ME_MAGIC_BLUE) if(not potion.realAnimation) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getThingPosition(itemEx.uid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid) end end end doRemoveItem(item.uid, 1) if(not potion.empty or potion.removeOnUse) then return true end if(fromPosition.x ~= CONTAINER_POSITION) then doCreateItem(potion.empty, fromPosition) else doPlayerAddItem(cid, potion.empty, 1) end return true end Script simples,mas bem útil.
    Te ajudei ? Rep +
    Abraços.
  15. Gostei
    Puncker recebeu reputação de Pablorox em Primeiro de muitos :)   
    Primeiro de muitos? hmm... Ah sim rsrs, não queria dizer para ningúem mais o primeiro a conseguir tirar o TK do ar e travar ele foi eu, isso porque descobri uma brecha muito boba e é uma brecha que não pode ser corrigida pois é típica de forums, faz um bom tempo que não faço isso, quando descobri essa brecha logo desenvolvi uma ferramenta em Delphi que facilita a "utilização" dessa brecha, não usei programinhas já prontos eu criei minha PRÓPRIA ferramenta para fazer isso, essa ferramenta ainda existe e é poderosa, mais é poderosa por um motivo... O host do TK não é dos que você pode chamar de "bom" por isso minha ferramenta foi funcional e ainda é funcional, e facilmente consegui travar o site ou derrubá-lo e também sobrecarregar o servidor de banco de dados (SQL ou outro tipo de DB) do TK, que é o principal motivo do travamento e das caídas do site e isso é uma dica pro pessoal ou a pessoa que providencia o host do TK. E bom... irei dizer essa brechinha que não pode ser chamada de brecha... Ao clicar em um download/post a contagem/visitas é alterada, essa contagem é localizada dentro do Banco de Dados do TK, cada vez que eu clico em um link de download ou acesso um post o site executa uma alteração dentro do banco de dados em que é adicionado o valor 1 ao atual valor dentro do banco, um humano não é capaz de clicar tão rapidamente sendo capaz de criar uma sobrecarga no banco de dados mais um programa bem feito sim...

    E partindo para o ponto hacker que o froostin diz ser... Froostin você não é hacker e desse jeito nunca vai ser... Usar brechas de SQL Injection e usar programas baixados da net de DDOs não é ser hacker, e ainda por cima programas de DDOs que você baixa da net são todos "FAIL" você bota o IP do site e bota pra atacar logo depois você acessa o site e o site está offline, mas sabe porquê? Porque o site bloqueou o seu IP e na hora que você acessa você não consegue acessá-lo pois ao verificar seu IP ele não permite o acesso do seu computador ao site, mas para as outras pessoas o site está em perfeita usabilidade, sem travamentos, sem caídas, só você que é o Bobo Mor se achando fodão que não consegue acessar o site sendo que você não consegue acessá-lo porque seu IP está bloqueado.

    Dica: Sai dessa vida e vai pra escola, estude, estude muito faça pesquisas por conta própria sem ninguem mandar você fazer, faça faculdade ou seja revolucionário e use a própria internet para adquirir conhecimentos e coloque todo seu conhecimento em prática assim você poderá provar para nós que você é mesmo FODÃO, e pros babacas de plantão ser fodão não é catar toda a mulherada, ser fodão não é ser famoso, ser fodão é ser MUITO INTELIGENTE.

    Não sei se com esse post posso receber uma punição, mas com punição ou não minha vida continuará a mesma e não ficarei revoltadinho com ninguém apenas seguirei meu rumo.
  16. Gostei
    Puncker deu reputação a Raul Neiva em Comandos para web site   
    Olá galera do Tibia King.Hoje venho trazer a vocês vários comandos para usarem no web site.
    Este comandos vão ser uma "mão na roda" para muitas pessoas.
    Ai vai ...
    Remover Premium ACC de todos. Não funciona com VIP System .


    UPDATE account SET premdays=0; Dar 7 dias de Premium ACC a todos os players. Não funciona com VIP System. UPDATE accounts SET premdays = premdays + 7 Mardar todos os Players par a o templo. UPDATE players SET posx = X, posy = Y, posz = Z; Colocar todo mundo como Grupo 1 = Player. UPDATE groups SET flags=0,name="Player" WHERE id=1; UPDATE players SET group_id=1; DELETE FROM groups WHERE id<>1; Criar Account Manager. (Original em forgottenserver.sql) INSERT INTO `players` VALUES (1, 'Account Manager', 1, 1, 1, 0, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 10, 10, 10, 0, 0); Remover Red Skull e frags de todos. UPDATE `players` SET `redskulltime`=0; Dar Todas as Blesses aos players. UPDATE `players` SET `blessings`=31; Remover um item especifico (exemplo id 2160) completamente do jogo (depot, players, houses). DELETE FROM player_depotitems, player_items, tile_items WHERE itemtype = 2160; Deletar players inativos, level baiaxo de 50, 20 days Inativo. Recomendo um backup do seu banco de dados antes desta ação. DELETE FROM players WHERE level < 50 AND lastlogin < UNIX_TIMESTAMP() - 20*24*60*60 Deletou um player do banco de dados? Com este código irá remover todos os items dele que ficaram no database. DELETE FROM player_items WHERE player_id NOT IN (SELECT id FROM players); * Deletar todos os itens de um único player .Onde 1234 é o ID do player. DELETE FROM `player_depotitems` , `player_items` WHERE `player_id` = '1234' Trocar o outfit de todos os players. UPDATE players SET lookbody =69, lookfeet =95, lookhead =115, looktype =128 Remover as casas de players que foram deletados. UPDATE `houses` SET `owner` = '0' WHERE `houses`.`owner` NOT IN ( SELECT `players`.`id` FROM `players` WHERE `players`.`id` = `houses`.`owner` ); Deletar um Storage de todos os players. Ótimo em caso de bugs de Quest. DELETE FROM `player_storage` WHERE `key` = '11551'; E o Global Storage Também. DELETE FROM `global_storage` WHERE `key` = '11551';


    Tópico editado por mim,Raul Neiva.
    Gostou ? Rep + !
  17. Gostei
    Puncker deu reputação a Fox B. em War Of Emperium   
    Nome: War Of Emperium * Completo
    Versão: 8.54~8.60 (por enquanto testado apenas em Tfs 0.4)
    Ultilidade: War entre Guilds (destruir 3 torres para conquistar o castelo e ganhar o prêmio)

    STAFF : por favor criem uma seção chamada (sistemas) para sistemas completos como este por exemplo, entre outros...

    Bem, xega de conversa e vamos ao que intereça...



    Scan Do War Of Emperium!

    Creditos: Mateksoft

    Obrigado renato por lembrar!
    War Of Emperium ~ Completo.zip
  18. Gostei
    Puncker deu reputação a Raul Neiva em Criando backpack com nome do player   
    Backpack System
    Testado: TFS 0.3.6pl1
    Retirado: OTLand
    Tópico: Editado por Raul Neiva.
    Explicação: Em sua backpack,irá possuir o nome do player,no qual,só quem pode abrir/mover a backpack é o dono dela.
    Instalação: Em action.xml adicione:
      <action itemid="4851" event="script" value="own.lua"/> Crie um arquivo lua chamado own, na pasta scripts:
      function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.actionid ~= 3070 then if isInArray({1988, 2365}, itemEx.itemid) then doItemSetAttribute(itemEx.uid, "aid", 3070) doItemSetAttribute(itemEx.uid, "uid", getPlayerGUID(cid) + 1000) doItemSetAttribute(itemEx.uid, "name", getItemInfo(itemEx.itemid).name .. " that belongs to ".. getCreatureName(cid) .. ".") doRemoveItem(item.uid) else doPlayerSendCancel(cid, "Sorry, not possible.") end else doPlayerSendCancel(cid, "Sorry, not possible.") end return true Abra a backpack e coloque:
      <action actionid="3070" event="script" value="backpack.lua"/> Agora vá em backpack.lua e coloque:
      function onUse(cid, item, fromPosition, itemEx, toPosition) if item.actionid == 3070 then if item.uid ~= getPlayerGUID(cid) + 1000 then doPlayerSendCancel(cid, "Sorry, this backpack doesn't belong to you.") return true end end end Como usar o script: Escolha a backpack que você usará o script. Coloque o código:
      if isInArray({1988, 2365}, itemEx.itemid) then *Usem o ID 4851 em sua backpack.
    Façam bom proveito !
    Qualquer dúvida estou a disposição.
    Abraços.
  19. Gostei
    Puncker recebeu reputação de Augusto em [Resolvido] [DUVIDA] Shell Visual Basic   
    Leia este tutorial por favor:
    http://www.jorgepaulino.com/2009/04/vbnet-extraindo-executaveis-dos.html

    Após fazer todos esses passos insira o Shell(LocalParaOndeExtraiu), não sei se isso dará certo mas só será possível saber testando, infelizmente não poderei testar para você.
  20. Gostei
    Puncker recebeu reputação de PostadorHunter em [Tutorial] Manipulando arquivos de configuração .ini   
    {Manipulando arquivos de configuração .ini}


    O que é um arquivo INI ?

    Um arquivo INI é um arquivo texto usado para armazenar/fornecer configurações pessoais para sistemas/usuários ; Um arquivo INI é um arquivo com dados externo ao programa principal e esta formatado em : Secções(FileName) , Entradas e Valores.

    Como por exemplo: Eu quero que o usuário digite algo em um "EditBox" mas que o que ele digite fique guardado e sempre seja usado, então irei gravar o que ele digitou em um arquivo .ini (Chamado de arquivo de inicialização mas também pode ser chamado de configuração) e quando eu quizer usar o que o usuário digitou eu busco dentro do arquivo .ini.




    Funções

    Primeiramente em seu projeto do VB adicione um novo "Module" chamado "INIread.vb" e outro chamado "INIwrite.vb".
    (para criar um novo module, clique com botão direito no primeiro item da lista do Solution Explorer, Add > Module)

    Dentro do INIread.vb apague tudo e cole isso:


    Option Strict Off Option Explicit On Module INIread Public Function ReadIniValue(ByRef INIpath As String, ByRef KEY As String, ByRef Variable As String) As String Dim NF As Short Dim Temp As String Dim LcaseTemp As String Dim ReadyToRead As Boolean AssignVariables: NF = FreeFile ReadIniValue = "" KEY = "[" & LCase(KEY) & "]" Variable = LCase(Variable) EnsureFileExists: FileOpen(NF, INIpath, OpenMode.Binary) FileClose(NF) SetAttr(INIpath, FileAttribute.Archive) LoadFile: FileOpen(NF, INIpath, OpenMode.Input) While Not EOF(NF) Temp = LineInput(NF) LcaseTemp = LCase(Temp) If InStr(LcaseTemp, "[") <> 0 Then ReadyToRead = False If LcaseTemp = KEY Then ReadyToRead = True If InStr(LcaseTemp, "[") = 0 And ReadyToRead = True Then If InStr(LcaseTemp, Variable & "=") = 1 Then ReadIniValue = Mid(Temp, 1 + Len(Variable & "=")) FileClose(NF) : Exit Function End If End If End While FileClose(NF) End Function End Module E dentro do INIwrite.vb cole isso: Option Strict Off Option Explicit On Module INIwrite Public Function WriteIniValue(ByRef INIpath As String, ByRef PutKey As String, ByRef PutVariable As String, ByRef PutValue As String) As Object Dim Temp As String Dim LcaseTemp As String Dim ReadKey As String Dim ReadVariable As String Dim LOKEY As Short Dim HIKEY As Short Dim KEYLEN As Short Dim VAR As Short Dim VARENDOFLINE As Short Dim NF As Short Dim X As Short AssignVariables: NF = FreeFile ReadKey = vbCrLf & "[" & LCase(PutKey) & "]" & Chr(13) KEYLEN = Len(ReadKey) ReadVariable = Chr(10) & LCase(PutVariable) & "=" EnsureFileExists: FileOpen(NF, INIpath, OpenMode.Binary) FileClose(NF) SetAttr(INIpath, FileAttribute.Archive) LoadFile: FileOpen(NF, INIpath, OpenMode.Input) Temp = InputString(NF, LOF(NF)) Temp = vbCrLf & Temp & "[]" FileClose(NF) LcaseTemp = LCase(Temp) LogicMenu: LOKEY = InStr(LcaseTemp, ReadKey) If LOKEY = 0 Then GoTo AddKey HIKEY = InStr(LOKEY + KEYLEN, LcaseTemp, "[") VAR = InStr(LOKEY, LcaseTemp, ReadVariable) If VAR > HIKEY Or VAR < LOKEY Then GoTo AddVariable GoTo RenewVariable AddKey: Temp = Left(Temp, Len(Temp) - 2) Temp = Temp & vbCrLf & vbCrLf & "[" & PutKey & "]" & vbCrLf & PutVariable & "=" & PutValue GoTo TrimFinalString AddVariable: Temp = Left(Temp, Len(Temp) - 2) Temp = Left(Temp, LOKEY + KEYLEN) & PutVariable & "=" & PutValue & vbCrLf & Mid(Temp, LOKEY + KEYLEN + 1) GoTo TrimFinalString RenewVariable: Temp = Left(Temp, Len(Temp) - 2) VARENDOFLINE = InStr(VAR, Temp, Chr(13)) Temp = Left(Temp, VAR) & PutVariable & "=" & PutValue & Mid(Temp, VARENDOFLINE) GoTo TrimFinalString TrimFinalString: Temp = Mid(Temp, 2) Do Until InStr(Temp, vbCrLf & vbCrLf & vbCrLf) = 0 Temp = Replace(Temp, vbCrLf & vbCrLf & vbCrLf, vbCrLf & vbCrLf) Loop Do Until Right(Temp, 1) > Chr(13) Temp = Left(Temp, Len(Temp) - 1) Loop Do Until Left(Temp, 1) > Chr(13) Temp = Mid(Temp, 2) Loop OutputAmendedINIFile: FileOpen(NF, INIpath, OpenMode.Output) PrintLine(NF, Temp) FileClose(NF) End Function End Module Pronto as funções agora estão funcionando em seu projeto. Aparecerá 2 warnings mas ignore. Como usar as funções? Vamos definir uma variável "File" que será o caminho do arquivo .ini. Dim File as String Agora vamos atribuir um valor para a variável file. File = "C:\teste.ini" E agora? Como escrever/gravar ou ler este arquivo? Para escrever/gravar: WriteIniValue(File, "Teste", "Valor1", "Oi") Código inteiro (Coloque em algum botão ou algo do tipo): Dim File as String File = "C:\teste.ini" WriteIniValue(File, "Teste", "Valor1", "Oi") O arquivo .ini após ele executar isso ficara assim: [Teste] Valor1=Oi Agora vamos ler e exibir o que está escrito no arquivo .ini (Coloque em algum botão ou algo do tipo) Dim Str as String Str = ReadIniValue(File, "Teste", "Valor1") MsgBox(Str)

    Com essas funções você pode criar várias idéias, use a sabedoria e crie idéias perfeitas com isto.
  21. Gostei
    Puncker recebeu reputação de Mateuso em [Resolvido] [DUVIDA] Shell Visual Basic   
    Leia este tutorial por favor:
    http://www.jorgepaulino.com/2009/04/vbnet-extraindo-executaveis-dos.html

    Após fazer todos esses passos insira o Shell(LocalParaOndeExtraiu), não sei se isso dará certo mas só será possível saber testando, infelizmente não poderei testar para você.
  22. Gostei
    Puncker recebeu reputação de thalia em Alguem sabe um programa para abrir seu ot server automaticamente?   
    OTL 1.4.0a ( Auto-IP | Auto-Restarter)
    http://www.megaupload.com/?d=8A3M5W0W

    Ta aí o download ;p

    Créditos Notorious (Rafael Canovas)
  23. Gostei
    Puncker deu reputação a gateu em [Talkaction] Telportar Todos Para O Templo!   
    E aew galera!



    Venho aki trazer esse script muito bacana.

    Vou postar do jeito que eu coloquei no meu servidor.

    O script nao fui eu quem fiz, somente traduzi e arrumei a tag.

    Espero que gostem.



    Créditos:

    Sync
    StreamSide
    Shawak


    Tag em Talkactions.XML:




    <talkaction log="yes" words="/teleportall" access="5" event="script" value="teleportall.lua"/> Crie um arquivo teleportall.lua na pasta scripts da talkactions do seu servidor e adicione o script. function onSay(cid, words, param, channel) local temple = { x = 1584, y = 85, z = 7 } for _, cid in ipairs(getPlayersOnline()) do if getPlayerGroupId(cid) < 6 then if(param == '') then doTeleportThing(cid, temple) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Todos os players foram teleportados para o templo.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) else local t = string.explode(param, ",") doTeleportThing(cid, { x = t[1], y = t[2], z = t[3] } ) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Todos os players foram teleportados para as coordenadas: [X:"..t[1].."], [Y:"..t[2].."], [Z:"..t[3].."]") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) end end end return TRUE end Com esta talkaction podemos teleportar todos online para o templo ou para alguma coordenada [x][y][z] /teleportall -> teleporta todos para o seu templo /teleportall 158, 69, 7 -> teleporta todos os chars para a coordenada [x=158][y=69][z=7] Nesta parte do script vc coloca o seu templo: local temple = { x = 1584, y = 85, z = 7 }




    E é isso aew galera

    Se ajudei Rep + clica no verdinho!!!
  24. Gostei
    Puncker deu reputação a AL4sKiM em [Resolvido] Soft Boots - BOH   
    Espera, você editou o ID? 6529
    Se sim, deve ser problema no macro ai voce teria que reportar pro mega corrigir.
  25. Gostei
    Puncker deu reputação a Augusto em Simulador de Teclas + TibiaAPI   
    Bom, após muito estudo, erros, noite a base de coca-cola e salgadinhos... vou disponibilizar um mini projeto de como simular o pressionamento de hotkeys no cliente do tibia, utilizando a linguagem C# (my love ).

    Não esta 100%, nem aquelas coisas, pois estou passando apenas uma base (o que eu aprendi), quem quiser se aprofundar ta ae a dica (www.google.com.br) <- meu grande MENTOR!.

    Sem mais delongas...

    Até+
    Hotkeys.rar

Informação Importante

Confirmação de Termo