Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 02/23/16 em todas áreas
-
Função doPlayerSetExtraAttackSpeed
Spring Trap e um outro reagiu a Yan Liima por uma questão
Em player.cpp Procure: lastAttack = idleTime = marriage = blessings = balance = premiumDays = mana = manaMax = manaSpent = 0; E substitue por isso: lastAttack = idleTime = marriage = blessings = balance = premiumDays = mana = manaMax = manaSpent = extraAttackSpeed = 0; Continuando no player.cpp procure por: return ((weapon && weapon->getAttackSpeed() != 0) ? weapon->getAttackSpeed() : (vocation->getAttackSpeed() / std::max((size_t)1, getWeapons().size()))); E substitua por isso: return ((weapon && weapon->getAttackSpeed() != 0) ? weapon->getAttackSpeed() : (vocation->getAttackSpeed() - getPlayer()->getExtraAttackSpeed() / std::max((size_t)1, getWeapons().size()))); No final do arquivo coloque isto: void Player::setPlayerExtraAttackSpeed(uint32_t speed) { extraAttackSpeed = speed; } Em player.h Depois de: uint64_t getSpentMana() const {return manaSpent;} Coloque isso: uint32_t getExtraAttackSpeed() const {return extraAttackSpeed;} void setPlayerExtraAttackSpeed(uint32_t speed); Depois de: uint32_t idleTime; Coloque isso: uint32_t extraAttackSpeed; Em luascript.cpp Procure por: //doPlayerAddSoul(cid, amount) lua_register(m_luaState, "doPlayerAddSoul", LuaInterface::luaDoPlayerAddSoul); Em baixo coloque isto: //doPlayerSetExtraAttackSpeed(cid, speed) lua_register(m_luaState, "doPlayerSetExtraAttackSpeed", LuaInterface::luaDoPlayerSetExtraAttackSpeed); Procure por: int32_t LuaInterface::luaDoPlayerAddSoul(lua_State* L) { //doPlayerAddSoul(cid, soul) int32_t soul = popNumber(L); ScriptEnviroment* env = getScriptEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) { player->changeSoul(soul); lua_pushboolean(L, true); } else { reportErrorFunc(getErrorDesc(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } E em baixo cole isto: int32_t LuaInterface::luaDoPlayerSetExtraAttackSpeed(lua_State *L) { uint32_t speed = popNumber(L); ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))){ player->setPlayerExtraAttackSpeed(speed); lua_pushnumber(L, true); } else { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushnumber(L, false); } return 1; } Agora para finalizar... Em luascript.h Depois de: static int32_t luaDoPlayerAddSoul(lua_State* L); Coloque isto: static int32_t luaDoPlayerSetExtraAttackSpeed(lua_State* L); Créditos: darkhaos por fazer a função E a mim por ter adaptado para TFS 0.4 xD2 pontos -
Bom tarde galera, venho por meio deste tópico, anuncar que, estou terminando de desenvolver um ATS derivado de Tibia.. Um pokémon server.. Bom, vou postar ShowOff, apenas dos sistemas no qual tem no servidor.. Irei resolvendo os Bugs, e então, quando achar que está bom, liberarei o Download do servidor, junto com as devidas sources. Eu tambem, colocarei uma lista do que foi feito no servidor.. Desde bugs, até novos sistemas. enfim.. Bom, como todos sabem, esse servidor contem os sistemas básicos.. Mas ainda não parei para mexer nos sistemas mais simples.. Changelog: Adicionado nas sources: - DoCreatureSetNick - AutoStacking - Modificado a função AddItem (estava bugando por causa do autostacking..) - Adicionado todas as races pokémons. - Modificado a cor da fala dos groups nos channels. - Adicionado Passive e Agressive, igual o PokeXGames. - Adicionado OnSpawn - Adicionado Pokémon Ghost System - Adicionado GetCreaturePathTo - Adicionado CastSpell Adicionado no servidor: - Novo NPC de mudança de Nick do pokémon; - Peguei função do PDA para alterar nomes dos pokémons shinys, e deixado normal. Ex: Antes: Shiny Tangela. Agora: Tangela. - Adptado/Adicionado sistema de vantagem e desvantagem do PDA. - Copiei as passives do PDA e adpatei para o servidor. - Copiei sistema de vantagem e desvantagem do PDA e adpatei para o servidor. - Adptado/Adicionado o Clan System do PDA. - Sistema de Icon (acabei de adicionar só adicionei 1 icon pra testar mesmo) ^^ - Retirados o S no final dos pokémons selvagens. - Ao morrer, aparece descrição no corpse, indicando o monstro que matou e o nome de quem morreu. - Sistemas basicos (surf, ride, blink etc.) por order Mudanças nas configurações do servidor: -Adicionar/fazer moves, basta fazer igual o PDA. Porem, se você baixar um servidor PDA e pegar a script de "pokémon moves" da LIB, e jogar nesse servidor, não irá funcionar ^^ -Adicionar pokémons, tambem é só adicionar como se fosse um PDA. -Adicionarfazer novas evoluções igual o PDA. -Adicionar/fazer novas passives igual o PDA. Otclient: Peguei OTClient na versão 0.6.5; - Fiz a barrinha de moves funcionar.. - Não vou adicionar pokebar - Transparency funcionando Obs: O Old cliente ainda está usavel, pois não extendi o cliente, nem pretendo extender.. Faltando/Em andamento: Arrumar alguns moves Refazer nurse joy Configurar todos os pokémons e balancear Configurar o Clan Sistema Configurar Spells Confgurar sistema de ovos Retirar uns duplicad Itens Arrumar os sistemas basicos(hoje ainda deixo 100%) OBSERVAÇÕES: Eu não irei postar ainda, pois o mesmo está em andamento, tem muitos bugs na qual estou resolvendo. ***Se alguem quiser me ajudar, basta deixar seu contato. ** Não me precionem plis. * Sou lindo - Irei atualizar todos os dias, e colocar prints e atualizações e modificar o nome do topico com a data de atualização. - NÃO irei mexer no mapa, se alguma alma quiser ajudar, pois bem, deixe seu contato e.e - NÃO tem level sistema. e NÃO é PDA. CREDITOS: Zipter OrochiElf Arkz Elwyn GabrielTxu Sobre os creditos, *Eu peguei um ou mais sistemas, alguns destes me tiraram duvidas e sou grato*. PRINTS: Estou desenvolvendo esse servidor exclusivamente para o XTIBIA, e tambem porque quero ver a galera sair da mermisse do PDA..Durante muito tempo, vi gente criando topicos, pra geral juntar e fazer os sistemas do PDA, ou fazer um servidor que chegue no rastro do PDA.. Então, se alguem quiser me ajudar.. Basta me comunicar.. OBS: Sempre verifiquem as atualizações abaixo, que é onde eu irei editar sempre e postar atualizações, abram os spoilers. ATUALIZAÇÕES: 11/10/2015 00:16 Parei para mexer no Design do Client. novo entergame: Atualização *11/10/2015* Atualização *12/10/2015* *Vou upar os Prints das atualizações e colocar no tópico*1 ponto
-
Problema ao criar site com gesior
bandos reagiu a luisfeliperodrigues2 por uma questão
Boa tarde, então essa é a minha primeira vez fazendo site com o gesior e ja me deparei com alguns problemas. bom vamos la! 1- o site só aparece online para mim! eu coloco o ip da minha net e ele entra, mas as outras pessoas n conseguem. obs: portas liberadas no firewall: 7171/7172 Portas liberadas no modem: 7171/7172 443/4433 80/8080 80/8090 2- Ao dar look no char da pessoa, não aparece nada. 3- Ao deslogar o char no ot e depois logar, o char aparece no templo. exemplo: posição do templo: 10160 10054 7 dai vc desloga no 10164 10054 7 o char aparece novamente no 10160 10054 7. E tambem não salva os itens e acredito que o level também não. ex: vc poe 1 wand na bp, desloga e loga, aparece no templo sem ela. Obrigado.1 ponto -
Olá pessoal, venho trazer para vocês uma spell de auto-destruição! Ela cria 3 áreas de combate, e sacrifica o usuário em troca de grande quantidade de dano em todo mundo que estiver ao redor. Essa spell é inspirada em memes da internet. nenhuma referencia é considerada sátira a qualquer religião. Screenshots: Script: TAG spells.xml: <instant name="auto-destruicao" words="ALAH AKBAR!" event="script" value="alahakbar.lua"/> Créditos: @Caronte @Night Wolf1 ponto
-
Account Manage
Yan Liima reagiu a BrunooMaciell por uma questão
Estou com um erro no account manage ele nao chega atrapalha mais queria resolve-lo!! Imagem Como disse ele nao chega atrapalha mais queria resolve-lo ele da isso quando alguem entra no account manage dai parece isto ja de cara!!1 ponto -
Sistema De Itens Parcel
chateadoagr reagiu a othereality por uma questão
Tenta aí local itens = { [2520] = 2523, -- [id da caixa] = id dela quebrada } local prize = { -- itens dentro do presente 2160, 1, 0000, 0, 0000, 0, 0000, 0 } local container = 1990 -- presente que ganha local chancemob = 10 -- chance de abrir e vir um monstro local mob = "Snake" local tempo = 15 -- tempo em segundos local function restore(iditem, pos) if itens[iditem] then local item = getTileItemById(pos, itens[iditem]) if item.uid > 0 then doRemoveItem(item.uid) end doCreateItem(iditem, pos) end end function onUse(cid, item, pos, itemEx, topos) if itens[itemEx.itemid] then local lixo = doCreateItem(itens[itemEx.itemid], topos) addEvent(restore, tempo * 1000, itemEx.itemid, topos) doRemoveItem(itemEx.uid) if math.random(1,100) <= chancemob then doCreateMonster(mob, topos) doSendMagicEffect(topos, 3) else local bp = doPlayerAddItem(cid, container, 1) local tSize = table.getn(prize) local drop = math.random(1, tSize) d = math.mod(drop,2) if d == 0 then drop = drop-1 end for i = 1, tSize, 2 do if drop == i then doAddContainerItem(bp, prize[i], prize[i+1]) break end end end else return false end return true end1 ponto -
Como mudar o title da pagina do site
Xtudomuito reagiu a VictorWEBMaster por uma questão
Abra o layouts/tibiacom/layouts.php e procure por $title. Deve estar <?php echo $title; ?>... Remova isso e escreva oque quiser dentro do <title></title>1 ponto -
[Encerrado]Pokémon Open Source *ShowOff* *Atualizado*
rohfagundes reagiu a Deadpool por um tópico no fórum
Voltei, pode pá que até o dia do meu aniversario, postarei o servidor! haha! Tava sem PC, perdi algumas coisas, mas ainda tenho este projeto! u.u Atualizações: Tv system 100% Market System 40% Nick 100% Nova formula de dano;(Level do player + força do pokémon) Addon system sem bugs(com troca de addon, e tutorial de como adicionar) Novo sistema de moves(algums moves, empurra outrox puxam, e tambem fazer o pokemon pular) Novo cliente sendo programado! Lideres de Ginasio 100% sistema de profissao feito, com apenas 1 missao inicial de cada profissao, e apenas 1 workshop para cada profissao lucky programado nas sources, junto com o resto dos held items; Order.lua excluido, refiz na sources , junto com a pokedex; Adicionado level system, junto com opção de LevelSystem: true no config.lua(se colocar off, nao ira ter level system e nao irá influenciar em dano ou algum outro sistema como evolution, igual o pda. (foi o que mais demorei pra fazer :v ) Danger rooms feitas, falta apenas configurar orebound. Pokémons shinys em cores aleatoria(so desabilitar se n gostar) Particle system feita! Depois posto prints, kisses Mais uma coisa, servidor na versão 8.6!1 ponto -
Sistema De Itens Parcel
chateadoagr reagiu a Night Wolf por uma questão
eu vou abrir pra testar esse script e ver se consigo arrumar seguindo essa lógica inicial, eu sei que dá pra fazer criando e deletando os itens mas a idéia era usar menos linhas de código EDIT: não consegui fazer pelo transform, se fosse tfs 1.x+ ia dar certo.. hahaha usa assim q fica perfeito, ele recria o baú depois de X segundos só q se o lixo que o baú virou não estiver na posição certinha ele não vai remover.1 ponto -
Bom seria melhor você fazer outro tópico, para não misturar as coisas e já que este já foi resolvido.1 ponto
-
Bom era so pra fazer um teste haushausha É lá mesmo não sei exatamente qual o ID da poke do charmander então você tera que ver, ai você so deleta ele de la O da pokebolas é o que está com o ID: 2394 e a contidade: 101 ponto
-
Seguinte, na tabela player_items lá em cima clique em Operações depois em Empty the table (TRUNCATE). Isso irá limpar a tabela player_items. Depois crie seu novo personagem e vê se você vai receber o pokémon xD1 ponto
-
Amigo faz anos que não mexo com PokeTibia... Se não for script é na database. Já que você disse que o servidor tem site. Antigamente quando os servidores de Centurion era os mais jogados alguns admins colocava pra quando você logar no servidor já receber as suas pokebolas e o seu pokémon que você tinha escolhido no site. Eles configurava no player_items. Faz o seguinte, importe sua db do zero e limpa o player_items e vê se você ainda recebe os items após logar pela primeira vez. Se ainda estiver recebendo é porque é por script mesmo...1 ponto
-
Anti-afk nos trainers
Spring Trap reagiu a Yan Liima por uma questão
Vá na pasta do seu OT \data\creaturescripts\creaturescript.xml e adiciona essa tag: <event type="think" name="Idle" event="script" value="idle.lua"/> Agora em \data\creaturescripts\scripts crie um arquivo chamado idle.lua e cole isto dentro: local config = { idleWarning = getConfigValue('idleWarningTime'), idleKick = getConfigValue('idleKickTime') } function onThink(cid, interval) if(getTileInfo(getCreaturePosition(cid)).nologout or getCreatureNoMove(cid) or getPlayerCustomFlagValue(cid, PlayerCustomFlag_AllowIdle)) then return true end local idleTime = getPlayerIdleTime(cid) + interval doPlayerSetIdleTime(cid, idleTime) if(config.idleKick > 0 and idleTime > config.idleKick) then doRemoveCreature(cid) elseif(config.idleWarning > 0 and idleTime == config.idleWarning) then local message = "You have been idle for " .. math.ceil(config.idleWarning / 60000) .. " minutes" if(config.idleKick > 0) then message = message .. ", you will be disconnected in " local diff = math.ceil((config.idleWarning - config.idleKick) / 60000) if(diff > 1) then message = message .. diff .. " minutes" else message = message .. "one minute" end message = message .. " if you are still idle" end doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, message .. ".") end return true end Para finalizar, agora vai em \data\creaturescripts\scripts\login.lua e adicione isto: registerCreatureEvent(cid, "Idle") Para você alterar o tempo do exit, basta você abrir o config.lua e adicionar isto, caso já tenha é so configurar: idleWarningTime = 9 * 60 * 1000 idleKickTime = 10 * 60 * 10001 ponto -
Carlin revamp
bandos reagiu a Administrador por um tópico no fórum
Use a vontade, fico feliz que tenha gostado!1 ponto -
Adicionar tempo para uso
Spring Trap reagiu a Yan Liima por uma questão
Cara so acho que você deveria organizar mais o tópico e a script para facilitar kkkk Bom estou meio com pressa aqui, então editei a script aqui para você rapidão. Teste ai... --[[script By Vodkart]]--function onSay(cid, words, param)if getPlayerStorageValue(cid, 212193) > os.time() then return doPlayerSendCancel(cid, "Espere " .. getPlayerStorageValue(cid, 212193) - os.time() .. " segundos.") endlocal config = {pz = False, -- players precisam estar em protection zone para usar? (true or false)battle = true, -- players deve estar sem battle (true or false)custo = true, -- se os teleport irão custa (true or false)need_level = true, -- se os teleport irão precisar de level (true or false)premium = true -- se precisa ser premium account (true or false)}--[[ Config lugares]]--local lugar = {["depot"] = { -- nome do lugarpos = {x=129, y=54, z=6},level = 5,price = 1000},["templo"] = { -- nome do lugarpos = {x=160, y=54, z=7},level = 10, price = 2000},["arena"] = { -- nome do lugarpos = {x=125, y=351, z=9},level = 15,price = 3000},["area vip"] ={ -- nome do lugarpos = {x=280, y=87, z=4},level = 20,price = 4000}}--[[ Lista de Viagem (Não mexa) ]]--if (param == "lista") thenlocal str = ""str = str .. "lista de viagem :\n\n"for name, pos in pairs(lugar) dostr = str..name.."\n"endstr = str .. ""doShowTextDialog(cid, 6579, str)return TRUEendlocal a = lugar[param]if not(a) thendoPlayerSendTextMessage(cid, 22, "desculpe,este lugar não existe")doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)return TRUEelseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE thendoPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.")return TRUEelseif config.premium == true and not isPremium(cid) thendoPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players com premium account podem teleportar.")return TRUEelseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE thendoPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.")return TRUEelseif config.need_level == true and getPlayerLevel(cid) < a.level thendoPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.")doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)return TRUEelseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE thendoPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.")doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)return TRUEenddoTeleportThing(cid, a.pos)doSendMagicEffect(a.pos, CONST_ME_TELEPORT)doPlayerSendTextMessage(cid, 22, "" .. getPlayerName(cid) .. " foi teleportado para: \n " .. param .. ".")setPlayerStorageValue(cid, 212193, os.time() + 30) -- tempo em segundos.return TRUEend1 ponto -
Vida e mana por porcentagem tfs 1.2
Spring Trap reagiu a Yan Liima por uma questão
Tive olhando aqui e parece que é diferente certo? Em tfs 1.2 é assim? msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH), std::numeric_limits<uint16_t>::max())); se for tente assim... Em protocolgame.cpp troque: msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH), std::numeric_limits<uint16_t>::max())); Por: if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) { msg.add<uint16_t>(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH)); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); } Troque: msg.add<uint16_t>(std::min<int32_t>(player->getMana(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA), std::numeric_limits<uint16_t>::max())); Por: if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0) { msg.add<uint16_t>(player->getMana() * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); } E recompile tudo, tomara que de certo Estou torcendo por você amigo. xD1 ponto -
Carlin revamp
bandos reagiu a Gabriel Couto por um tópico no fórum
Galeria 1 - Simplesmente FANTÁSTICA. Nunca tinha gostado de um mapa com essas sprites, nunca. Mas o jeito como tudo foi feito deixou essa parte incrível, acho que é o mapa de cidade que mais me agradou até hoje. Galeria 2 - Subsolo bem feito e diferente do que é em Carlin na realidade, e me lembrou muito das forgotten islands no global! Galeria 5 - De novo! Essa área portuária ficou muito bonita também, não mudaria nada! Galeria 8 - Destaque pra essa primeira foto, esses caminhos dentro do prédio ficaram geniais! O resto também ficou bom, mas decidi escolher os pontos que pra mim foram os mais bonitos. É um privilégio pra qualquer um que deseja criar um servidor poder ter esse mapa disponível. Parabéns.1 ponto -
@all Obrigado pelos comentários. @Tópico Estou quase terminando o remake; recebi ajuda do Beto06 e peguei algumas partes de mapas do Luffy (usuário de outro forum), então em algumas partes poderão perceber créditos inteiros ou parciais deles. 1. * 2. * 3. * 4. * 5. * 6. *1 ponto