Histórico de Curtidas
-
Thenebrozo deu reputação a fabiodias em Baiak Hollister (Speed 16/06/2014)• Hollister Baiak (Speed 16/06/2014) ~ Sem Erros na Distro •
Então Galera, eu vi esse OT Server aqui no TK, só que agora o link para download
Não está mais disponível, então, eu venho trazer a vocês novamente e agora com a distro totalmente, sem nenhum erro na distro. (É ISSO MESMO!)
Ai vai o pacote inteiro: OT Server + Site + DB.
• Cidades:
├ Baiak City (Editada 100% Baiak speed by: Fábio Dias)
├ Desert City
├ Hydraland
├ Iridian (Cidade VIP by Gustavo Ferreira Totalmente Editada mais de 60 TPS EXCLUSIVOS)
└ Thais
• O Que Contêm no Servidor:
├ Eventos Exclusivos (Todos Editados By Gustavo Ferreira, Funcionando 100%) :
├DotA (totalmente altomatico 100%)
├ WoE
├ Coliseum
├ Zombie Event (totalmente altomatico 100%)
├ Iridian Totalmente editada ( Mais de 60 Tps Vip, Quests Vips Exclusivas e mais..)
├ City do Baiak Totalmente Reformulada. (totalmente editada by Fabio Dias)
├ Novos Teleports e Quests ( By Gustavo Ferreira)
├ Efeitos Aplicado no templo principal e teleports (by Fábio Dias)
├ Novos NPC'S (By Gustavo Ferreira)
├ War System (Funcionando 100% + Tabela database).
└ TFS 0.4 Estável e criado pelo meu team ( Mais de 500Hrs Uptime Atingido )
├ Novo NPC de vender Itens VIP Free. (Os Items VIP Donates são vendidos no Site).
DOWNLOAD Servidor : http://www.mediafire.com/download/9et5esfvpzbzw21/Baiak+Speed+8.6.rar
DOWNLOAD Website : http://www.mediafire.com/download/ngd1o26xwzy74j9/htdocs.rar
Topico do Website a evolução (Danger): http://www.tibiaking.com/forum/topic/34586-website-a-evolu%C3%A7ao-danger-01062014/
.:Creditos:.
Gustavo ferreira (guh)
thiagobj
Fábio Dias (Biih)
Tibiaking
ADM Speed
Deathrocks
-
Thenebrozo deu reputação a Sekk em [GESIOR] 0.3.8 modificado por SekkBOAAS galera!!!
Então, baixei um Gesior algum tempo atrás(não lembro onde), e vi que faltavam coisas interessantes nele, então resolvi tentar adicionar(tudo isso esse ano kkk) e CONSEGUI!
Não quero enrolar, então vamos ao que interessa:
Bom, algumas imagens:
Latest News com Featured Article:
Menu editado:
Who is online? MOSTRANDO OUTFIT COM COR ATUAL!!!:
Characters mostrando OUTFIT(COR ATUAL DO PLAYER), HP, MP, EXP, LEVEL e ITEMS!!!:
Top guilds:
Guild Wars:
Downloads arrumados:
Battlefield:
Trade OFF:
Zombie Event:
Bom galera, eu adicionei:
- Zombie Event page
- Battlefield page
- Trade Off
- Arrumei a page Downloads
- Featured Article
- Top Guilds page
- Guild Wars page
- Modifiquei Who is online? e characters.php(outfit, mp, hp, exp, level)
- Advanced Admin Panel
- Background diferente
- Menus novos
- Arrumei o sistema de enviar e-mails no cadastro e lost account(falta apenas configurar)
Download: https://github.com/s3kk/Gesior/archive/master.zip
Scan: https://www.virustotal.com/pt/file/571b26e823c8b209daaf603313bee8d0a7dcfb962747e0c19f4f47dd42781e42/analysis/1452061171/
Database TOTALMENTE LIMPA E COMPATÍVEL: EM ANEXO
Bugs:
Obs.:
Na página Downloads, se você possuir client próprio, edite em downloads.php o link para download do mesmo!
Compátivel com OTS 8.6 e TFS 0.4.
Créditos:
db.sql
-
Thenebrozo deu reputação a Rusherzin em CHARACTER INFOSfunction onSay(cid, words, param, channel) local reset = 2321 -- id da storage do reset local mining = 2113 -- id da storage do mining local dodge = 1234 -- storage da dodge local critc = 4321 -- storage da critical doPlayerSendTextMessage(cid, 23, " # Character Info # \n -Level: ".. getPlayerLevel(cid) .."\n -Resets: ".. getPlayerStorageValue(cid, reset) .."\n -Life: [".. getCreatureHealth(cid) .."/".. getCreatureMaxHealth(cid) .."]\n -Mana: [".. getCreatureMana(cid) .."/".. getCreatureMaxMana(cid) .."]\n -Mining: ".. getPlayerStorageValue(cid, mining).."\n -Critical: "..getPlayerStorageValue(cid, critc).."\n Dodge: "..getPlayerStorageValue(cid, dodge)) return true end
-
Thenebrozo deu reputação a Guilty em ERRO SQL DATABASEVeja alguns tutoriais de como abrir um servidor via mysql:
Tutorial 1 / Como criar um site para seu servidor! (Autor: Matk). Tutorial 2 / Criando um servidor com site - Windows! (Autor: Grilo). -
Thenebrozo deu reputação a
PedroSTTem CHARACTER INFOSfunction onSay(cid, words, param, channel) local reset = 2321 -- id da storage do reset local mining = 2113 -- id da storage do mining doPlayerSendTextMessage(cid, 23, " # Character Info # \n -Level: ".. getPlayerLevel(cid) .."\n -Resets: ".. getPlayerStorageValue(cid, reset) .."\n -Life: [".. getCreatureHealth(cid) .."/".. getCreatureMaxHealth(cid) .."]\n -Mana: [".. getCreatureMana "/".. getCreatureMaxMana(cid) .."]\n -Mining: ".. getPlayerStorageValue(cid, mining)"") return true end
Imagino que seja uma talkaction que mostre essas informações do player.
-
Thenebrozo deu reputação a Rusherzin em CHARACTER INFOSVou dar rep para o cara ali que fez, mas tenta assim:
function onSay(cid, words, param, channel) local reset = 2321 -- id da storage do reset local mining = 2113 -- id da storage do mining doPlayerSendTextMessage(cid, 23, " # Character Info # \n -Level: ".. getPlayerLevel(cid) .."\n -Resets: ".. getPlayerStorageValue(cid, reset) .."\n -Life: [".. getCreatureHealth(cid) .."/".. getCreatureMaxHealth(cid) .."]\n -Mana: [".. getCreatureMana(cid) .."/".. getCreatureMaxMana(cid) .."]\n -Mining: ".. getPlayerStorageValue(cid, mining)) return true end
-
Thenebrozo deu reputação a xWhiteWolf em (Resolvido)Sistema de Pesca quase pronto ajudaeu montei uma fórmula com base nas informações que você me passou.
a chance é calculada nessa linha:
if level >= i then
ishable[#fishable + 1] = {chance = 5 * (level - i + 1), monster = mob} --- aqui <
perceba que ele usa 5 * (level - i + 1) sendo que o i é sempre menor ou igual ao level, ou seja:
se eu sou level 5 e estou no primeiro nivel i ("water elemental") eu vou fazer 5-1 + 1 que dá 5, ou seja, a porcentagem fica 25%.
Se você quiser você pode diminuir esse numero 5 ou modificar a formula livremente. Nesse sentido o do vodkart é melhor configuravel porém ele usa muito mais espaço de memória que o meu (pra valores simples é muito melhor você fazer contas simples de soma e multiplicação para chegar nos valores do que salvá-los numa tabela consumindo espaço de memória)
A questão é que o script do vodkart possui alguns erros lógicos então a % que ele colocou lá não necessariamente vai ser a % correta então eu sugiro você realmente usar o meu com essas pequenas edições na formula.
Note que o código que eu te passei e o código que você falou que eu te passei estão diferentes, o código que eu te mandei foi esse aqui: https://repl.it/Gh8z/1
e eu te mandei ele no repl.it justamente pra vc editar e clicar no run pra ver o que acontece com cada edição.
A cada run ele vai te retornar isso aqui:
Nivel 916. Fishing: 133 (nivel do player e nivel de fishing)
Level: 5 (level de pesca)
-- monstros que participam desse nivel de pesca
-- chance na frente e nome do monstro (a chance é a fórmula que eu falei)
25 Water Elemental
20 Massive Water Elemental
15 Blood Crab
10 Quara Constrictor
5 Quara Predator Scout
--
-- resultado final:
pescou peixe
-
Thenebrozo recebeu reputação de Vodkart em (Resolvido)Sistema de Pesca quase pronto ajudaDeu certo a sua e a do Vod mais irei usar a sua, fico agradecido ao Vod ter me ajudado tbm, mas vc foi o unico que me respondeu e me ajudou quando eu precisei sendo assim fico muito grato e gostei muito, obrigado mesmo de coração. Tenho uma duvida onde eu mudo para ficar mais dificil para pescar os monstro? e quanto maior o level mais facil fica ?
-
Thenebrozo deu reputação a xWhiteWolf em (Resolvido)Sistema de Pesca quase pronto ajudatesta o do vodkart, se funcionar troca essa linha aqui do meu:
doCreateMonster(get, fromPosition)
por
doCreateMonster(get, getCreaturePosition(cid))
Tecnicamente as duas eram pra dar errado, o correto seria usar doCreateMonster(get, getClosestFreeTile(cid, fromPosition, true)). Mas como o vod usa a getCreaturePosition(cid) e o carinha do tópico disse que deu certo então com fromPosition tb deveria dar certo.
-
Thenebrozo recebeu reputação de Vodkart em (Resolvido)Sistema de Pesca quase pronto ajudato testando aqui ver se pega os outro bichos pq ta pegando so wanter elemental e massive water elemental. Deu certo aqui vlw msm muito obrigado
-
Thenebrozo deu reputação a Vodkart em (Resolvido)Sistema de Pesca quase pronto ajuda5 = 5% chance de pegar
quanto maior ali, maior vai ser a chance de pegar
se for 50, vai ser 50% de chance de pegar!
-
Thenebrozo deu reputação a Vodkart em (Resolvido)Sistema de Pesca quase pronto ajuda--nothing
--------------
editei uma parte
local t = { [{100,105}] = {{5,"Water Elemental",400}}, -- chance, name, min level [{106,110}] = {{5,"Massive Water Elemental",400}, {10,"Water Elemental",500}}, [{111,119}] = {{5,"Blood Crab",500},{10,"Massive Water Elemental",520},{15,"Water Elemental",540}}, [{120,129}] = {{5,"Quara Constrictor",550},{10,"Blood Crab",555},{15,"Massive Water Elemental",560},{20,"Water Elemental",580}}, [{130,math.huge}] = {{5,"Quara Predator Scout",600},{10,"Quara Constrictor",650},{15,"Blood Crab",700}, {20,"Massive Water Elemental",700},{25,"Water Elemental",700}} } local lvl, fish_level = 400, 100 local useWorms = true local waterIds = {493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625} function onUse(cid, item, fromPosition, itemEx, toPosition) if isInArray(waterIds, itemEx.itemid) == TRUE then if itemEx.itemid ~= 493 then if getPlayerLevel(cid) >= lvl and getPlayerSkill(cid, SKILL_FISHING) >= fish_level then for v , r in pairs(t) do if getPlayerSkill(cid, SKILL_FISHING) >= v[1] and getPlayerSkill(cid, SKILL_FISHING) <= v[2] then for _ , var in pairs(r) do if getPlayerLevel(cid) >= var[3] and var[1] > math.random(1, 100) then doCreateMonster(var[2], getPlayerPosition(cid)) return true end end end end end if math.random(1, (100 + (getPlayerSkill(cid, SKILL_FISHING) / 10))) <= getPlayerSkill(cid, SKILL_FISHING) then if useWorms then if getPlayerItemCount(cid, ITEM_WORM) > 0 then doPlayerRemoveItem(cid, ITEM_WORM, 1) doPlayerAddItem(cid, ITEM_FISH, 1) end else doPlayerAddItem(cid, ITEM_FISH, 1) end end doPlayerAddSkillTry(cid, SKILL_FISHING, 1) end doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY) return true end return false end
-
Thenebrozo deu reputação a Kimoszin em [Action] Alavanca que vende item.Esse script é para aquele OTserver que pode bugar o NPC para comprar itens, um deles é o de potion.
Então eu resolvi criar esse script, mais ele nao é novidade, você ja deve ter visto.
- Para que serve?
Hora, para vender itens, e nao se preocupar se alguem vai bugar o seu OT, pode ser tanto runas, potions e etc...
- Como eu faço para ter em meu servidor?
Basta adicionar o actionID 7004 numa alavanca, e depois adicionar os script em data\actions\scripts e actions.xml
alavancasell.lua
local config = { money = 1000, -- Dinheiro que vai custar item = 7618, -- ID do item que vai vender count = 20, -- Quantidade } function onUse(cid, item, fromPosition, itemEx, toPosition) pos = getCreaturePosition(cid) if item.itemid == 1945 then if doPlayerRemoveMoney(cid, config.money) == TRUE then doPlayerAddItem(cid, config.item, config.count) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Você acaba de comprar "..config.count.." "..getItemNameById(config.item)..".") doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Desculpe, mais você nao tem dinheiro suficiente.") doSendMagicEffect(pos, CONST_ME_POFF) end end end actions.xml <action actionid="7004" event="script" value="alavancasell.lua"/>
É isso galera, esse script simples que salva vidas
Abraços...
-
Thenebrozo deu reputação a Cleiton Felipi em Ajuda com sistema de resetqual seu tfs? e o protocolo?
-
Thenebrozo deu reputação a Vodkart em Ajuda com sistema de resetfunction getPlayerFrags(cid) 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 = {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) } return size.day + size.week + size.month end function getPlayerResets(cid) local resets = getPlayerStorageValue(cid, 500) return resets < 0 and 0 or resets end function onLogin(cid) registerCreatureEvent(cid, "fraglook") return true end function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and thing.uid ~= cid then doPlayerSetSpecialDescription(thing.uid,'[Frags: '..getPlayerFrags(thing.uid)..'] - [Resets: '..getPlayerResets(thing.uid)..']') return true elseif thing.uid == cid then doPlayerSetSpecialDescription(cid,'[Frags: '..getPlayerFrags(cid)..'] - [Resets: '..getPlayerResets(cid)..']') local string = 'You see yourself.' if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then string = string..' You are '.. getPlayerGroupName(cid) ..'.' elseif getPlayerVocation(cid) ~= 0 then string = string..' You are '.. getPlayerVocationName(cid) ..'.' else string = string..' You have no vocation.' end string = string..getPlayerSpecialDescription(cid)..'' if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.' end if getPlayerGuildId(cid) > 0 then string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid) string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then string = string..'nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].' string = string..'nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) return false end return true end
-
Thenebrozo deu reputação a Cat em [Resolvido] Encher life/mana ao uparComo faço para fazer o char se curar toda vez que upa lvl? '-' Os chars tão estão se curando quando upam quis dizer não estão se curando' certo?
vá em data/creaturescripts/scripts e crie um script com o nome hmup
function onAdvance(cid, skill, oldlevel, newlevel) if skill == SKILL__LEVEL then doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doCreatureAddMana(cid, getCreatureMaxMana(cid)) end return TRUE end ainda em data/creaturescripts/script abra o login.lua e adicione em baixo das linhas
registerCreatureEvent(cid, "hmup") em data/creaturescripts/creaturescripts.xml
<event type="advance" name="hmup" event="script" value="hmup.lua"/> -
Thenebrozo deu reputação a MaXwEllDeN em [Resolvido] Efeitos em Teleports FalantesOps, esquecí de tirar o config. xD
local positions = { -- ["TEXTO"] = {{ posição }, id}, ["Baiak Sky"] = {{x = 160, y = 54, z = 7}, 18}, ["Zumbie"] = {{x = 165, y = 50, z = 7}, 22}, ["ArenaPVP"] = {{x = 157, y = 53, z = 7}, 23}, ["Time 1"] = {{x = 376, y = 40, z = 6}, 12}, ["Time 2"] = {{x = 376, y = 43, z = 6}, 10}, ["FootBall"] = {{x = 165, y = 52, z = 7}, 17}, ["Teleports"] = {{x = 157, y = 54, z = 7}, 18}, ["Forje"] = {{x = 157, y = 47, z = 7}, 9}, ["Coliseum"] = {{x = 155, y = 47, z = 7}, 6}, ["Dota"] = {{x = 154, y = 47, z = 7}, 2}, ["Arena War"] = {{x = 165, y = 51, z = 7}, 7}, ["Trainers"] = {{x = 157, y = 55, z = 7}, 20}, ["Citys"] = {{x = 165, y = 48, z = 7}, 55}, ["Desert"] = {{x = 165, y = 49, z = 7}}, ["VIP CITY"] = {{x = 500, y = 49, z = 7}}, ["WoE"] = {{x = 156, y = 47, z = 7}}, ["FootBall"] = {{x = 165, y = 52, z = 7}}, ["Oeste"] = {{x = 1237, y = 1046, z = 1}}, ["Leste"] = {{x = 1242, y = 1046, z = 1}}, } function onThink(cid, interval, lastExecution) for text, v in pairs(positions) do doSendAnimatedText(v[1], text, math.random(1, 255)) doSendMagicEffect(v[1], v[2] or 18) end return true end
-
Thenebrozo deu reputação a Luquinha em [CREATUREEVENT] Mensagem no Default quando um player for morto por outroFunção: Quando um jogador matar outro, irá aparecer em seu default uma mensagem avisando.
E a mensagem será, por exemplo: Lucas acaba se morto no nivel 90 para o Luquinha.
Vamos lá!
1. Acesse: data/creaturescripts/scripts e abra o arquivo deathbroadcast.lua. Coloque isto:
function onKill(cid, target, lastHit) local str = "O player %s acaba de ser morto no nível %d por %s" if isPlayer(cid) and isPlayer(target) then doBroadcastMessage(str:format(getCreatureName(target), getPlayerLevel(target), getCreatureName(cid)), 27) end return true end
2. Agora vá em data/creaturescript e abra o arquivo creaturescript.xml. Em seguida, coloque isto:
<event type="kill" name="DeathBroadCast" event="script" value="deathbroadcast.lua"/>
3. Vá em data/creaturescripts/scripts e abra o arquivo login.lua. Terá lá registerCreatureEvent, coloque este código abaixo disso:
registerCreatureEvent(cid, "DeathBroadCast")
Para você alterar as cores do aviso que irá aparecer a cada morte, coloque este:
MESSAGE_FIRST = 18 MESSAGE_STATUS_CONSOLE_RED = MESSAGE_FIRST MESSAGE_EVENT_ORANGE = 19 MESSAGE_STATUS_CONSOLE_ORANGE = 20 MESSAGE_STATUS_WARNING = 21 MESSAGE_EVENT_ADVANCE = 22 MESSAGE_EVENT_DEFAULT = 23 MESSAGE_STATUS_DEFAULT = 24 MESSAGE_INFO_DESCR = 25 MESSAGE_STATUS_SMALL = 26 MESSAGE_STATUS_CONSOLE_BLUE = 27 MESSAGE_LAST = MESSAGE_STATUS_CONSOLE_BLUE
-
Thenebrozo deu reputação a Kimoszin em [Resolvido] Efeitos de spellsCONST_ME_DRAWBLOOD = 0 CONST_ME_LOSEENERGY = 1 CONST_ME_POFF = 2 CONST_ME_BLOCKHIT = 3 CONST_ME_EXPLOSIONAREA = 4 CONST_ME_EXPLOSIONHIT = 5 CONST_ME_FIREAREA = 6 CONST_ME_YELLOW_RINGS = 7 CONST_ME_GREEN_RINGS = 8 CONST_ME_HITAREA = 9 CONST_ME_TELEPORT = 10 CONST_ME_ENERGYHIT = 11 CONST_ME_MAGIC_BLUE = 12 CONST_ME_MAGIC_RED = 13 CONST_ME_MAGIC_GREEN = 14 CONST_ME_HITBYFIRE = 15 CONST_ME_HITBYPOISON = 16 CONST_ME_MORTAREA = 17 CONST_ME_SOUND_GREEN = 18 CONST_ME_SOUND_RED = 19 CONST_ME_POISONAREA = 20 CONST_ME_SOUND_YELLOW = 21 CONST_ME_SOUND_PURPLE = 22 CONST_ME_SOUND_BLUE = 23 CONST_ME_SOUND_WHITE = 24 CONST_ME_BUBBLES = 25 CONST_ME_CRAPS = 26 CONST_ME_GIFT_WRAPS = 27 CONST_ME_FIREWORK_YELLOW = 28 CONST_ME_FIREWORK_RED = 29 CONST_ME_FIREWORK_BLUE = 30 CONST_ME_STUN = 31 CONST_ME_SLEEP = 32 CONST_ME_WATERCREATURE = 33 CONST_ME_GROUNDSHAKER = 34 CONST_ME_HEARTS = 35 CONST_ME_FIREATTACK = 36 CONST_ME_ENERGYAREA = 37 CONST_ME_SMALLCLOUDS = 38 CONST_ME_HOLYDAMAGE = 39 CONST_ME_BIGCLOUDS = 40 CONST_ME_ICEAREA = 41 CONST_ME_ICETORNADO = 42 CONST_ME_ICEATTACK = 43 CONST_ME_STONES = 44 CONST_ME_SMALLPLANTS = 45 CONST_ME_CARNIPHILA = 46 CONST_ME_PURPLEENERGY = 47 CONST_ME_YELLOWENERGY = 48 CONST_ME_HOLYAREA = 49 CONST_ME_BIGPLANTS = 50 CONST_ME_CAKE = 51 CONST_ME_GIANTICE = 52 CONST_ME_WATERSPLASH = 53 CONST_ME_PLANTATTACK = 54 CONST_ME_TUTORIALARROW = 55 CONST_ME_TUTORIALSQUARE = 56 CONST_ME_MIRRORHORIZONTAL = 57 CONST_ME_MIRRORVERTICAL = 58 CONST_ME_SKULLHORIZONTAL = 59 CONST_ME_SKULLVERTICAL = 60 CONST_ME_ASSASSIN = 61 CONST_ME_STEPSHORIZONTAL = 62 CONST_ME_BLOODYSTEPS = 63 CONST_ME_STEPSVERTICAL = 64 CONST_ME_YALAHARIGHOST = 65 CONST_ME_BATS = 66 CONST_ME_SMOKE = 67 CONST_ME_INSECTS = 68 CONST_ME_NONE = 255 CONST_ME_LAST = CONST_ME_INSECTS CONST_ANI_SPEAR = 0 CONST_ANI_BOLT = 1 CONST_ANI_ARROW = 2 CONST_ANI_FIRE = 3 CONST_ANI_ENERGY = 4 CONST_ANI_POISONARROW = 5 CONST_ANI_BURSTARROW = 6 CONST_ANI_THROWINGSTAR = 7 CONST_ANI_THROWINGKNIFE = 8 CONST_ANI_SMALLSTONE = 9 CONST_ANI_DEATH = 10 CONST_ANI_LARGEROCK = 11 CONST_ANI_SNOWBALL = 12 CONST_ANI_POWERBOLT = 13 CONST_ANI_POISON = 14 CONST_ANI_INFERNALBOLT = 15 CONST_ANI_HUNTINGSPEAR = 16 CONST_ANI_ENCHANTEDSPEAR = 17 CONST_ANI_REDSTAR = 18 CONST_ANI_GREENSTAR = 19 CONST_ANI_ROYALSPEAR = 20 CONST_ANI_SNIPERARROW = 21 CONST_ANI_ONYXARROW = 22 CONST_ANI_PIERCINGBOLT = 23 CONST_ANI_WHIRLWINDSWORD = 24 CONST_ANI_WHIRLWINDAXE = 25 CONST_ANI_WHIRLWINDCLUB = 26 CONST_ANI_ETHEREALSPEAR = 27 CONST_ANI_ICE = 28 CONST_ANI_EARTH = 29 CONST_ANI_HOLY = 30 CONST_ANI_SUDDENDEATH = 31 CONST_ANI_FLASHARROW = 32 CONST_ANI_FLAMMINGARROW = 33 CONST_ANI_SHIVERARROW = 34 CONST_ANI_ENERGYBALL = 35 CONST_ANI_SMALLICE = 36 CONST_ANI_SMALLHOLY = 37 CONST_ANI_SMALLEARTH = 38 CONST_ANI_EARTHARROW = 39 CONST_ANI_EXPLOSION = 40 CONST_ANI_CAKE = 41 CONST_ANI_WEAPONTYPE = 254 CONST_ANI_NONE = 255 CONST_ANI_LAST = CONST_ANI_CAKE
-
Thenebrozo deu reputação a Peemello em (Resolvido)Account Manager Invalid PasswordNada ve esses bagui ai de trocar a distro, tudo vocês querem trocar mesmo.
Se sabe compilar ?
é em protocolgame.cpp da sua source - procure por:
if(!IOLoginData::getInstance()->getPassword(id, hash, salt, character) || !encryptTest(salt + password, hash))
{
ConnectionManager::getInstance()->addAttempt(getIP(), protocolId, false);
disconnectClient(0x14, "Invalid password.");
return false;
}
e apague tudo.
pronto!, feche e compile.
Créditos: Caronte
Te Ajudei? +REP
-
Thenebrozo deu reputação a Fir3element em (Resolvido)[PEDIDO] Hp / Mp por porcentagem %%protocolgame.cpp, procure por:
msg->put<uint16_t>(player->getHealth()); msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH)); troque por:
if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) { msg->put<uint16_t>(uint16_t(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH))); msg->put<uint16_t>(100); } else { msg->put<uint16_t>(0); msg->put<uint16_t>(0); } procure por:
msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA)); msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA)); troque por:
if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0) { msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA) * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg->put<uint16_t>(100); } else { msg->put<uint16_t>(0); msg->put<uint16_t>(0); } -
Thenebrozo deu reputação a Simon Here em Cabana nas montanhas + minasPrevejo que o mapa não foi feito para servidores x99999 exp, então um pouco de detalhe sobre ele é
Algumas informações
O mapa não é muito grande, mas eu acho ideal para uma missão ou a entrada da mina. A transição para a mina está localizada em uma cachoeira (você pode nadar na água). Mine, é claro, eu não fiz, por que? O que interceda não foi completamente nas profundezas da minha pasta com mapas.
Atualização de Autor
Mapas foram adicionados às minas anteriormente prometidas. Eles devem, idealmente adequado como exp monstros dwarfów ou outros que correspondem aos túneis escuros. O Mapa não conter desova! As fotos podem ser encontradas abaixo.
Area:
Minas:
Minimap (3 a maioria dos pisos)
Gostaria de pedir para relatar quaisquer erros encontrados em um mapa. Desde já, obrigado.
Link para download:
Google Drive
Speedyshare.com
ITEMS OTB REMERE'S MAP EDITOR
Mapa feito especificamente para o fórum polonês
É claro que eu não me importo de jogar
os mapas em outros fóruns medida em que o autor é dado.
-
Thenebrozo deu reputação a Tricoder em Cyra's Templo____________________________________________
Créditos
Cyra
____________________________________________
SCAN
https://www.virustotal.com/pt/file/396679aa0df67e0c6bd025cfb4f5b8de2d78ee7c20d097faf29ac3d086b17844/analysis/1451366364/
DOWNLOAD
templocyrax.otbm
-
Thenebrozo deu reputação a Mek Fiuchem em [DUVIDA] Como Posso dar look No Player e ver os fragsCrie na pasta Data/Creaturescripts/script o arquivo fraglook.lua
e cole isso
function getPlayerFrags(cid) 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 = {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) } return size.day + size.week + size.month end function onLogin(cid) registerCreatureEvent(cid, "fraglook") return true end function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and thing.uid ~= cid then doPlayerSetSpecialDescription(thing.uid,'[Frags: '..getPlayerFrags(thing.uid)..']') return true elseif thing.uid == cid then doPlayerSetSpecialDescription(cid,'[Frags: '..getPlayerFrags(cid)..']') local string = 'You see yourself.' if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then string = string..' You are '.. getPlayerGroupName(cid) ..'.' elseif getPlayerVocation(cid) ~= 0 then string = string..' You are '.. getPlayerVocationName(cid) ..'.' else string = string..' You have no vocation.' end string = string..getPlayerSpecialDescription(cid)..'' if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.' end if getPlayerGuildId(cid) > 0 then string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid) string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then string = string..'nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].' string = string..'nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) return false end return true end Agora no Data/Creaturescripts/creaturescripts.xml adicione essas tags: <event type="login" name="fraglook_register" event="script" value="fraglook.lua"/> <event type="look" name="fraglook" event="script" value="fraglook.lua"/>
Ajudei ? Rep+ Please
-
Thenebrozo recebeu reputação de KotZletY em ERRO NO CREATURESCRIPTentendi muito obrg