Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Battle Arena System

    GOD Vitor e 2 outros reagiu a Lyu por uma resposta no tópico

    3 pontos
    Battle Arena System 8.60 com NPC Testado em OTX Server & TFS 0.4 @Atualizado : É super importante o uso de uma distro que possua a função "doPlayerOpenChannel". surgirá o seguinte erro caso a função não seja encontrada : [string "loadBuffer"]:8: attempt to call global 'doPlayerOpenChannel' (a nil value) se a sua não tem, basta você compilar suas sources ou usar qualquer outra que possua. Battle Arena é um sistema onde permite o ganho de notificações dentro de um canal chamado 'Battle Arena Channel' e experiências dentro de uma arena fechada, que pode ser acessada ao falar com um NPC chamado 'Battle Arena Manager'. As notificações são baseadas em jogos FPS como por exemplo Counter Strike 1.6, Gunz - The Duel e outros, que ao matar alguém, aparece uma mensagem escrito algo como: Você derrotou Neguin_Owna. ao morrer : Neguin_Owna derrotou você. para outras pessoas : Neguin_Owna derrotou Ladyazaleia. As experiências são calculadas automaticamente após derrotar alguém, segue abaixo uma pequena explicação : Neguin_Owna é level 100; a rateExperience do meu config.lua é 350; se eu matar o Neguin_Owna, o sistema irá multiplicar 350 vezes(*) 100 e eu ganharei 35000 de experiência. Você ganhou 35000 ponto(s) de experiência. Para ter acesso à arena, será necessário falar com o NPC 'Battle Arena Manager. Nada complicado, qualquer um conseguirá trocar uns papos com ele. Keywords : hi; participar; ok; cancelar; bye. Mas e o mapa? então pessoal, infelizmente eu não tive criatividade pra criar uma arena apropriada pra encaixar no sistema, então vocês terão que utilizar as suas arenas pvp's ou criar outra pro sistema, minhas dicas são : Agora vamos instalar o sistema.. 1 - Na pasta data/Lib, crie um arquivo battle-config.lua e dentro adicione isso : 2 - Na pasta data/XML, abra o arquivo channels.xml e adicione isso antes do </channels> : 3 - Na pasta data/Npc, crie um arquivo Battle Arena Manager.xml e dentro adicione isso: 4 - E por último e mais importante, na pasta Mods, crie um arquivo battle-mod.xml e adicione isso: As configurações são modificadas apenas no arquivo battle-config.lua, vou explicar : FPS_EVENTNAME : Nome do evento; FPS_FINISHTIME : Dentro do evento, jogadores não poderão atacar uns aos outros enquanto esse tempo não esgotar após o comando /fps close ser executado. Configure algum numero a cima de 2 para uma melhor segurança; FPS_LIMITEPLAYERS : Limite de jogadores; FPS_SHOWGODNAMEAFTERBAN : true = Mostra o nome do GM na mensagem do banido; false = Mostra o nome 'Admininstrador'; FPS_ENABLEEXPERIENCE : true = Habilita a experiência; false = Desabilita; FPS_BLOCKIP : true = Jogadores que tentarem usar MC pra ganhar exp fácil, não conseguirão atacar seus próprios chars; false = permite isso; FPS_CHANNEL : ID do Battle Arena Channel. não mude essa ID, apenas se a mesma estiver em uso; FPS_SPAWNPLAYER : Posições que servirão de respawn para os jogadores que morrerem. Se você quiser remover as posições aleatórias e deixar só uma, edite o FPS_SPAWNPLAYER deixando apenas uma posição, assim : FPS_SPAWNPLAYER = { {x = 261, y = 619, z = 7} } mas eu prefiro com posições aleatórias, fica bem mais legal. Fiz alguns comandos : Player(s) : /fps status - Mostra informações sobre a arena, quantos jogadores estão lá, o limite, e outros. Gamemaster(s) : /fps status /fps open - Abre a arena; /fps close - Fecha a arena; /fps ban, nomedojogador - Bloquear um jogador; /fps unban, nomedojogador - Desbloquear um jogador; Para um jogador sair da arena, ele precisa ir até um lugar com protection Zone(Setores) e pressionar CTRL + Q, não vai deslogar! ele vai se retirar da arena indo diretamente pro templo; Créditos : Halls Santos (eu).
  2. 3 pontos
    Salve Galera, primeiramente eu tentei postar o script na área certa porem o Button de "Criar Novo Tópico" está desativado, então vou postar aqui mesmo e depois um moderador move. Se colocarem aquele aviso tosco de "Presta atenção da proxima vez" não posto mais nada relacionado a Source. Vamos ao que interessa, olhando pela interneti achei um codigo muito interessante. "onLoginCharacter" porém no topico o código estava incompleto e eu tive que termina-lo. Não sei se posso Postar mais como eu modifiquei tenho diretos e como o proprio nome diz Open Source, não é justo eu guarda esse maravilhoso script só pra mim. Estou estudando C++ e adoro fazer modificações direto da Source e sem mais .... Vamos a protocolgame.cpp e localize isto: player->setID(); if(!IOLoginData::getInstance()->loadPlayer(player, name, true)) { disconnectClient(0x14, "Your character could not be loaded."); return false; } Embaixo coloque: std::string text = g_creatureEvents->loginCharacter(player); std::string str ("NO_ERROR"); std::size_t found = text.find(str); if (found==std::string::npos) { disconnectClient(0x14, text.c_str()); return false; } Depois vá creatureevents.cpp e procure: void CreatureEvent::copyEvent(CreatureEvent* creatureEvent) Abaixo dessa Function Adicione : std::string CreatureEvents::loginCharacter(Player* player) { bool result = true; lua_State* L = m_interface.getState(); std::string text; std::cout << text << std::endl; for(CreatureEventList::iterator it = m_creatureEvents.begin(); it != m_creatureEvents.end(); ++it) { if((*it)->getEventType() == CREATURE_EVENT_LOGINCHARACTER && !(*it)->executeLoginCharacter(player)) result = false; } text = m_interface.getGlobalString(L, "ERROR_TEXT"); if (result) { text = "NO_ERROR"; } return text; } Depois procure: uint32_t CreatureEvent::executeKill Abaixo dessa Function Adicione : uint32_t CreatureEvent::executeLoginCharacter(Player* player) { //onLoginCharacter(cid) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(player) << std::endl; scriptstream << "ERROR_TEXT = " << "LOGIN BLOCKED" << std::endl; scriptstream << m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ char desc[35]; sprintf(desc, "%s", player->getName().c_str()); env->setEventDesc(desc); #endif env->setScriptId(m_scriptId, m_interface); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(player)); lua_pushstring(L, "LOGIN BLOCKED"); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; } } else { std::cout << "[Error - CreatureEvent::executeTextEdit] Call stack overflow." << std::endl; return 0; } } Procure: else if(type == "kill") _type = CREATURE_EVENT_KILL; Adicione Abaixo: else if(type == "logincharacter") _type = CREATURE_EVENT_LOGINCHARACTER; Procure: case CREATURE_EVENT_KILL: return "onKill"; Adicione Abaixo: case CREATURE_EVENT_LOGINCHARACTER: return "onLoginCharacter"; Procure: case CREATURE_EVENT_KILL: return "cid, target, damage, flags, war"; Adicione Abaixo: case CREATURE_EVENT_LOGINCHARACTER: return "cid"; Vá em creatureevents.h e procure: CREATURE_EVENT_LOGIN, Adicione Abaixo: CREATURE_EVENT_LOGINCHARACTER, Procure: bool playerLogin(Player* player); Embaixo coloque: std::string loginCharacter(Player* player); Procure: uint32_t executeCombat( Embaixo coloque: uint32_t executeLoginCharacter(Player* player); Prontinho o Sistema ta Instalado. Um Exemplo de como usar é um Anti-MC ERROR_TEXT = "MULTI MC DETECTED" function onLoginCharacter(cid, ERROR_TEXT) local tid = getPlayersOnline(cid) for i=1, #tid do if getPlayerIp(cid) == getPlayerIp(tid[i]) then return false end end return true end XML : <event type="logincharacter" name="LoginCharacter" event="script" value="LoginCharacter.lua"/> Login.lua registerCreatureEvent(cid, "LoginCharacter") Prontinho bom profeito e Boa Noite <3 Creditos ? Caotic / Emerson Henrique
  3. DDoS é Crime? Sim!

    Cain Jorge e um outro reagiu a otservme por uma resposta no tópico

    2 pontos
    Opa pessoal, Lá na Serversoft recebemos muitos clientes todos os dias perguntando se eles podem enviar DDoS usando uma de nossas máquinas. É claro que a resposta é não e o pessoal do marketing me pediu pra abrir uma discussão na comunidade pra ver o que vocês pensam sobre o assunto legal "DDoS" ou "DoS", vamos analisar? Com base nesse artigo, sim é crime e dá até 3 anos de cadeia! Aqui na Serversoft, todos os servidores possuem sensores que detectam o envio ou recebimento de DDoS em menos de 1 minuto, se você for pego enviando sua máquina será suspensa e se o problema persistir seu serviço poderá ser cancelado. Como posso denunciar um ataque? 1- Solicite a empresa que te hospeda, sugestões pra identificar o ataque. (TCPDUMP LINUX) 2- Monitore a sua máquina e mostre gráficos de downtime pra provar seu prejuízo 3- Tire fotos de ameaças seja em facebook ou e-mail que o atacante faça a você, registre-os em cartório pagando 10 reais 4- Vá até uma delegacia de crimes de internet em posse dê: --- Ameaças registradas --- Ips coletados (desde que a empresa declare como válidos) --- Gráficos de banda Abra um B.O formal e deixe a investigação da polícia rolar, você precisará de duas testemunhas também pra ganhar o caso em juízo! A pessoa que fizer isso responderá um processo criminal, com fortes chances de ir pra cadeia! Fonte Pesquisei e identifiquei uma fonte legal, no Ministério Público, clique aqui.
  4. Ebaiak - Retro Server

    Pedro. e um outro reagiu a Chriistian por uma resposta no tópico

    2 pontos
    Olá galera do Tibia King, hoje venho apresentar meu projeto, venho trabalhando nele a pouco tempo então ainda falta algumas coisinhas para se fazer, mais podem ter certeza que sairá do papel e ficara online para todos jogarem ! Bom todo mundo que joga Otserver sempre jogou o mapa Yurots Baiak, então decidi fazer um remake no mapa do mesmo, deixando o mais bonito e jogável para todos com grandes sistemas, quests etc... Veja algumas imagens e sistemas abaixo: Contamos com sistemas como: - War System (100%) - Task System (99%) - BattleField Event (100%) - War of Emperium. (100%) - Cast System (100%) - Quests (80%) - Castle 24Hrs (100%) Deixe sua sugestao para nosso servidor, o que você gostaria de ver nele, o que acha que deveria mudar e os pontos mais importantes de um Mapa Baiak Yurots que você acha e gostaria de ver em nosso servidor ! Att, Equipe Etibia.
  5. calma calma calma haha vamos primeiro entender quando colocar em itens.xml, qnd colocar em weapons, em movements e por script: Acredito que vc tenha criado seu item donate pelo items.xml, daí vc coloca assim no movements.xml: Agora vamos entender oque isso significa: type="Equip": é o tipo de script que estamos criando, um script do tipo "Equip" (que ativa ao equipar) itemid="7890": é o id do item que vai ativar o script slot="necklace": é o slot que o item deverá ser colocado pra ativar o script event="function" : isso daqui tá indicando que ao ser equipado ele irá ativar a função do item anteriormente definida pelo items.xml e não um script da pasta movements. value="onEquipItem": é o tipo de função que ele irá ativar, onEquipItem é o callback de movements de equipar os itens. <vocation id="1"/> <vocation id="5" showInDescription="0"/> <vocation id="2"/> <vocation id="6" showInDescription="0"/> aqui são as vocações que podem usar e esse showInDescription="0" indica que essa vocação não será mostrada o nome na descrição do item. Pra não ficar repetitivo: "Esse item pode ser usado por sorceres, master sorceres, druids e elder druids", vai ficar só "Esse item pode ser usado por sorceres e druids", <movevent type="DeEquip" itemid="7890" slot="necklace" event="function" value="onDeEquipItem"/> aqui é a mesma coisa que eu já expliquei acima só que agora pra desequipar, isso serve pro cara perder os bonus ao desequipar o item Se você fizer desse modo, vc não vai precisar colocar nada em items.xml mas vc tem que garantir que só existe uma tag Equip e uma DeEquip pro mesmo itemid, se não vai dar conflito. Dessa forma o cara ainda vai poder colocar o item na mão e no slot da arrow mas ele não vai receber os bonus, pra impedir que ele coloque no slot é pelo items.xml mesmo. As weapons vc coloca dano e tudo mais no weapons.xml mas se vc tiver uma arma que dá skill vc tem que declarar no movements.xml.
  6. Sistema de Reset 100%

    bagulhoescroto reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Fala galera do TK, hoje vim pra trazer pra vocês um npc criado por mim e pelo Nogard numa madrugada aí para solucionar a dúvida de um cara no suporte. Eu dei uma melhorada no script original, tirei umas coisas repetidas e adicionei novas funções; Você agora pode configurar se quer que o preço aumente a cada reset, se quer que o level pra resetar aumente e se vc quer que a vida resete junto (e quanto % da vida atual será a vida após resetar). Testado em TFS 0.3.6, Versão 8.45 Sem mais delongas, vamos ao script. Antes de tudo crie um arquivo chamado reseter.lua na pasta data\npc\scripts\ e coloque isso daqui dentro dele: Você pode editar tudo mexendo aqui: local config = { minlevel = 150, --- level inical para resetar price = 10000, --- preço inicial para resetar newlevel = 20, --- level após reset priceByReset = 0, --- preço acrescentado por reset percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) levelbyreset = 0 --- quanto de level vai precisar a mais no próximo reset } Feito isso, crie agora o npc que irá utilizar esse script.. em data\npc crie um arquivo.xml chamado Reseter.xml e coloque isso dentro dele: Agora é só colocar o seu npc no mapa pelo mapa editor e curtir OBS 1: Se seu server for 8.6 ou maior troque no script.lua as funções db.executeQuery por db.query OBS 2: Esse script dava pra ser diminuido ainda mais mas por hora deixa ele assim, se vc tiver alguma proposta melhor por favor poste nos comentários que eu testo a sua versão e edito o tópico se for o caso. OBS 3: Não remova os créditos, isso é a coisa mais baixa e suja que alguém pode fazer.. eu scripto pra ajudar a comunidade do Tibia a evoluir e libero 99% doque eu faço, se vocês não removerem os créditos e não postarem em outros fórums sem minha permissão isso pode continuar assim. --- EDIT: Coloquei algumas imagens pra vcs verem como fica no server EDIT: Arrumei o problema de o npc não dar bye automáticamente qnd o player se afasta, bugando em algumas versões e impedindo de conversar com outros npcs. Apenas substituam o arquivo em scripts pela versão atualizada, grato. EDIT2: Novos erros arrumados, agora o NPC dá bye automaticamente e não buga qnd te reseta. EDIT3: Resolvido bug de dar hi, reset, yes várias vezes e derrubar o servidor (troque tanto o xml qnt o script do npc) O script também foi identado.
  7. 1 ponto
    Olá caros amigos do forum estou aqui postando o pack completo do pokemon kpdo que atualmente se econtra online a 3 anos, eu sou o administrador do atual servidor pokemon kpdo, irei primeiramente falar o motivo de eu estar postando. Um dos meus EX-staffs roubou os arquivos que eu passei e resolveu vender a terceiros o que eu achei muito anti-ético então resolvi postar open source, pois o que o mesmo fez comigo foi muito errado então não restou a nao deixar gratuito para que o mesmo não lucre nas minha costa. Download: Client+Servidor: Mega Scan: O scan pega o client como um falso positivo por ter injeção de dll injection da barra do meu cliente porém vale lembrar que não tem virus, assim como o pack é um falso positivo. Link do Scan: VirusTotal Os sistemas que o jogo tem são: Sistema de som Cool down e poke bar. Duel System Tv Cam System Sistema de torneio Sistema de Duelos com aposta Pokemons da 1 até a 5 geração e seus devidos shinys. Sistema de shinys Muitas quests TM system etc. Creditos: Renan(Admin) Equipe staff kpdo atual e EX staffs; www.exaioros.com
  8. [8.54] Pokémon Paraíso V1

    opacalaj reagiu a GOD Vitor por uma resposta no tópico

    1 ponto
    Edições Pokémons Megas Adicionados:Mega Gengar,Mega Charizard X,Mega Charizard Y,Mega Alakazam,Mega Lucario,Mega Blaziken,Mega Tyranitar e Mega Blastoise Obs:se faltou algum desculpe-me Pokémons Ultras adicionados:Ultra Alakazam,Ultra Gengar,Ultra Lucario e Ultra Blastoise Obs: se faltou algum desculpe-me Pokémons Shinys Adicionados:Shiny Roserade e Shiny Aggron. Obs: se faltou algum desculpe-me Pokémons Normais adicionados: Abomasnow Obs: se faltou algum desculpe-me Outfits adicionadas:Outfit do beaver(ot pokémon),Bike male e female igual do ot pokémon,Jogador e Jogadora(igual do otpokémon). •NPCs adicionados: Key Seller (vendedor de chaves que abrem a porta de algumas quests...), Cpt. Ezra e Cpt. Cloud (Teleportam o player para o continente hoen ou kanto), Npc Biker (Npc de duel que te da uma bike se vc vence-lo), Npc Champion Lance (Npc de Duel que se vencê-lo você ganha um darkrai). •Master Ball Adicionada com Catch 100% •Adicionado Comando "!save" que salva o player. •Adicionado Comando "!buyvip" que deixa o jogador vip por 30 Diamonds. •Adicionado Shiny Stone e Boost Stone •Adicionado Tournament PvP Event (ocorre as 15:00, so falar com o npc torneio) •Adicionado Novos Ataques •Retirada Loteria Créditos: •Slicer •tibiaking - Tibiaking por alguns scripts. •Wolf Admin •eu,por adicionar alguns pokémons e editar o mapa. Erros do servidor: Master ball:quando usa a master ball em alguns pokémons shinys,da crash no servidor e não captura o pokémon. Mewtwo: quando o mewtwo usa um ataque(não sei qual ataque é),da debug. CB:Alguns pokémons quando vai fazer eles no /cb,da debug. /m: quando usar o /m,alguns pokémon da debug exemplo:/m mewtwo. Prints: Downloads: Servidor:http://www.mediafire.com/download/hmj4zbs5jzbj2qd/Servidor+Pok%C3%A9mon+Paraiso--By+Dungeon+Man+13.rar Old cliente:http://www.4shared.com/zip/_rP87GScce/Cliente_PKP.html Me desculpem,não deu tempo postar o scan,se alguem poder fazer e postar aqui,ficarei muito agradecido! Em breve nova versão! Me desculpem,pela desorganização ainda estou aprendendo a lhe dar com tópico. Se gostou da rep+ ae,não custa nada : Conta do adm:yureot/995246822xz
  9. TopLevel Effect

    JEAN JR reagiu a Bruno Minervino por uma resposta no tópico

    1 ponto
    Fala galera, Um membro fez um pedido, e achei que deveria compartilhar com vocês, algo simples porém útil. Principalmente em OT's do estilo Baiak. O que o script faz ? Ele simplesmente manda um efeito para o Top Level caso ele estiver online. Instalação: Em data/creaturescripts/creaturescripts.xml adicione: <event type="login" name="TopEffect" event="script" value="topeffect.lua"/> <event type="advance" name="CheckTop" event="script" value="topeffect.lua"/> Agora crie um arquivo em data/creaturescripts/scripts com o nome topeffect.lua e adicione: --[[ Script by Bruno Minervino para o Tibia King Caso for postar, colocar os créditos ]] local config = { tempo = 10, --tempo em segundos mensagem = { texto = "[TOP]", --não use mais de 9 caracteres efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText }, efeito = 30, --efeito da função doSendMagicEffect globalstr = 5687 -- uma global storage qualquer q esteje vazia } --[[ Não mexa em nada abaixo ]] local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0 function onLogin(cid) local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local pid = query:getDataString("id") local name = query:getDataString("name") if getPlayerName(cid) == name then if topPlayer ~= getPlayerID(cid) then topPlayer = getPlayerID(cid) end setGlobalStorageValue(config.globalstr, pid) TopEffect(cid) end end registerCreatureEvent(cid, "CheckTop") return true end function onAdvance(cid, skill, oldlevel, newlevel) if skill == 8 then local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local level = tonumber(query:getDataString("level")) if level < newlevel and topPlayer ~= getPlayerID(cid) then doBroadcastMessage("O jogador " .. getPlayerName(cid) .. " tornou-se o novo Top Level. Parabens!", 22) topPlayer = getPlayerID(cid) doSaveServer() setGlobalStorageValue(config.globalstr, getPlayerID(cid)) TopEffect(cid) end end end return true end function TopEffect(cid) if not isPlayer(cid) then return true end if topPlayer == getPlayerID(cid) then doSendAnimatedText(getCreaturePosition(cid), config.mensagem.texto, config.mensagem.efeito) doSendMagicEffect(getCreaturePosition(cid), config.efeito) addEvent(TopEffect, config.tempo * 1000, cid) end end function getPlayerNameById(id) local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id)) if query:getID() ~= -1 then return query:getDataString("name") end return 0 end function getPlayerIdByName(name) local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name)) if query:getID() ~= -1 then return tonumber(query:getDataString("id")) end return 0 end function getPlayerID(cid) return getPlayerIdByName(getPlayerName(cid)) end Espero ajudar!
  10. Sistema de Addon [ Poketibia ]

    DarkRed reagiu a Viny 13 por uma resposta no tópico

    1 ponto
    Tudo bem ? Venho trazer um sistema de poketibia que são no caso as roupinhas de Pokémon's Vamos á instalação ? Na parte onde fica actions.xml adicione á seguinte tag : Onde está 1234 vai ser o id do item que vai dar á addon AGORA VOCE VAI ADICIONAR O SCRIPT : Crie um arquivo e renomei para addons.lua abra-o e coloque isso dentro : AGORA VOCÊ VAI PREOCURAR O ARQUIVO action do GOBACK e se eu não me engano tá na pasta action. Quando você encontrar abre ele, e bem no finalzinho antes disso : PS : Vai adicionar isso \/ 2 linhas acima do else : AGORA VOCE VAI ATÉ " DATA/LIB/Catch system.lua " e vai abrir o catch system.lua agora você vai dar cntrl+f e pesquisar por isso quando você encontrar você pule 2 linhas e adicione isso FEITO ISSO VOCE VAI EM data/talkactions/scripts/createpokeball.lua Abra o arquivo, quando abrir aperte ctrl+f e pesquise por : quando você achar isso pule 2 linhas e adicione isso : Se gostou do conteúdo não esqueça de avaliar com um REP+ que já vai me ajudar bastante da mesma forma que eu te ajudei " Yeaaah " O Sistema de Addon box é o mesmo sistema do = Randon Box só preocurar ai no tibiaking ai você pode botar os id da addon dentro dessa random box pra gerar uma addon PS : Se o seu pokemon dar fly não vai dar fly com o addon acontece o mesmo com o RIDE Obrigado ai galera do grupo Poketibias, por me insistirem tanto por PM ! CREDITOS : Cacaio : Deu e fez elas Stigal : Arrumou e deixou compatível em todas versões SkyFrozer : Disponibilizou no tópico e no fórum : Tibiaking
  11. OTClient pararecido com PXG! [Download]

    lucasfk reagiu a ZORAN por uma resposta no tópico

    1 ponto
    Primeiramente: Peço desculpas se errei o lugar porque pra min um Client de algum server e um ultilitario então peço desculpas se errei novamente o lugar. Segundamente: Aqui estou postando um Client parecido com o da PXG Logo digo não fui eu que fiz e ele e beta então pode a ver rejeição em alguns servers eu testei ele no servidor de poketibia do gabrielTxu 3.0 a 3.2 e as vezes a vara de pescar não funciona então quem quiser pegar como base para seu Client pode usar a vontade. Por isso que estou postando e uma base não um pronto para usar entendido então não me venha reclamar dizendo que enganei vocês. Aqui esta uma print: Aqui esta o Download do Client: CLICK AQUI SCAN: CLICK AQUI Me agradecer não cai o dedo Vlws. Um grande abraço e fiquem com Deus.
  12. Salgado OT

    ivan menezes reagiu a ludgeromf1 por uma resposta no tópico

    1 ponto
    Gente é urgente msm preciso de pelo menos a database do salgado ot 7.6 sei que vcs são os unicos que tem chance de conseguir preciso urgente msm se alguem puder me dar akela força agradeço desde ja
  13. [Sou Spriter] Procuro Equipe

    Lord Stryton reagiu a Joshuah por uma resposta no tópico

    1 ponto
    Olá pessoal, estou a procura de uma equipe, mostrarei meus trabalhos via PM. Requezitos do projeto: - Algo diferente que desperte meu interesse -Programador ou scripter na equipe Só isso Meu nível de spriting é mediano e me interesso por servidores derivados. OBRIGADO e ATÉ MAIS!
  14. Pokemon World

    Lord Stryton reagiu a Beryzinho por uma resposta no tópico

    1 ponto
    Olá pessoal do Tibia King Este será um Show Off de um projeto que estou investindo um tempo (Pokemon World). Logo mais estarei criando um tópico sobre o projeto e como ele está no momento. As imagens abaixo são do mapa que foi baixado e está sendo reformulado por mim. Algumas sprites e ideias foram retiradas de outros servidores derivados. Estarei adicionando novas imagens conforme o projeto for atualizando. Espero que gostem! Centro Pokemon de Saffron Market de Saffron
  15. [Show Off]Mapa NPO

    Raphael Darkath reagiu a Lord Stryton por uma resposta no tópico

    1 ponto
    NPO! Show Off de como nosso mapa está ficando para o lançamento oficial! Pra semana estaremos lançando nosso beta! Nossa equipe está trabalhando bastante para que o jogo não fique repetitivo e aquela mesmice de sempre! Bom Nosso mapper e também dono: [NPO]Akhay E eu claro: [NPO]Wallker Estarei colocando as imagens de como anda nosso mapa! Aceitos criticas construtivas. Entrada de Vermilion: Fuchsia: Viridian: Cassino: Hunt Tyranitar: Hunt Slowking: Bom, depois postarei mais imagens para vocês verem! Link da pagina em minha assinatura! Rep++ Se gostou! Créditos: Lord stryton Jefferson 123 Equipe NPO!
  16. Duvida com um erro do champ!

    riucardo207 reagiu a Wakon por uma resposta no tópico

    1 ponto
    Que pena cara, então isso é o que eu pude fazer pra tentar te ajudar, achei que era só alterar para o mysql, agora é esperar alguém dessa area te ajudar, boa sorte.
  17. Duvida com um erro do champ!

    riucardo207 reagiu a Wakon por uma resposta no tópico

    1 ponto
    Tenta o seguinte: Abra a pasta schemas copie e cole o sqlite.sql parar fazer 1 backup, depois renomeie o sqlite.sql para mysql.sql Agora abre o config.lua e procure por sqlType lá você altera o sqlType e o SqlHost: sqlType = "sqlite" sqlHost = "mysql" Se quiser pode fazer 1 backup completo caso de problemas, por que no meu caso estou apenas com o account manager e você quer resolver problemas do site, é isso, tenta ai.
  18. 1 ponto
    Agora este: ALTER TABLE `players` ADD `castDescription` varchar(255) NOT NULL
  19. (Resolvido)Error Mysql Player set LastLogin

    tiroleivi reagiu a Rusherzin por uma resposta no tópico

    1 ponto
    ALTER TABLE `players` ADD `castViewers` INT( 11 ) NOT NULL DEFAULT '0'; Se der outro erro: ALTER TABLE `players` ADD `castDescription` VARCHAR( 255 ) NOT NULL;
  20. [DERLEXY] Mapping Thread

    luanluciano93 reagiu a Derlexy por uma resposta no tópico

    1 ponto
    Umas fotenhas do Depot da cidade nova que estou fazendo: ~ northeast depot building ~ ~ south-west depot building ~ Espero que gostem...
  21. [Projeto] New Styller

    luanluciano93 reagiu a Durkilit por uma resposta no tópico

    1 ponto
    Que demora!! Tou ansioso mano. Faça isso cmg não :'( S/2
  22. (Resolvido)Erro no distro

    ScythePhantom reagiu a Rusherzin por uma resposta no tópico

    1 ponto
    Olá, usa essa query: DROP TABLE IF EXISTS tile_store; CREATE TABLE tile_store ( house_id INTEGER NOT NULL, world_id INTEGER NOT NULL DEFAULT '0', data LONGBLOB NOT NULL, FOREIGN KEY ( house_id ) REFERENCES houses ( id ) ); E sobre passar para mysql só no dedicado: aconselho que mude antes para testar as tabelas e colunas e conferir se tudo está okay, e só depois passar para o dedicado.. Abç.
  23. Base rapida

    Wakon reagiu a Patrick Jean por uma resposta no tópico

    1 ponto
    Cara, reduzir o mapa ajuda tbm... Ele demora msm é pra carregar o Mapa, o resto é rápido! Se ajudamos, REP + kkkkk
  24. Base rapida

    Wakon reagiu a Caronte por uma resposta no tópico

    1 ponto
    O do jamison tem sources...
  25. Serversoft alguem tem boas recomendações?

    Cat reagiu a otservme por uma resposta no tópico

    1 ponto
    @theo Que pena ler esse comentário após ter escrito uma recomendação interna pra te ajudar, ter lhe enviado mensagem privada, o suporte ter aberto diversas mensagens com vocês. Bom, existem clientes que realmente possuem problemas e outros que não querem ser ajudados. Você comprou uma máquina de 1GB conosco, reclamou de lag o tempo inteiro, não executou NENHUM dos pedidos do suporte alegando que estava sem internet e o que fez foi apenas desrespeitar nossa equipe. Desse modo, infelizmente, não podemos ajudar quem não quer ser ajudado e encerro minha ajuda pra você aqui pois falta de respeito não toleramos aqui na empresa.
  26. [OTC] OTRestarter v0.2

    Hadagalberto Jr. reagiu a Orochi Elf por uma resposta no tópico

    1 ponto
    ~~ Atualizado! ~~ [OTCodes] OTRestarter v0.2 Salve galera do TibiaKing, hoje venho apresentar pra vocês um OTRestarter super básico, simples e funcional. Bom.. eu fiz um pequeno "upgrade" nele e estarei postando aqui para vocês a versão. Eu não encontrei nenhum tipo de BUG, porém caso vocês encontrem, porfavor reportar. OBS: Para o programa funcionar, ele precisa estar na pasta do servidor, como mostra no vídeo abaixo. - Mini LOG A cada vez, que o servidor for reiniciado o programa avisa na aba "Log", a hora e a data que o servidor foi reiniciado. Novo visual (MephTheme) Vídeo demonstrativo da versão 0.1 ~~ Mesmo modo de uso ~~ http://www.youtube.com/watch?v=YfMSBKSB3Es&feature=youtu.be Download do programa está anexado ao tópico. OTC OTRestarter v0.2.rar
  27. (Resolvido)Erro no distro

    ScythePhantom reagiu a Patrick Jean por uma resposta no tópico

    1 ponto
    Depois de fazer os Inserts, vá na tabela players, clique duas vezes, ache o campo castDescription q vc criou, clique em Editar: e depois marque NOT NULL, e dê OK.
  28. Va em \data\XML Abra o stages.xml Muda aonde esta vermelho na foto
  29. (Resolvido)Comando !frags

    Orientalz reagiu a Jamison Collins por uma resposta no tópico

    1 ponto
    Tente isso: local useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')) function onSay(cid, words, param, channel) if(not useFragHandler) then return false end local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = { name = result:getDataString("name"), level = result:getDataInt("level"), date = result:getDataInt("date") } if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month), dayred = getConfigValue('dailyFragsToRedSkull'), dayblack = getConfigValue('dailyFragsToBlackSkull'), weekred = getConfigValue('weeklyFragsToRedSkull'), weekblack = getConfigValue('weeklyFragsToBlackSkull'), monthred = getConfigValue('monthlyFragsToRedSkull'), monthblack = getConfigValue('monthlyFragsToBlackSkull') } doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Day: " .. size.day .. " (red skull: " .. size.dayred .." / black skull: " .. size.dayblack .. ")") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Week: " .. size.week .. " (red skull: " .. size.weekred .. " / black skull: " .. size.weekblack .. ")") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Month: " .. size.month .. " (red skull: " .. size.monthred .. " / black skull: " .. size.monthblack .. ")") local skullEnd = getPlayerSkullEnd(cid) if(skullEnd > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd)) end return true end
  30. Guild War AJUDA

    fantomdruid reagiu a Rusherzin por uma resposta no tópico

    1 ponto
    Abre a pasta mods, procura o arquivo guildWarSystem.xml abra-o (com bloco de notas ou algo do gênero) e mude enabled="no" para enabled="yes"
  31. Como Eu Adiciono Shiny Stone No Meu Serve

    Pato Roko reagiu a Wakon por uma resposta no tópico

    1 ponto
    Para adicionar ao servidor veja esse tópico: http://www.tibiaking.com/forum/topic/35575-actions-script-scripts-boost-stone-e-shiny-stone-configuráveis/ Para adicionar 1 nova sprite você pode utilizar o object builder: Adicione uma nova sprite: Adicione a imagem dando replace na sprite que você criou: Crie um novo outfit: Clique no outfit novo e depois em Edit: Agora arraste sua sprite até a localização do outfit: Pronto, caso queira aumentar o tamanho, como é de pokémon a maioria da + de 1 SQM: Sobre o OTItem editor da uma procurada ai, não vou poder explicar pois estou em 1 maquina sem nada de tibia então fica dificil de explicar. Object Builder: http://www.tibiaking.com/forum/topic/30624-object-builder/
  32. Aggrox OT - Edited by Fercho

    sholh reagiu a .HuRRiKaNe por uma resposta no tópico

    1 ponto
    Aggrox OT - Edited by Fercho Informações: - Mapa Editado; - Templo Editado; - Novas Quests; - Novos Itens; - VIP System; - Novos Eventos; - Houses; - Teleport's; - Novos Monstros; - Servidor estável; - E mais! Screen's: Download Servidor & Scan: Download: http://www.mediafire...18uo8t08v37bdt4 Scan: https://www.virustot...sis/1355924889/ Créditos: Fercho Don Ramon Oscar Kiba SmoOkeR (Animal Pak)
  33. Mudar velocidade de ataque

    andreguima reagiu a rohfagundes por uma resposta no tópico

    1 ponto
    voce pode mudar a velocidade de atk no arquivo vocations.xml na pasta data/xml attackspeed="2000" 1 ataque a cada 2 segundos ou vc pode add attack speed em cada item <attribute key="attackSpeed" value="2000"/> 1 ataque a cada 2 segundos
  34. 1 ponto
    Você tem que baixar a versão beta no link que eu deixei. Você pode fazer em qualquer sprite independente se vai usar em old ou mod, mas no otclient tem como colocar as sprites estenditas, por isso e especialmente para old. @brunds Na minha configuração do tutorial vai mexer apenas as sprites não usadas, independente se estiverem vazias.
  35. DDoS é Crime? Sim!

    CaioM reagiu a otservme por uma resposta no tópico

    1 ponto
    Concordo totalmente! Já tivemos códigos roubados na empresa que infelizmente não conseguimos fazer nada, já vimos clientes se acabando por DDoS (em outras épocas, hoje se controla mais fácil) com excepcionais projetos!
  36. DDoS é Crime? Sim!

    Cain Jorge reagiu a otservme por uma resposta no tópico

    1 ponto
    @ricksi2012 Opa Ricks, explico sim rsrs Pra envio de DDoS Se detectar tráfego, analisa tráfego, detecta se é ataque, notifica a empresa. Pra recebimento de DDoS Detectamos mais rápido que o datacenter, chamamos firewalls em até 7x níveis. Nosso próprio software toma decisões e decide qual defesa ligar. Não usamos apenas firewalls do datacenter, projetamos nossa própria defesa contra DDoS e desde jan/2015 ela toma decisões sozinha. Toda nossa contingência segue protocolos da Cisco Security, que somos certificados. @todos Adicionei procedimentos que já fizemos aqui na empresa pra denunciar juridicamente um atacante.
  37. Acho que seria melhor colocar em movements... Crie um arquivo em movements/scripts e nomeie como "portpass.lua" Agora abra o arquivo "movements.xml", localizado na pasta movements e adicione essa tag: [Obs.: Pode mudar o actionid se essa não for válida] Agora basta colocar a actionid na porta que, no caso, seria 30001.
  38. Spells PXG

    tioj reagiu a zipter98 por uma resposta no tópico

    1 ponto
    EDIT: Códigos alterados e testados. Editei meu comentário anterior com eles.
  39. 1 ponto
    Basta clicar lá em cima em Compilar como, o icone com vários disquetes e escolher a versão. Valeu amigo.
  40. 1 ponto
    Ele remove sprites que não estão sendo usadas que estão vazias, nunca mexi com tibia, mas no meu Client de pokémon removeu 10 mb de sprites e todos os items e o mapa não tem nenhum bug, se está em beta pode causar alguma coisa mas comigo não deu nada. Valeu, feliz que tenha ajudado.
  41. 1 ponto
    Obrigado, muitas pessoas procuram por isso, espere que os ajude.
  42. (Resolvido)[PEDIDO] Download Client 9.60 !

    GoRila reagiu a Caronte por uma resposta no tópico

    1 ponto
    http://remeresmapeditor.com/rmedl.php?file=tibia960.exe
  43. Criando Bot v. 10.53 [addr memory]

    adaho reagiu a Mek Fiuchem por uma resposta no tópico

    1 ponto
    Creio eu seja que nem o mlk falou acima estou parado em programação mais lembro que tinha a parada de ASLR para desabilitar e colocava baseadress na adress sempre tipo Player.Mana = 0xF2384 + Kernel.KClient.BaseAdress; assim o valor era exato em computadores tipo win 7 e tals, creio que é isso. o meu está em C# mais acho que no seu nivel tu já é esperto e consegue converte isso public KClient(Process _process, string name) { Process = _process; BaseAddress = (uint)_process.MainModule.BaseAddress.ToInt32() - 0x400000; Handle = _process.MainWindowHandle; PID = _process.Id; }
  44. Criando Bot v. 10.53 [addr memory]

    adaho reagiu a join por uma resposta no tópico

    1 ponto
    Cara, esquece que vc não vai conseguir caso esteja usando windows com ASLR habilitado pois o base address dos programas mudam de tempo em tempo. No caso do exemplo que vc colocou 0x4F57C3 o base address seria 0x400000 e o resto seria o endereço dentro da base address então vc precisa primeiro pegar o base address do cliente tibia e modificar o base address do endereço que vc tem pelo do tibia, ai sim fazer o acesso a memoria do tibia, a cip usa o ASLR para tentar dificultar os bots, para testes o que vc precisaria é desabilitar o aslr e depois tentar criar uma função que troque a base address do endereço que vc tem pelo do cliente rodando na memoria. Mas isso é somente se for esse o seu problema
  45. The Merchant

    papamix reagiu a KekezitoLHP por uma resposta no tópico

    1 ponto
    Instalação Crie um arquivo: data/npc/Merchant.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="The Merchant" script="merchant.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150"/> <look type="128" head="20" body="100" legs="50" feet="99" corpse="2212"/> <parameters> </parameters> </npc> Crie um arquivo: data/npc/scripts/merchant.lua --// Creditos: Rômulo Souza local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local name --// Config Here// local min_hour = 2 -- Min hour of wait local max_hour = 12 -- Max hour of wait local items = {['katana']={itemid=2412, cust=100}, ['naginata']={itemid=2426, cust=200}} -- Items to Sell local config_str = {s_itemid=4251, s_comming=4241} -- Storage ( Dont change if you dont know ) --/////////////// function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) selfSay("Hey! Hey! I got some good stuff for you, come here!",cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'hi') or msgcontains(msg, 'hello')) then if (getPlayerStorageValue(cid,config_str.s_comming) ~= -1) then local itemid = getPlayerStorageValue(cid,config_str.s_itemid) local time = getPlayerStorageValue(cid,config_str.s_comming) if (getPlayerStorageValue(cid,config_str.s_comming) <= os.time()) then selfSay('Hello! Your '..getItemNameById(itemid)..' is ready! You want get it now?', cid) talkState[talkUser] = 3 else min = math.floor((time-os.time())/60) hours = math.floor((time-os.time())/60/60) selfSay('Your '..getItemNameById(itemid)..' will take '.. min..' minutes (~'..hours..' hours) to come for me.', cid) end else local str = '' local cont = 1 for name,tab in pairs(items) do str = str.. name.. (cont >= count(items) and '.' or ',') cont = cont+1 end selfSay('Hello, i can bring some kind of itens for you, just say what you want. Items: '..str, cid) talkState[talkUser] = 1 end elseif (talkState[talkUser] == 1 and msg ~='bye') then if (items[msg] ~= nil) then selfSay('You want to request the '..msg..'? it will cost '..items[msg].cust..' gold coins, are you sure?', cid) talkState[talkUser] = 2 name = msg else selfSay('I\'m not selling the '..msg..'!', cid) talkState[talkUser] = 1 end elseif(msgcontains(msg, 'no') and talkState[talkUser] == 2) then selfSay("Don\'t worry, i can bring this anytime you want.",cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and isInArray({2,3}, talkState[talkUser])) then if (talkState[talkUser] == 2) then if (doPlayerRemoveMoney(cid,items[name].cust)) then hours = doStorage(cid, items[name].itemid) selfSay('Thanks for requesting '..name..', it will take '..hours..' hours before come.', cid) talkState[talkUser] = 0 else selfSay('You don\'t have enough money, you need '.. items[name].cust..' gold coins.', cid) talkState[talkUser] = 1 end elseif (talkState[talkUser] == 3) then local itemid = getPlayerStorageValue(cid,config_str.s_itemid) selfSay('Here you are, come back again!.', cid) doPlayerAddItem(cid,itemid,1) setPlayerStorageValue(cid,config_str.s_itemid,-1) setPlayerStorageValue(cid,config_str.s_comming,-1) talkState[talkUser] = 0 end end return true end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) function doStorage(cid,itemid) str = getPlayerStorageValue(cid,config_str.s_comming) hours = math.random(min_hour,max_hour) local time = (os.time())+(1*60*60*hours) setPlayerStorageValue(cid,config_str.s_itemid,itemid) setPlayerStorageValue(cid,config_str.s_comming,time) return hours end function count(t) sum = 0 for k,v in pairs(t) do sum = sum + 1 end return sum end
  46. [MoveEvents] Tile Informativo

    Cain Jorge reagiu a Kimoszin por uma resposta no tópico

    1 ponto
    Olá pessoal, venho trazer esse script bem facil tambem, mais que serve para varias coisas, eu gosto de script faceis e grande utilidade *-* - Para que serve? Talvez para você botar na area vip, para nao repetir a mesma mensagem sempre.. use a imaginação - Como faço para adicionar em meu servidor? Simples, abra o map editor e bota no tile/piso que você quiser o actionId 7002, e adiciones os arquivos em data\movements\script e movements.xml data/movements/scripts/infos.lua local text = { [1] = "Existem diversos tipos de monstros em todo o map.", [2] = "Há varias aventuras espalhadas por essa cidade.", [3] = "Cuidado, pois você nao esta sozinho." } function onStepIn(cid, item, pos, fromPos) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, text[math.random(1 , #text)]) end data/movements/movements.xml <movevent type="StepIn" actionid="7002" event="script" value="infos.lua"/> Obs: Para você adicionar novos textos adicione o index [Numero] = "Texto" se for o ultimo nao precisa botar virgula, se não for, precisa. Um script simples, mais de grande utilidades, Abraços.
  47. Estou querendo criar a area vip do meu ot

    marcos ADM reagiu a felipe2609 por uma resposta no tópico

    1 ponto
    muito bom
  48. [Npc] Upgrade Weapons

    ruanvioto reagiu a Nogard por uma resposta no tópico

    1 ponto
    Bom, fiz esse script esses dias, e pensei que poderia ser útil há alguem, ou não. '-' De qualquer forma, a intenção que vale. Como funciona: Ao dizer 'melhorar' ao Npc, ele verificará que item o player tem em mãos (no slot hand), então se o item estiver pré configurado no script, o Npc dirá o que é preciso pra melhorar o item em questão. Caso o player não tenha o material necessário, o npc dirá quantos items o player possui, e novamente, quantos são necessários. Caso tenha os items, sua arma será transformada em uma nova, também pré configurada. Pode-se usar o script pra dar upgrade em armas, armors, helms, etc. basta configurar os ids no script. Vá em Data/Npc, crie um novo arquivo .xml chamado Keny, e cole isso dentro: Salve, e feche. Agora vá em Data/Npc/Scripts, crie um novo arquivo .lua chamado upgradeitems, e cole isso dentro: Salve ambos. Entre em seu servidor, e digite /n Keny, e o teste. Pronto. Explicando o Script: Espero que seja útil a alguém, abraços. Vídeo:
  49. Estou querendo criar a area vip do meu ot

    Usuario666 reagiu a leandrovp por uma resposta no tópico

    1 ponto
    TESTAR PORQUE ESSE SCRIPT EU FIZ PRO MEU BAIAK NAO SEI SE EM TFS FUNCIONA Vai em data/moviments/script e crie um arquivo .lua com nome de sua escolha -- Script Feito por Leandro Machado function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "Você nao e VIP DONATE Para comprar Acesse : http://baiak-lero.bl...gspot.com.br/!", msgWelcome = "Bem Vindo a area VIP DONATE!" } if getPlayerStorageValue(cid, 13500) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return TRUE end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome) return TRUE end -- Aonde está em azul é action id do pizo Em moviments.xml coloque : <movevent type="StepIn" actionid="13500" event="script" value="sistemavip.lua"/> -- Agora o Item para Clicar e ganhar vai em Actions/script e criei um arquivo.lua com nome de sua escolha ------ -- Script Feito Por Leandro Machado function onUse(cid, item, fromPosition, itemEx, toPosition) local config={ removeOnUse = "yes" -- remover quando usar ("yes" or "no") } local days = 15 -- coloque os dias que serão a VIP! local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13500) local timenow = os.time() if getPlayerStorageValue(cid, 13500) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13500, time) local quantity = math.floor((getPlayerStorageValue(cid, 13500) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") if (config.removeOnUse == "yes") then doRemoveItem(item.uid, 1) end return TRUE end ----- Aonde ta em azul é o Action ID DO piso que voce coloco no primeiro Script Aonde ta em vermelhor é os dias de vip que vai ganhar quando clicar no item actions.xml voce coloca ----- <action itemid="10309" script="sistemavip.lua"/> Aonde esta em verde é o ID Do item usado! -------- Ajudei? REP + Por Favor *-*
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo