
Tudo que Lurk postou
-
Bug Stamina TFS 0.4
vc pode criar um evento preparedeath que guarda a stamina do player em uma storage e ao login trocar a stamina atual pelo valor da storage
- Teleporte Summon tfs 0.3.6
-
[PEDIDO] Host BR
@Ackerzin cara eu acredito que ele tem 2 servidores (que se comunicam entre si) um hosteado no brasil e outro na ovh, claro q isso não é assim tão simples de fazer, tem que prezar pela integridade dos dados que tão indo pra db tanto aqui quanto lá, não acho que isso seja proxy... varios desses servidores no top da otlist tem sistemas assim, sinceramente só conversando com alguem que realmente saiba o que ta acontecendo mas realmente n acredito que seja só proxy pode ser que quando um player tenha ping > x ele é movido pro host no brasil ou pro eua, e as inserções em banco de dados só aconteça em um lugar (imagino que no host da ovh)
-
Ajuda porfavor erro [VIP]
que baiak wake é esse?
-
[PEDIDO] Host BR
nunca usei server core, ja ouvi coisas ruins (n sei se são verdade e sinceramente nem quero saber. to contente na ovh)
-
[PEDIDO] Host BR
@Aksz @Balkalima quando eu fui hostear o meu na locaweb e eu fui falar com o suporte deles, eles me disseram NÃO SUPORTAR JOGOS e caso a rede deles sofresse isntabilidade por causa de ataques NA SUA VPS você seria penalizado sobre isso, até pq vc ta fazendo algo que vai contra as regras deles. Entra em contato com o suporte só pra ter ctz, mas n recomendo a locaweb nem nenhuma empresa brasileira Edit: Acabei de ir perguntar até
-
[PEDIDO] Host BR
cara, host BR que presta: google e amazon. Mas n tem proteção ddos no nivel basico, ou seja, vc vai ter que gastar MUITO se alguém começar a te tacar ddos host BOM com proteção ddos MUITO BOA mas não tem no brasil: ovh dai vc ve, tem a grana p bancar o google com protecao? quer tentar hostear sem protecao ddos? ou vai jogar safe e ir na ovh?
-
onlook marriage system do vodkartt
Olá, estou tentando adaptar o onlook do script de marriage com npc do @Vodkart pra tambem mostrar o numero de reset do player, cheguei nesse código aqui doPlayerSetSpecialDescription(thing.uid,'\n'..(getPlayerSex(thing.uid) == 0 and 'She' or 'He')..' is married to '..getPartner(thing.uid)'. [Resets: '..math.max(0,(tonumber(getCreatureStorage(thing.uid,378378)) or 0))..']') mas to tendo esse erro [20:39:05.320] [Error - CreatureScript Interface] [20:39:05.324] domodlib('marry_func') [20:39:05.326] function onLook(cid, thing, position, lookDistance) [20:39:05.329] if isPlayer(thing.uid) and isMarried(thing.uid) then [20:39:05.332] doPlayerSetSpecialDescription(thing.uid,'\n'..(getPlayerSex(thing.uid) == 0 and 'She' or 'He')..' is married to '..getPartner(thing.uid)'. [Resets: '..math.max(0,(tonumber(getCreatureStorage(thing.uid,378378)) or 0))..']') [20:39:05.343] end [20:39:05.344] return true [20:39:05.345] end:onLook [20:39:05.347] Description: [20:39:05.348] [string "LuaInterface::loadBuffer"]:4: attempt to call a string value [20:39:05.352] stack traceback: [20:39:05.376] [string "LuaInterface::loadBuffer"]:4: in function <[string "LuaInterface::loadBuffer"]:2> aqui o look da função dele sem alteração minha function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and isMarried(thing.uid) then doPlayerSetSpecialDescription(thing.uid,'.\n'..(getPlayerSex(thing.uid) == 0 and 'She' or 'He')..' is married to '..getPartner(thing.uid)) end return true nvm era um ponto faltando........ era um ponto faltando nvm
-
Alterar money para 64bits
aa sim, minha source tem money em int 64, da uma olhada aqui https://tibiaking.com/forums/topic/96040-860-tfs-04-rev3996-war-cast/ aq provavelmente tb tem money em int64
-
Alterar money para 64bits
o problema não é o money nas sources, isso é uma limitação de client.. p resolver é só usando otclient
-
ignorar CSS em uma <tr> especifica
eu tenho essa tr <tr style="background-color:'.($count % 2 ? 'rgba(241, 224, 198, 0.6)' : 'rgba(212, 192, 161, 0.6)').';" > mas as cores nunca variam pq eu tenho isso no meu css table tr th, table tr td { background: #555555; /*color: #FFF; */ color: skyblue; padding: 7px 4px; text-align: left; } tr.yellow td { background: rgb(89, 10, 10); padding: 7px 4px; text-align: left; } table tr td { background: rgb(212, 192, 161); /*color: #FFF; */ border-top: 1px solid #FFF; } não posso remover isso do css pq todo o resto do site usa.. tentei aquele #foo input:not(.ignoreCss) mas n funfou
-
(Resolvido)Proteção nas houses
@Belmont man tem como linkar essa source aqui no forum pls?
-
Weapon Distance crashando servidor
cara pela descrição isso é um problema de vocation, como quando um knight usa um exana mort com 120 de ml ou um exura vita, tb com 120 de ml vc tem que dar uma lida boa no seu vocations.xml, se uma vocacao q n eh voltada p distance atacar com um item de distance e ter uma skill que n devia isso vai rolar. qnd for trocar vocacao reseta os skills do boneco. Faz o teste de atacar com o bow de naruto depois de mudar no vocations ou pelo menos reseta as skills p testar
-
[8.60] TFS 0.4 Rev3996 War & Cast
@Yan Liima cara da uma pá de erro na hora de compilar no visual studio (tentei compilar do mesmo jeito q compila a tfs 3777 do fireelement), tem como da uma força? usando suas libs e includes https://github.com/YaanLiima/3996
-
Alguém consegue fazer - Sistema anti-deslize
@Npc Bugado infelizmente n posso mais dar rep hj. por mais que a resposta do mlk ali tenha sido muito babaca a função mt é bacana, vou colocar no meu server. obg
-
(Resolvido)Usar potion e abrir corpos mortos/puxar ring
não que eu tenha o conhecimento pra fazer isso e é uma coisa mais complicada, mas quem quiser implementar isso de uma forma que não necessita constantes edições na source, da p criar uma função boolean que por default eh false mas dai com um script nas suas actions vc adiciona essas pots por exemplo como um true ai, ou qualquer outro item que vc não queira que exhauste
-
[0.4] Evento Click Up
Um cara no otland deu uma editada no código da action e deixou assim, sem usar nenhuma storage p armazenar tempo local players = {} local tempo = 2 -- exhaust to click again and get levels local level_gain = 32 local event_coin = {10558, 1} -- itemid, amount function onUse(cid, item, frompos, item2, topos) if getGlobalStorageValue(64242) ~= 1 then doPlayerSendCancel(cid, "The event haven't started yet.") return true end local cur_time = os.time() if players[cid] and players[cid][1] > cur_time or getPlayerLevel(cid) >= 717217 then -- if the player is on cooldown or has already reached max level doPlayerSendCancel(cid, "You must wait " .. (players[cid][1] - cur_time) .. " seconds to use again or you have already reached maximum level.") return true end local text = "LEVEL UP" if players[cid] and players[cid][2] == 2 then text = text .. " + EVENT COIN" doPlayerAddItem(cid, event_coin[1], event_coin[2]) end doPlayerAddLevel(cid, level_gain) doCreatureSay(cid, text, TALKTYPE_ORANGE_1, true, cid) players[cid] = {cur_time + tempo, players[cid] and players[cid][2] == 1 and 2 or 1} return true end
-
[0.4] Evento Click Up
Salve pessoal, eu amo tibia e a comunidade já me deu muito, hoje finalmente sinto que posso dar algo de volta e vou estar disponibilizando esse código pra evento que eu fiz pro meu servidor. Esse código pode ser melhorado bastante mas é funcional e acredito ter pensando em todas as possibilidades de abuso e ter corrigido, ainda assim caso você faça alguma melhora por favor compartilhe aqui nos comentários :). Vou disponibilizar também a hotkey de elfbot no fim do tópico. Durante o evento (duração de 15 min que você pode diminuir/aumentar), quando um player clica no item ele vai receber x leveis e a cada 2 clicks ele vai ganhar um item (no meu caso, uma event coin). Tem um exhaust de 2 secs a cada click pra evitar abuso com elfbot/auto click e eu não recomendo tirar, embora você possa diminuir/aumentar tranquilamente Em globalevents.xml adicione <globalevent name="clickupstart" time="19:00" event="script" value="clickupstart.lua"/> <globalevent name="clickupclose" time="19:15" event="script" value="clickupend.lua"/> Em globalevents/scripts crie um novo arquivo e nomeie de clickupend.lua e cole isso dentro local storage = 64242 -- storage function onTime() setGlobalStorageValue (storage, -1) doBroadcastMessage("THE CLICK UP EVENT HAS ENDED") return true end Ainda em globalevents/scripts crie um novo arquivo e nomeie de clickupstart.lua e cole isso dentro local storage = 64242 -- storage que você quer zerar. function onTime() setGlobalStorageValue (storage, 1) doBroadcastMessage("THE CLICK UP EVENT HAS STARTED") return true end Agora em actions.xml adicione a tag <action actionid="42113" script="clickup.lua"/> Em actions/scripts crie um arquivo chamado clickup.lua e cole isso dentro local tempo = 2 -- segundos para usar novamente function onUse(cid, item, frompos, item2, topos) if getGlobalStorageValue(64242) == 1 then if getPlayerStorageValue(cid, 45890) > os.time() or getPlayerLevel(cid) >= 717217 then -- se estiver no cooldown ou se for level maximo return doPlayerSendCancel(cid, "Voce deve esperar "..(getPlayerStorageValue(cid, 45890) - os.time()).. " segundos para usar novamente e nao pode ser nivel maximo.") end if getPlayerStorageValue(cid, 45891) < 1 then doPlayerAddLevel(cid, 32) doCreatureSay(cid, "LEVEL UP", TALKTYPE_ORANGE_1, true, cid) setPlayerStorageValue(cid, 45890, 2 + os.time()) local bah = getPlayerStorageValue(cid, 45891) doPlayerSetStorageValue(cid, 45891, bah+1) return true else doPlayerAddLevel(cid, 32) doCreatureSay(cid, "LEVEL UP + EVENT COIN", TALKTYPE_ORANGE_1, true, cid) doPlayerAddItem(cid,10558,1) setPlayerStorageValue(cid, 45890, 2 + os.time()) doPlayerSetStorageValue(cid, 45891, -1) return true end else -- msg quando o evento não ta rolando return doPlayerSendCancel(cid, "The event haven't started yet.") end end Agora você abre seu mapa, cria uma area pro evento e você coloca a actions 42113 na statua/pedra/cristal que o player vai precisar dar use pra ganhar os leveis (eu uso o id 9779) NÃO SE ESQUEÇA QUE A HOTKEY DE ELFBOT VAI MUDAR SE VOCÊ NÃO USAR O MESMO ID QUE EU auto 200 listas 'Evento' | usegrounditem 8865
-
Converter top 5 players do gesior pro znote
Salve pessoal, to usando esse template aqui pro znote e eu consegui chegar nesse código aqui (tem que ficar em htdocs/layout/rightside.php) <div class="Themebox"> <div id="Topbar" class="Toplevelbox" style="background-image:url(layout/images/global/themeboxes/rankings/top_level_top.gif);"> <div style="background:url(layout/images/global/themeboxes/rankings/shield.gif);width: 32px;height: 32px;position: relative;margin-left: 5px;margin-top: 1px;"></div> <span class="topleveltext">Top Experience</span> <div id="menusrank"></div> <table style="font-family: sans-serif; font-size: 12px; padding: 0px 12px; height: auto; display: block; background-image:url(./layout/images/global/themeboxes/rankings/box-bg.gif); margin-bottom: 5px; margin-top: -6px"> <?php $cache = new Cache('engine/cache/topPlayer'); if ($cache->hasExpired()) { $players = mysql_select_multi('SELECT `name`, `level`, `experience`, `looktype`, `lookaddons`, `lookhead`, `lookbody`, `looklegs`, `lookfeet` FROM `players` WHERE `group_id` < ' . $config['highscore']['ignoreGroupId'] . ' ORDER BY `experience` DESC LIMIT 5;'); $cache->setContent($players); $cache->save(); } else { $players = $cache->load(); } if ($players) { $count = 1; foreach($players as $player) { echo '<img style="margin-top: -35px; margin-left: -35px;" src="https://outfit-images.ots.me/animatedOutfits1090/animoutfit.php?id='.$player['looktype'].'&addons='.$player['lookaddons'].'&head='.$player['lookhead'].'&body='.$player['lookbody'].'&legs='.$player['looklegs'].'&feet='.$player['lookfeet'].'&g=0&h=3&i=1"></img> <a href="characterprofile.php?name='.$player['name'].'">'.$player['name'].'</a> (<span>' . $player['level'].')<br>'; $count++; } } ?> </table><br> </div> e ficou assim. eu queria que aparecesse o numero de resets dos players tambem e que ordenasse por reset em vez de experiencia queria que ficasse assim (só que aparecendo o numero de resets) O código do box que eu quero é esse aqui (pra gesior 2012) <?php $q = $SQL->query("SELECT `name`, `looktype`, `lookaddons`, `lookhead`, `lookbody`, `looklegs`, `lookfeet`, `level`, `vocation` FROM `players` WHERE `deleted` = 0 AND (`account_id` != 1 AND `group_id` < 3) ORDER BY `level` DESC LIMIT 5")->fetchAll(); if ($q) { $rankImages = array( 1 => "top1.gif", 2 => "top2.gif", 3 => "top3.gif" ) ?> <div id="Topbar" class="Toplevelbox" style="background-image:url(<?PHP echo $layout_name; ?>/images/themeboxes/rankings/top_level_top.gif);"> <div style="background:url(<?PHP echo $layout_name; ?>/images/themeboxes/rankings/shield.gif);width: 32px;height: 32px;position: relative;margin-left: 5px;margin-top: 1px;"></div> <span class="topleveltext">Top Experience</span> <div id="RankingBox" class="Themebox" style="height: auto; display: table; margin-top: -4px;"> <div id="menusrank"></div> <table style="font-family: sans-serif; font-size: 12px; padding: 0px 12px; height: auto; display: block; background-image:url(./<?PHP echo $layout_name; ?>/images/themeboxes/rankings/box-bg.gif); margin-bottom: 5px; margin-top: -6px"> <?php $count = 0; foreach ($q as $v) { $count++; $tmpPlayer = new Player(); $tmpPlayer->find($v['name']); if ($tmpPlayer->isLoaded()) { echo ' <tr style="background-color:'.($count % 2 ? 'rgba(241, 224, 198, 0.6)' : 'rgba(212, 192, 161, 0.6)').';" > <td width="34px;" style="padding:0px; padding-left: 2px;"> <div class="outfitImgtoplevel" style="background-image:url(/outfit.php?id='.$v['looktype'].'&addons='.$v['lookaddons'].'&head='.$v['lookhead'].'&body='.$v['lookbody'].'&legs='.$v['looklegs'].'&feet='.$v['lookfeet'].'&mount=0&direction=3);"></div> </td> <td width="130px;" style="padding:1px; padding-left: 3px;"> <strong style="float: right; font-size: 10px; color: '.($tmpPlayer->isOnline() ? 'green': '#bf2015' ).';"> <i class="fa fa-user" aria-hidden="true"></i> </strong> <a class="top_level" href="?subtopic=characters&name='.$v['name'].'"> <small style="margin-left: -2px;">'.$count.'- </small>'.$v['name'].' </a>'; $tooLongName = ((strlen($tmpPlayer->getName()) > 17) ? '<img src="'.$layout_name.'/images/themeboxes/rankings/'.$rankImages[$count].'" style="float: left;margin-top: -36px;margin-left: -4px;">' : '<img src="'.$layout_name.'/images/themeboxes/rankings/'.$rankImages[$count].'" style="float: left;margin-top: -26px;margin-left: -4px;">'); echo '<div class="levelvoctoplevel"> <small style="font-size: 10px;">'. ($rankImages[$count] ? $tooLongName : '').' <b>'.$v['level'].'</b>, '.htmlspecialchars(Website::getVocationName($v['vocation'], false)).'</small> </div> </td> </tr>'; } } ?> </table><br> <div class="Bottom2" style="background-image:url(<?PHP echo $layout_name; ?>/images/themeboxes/rankings/box-bottom.gif);"></div> </div> </div> <?php } ?> alguém consegue dar uma força ai por favor?
-
Tradeoff Novo
@WooX pfvr me marca lá se possivel
-
Tradeoff Novo
yep, a mudança que eu queria mesmo era poder permitir o player q ta colocando a auction poder escolher o que ele quer em troca do item dele, não só gold coin mas sim qlqr item do jogo
-
Tradeoff Novo
queria tb
- [8.60] The Forgotten Server 0.4 By Fir3Element (SQL and MYSQL)
-
Dedicado..
@luanluciano93 ja tentei na locaweb, eles não permitem host de jogo lá por causa dos constantes ataques ddos, eles cancelam sua vps e pode até dar rolo maior. pelo menos qnd eu tentei uns 5 meses atras, n acredito q tenha mudado
-
(Resolvido)attempt to perform arithmetic on a boolean value SQL
n mexi em nada alem do arquivo das query... vlw man boa noite edit: consegui arrumar, na primeira query ali em vez de "id" era "account_id"