
Tudo que Rusherzin postou
-
Ajuda com code de baú [action id, por vocation]²
Não testei esse código, mas fiz rapidinho aqui no site mesmo: local cfg = { -- vocs id qtd id qtd [1] = {{4,8}, {{2430, 1}, {2380, 1}}}, [2] = {{3,7}, {{2173, 1}, {2380, 1}}}, [3] = {{1,5}, {{2189, 1}, {2380, 1}}}, [4] = {{2,6}, {{8857, 1}, {7380, 5}}} } function onUse(cid, item) local voc = getPlayerVocation(cid) if getPlayerStorageValue(cid, 38493) < 1 then for i,v in ipairs(cfg) do if voc == v[1][1] or voc == v[1][2] then for p=1, #v[2] do doPlayerAddItem(cid, v[2][p][1], v[2][p][2]) end doPlayerSendTextMessage(cid, 25, "Congratulations!!") doPlayerSetStorageValue(cid, 38493, 1) end end else doPlayerSendCancel(cid, "It's empty.") end return true end Adicionei ao código uma parte que tu pode adicionar a quantidade de cada item. Se não entender como configurar o, só perguntar aqui, mas eu comentei para que ficasse mais fácil de entender a tabela.
-
(Resolvido)Anel que não perde exp's
Tenta assim. Dá para usar o math.random numa boa sim. function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if isPlayer(cid) == true then if (getPlayerSlotItem(cid, 9).itemid == 11387) then if (math.random(1, 100) >= 51) then pos = getCreaturePos(cid) doCreatureSetDropLoot(cid, false) doPlayerSetLossPercent(cid, PLAYERLOSS_SKILLS, 0) doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) doPlayerSetLossPercent(cid, PLAYERLOSS_MANA, 0) doSendMagicEffect(pos, 49) end end end return true end
-
equipe pra abrir site de anime
Eu gostaria de ajudar, sempre quis fazer parte de um mas nunca soube por onde começar.
-
Error ao criar guild
O código-fonte é a source mesmo. Tem com passar o arquivo SQL que está usando?
-
Error ao criar guild
Tem um script executando essa query (npc, talkaction..) ou é algo na source mesmo? Realmente estranho a query não conter "Leader" e estar dando esse erro, se tiver o código-fonte será mais fácil de resolver o erro.
-
Spell Errp
Posta o script da spell.
-
Max Level
Qual a versão do tfs?
-
Erro na database
Executa essas queries na aba SQL do teu PhpMyAdmin. ALTER TABLE `player_items` ADD `serial` VARCHAR (50) NOT NULL; ALTER TABLE `players` ADD `broadcasting` INT(11) DEFAULT 0;
-
armadura com +5% protect all condition ?
Acredito que seja só usar essa tag no item: <attribute key="absorbPercentAll" value="5"/>
-
Erro no ServerInfo
É, o problema é nas stages. Posta o arquivo stages.xml e o serverinfo.php completo.
-
[ERRO] Shop Globalevents
Tentou com db.executeQuery? Se não der certo, tenta botar db.getResult, não é o mais indicado a se fazer, mas acredito que vá editar o banco de dados anyway.
-
Erro no ServerInfo
Acho que esse erro é na parte de mostrar as stages, mas posta as linhas 40~50 do arquivo para termos certeza do que é.
-
Script House
Ah, sim, entendi. Qual script que tu achou? Posta ele aí para vermos se é possível adaptá-lo.
-
Script House
Não é só botar true no houseNeedPremium do config.lua?
-
Todo mundo entra no meu OT, menos eu.
Já tentou deixar o ip fixo e entrar usando o 127.0.0.1?
-
Max Level
Tenta algo assim (não testei): function onAdvance(player, skill) if skill == SKILL_LEVEL and player:isPlayer() then if player:getLevel() > 600 then player:addExperience(3564169800 - player:getExperience()) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Max level is 600!') end end return true end Só uma observação, não sei qual é a função para pegar a experiência necessária para certo level nessa versão do TFS, então peguei a exp 3564169800 (level 600) no site do Tibia e adicionei manualmente.
-
NPC cobrando 20 a mais em toda compra
Não clicou com o botão direito e marcou a opção "buy with backpacks"? Essa opção vende itens dentro de uma backpack (que custa 20 gold coins), é só clicar com botão direito e clicar em "buy with no backpacks".
-
Erro item.xml
Acha o que o erro é que tu estás fechando a tag duas vezes. Em xml, isso: <item id="14767" article="a" name="Woman Decorative"/> É equivalente a isso: <item id="14767" article="a" name="Woman Decorative"> </item> Então, ou tu fechas na própria linha com uma barra "/" ou tu fechas com </item>. Creio que a solução mais prática seja assim: <item id="14507" article="a" name="new big wooden table"/> <item id="14767" article="a" name="Woman Decorative"/> <item id="14768" article="a" name="Dark Decorative"/> <item id="14769" article="a" name="Skier Decorative"/>
- [ AJUDA ] ERRO CODIGO C++ SIMPLES
- STEP 4 Add samples to DB: to com "erro"
-
Como Consertar - Ofertas no Shop!
Está deixando o id igual a 0? Se sim, pode ser isso, tenta botar algum outro id.
-
(Resolvido)Query/Tabela para sqlite z_ots_guildcomunication
CREATE TABLE "z_ots_guildcomunication" ( "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" VARCHAR(255) NOT NULL, "type" VARCHAR(255) NOT NULL, "action" VARCHAR(255) NOT NULL, "param1" VARCHAR(255) NOT NULL, "param2" VARCHAR(255) NOT NULL, "param3" VARCHAR(255) NOT NULL, "param4" VARCHAR(255) NOT NULL, "param5" VARCHAR(255) NOT NULL, "param6" VARCHAR(255) NOT NULL, "param7" VARCHAR(255) NOT NULL, "delete_it" INTEGER(2) NOT NULL DEFAULT '1' )
-
Widget Upcoming Events para tfs 1.2
Coloque isso no config.php. (e configure de acordo com os dias da semana e a hora do evento) Mon, Tue, Wed, Thu, Fri, Sat, Sun são Segunda, Terça, Quarta, Quinta, Sexta, Sábado e Domingo, respectivamente. $config['site']['event_count'] = array("CTF Event" => array("Mon,Tue,Wed,Thu,Fri,Sat,Sun", "13:08"), "Battlefield Event" => array("Tue,Wed,Thu,Fri,Sat,Sun", "16:18"), "Zombie Event" => array("Tue,Wed,Thu,Fri,Sat,Sun", "16:50"), "Snowball Event" => array("Tue,Wed,Thu,Fri,Sat,Sun", "17:50") ); E no layout.php, no local dos widgets, coloque isso: <script> var _0x407d=["\x66\x6C\x6F\x6F\x72","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x63\x6F\x75\x6E\x74\x64\x6F\x77\x6E","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x30","\x3A","\x65\x76\x65\x6E\x74\x43\x6F\x75\x6E\x74\x28","\x2C\x20\x27","\x27\x29","\x45\x76\x65\x6E\x74\x20\x4F\x70\x65\x6E\x65\x64\x2E"];function eventCount(_0x473dx2,_0x473dx3){var _0x473dx4;var _0x473dx5=_0x473dx2- 1;var _0x473dx6=_0x473dx3;var _0x473dx7=Math[_0x407d[0]](_0x473dx5/ 60/ 60);var _0x473dx8=Math[_0x407d[0]]((_0x473dx5- _0x473dx7* 3600)/ 60);var _0x473dx9=Math[_0x407d[0]]((_0x473dx5- (_0x473dx8* 60)- (_0x473dx7* 3600)));if(_0x473dx5> 0){document[_0x407d[3]](_0x407d[2]+ _0x473dx6)[_0x407d[1]]= (_0x473dx7< 10?_0x407d[4]+ _0x473dx7:_0x473dx7)+ _0x407d[5]+ (_0x473dx8< 10?_0x407d[4]+ _0x473dx8:_0x473dx8)+ _0x407d[5]+ (_0x473dx9< 10?_0x407d[4]+ _0x473dx9:_0x473dx9);_0x473dx4= setTimeout(_0x407d[6]+ _0x473dx5+ _0x407d[7]+ _0x473dx6+ _0x407d[8],1000)}else {document[_0x407d[3]](_0x407d[2]+ _0x473dx6)[_0x407d[1]]= _0x407d[9];cleanTimeOut(_0x473dx4)}} </script> <div id="NetworksBox" class="Themebox" style="background-image:url(<?PHP echo $layout_name;?>/images/themeboxes/events.png);"> <?php echo '<div style="padding-top:40px;">'; foreach($config['site']['event_count'] as $key => $datearray){ $dates = explode(",", $datearray[0]); $datesave = array(); $i=0; foreach($dates as $date){ if(in_array(date("D", strtotime("now")), $dates)){ if(date("H:i", strtotime("now")) > $datearray[1]){ $datesave[$i] = strtotime("next ".$date.$datearray[1])-time(); $i++; } else{ $datesave[0] = strtotime(date("Y-m-d", time())." ".$datearray[1]) - time(); } } else { $datesave[$i] = strtotime("next ".$date.$datearray[1])-time(); $i++; } } echo '<center><div style="font-size:14px;"><b>'.$key.'</b></div><div style="font-size:14px;" id="countdown'.$key.'"></div>'; echo "<script>eventCount(".min($datesave).",'".$key."')</script>"; } echo '</center></div>'; ?> <div class="Bottom" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/box-bottom.gif);"></div> </div> A imagem que usei foi essa que está abaixo. Coloque-a em layouts/images/themeboxes/.
-
Widget Upcoming Events para tfs 1.2
Okay, farei amanhã, não prometo nada idêntico ou perfeito, mas funcional.
-
Spell que usa distance effects ao inves de effect.
Esqueci de postar o script que fiz. Bom, não é nada complexo ou bem-feito, mas é um começo. Se tiver algumas ideias de magia, eu posso fazer algo mais elaborado. Coloque essas duas funções no final do arquivo lib/050-function.lua. function getNextTiles(playerPos) local sx = {-1, -1, 0, 1, 1, 1, 0, -1} local sy = {0, 1, 1, 1, 0, -1, -1, -1} local positions = {} for i=1, #sx do local positiontable = {x=playerPos.x+sx[i], y=playerPos.y+sy[i], z=playerPos.z} table.insert(positions, positiontable) end return positions end function aroundEffect(time, mindmg, maxdmg, effect, const, i, cid) local table = getNextTiles(getCreaturePosition(cid)) local lastpos = (tonumber(i) == 1) and table[#table] or table[i-1] if (i<=8) then local thing = getThingfromPos({x=table[i].x, y=table[i].y, z=table[i].z, stackpos=253}) doSendDistanceShoot(lastpos, table[i], effect) doSendMagicEffect(table[i], const) if (thing.itemid > 0) then local dmg = math.abs(math.random(mindmg, maxdmg)) doCreatureAddHealth(thing.uid, -dmg) doSendAnimatedText(table[i], "-"..dmg, 180) end lastpos = table[i] return addEvent(aroundEffect, time, time, mindmg, maxdmg, effect, const, i+1, cid) else return false end end E no arquivo da spell ficaria basicamente assim: function onCastSpell(cid, var) aroundEffect(1, 100, 500, 3, CONST_ME_FIREATTACK, 1, cid) end Para configurar é só editar os parâmetros: aroundEffect(time, mindmg, maxdmg, effect, const, i, cid) time = tempo entre cada efeito da magia em milisegundos (1000 = 1 segundo) (esse tempo multiplicado por 8 vai ser o tempo de execução da magia) mindmg = dano mínimo maxdmg = dano máximo effect = o efeito missile que será usado const = o segundo efeito (pode encontrar uma lista deles em lib/000-constant.lua) i = coloca sempre 1 (coloquei isso antes para outra parte da ideia) cid = deixa cid também