Tudo que Danves postou
-
(Resolvido)MAX de magic lvl 156 como aumentar?
Se o que você pretende é que apos o lv156 de ml custe 30% mais de mana do que custou no level passado, sucessivamente, creio que seria assim
-
(Resolvido)Ajuda meu mega lucario fica com 170de vida
Adiciona ele em algumas das listas do lib/level tables (Se seu server tiver isso)
-
(Resolvido)MAX de magic lvl 156 como aumentar?
Ah, pensei que estava usando um server vazio para testar. Sobre o caso acima, me mande a parte final do relatorio do dbug pra eu ver o que pode ser Bom fiz uma edição diferente, fazendo a condição da ml maxima ser so se o requerimento da mana pro prox nivel for maior que um numero muito, mas muito alto. Coloquei tambem para que se o atual requerimento de mana pra upar for maior que o do proximo(o do magic lv157 nao existe, então seria) Eu mudei pra que continuasse o mesmo requerimento. (Se quiser que aumente mais, coloque tipo amount = CurrReqMana*1.3(aumentar 30% no requerimento de mana a cada magic lv)) Aqui vai.. { amount = currReqMana; } coloque { amount = currReqMana; break; } (eu tirei por acreditar que o break tivesse fazendo o magic level apos atingir aquela condição virasse o nivel máximo.)
-
(Resolvido)MAX de magic lvl 156 como aumentar?
Tenta diminuir a maglevel de quem ja atingiu o limite e/ou diminuir a mana spent(mana gasta) deles
-
(Resolvido)You or your opponent doesn't have that amount of pokemons in their bags! Duel are canceled!
O duel de 1x1 pokemon sempre volta esse erro, A MENOS QUE eu tenha 6 pokes. É como se o test tivesse sendo 5 pokes a mais, pois quando eu coloco pra ir 1x1 de 2 pokes, mesmo com 6 volta esse erro, como se precisasse de 7. Já abri todos os arquivos da lib procurando por essa frase, todos da creaturescripts, todos da action.. Eu pensei que era no order, pois lá tem outras como "you need a pokemon to invite someone in a duel!" Mas não tem essa daí. Na verdade tem outra: local pokes = getLivePokeballs(cid, getPlayerSlotItem(cid, 3).uid, true) if #pokes < getPlayerStorageValue(player, 52481) then return doPlayerSendTextMessage(cid, 20, "You need atleast ".. getPlayerStorageValue(player, 52481).." pokemons to duel with this person!") end Sendo que não é essa que vai no jogo ._. E sim, eu to abrindo o servidor certo. Ja mudei a mensagem do invite e realmente mudou in-game.
-
Hotkeys iniciais no OTC
Olá, queria saber onde eu configuro pra deixar a hotkey inicial de um personagem ser tipo do f1 ao f12 preenchido com m1 a m12. Valeu.
-
(Resolvido)MAX de magic lvl 156 como aumentar?
- Somente 1 jogador na sala, tipo a Arena do global
Olá, eu queria um script onde somente 1 jogador pudesse ficar dentro da sala igual a Arena de Svargrond, onde existe várias salas com boss e se alguém tentar entrar pelo tp nela não dá, até que o jogador da sala seguinte vá embora. No caso preciso também que se alguém ficar mais que 1 minuto na sala, ele seja teleportado pra X lugar.- Dúvida nessa Spell
Já tentou usar a spell em player sem estar com o pokemon sumonado? Por ser poketibia os players podem tá com imunidade de condition enquanto tiver com o pokemon vivo, algo do tipo. Só sei que é algo do server.- (Resolvido)[Ajuda] Colocar pausa de tempo entre os laços do for
Mesma coisa no life. Mas valeu pelas tentativas, eu acho que ele executa todos os testes quando lança a spell, e não no momento dos eventos, isso que não soluciona. Por isso procurava uma pausa de tempo na execução do for.- (Resolvido)[Ajuda] Colocar pausa de tempo entre os laços do for
Mesmo erro.- (Resolvido)[Ajuda] Colocar pausa de tempo entre os laços do for
Fica aparecendo attempt to perform arithmetic on local 'life' (a boolean value) Quando o target morre. Aparece no log o numero de vezes que falta pra terminar o for.- (Resolvido)[Ajuda] Colocar pausa de tempo entre os laços do for
elseif spell == "Leech Seed" then setPlayerStorageValue(cid, 498587, 1) for var = 1,10 do if not target then break end addEvent(function() if getPlayerStorageValue(cid, 498587) == 1 then local life = getCreatureHealth(target) doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 1) doAreaCombatHealth(cid, GRASSDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 14) local newlife = life - getCreatureHealth(target) doSendMagicEffect(getThingPosWithDebug(cid), 12) doSendMagicEffect(getThingPosWithDebug(target), 45) if newlife >= 1 then doCreatureAddHealth(cid, newlife) doSendAnimatedText(getThingPosWithDebug(cid), "+"..newlife.."", 32) end end end, 1000*var) end (O storage foi algo que pus em outros scripts pra quando o player puxar o summon de volta ou deslogar ele mudar o storage pra -1, evitando outros bugs da spell)- (Resolvido)[Ajuda] Colocar pausa de tempo entre os laços do for
Mas aí no momento da spell ele tinha target, então não dá break e encomenda todos os addevents da spell que suga hp, porem no segundo que executar algum addevent encomendado o target pode ter morrido, e isso causa creature not found. Por isso queria uma pausa por tempo em cada laço do for.- (Resolvido)[Ajuda] Colocar pausa de tempo entre os laços do for
Possuo um script que suga o HP do target varias vezes, mas se o target morre fica dando creature not found, etc. Coloquei verificação se tem target no evento, ta tudo certo, mas no for ele roda tudo de uma só vez, então mesmo a magia sendo pausada colocando tempo no addevent, o for não pausa, apenas encomenda tudo de uma só vez. Queria que colocasse uma pausa entre os laços, por exemplo: For de 1 a 10. Ele testa tudo que está no script, executa e espera 1 segundo para passar para o 2. E assim sucessivamente. @Edit: Se souber, apenas posta a função da pausa que eu encaixo no script.- [Ajuda] Defense bugado (Não sei se todos OT daqui são assim)
Complicado, já mexi tanto nessa base que nem faço ideia do que tanto mexi. E é o único bug que encontrei faltando nela (o resto eu já tinha solucionado).- [Ajuda] Defense bugado (Não sei se todos OT daqui são assim)
z- [Pedido] Barra que troca de Pokémon
Queria tb haha- 3 Perguntas sobre o otclient
Provavelmente em modules >game_interface>gameinterface.lua, mas não sei mexer pra adicionar esse comando como usar a fishing rod Talvez algum comando que esteja em game_menutop >mod_topmenu.lua- 3 Perguntas sobre o otclient
1. Vai em modules > client > client.lua, abra e procure onde tiver g_window.setTitle Em frente vai estar o nome atual, mude para o que você deseja. 2. Geralmente fica em modules > game_pokemoves > moves_icon As imagens da cdbar.. Se tiver, basta colocar os scripts de cdbar no server..- 3 Perguntas sobre o otclient
3. Vá em data/talkaction/scripts copie qualquer arquivo.lua e renomeio para talkClan e cole isso dentro agora no talkaction.xml adicione essa tag: <talkaction words="#getSto#" event="script" value="talkClan.lua"/> Vá na pasta data/talkaction/scripts copie outro arquivo.lua e renomeio para fightMode e cole isso dentro No talkaction: <talkaction words="#f#ightmode" event="script" value="fightMode.lua"/>- [Ajuda] Treinadores estão podendo se matar.
up- [Ajuda] Treinadores estão podendo se matar.
up. Acho que errei no título do tópico, seria melhor "Os treinadores estão podendo matar os pokemons dos outros".- [Ajuda] Treinadores estão podendo se matar.
Olá, peguei base da versão do PGalaxy do Wolf (http://www.tibiaking.com/forum/topic/39811-854-servidor-galaxy-pokeot/) E como não tive respostas corretas de como resolver do mesmo, resolvi pedir ajuda aos demais do fórum. O server vem como "non-pvp", mas mesmo em duelo, não tem como se atacarem, somente na arena pvp(que ainda nao tem como deixar target nos players, mas o AOE dos poke acerta eles). Se eu mudo para "pvp", todos podem atacar os pokemons dos outros(ainda não podem matar outros players, e as aoe não acertam os players). Config.lua storagesDuel = {52480, 52481, 52482, 52482, 52483, 52484, 52485, 6598754} --[[ Lista das storages Duel! 52480 = sto de duelo e do modo de duel; 52481 = sto de pokes no duel; 52482 = sto do seu time; 52483 = sto do time adversario; 52484 = sto de aceitaçao de duel e do começo do duel; 52485 = sto do nome do 'invitador'; 6598754 = sto do canAttackOther; ]] function beginDuel(cid, n) if getPlayerStorageValue(cid, 52482) == -1 or getPlayerStorageValue(cid, 52483) == -1 then return true end local t1 = string.explode(getPlayerStorageValue(cid, 52482), ",") local t2 = string.explode(getPlayerStorageValue(cid, 52483), ",") local sto2, sto3 = getPlayerStorageValue(cid, 52482), getPlayerStorageValue(cid, 52483) if n == 0 then for i = 1, #t1 do local pid, sid = getPlayerByName(t1), getPlayerByName(t2) if isCreature(pid) and getPlayerStorageValue(pid, 52480) >= 1 then setPlayerStorageValue(pid, 6598754, 5) setPlayerStorageValue(pid, 52482, sto2) setPlayerStorageValue(pid, 52483, sto3) setPlayerStorageValue(pid, 52484, 10) end --- if isCreature(sid) and getPlayerStorageValue(sid, 52480) >= 1 then setPlayerStorageValue(sid, 6598754, 10) setPlayerStorageValue(sid, 52482, sto2) setPlayerStorageValue(sid, 52483, sto3) setPlayerStorageValue(sid, 52484, 10) end --- doSendAnimatedText(getThingPosWithDebug(pid), "START", 215) doSendAnimatedText(getThingPosWithDebug(sid), "START", 215) end return true else for i = 1, #t1 do local pid, sid = getPlayerByName(t1), getPlayerByName(t2) if isCreature(pid) and getPlayerStorageValue(pid, 52480) >= 1 then doSendAnimatedText(getThingPosWithDebug(pid), (n == 6 and "" or ""..n.."!"), 215) end if isCreature(sid) and getPlayerStorageValue(sid, 52480) >= 1 then doSendAnimatedText(getThingPosWithDebug(sid), (n == 6 and "" or ""..n.."!"), 215) end end n = n-1 end addEvent(beginDuel, 1000, cid, n) end function removeFromTableDuel(cid, value) if not isCreature(cid) then return true end local t1 = string.explode(getPlayerStorageValue(cid, 52482), ",") local t2 = string.explode(getPlayerStorageValue(cid, 52483), ",") table.remove(t1, table.find(t1, value) or -1) table.remove(t2, table.find(t2, value) or -1) --- local str1, str2 = "", "" for i = 1, 3 do if t1 then str1 = str1..(t1 or "").."," end if t2 then str2 = str2..(t2 or "").."," end end setPlayerStorageValue(cid, 52482, str1) setPlayerStorageValue(cid, 52483, str2) return true end function isDuelingAgainst(cid, pid) if not isCreature(cid) or not isCreature(pid) then return false end ----- local t1 = string.explode(getPlayerStorageValue(cid, 52482), ",") local t2 = string.explode(getPlayerStorageValue(cid, 52483), ",") ----- local name1, name2 = getCreatureName(cid), getCreatureName(pid) ----- if table.find(t1, name1) ~= nil and table.find(t2, name2) ~= nil then return true elseif table.find(t2, name1) ~= nil and table.find(t1, name2) ~= nil then return true end return false end function doEndDuel(cid, desisto) if isCreature(cid) then if getPlayerStorageValue(cid, 52482) ~= -1 then t1 = string.explode(getPlayerStorageValue(cid, 52482), ",") t2 = string.explode(getPlayerStorageValue(cid, 52483), ",") end local invit = getPlayerByName(getPlayerStorageValue(cid, 52485)) if isCreature(invit) then table1 = string.explode(getPlayerStorageValue(invit, 52482), ",") table2 = string.explode(getPlayerStorageValue(invit, 52483), ",") end if getPlayerStorageValue(cid, 52484) ~= 10 then if getPlayerStorageValue(cid, 52482) ~= -1 then for a = 1, 3 do local pid, sid = getPlayerByName(t1[a]), getPlayerByName(t2[a]) if isCreature(pid) then doCreatureSetSkullType(pid, 0) doRemoveCondition(pid, CONDITION_INFIGHT) end if isCreature(sid) then doCreatureSetSkullType(sid, 0) doRemoveCondition(sid, CONDITION_INFIGHT) end for i = 1, #storagesDuel do if isCreature(pid) then setPlayerStorageValue(pid, storagesDuel, -1) end if isCreature(sid) then setPlayerStorageValue(sid, storagesDuel, -1) end end end else for i = 1, #storagesDuel do setPlayerStorageValue(cid, storagesDuel, -1) end doCreatureSetSkullType(cid, 0) doRemoveCondition(cid, CONDITION_INFIGHT) --------------------------------- if table2 then local numero = 0 for i = 1, #table2 do local ppid = getPlayerByName(table2) if not isCreature(ppid) or getPlayerStorageValue(ppid, 52480) ~= -1 then numero = numero+1 end end if numero == 0 then doEndDuel(invit) sendMsgToPlayer(invit, 20, "The opponents are give up! Duel is canceled!") end end -------------------------------- end if desisto then doSendAnimatedText(getThingPosWithDebug(cid), "GIVE UP", COLOR_BLUE) end return true end for a = 1, #t1 do local pid, sid = getPlayerByName(t1[a]), getPlayerByName(t2[a]) removeFromTableDuel(pid, getCreatureName(cid)) removeFromTableDuel(sid, getCreatureName(cid)) end local t3 = string.explode(getPlayerStorageValue(cid, 52482), ",") local t4 = string.explode(getPlayerStorageValue(cid, 52483), ",") if (#t3 == 0 and #t4 >= 1) or (#t4 == 0 and #t3 >= 1) then for j = 1, (#t3 > 0 and #t3 or #t4) do local winner = #t3 > 0 and getPlayerByName(t3[j]) or getPlayerByName(t4[j]) if isCreature(winner) then addEvent(doSendAnimatedText, 500, getThingPosWithDebug(winner), "WIN", COLOR_ELECTRIC) for i = 1, #storagesDuel do setPlayerStorageValue(winner, storagesDuel, -1) end doCreatureSetSkullType(winner, 0) doRemoveCondition(winner, CONDITION_INFIGHT) end end addEvent(doSendAnimatedText, 500, getThingPosWithDebug(cid), "LOSE", COLOR_BURN) for i = 1, #storagesDuel do setPlayerStorageValue(cid, storagesDuel, -1) end doCreatureSetSkullType(cid, 0) doRemoveCondition(cid, CONDITION_INFIGHT) else for i = 1, #storagesDuel do setPlayerStorageValue(cid, storagesDuel, -1) end doCreatureSetSkullType(cid, 0) doRemoveCondition(cid, CONDITION_INFIGHT) if desisto then doSendAnimatedText(getThingPosWithDebug(cid), "GIVE UP", COLOR_BLUE) else addEvent(doSendAnimatedText, 500, getThingPosWithDebug(cid), "LOSE", COLOR_BURN) end end end end function checkDuel(cid) if getPlayerStorageValue(cid, 52484) ~= 10 then return true end if getPlayerStorageValue(cid, 52481) >= 1 then setPlayerStorageValue(cid, 52481, getPlayerStorageValue(cid, 52481)-1) doSendAnimatedText(getThingPosWithDebug(cid), "POKE DOWN", 65) end if getPlayerStorageValue(cid, 52481) == 0 then doEndDuel(cid) end end --/////////////////////////////////////////////////////////////////////////////////////////////-- Precisar de outro arquivo só pedir. Grato desde já.- [PEDIDO] Icon system completo
Também estou haha, up pro tópico. - Somente 1 jogador na sala, tipo a Arena do global
Informação Importante
Confirmação de Termo