Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 09/04/15 em todas áreas

  1. Salvar tudo que os Players Falam

    Napolitano reagiu a MatheusEnjoy por uma resposta no tópico

    1 ponto
    Estou tentando trazer o máximo de conteúdo de outros forum para o pt-BR, hoje trago um tutorial de como salvar tudo que os players falam para procurar bugs depois ou ate banir membros que fazem propaganda. Bom, vamos ao tutorial: Na Pasta que contem suas sources antes de fazer a compilação altere o game.cpp, procure por: #include "group.h" Abaixo, coloque: #include "textlogger.h"Procure por: Game::playerSayDentro da função, encontre: switch(type) { case SPEAK_SAY: return internalCreatureSay(player, SPEAK_SAY, text, false); case SPEAK_WHISPER: return playerWhisper(player, text); case SPEAK_YELL: return playerYell(player, text); (...) Adicione acima de switch(type) Logger::getInstance()->eFile("players/" + player->getName() + ".log", text, true); Assim tudo que os players falar/digitar in-game sera salvo no log do servidor. CRÉDITOS: GM BLumaster - OTSerV
  2. 1 ponto
    Consegui liberar mais de 15 mil sprites usando essa ferramenta no Object Builder. 1. Baixe o Object Builder na seção: GitHub Latest commits compiled Latest commits Lembrando que necessário o Adobe Air para rodar qualquer versão do Object Builder. 2. Siga: 2.1: Abra suas sprites por ele; OBS: Faça um backup de suas sprites antes, este programa ainda está em beta, mas comigo foi certinho. 2.2: Tools> Sprites Optimizer: 2.3: Deixe desse jeito para melhor resultado, e clique em Start: 2.4: Veja o resultado: 3. Créditos: Eu - pelo tutorial; Nailson - Por ser o criador do object builder, e contribuições de: https://github.com/Mignari/ObjectBuilder/graphs/contributors.
  3. Pequena ponte/Cave

    otteN reagiu a Spraypaint por uma resposta no tópico

    1 ponto
    DESCRIÇÃO E um pequeno nature com uma caverna no subsolo. Bom proveito! Scan https://www.virustotal.com/pt/file/56f507993b32cc1eb844da70ba6bf5b3db457b62719ced4307102c46c7cf972f/analysis/1441321878/ Download http://www.4shared.com/file/TdEsWLMfba/Passagem_ponte.html
  4. 1 ponto
    Olá a todos , vim atravez deste topico postar a minha possivel ultima contribuição , enfim sobre o conteudo , Pokemon Ex foi feita em cima do Pokemon Dash , entao sim ela é meio antiga , porem contem coisas que ninguem ainda tinha liberado , uma dessas coisas é o Nick system , claro ainda falta alguns ajustes mas é na parte lua , o codigo já está na source e compilado no exe do servidor OBS: Nao modifiquei quase nada nele , como peguei estou postando , sim contem bugs , mas para isso vou deixar as informações logo abaixo , Nao se esqueça de deixar aquele Like que ja ajuda muito ... nao seja um sangue suga ... INFORMAÇÔES BASICAS: - Base Pokemon Dash - Nick System 90% - Ditto System - Novas Pokeballs umas 4 - Novo mapa com a regiao de Johto adicionado (MAPA COM 70 MB UNICO) - Novos Npcs - Falta colocar remakes - Contem um site basico que peguei do xitiba na pasta do servidor - Client está dentro da pasta do servidor - os Criadores deixaram algumas lista ao que tem que se fazer ao servidor - Alguns tutoriais para quem ainda é iniciante dentro da pasta do servidor - BUG CHATO - é que os criadores tentaram criar um sistema de task mas enfim bugaram a xp , eu nao arrumei deixei como está , mas isso se encontra em creaturescripts - Vip system que da +XP ao personagem - Gym system ainda beta nada terminado - ENTRE VARIAS OUTRAS COISAS , Baixe já o servidor e deixe o seu feedback .... OBS: NAO DAREI SUPORTE A ESTE SERVIDOR. IMAGENS: Estou sem tempo para tirar prints , então favor quem baixar postar algumas prints DOWNLOAD (Client + Source + Site está tudo junto): lembrando que nao precisa do site para abrir o servidor https://www.mediafire.com/?kqn3c5tbfyhwnbu SCAN (Como o arquivo é grande tirei print do meu avast buscando por virus no arquivo): executável e dll's site pokemon servidor pasta PokemonEX 020611 - imagens e sprites CREDITOS: Todos que participaram desse servidor (nao sei o nome de ninguem) EU - Por ter compartilhado o conteudo OBS: Se for postar em outro forum favor poste junto com os créditos.. Entao é isso falei tudo que eu tinha que falar , volto a repitir , é antigo e contem bugs , mas é uma otima base , faça bom proveito ...
  5. PROBLEMA CREATEACCOUNT

    elli reagiu a Marcio Santos por uma resposta no tópico

    1 ponto
    Olá manin vou te ajuda com isso createaccount Espero ter ajudado manin
  6. 1 ponto
    Vamos lá manin vou te passa o meu Shop Guild Admin Shop Guild Dps vai na pasta do seu otserver em globalevents adicionar isso lá globalevents.xml Shop Guild Espero ter ajudado manin !!
  7. [Pokemon Open-Source] Pokemon Ex 3.0

    Kralifezik1 reagiu a skyziinxxd por uma resposta no tópico

    1 ponto
    Sim, ainda existe espaço no client... Da para colocar umas 2000 sprites...
  8. (pelo amor de deus me ajudem) bug, bug

    wevertonvrb reagiu a Fir3element por uma resposta no tópico

    1 ponto
    tem a opção de force na função: doCreateMonster(name, pos[, extend = false[, force = false[, displayError = true]]]) dai fica assim: doCreateMonster("Monstro", {x = ?, y = ?, z = ?}, false, true)
  9. (pelo amor de deus me ajudem) bug, bug

    wevertonvrb reagiu a Wiisht por uma resposta no tópico

    1 ponto
    Isso ai parece que alguma arvore está perto de alguma agua ou perto de outra arvore, sendo assim nao cria o monstro na posição da agua ou na posição que esta a outra arvore, so cria em tiles livres, ou separe as arvores de headbutts de perto da agua e outros objetos proximos a ela, ou então usa a função getFreeTile lá pra criar monstro somente em tiles livres.
  10. [Gesior2012] Top Servidor

    matheus36000 reagiu a Pedro. por uma resposta no tópico

    1 ponto
    Olá, venho trazer pra vocês o código que o @luanluciano93 desenvolveu, apenas adicionei as imagens, e adicionei algumas coisas e ensinarei a instalar. vá até sua pasta do htdocs ou www, procure layouts/layouts.php, após isso dê um ctrl + f e procure por </html> depois disso adicione; <?php include($layout_name.'/widget_rank.php'); ?> ficará assim. </div> <?php include($layout_name.'/widget_rank.php'); ?> </div> </div> </div> </div> </div> </body> </html> depois vá em layouts\tibiacom e crie um php e adicione widget_rank.php baixe as imagens e coloque na pasta htdocs\images caso você queira mudar as imagens, é só substituir pelas imagens originais. Download [+] toplevel.rar Scan [+] Virustotal créditos; @luanluciano93 @Jobs
  11. 1 ponto
    Olá você pode criar um old client usando meu tutorial de como criar client proprio Como criar old client proprio
  12. 1 ponto
    Seu conteúdo foi aprovado. O tópico foi movido para seção correta e você ganhou 1 REP, pela contribuição.
  13. [PEDIDO]Script Mega Evolução

    RicardoGamer404 reagiu a Aberos por uma resposta no tópico

    1 ponto
    fiz um sistema assim pra um amigo
  14. Ultimate Sprite Editor

    Fae1z reagiu a Yamaken por uma resposta no tópico

    1 ponto
    Olá, hoje venho apresentar o Ultimate Sprite Editor. Não é atoa que ele se chama Ultimate, ele é o melhor sprite Editor que já existiu na comunidade. Imagens: Ele auto detecta a versão da spr baseada na signature do arquivo, e isso pode ser configurado em um arquivo .ini. Caso o auto detect não funcionar, você pode escolher a versão do spr manualmente. As funções do Ultimate Spr Editor são: New: Cria um novo spr do zero sem nenhuma sprite. Open: Abre um arquivo spr com determina versão. Save: Salva um arquivo spr em determinada versão. Add: Adiciona um numero x de sprites no formato png( fundo transparente ) ou no formato bmp( fundo rosa ). Replace: substitui as sprites selecionadas, quer dizer, os IDs continuam os mesmos só muda a imagem dessas sprites. Export: exporta as sprites selecionadas no formato png. Clone: "Clona" as sprites selecionadas, quer dizer, cria sprites iguais no final do arquivo spr. Clear: "Limpa" as sprites selecionadas, isso quer dizer que o ID não vai ser deletado mas que o conteúdo da sprite( a imagem ) vai ser deletado. Download: MediaFire Scan Yamaken~
  15. 1 ponto
    Tente trocar por este: function onSay(cid, words, param, channel) local guild = getPlayerGuildId(cid) if(not guild or getPlayerGuildLevel(cid) < GUILDLEVEL_LEADER) then doPlayerSendChannelMessage(cid, "", "You cannot execute this talkaction.", TALKTYPE_CHANNEL_W, 0) return true end local t = string.explode(param, ",") if(not t[2]) then doPlayerSendChannelMessage(cid, "", "Not enough param(s).", TALKTYPE_CHANNEL_W, 0) return true end local enemy = getGuildId(t[2]) if(not enemy) then doPlayerSendChannelMessage(cid, "", "Guild \"" .. t[2] .. "\" does not exists.", TALKTYPE_CHANNEL_W, 0) return true end if(enemy == guild) then doPlayerSendChannelMessage(cid, "", "You cannot perform war action on your own guild.", TALKTYPE_CHANNEL_W, 0) return true end local enemyName, tmp = "", db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. enemy) if(tmp:getID() ~= -1) then enemyName = tmp:getDataString("name") tmp:free() end if(isInArray({"accept", "reject", "cancel"}, t[1])) then local query = "`guild_id` = " .. enemy .. " AND `enemy_id` = " .. guild if(t[1] == "cancel") then query = "`guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy end tmp = db.getResult("SELECT `id`, `begin`, `end`, `payment` FROM `guild_wars` WHERE " .. query .. " AND `status` = 0") if(tmp:getID() == -1) then doPlayerSendChannelMessage(cid, "", "Currently there's no pending invitation for a war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end if(t[1] == "accept") then local _tmp = db.getResult("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = _tmp:getID() < 0 or _tmp:getDataInt("balance") < tmp:getDataInt("payment") _tmp:free() if(state) then doPlayerSendChannelMessage(cid, "", "Your guild balance is too low to accept this invitation.", TALKTYPE_CHANNEL_W, 0) return true end db.query("UPDATE `guilds` SET `balance` = `balance` - " .. tmp:getDataInt("payment") .. " WHERE `id` = " .. guild) end query = "UPDATE `guild_wars` SET " local msg = "accepted " .. enemyName .. " invitation to war." if(t[1] == "reject") then query = query .. "`end` = " .. os.time() .. ", `status` = 2" msg = "rejected " .. enemyName .. " invitation to war." elseif(t[1] == "cancel") then query = query .. "`end` = " .. os.time() .. ", `status` = 3" msg = "canceled invitation to a war with " .. enemyName .. "." else query = query .. "`begin` = " .. os.time() .. ", `end` = " .. (tmp:getDataInt("end") > 0 and (os.time() + ((tmp:getDataInt("begin") - tmp:getDataInt("end")) / 86400)) or 0) .. ", `status` = 1" end query = query .. " WHERE `id` = " .. tmp:getDataInt("id") if(t[1] == "accept") then doGuildAddEnemy(guild, enemy, tmp:getDataInt("id"), WAR_GUILD) doGuildAddEnemy(enemy, guild, tmp:getDataInt("id"), WAR_ENEMY) end tmp:free() db.query(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has " .. msg, MESSAGE_EVENT_ADVANCE) return true end if(t[1] == "invite") then local str = "" tmp = db.getResult("SELECT `guild_id`, `status` FROM `guild_wars` WHERE `guild_id` IN (" .. guild .. "," .. enemy .. ") AND `enemy_id` IN (" .. enemy .. "," .. guild .. ") AND `status` IN (0, 1)") if(tmp:getID() ~= -1) then if(tmp:getDataInt("status") == 0) then if(tmp:getDataInt("guild_id") == guild) then str = "You have already invited " .. enemyName .. " to war." else str = enemyName .. " have already invited you to war." end else str = "You are already on a war with " .. enemyName .. "." end tmp:free() end if(str ~= "") then doPlayerSendChannelMessage(cid, "", str, TALKTYPE_CHANNEL_W, 0) return true end local frags = tonumber(t[3]) if(frags ~= nil) then frags = math.max(10, math.min(1000, frags)) else frags = 100 end local payment = tonumber(t[4]) if(payment ~= nil) then payment = math.max(100000, math.min(1000000000, payment)) tmp = db.getResult("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = tmp:getID() < 0 or tmp:getDataInt("balance") < payment tmp:free() if(state) then doPlayerSendChannelMessage(cid, "", "Your guild balance is too low for such payment.", TALKTYPE_CHANNEL_W, 0) return true end db.query("UPDATE `guilds` SET `balance` = `balance` - " .. payment .. " WHERE `id` = " .. guild) else payment = 0 end local begining, ending = os.time(), tonumber(t[5]) if(ending ~= nil and ending ~= 0) then ending = begining + (ending * 86400) else ending = 0 end db.query("INSERT INTO `guild_wars` (`guild_id`, `enemy_id`, `begin`, `end`, `frags`, `payment`) VALUES (" .. guild .. ", " .. enemy .. ", " .. begining .. ", " .. ending .. ", " .. frags .. ", " .. payment .. ");") doBroadcastMessage(getPlayerGuildName(cid) .. " has invited " .. enemyName .. " to war till " .. frags .. " frags.", MESSAGE_EVENT_ADVANCE) return true end if(not isInArray({"end", "finish"}, t[1])) then return false end local status = (t[1] == "end" and 1 or 4) tmp = db.getResult("SELECT `id` FROM `guild_wars` WHERE `guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy .. " AND `status` = " .. status) if(tmp:getID() ~= -1) then local query = "UPDATE `guild_wars` SET `end` = " .. os.time() .. ", `status` = 5 WHERE `id` = " .. tmp:getDataInt("id") tmp:free() doGuildRemoveEnemy(guild, enemy) doGuildRemoveEnemy(enemy, guild) db.query(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has " .. (status == 4 and "mend fences" or "ended up a war") .. " with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return true end if(status == 4) then doPlayerSendChannelMessage(cid, "", "Currently there's no pending war truce from " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end tmp = db.getResult("SELECT `id`, `end` FROM `guild_wars` WHERE `guild_id` = " .. enemy .. " AND `enemy_id` = " .. guild .. " AND `status` = 1") if(tmp:getID() ~= -1) then if(tmp:getDataInt("end") > 0) then tmp:free() doPlayerSendChannelMessage(cid, "", "You cannot request ending for war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end local query = "UPDATE `guild_wars` SET `status` = 4, `end` = " .. os.time() .. " WHERE `id` = " .. tmp:getDataInt("id") tmp:free() db.query(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has signed an armstice declaration on a war with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return true end doPlayerSendChannelMessage(cid, "", "Currently there's no active war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end
  16. [AJUDA] Player morre mas nao dropa nada

    Biinhow reagiu a Frenesy por uma resposta no tópico

    1 ponto
    Eu tenho isso aqui. Sempre que o Player logah, ele recebe todas as benções. Assim, ele não perde items ao morrer. function onLogin(cid) local Name = "Account Manager" local bless = {1, 2, 3, 4, 5} local cost = 0 function onSay(cid, words, param) for i = 1, table.maxn(bless) do return TRUE end end for i = 1, table.maxn(bless) do doPlayerAddBlessing(cid, bless[i]) end doSendAnimatedText(getPlayerPosition(cid), 'Login!', 140) doSendMagicEffect(getPlayerPosition(cid), 49) return TRUE end CreatureScript.xml <event type="login" name="Bless" event="script" value="NomeDoArquivo.lua"/> Não esqueça de registrar no Login.lua
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo