
Tudo que Snowsz postou
-
Otclient branco
É o seguinte, quero saber como fazer pra usar o otclient "opengl", pois quando uso ele, fica todo branco, já directx9 fica normal como qualquer outro client do tibia, alguém me ajuda ?
-
[Ajuda Urgente] Quando eu deslogo todos os meus items desloga
Não fique postando qualquer besteirinha cara, é considerado flood, testa e posta, não precisa avisar que vai testar, se funcionou posta, e da melhor resposta pra quem ajudo, se não funciono posta o erro aqui para ajuda-lo entendeu ?
-
Barra de mana ou imagem
O danado no caso eu quero pro OTC mesmo , ajuda ai kk
-
Barra de mana ou imagem
Então como que eu faço... Não sou programador c++ ainda...
-
Barra de mana ou imagem
Bom, queria saber como colocar uma barra de mana em baixo da barra de hp do player, o nome em cima, hp em baixo, e mana em baixo do hp, se possível, se não, se puder ter algum modo de adicionar uma imagem em cima do nome do player também seria ótimo, tudo isso no OTC, e tenho as sources do server só para avisar, se possível também, algo relacionado a summon ou imagem ou barra, podendo ser alterado por algo como storage ou função, alguém pode me ajudar ? Barra de mana: Vermelho é o hp, azul é a mana, o hp está vermelho por que copiei a imagem não lembro da onde mas tava no pc
-
Cassino Script HELP
Nem percebi direito pois li com pressa, estava na área errada, desculpa, era pra ter avisado, e mais uma coisa, nem percebi que era pra Ibot, pensei ser script normal de tibia, não posso ajudar.
-
Cassino Script HELP
Então faça assim, poste este script para possíveis edições
-
[TUTORIAL] (GOD) Ambient Light
Agora va na pasta data\talkactions e adicione essa tag ao arquivo talkactions.xml: <talkaction words="/light" event="script" access="5" value="godLight.lua"/> Agora va na pasta data\talkactions\scripts e crie um arquivo chamado godLight.lua e coloque isso dentro: Pronto! Seu sistema está instalado. Se vc quiser que qualquer pessoa possa usar esse sistema, basta fazer o seguinte: E ao invés de colocar a tag (que está aí em cima) em talkactions.xml, coloque essa: <talkaction words="/light" event="script" value="godLight.lua"/> E isso é tudo, pessoal! Um sistema simples mas que pra alguns tem bastante utilidade. Em breve trarei novos tutoriais! Se tiverem alguma sugestão, podem mandar por pm. Na verdade isto vai fazer com que o god vire uma "tocha humana", não vai ser só a visão dele, pois, se ele estiver de /ghost perto de algum player será detectado por emitir luz, não é como visão noturna, mas é um bom script, sendo assim, o certo não seria a área de Sistemas e Mods ?
-
[Sistema] AttackSpeed - Sem source
Obrigado por avisar, está corrigido, e, por isso mesmo que eu puis no globalevents, intervalo de 2 segundos para poder agir
-
[Sistema] AttackSpeed - Sem source
Obrigado, quando eu não sabia o quanto sei hoje sobre lua, só vinha erro, erro e erro no console rsrs, pelo menos estou no nível que consegui fazer isso sem ficar dando algum erro, estou feliz por isso, pois era um objetivo que eu tinha, "attackspeed sem sources".
-
[Sistema] AttackSpeed - Sem source
Bom, postei este tópico nessa área e não em globalevents por que não considero que lá deem muitas visualizações em globalevents, não é por que quero ganhar reputação ou algo do tipo, mas para ajudar quem precisa de tal coisa. Resumindo: Este script é um globalevent que a cada 2 segundos muda o attackspeed de um item conforme o skill fist fighting do player, funcionando como um sistema de attackspeed com source, quanto mais skill, mais rápido ele ataca, mas como este sistema não utiliza sources, eu fiz o melhor que eu pude. Testado em um TFS 0.4 Lag: Não se se irá causar lag, pouco lag, ou muito lag, eu fiz em globalevent por causa do seu intervalo que pode ser configurável para mais ou para menos, não pensei muito em usar o creatureevent por conta que o onThink ou onAttack fica se repetindo a cada meio segundo se não me engano, então, preferi fazer desta forma. Instalação: Na pasta globalevents/scripts crie um arquivo com extensão .lua com nome de playerattackspeed(ficando playerattackspeed.lua) e ponha isso dentro: function onThink(interval) local multi = 20 local skill = 0 for _, pid in ipairs(getPlayersOnline()) do local slotLeft, slotRight = getPlayerSlotItem(pid, CONST_SLOT_LEFT), getPlayerSlotItem(pid, CONST_SLOT_RIGHT) if isCreature(pid) then if slotLeft.uid > 0 then if (multi*getPlayerSkill(pid, skill)) >= 1999 then doItemSetAttribute(slotLeft.uid, "attackspeed", 1) else doItemSetAttribute(slotLeft.uid, "attackspeed", 2000-(multi*getPlayerSkill(pid, skill))) end elseif slotRight.uid > 0 then if (multi*getPlayerSkill(pid, skill)) >= 1999 then doItemSetAttribute(slotRight.uid, "attackspeed", 1) else doItemSetAttribute(slotRight.uid, "attackspeed", 2000-(multi*getPlayerSkill(pid, skill))) end end end end return true end Agora volte uma pasta e vá só para globalevents lá você encontrará um arquivo chamado globalevents com extensão .xml(sendo globalevents.xml) nele adicione a tag antes das duas últimas linhas: <globalevent name="PlayerAttackSpeed" interval="2000" event="script" value="playerattackspeed.lua"/> Bom, o script foi instalado com sucesso. Configuração: No arquivo com extensão final .lua você pode modificar o id do skill em "local skill = 0", 0 significa o skill fist fighting, você pode ir alternando Ainda no arquivo com extensão final .lua pode-se alterar o "local multi = 20", o 20 é a multiplicação do skill, ou seja, skill x 20, quando o skill configurado(eu deixei fist fighting) atingir 100 com o multi em 20, ele chegará ao máximo de attackspeed, após isso mesmo que ele pegue skill 1000 continuará essa mesma velocidade por conta de limitações que o tibia impõe nas suas sources, se quiser que ele ataque ainda mais rápido deverá mudar se não me engano só uma linha nas sources. Agora no arquivo globalevents.xml você pode alterar a tag, mudando interval, 1000 é igual a um segundo, ou seja, no script ta configurado para a cada 2 segundos alterar o attackspeed conforme a configuração, você pode alterar para quanto quiser, lembre-se 1000 é um segundo, ou seja, se colocar 5000 fica 5 segundos de intervalo para o script agir. Espero que gostem! Talvez quando eu estiver mais avançado em lua eu possa criar uma segunda versão que possa atacar mais rápido, mas, no momento nem penso nisso Versão Creaturescripts - Créditos: detoneitormen (Obs: Não testei esta versão, só copiei do modo que ele escreveu.) function onThink(cid, interval) local multi = 200 local skill = 2 local limite = 99 local slotLeft, slotRight = getPlayerSlotItem(cid, CONST_SLOT_LEFT), getPlayerSlotItem(cid, CONST_SLOT_RIGHT) if last_interval == nil then last_interval= os.clock() end if (os.clock() - last_interval) > 1 then if slotLeft.uid > 0 then if (multi*getPlayerSkill(cid, skill)) >= limite then doItemSetAttribute(slotLeft.uid, "attackspeed", 1) else doItemSetAttribute(slotLeft.uid, "attackspeed", 2000-(multi*getPlayerSkill(cid, skill))) end elseif slotRight.uid > 0 then if (multi*getPlayerSkill(cid, skill)) >= limite then doItemSetAttribute(slotRight.uid, "attackspeed", 1) else doItemSetAttribute(slotRight.uid, "attackspeed", 2000-(multi*getPlayerSkill(cid, skill))) end end last_interval= os.clock() return true end return false end A configuração é igual a minha versão, só muda a variável "limite" e "multi", para deixar igual ao meu, basta trocar: Isso: local limite = 99 Por isso: local limite = 1999 E isso: local multi = 200 Por isso: local multi = 20 Obrigado detoneitormen.
-
Atributo de item
@UP
-
(Resolvido)Quest Log: Dúvida Rápida
Dá para fazer um novo jogo de storages, só vai custar mais uma, faz assim, quando alcançar level 10, que terminar esta missão, poe para ganhar uma storage diferente da de level 20, dai quando chegar no level 20 checa se tem essa storage, se tiver, adiciona a storage certa do level 20, é simples
-
2 Pedidos De Script
Editei e puis essa besteirinha, no efeitoplayer é o efeito de tp no player, e efeitopoke é o efeito de tp no poke local efeitoplayer = 29 local efeitopoke = CONST_ME_TELEPORT local poke = {"Shiny Xatu", "Jynx", "Shiny Jynx", "Xatu", "Natu", "Exeggutor", "Slowking", "Slowbro", "Shiny Mr. Mime", 'Mew', 'Mewtwo', 'Abra', 'Kadabra', 'Alakazam', 'Drowzee', 'Hypno', 'Mr. Mime', 'Porygon', 'Shiny Abra', 'Shiny Alakazam', 'Shiny Hypno', 'Porygon2'} --alterado v1.9 local etele = 222468 local cdtele = 1800 local config = { premium = false, -- se precisa ser premium account (true or false) battle = true -- se precisa estar sem battle (true). Se colocar false, poderá usar teleport no meio de batalhas } local places = { [1] = {name = "Saffron", id = 1, sto = 897530}, [2] = {name = "Cerulean", id = 2, sto = 897531}, [3] = {name = "Lavender", id = 3, sto = 897532}, [4] = {name = "Fuchsia", id = 4, sto = 897533}, [5] = {name = "Celadon", id = 5, sto = 897534}, [6] = {name = "Viridian", id = 6, sto = 897535}, --alterado v1.7 [7] = {name = "Vermilion", id = 7, sto = 897536}, [8] = {name = "Pewter", id = 8, sto = 897537}, [9] = {name = "Pallet", id = 18}, [10] = {name = "Cinnabar", id = 9, sto = 897538}, [11] = {name = "Snow", id = 10, sto = 897539}, } function onSay(cid, words, param) if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "Você precisa de um pokemon para usar teleporte.") return true end if not isInArray(poke, getCreatureName(getCreatureSummons(cid)[1])) then return 0 end if getPlayerStorageValue(cid, 22545) == 1 then --golden arena doPlayerSendCancel(cid, "Você não pode fazer isso enquanto esta na golden arena!") return true end if getPlayerStorageValue(cid, 212124) >= 1 then --alterado v2.6 return doPlayerSendCancel(cid, "Você não pode fazer isso com um pokemon com a mente controlada!") end if getPlayerStorageValue(cid, 52480) >= 1 then return doPlayerSendCancel(cid, "Você não pode teleporta enquanto um duelo!") --alterado v2.6 end if exhaustion.get(cid, etele) and exhaustion.get(cid, etele) > 0 then local tempo = tonumber(exhaustion.get(cid, etele)) or 0 local min = math.floor(tempo) doPlayerSendCancel(cid, "Seu pokemon está cansado, espere "..getStringmytempo(tempo).." para se teletransportar novamente.") return true end if config.premium and not isPremium(cid) then doPlayerSendCancel(cid, "Somente usuários especiais estão autorizados a usar teleportet.") return true end if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendCancel(cid, "Os seus pokemon não consegue se concentrar durante as batalhas.") return true end if (param == '') then local str = "" str = str .. "Places to go :\n\nHouse\n" for a = 1, #places do str = str..""..places[a].name.."\n" end doShowTextDialog(cid, 7416, str) return true end local item = getPlayerSlotItem(cid, 8) local nome = getPokeballName(item.uid) local summon = getCreatureSummons(cid)[1] local lastppos = getThingPos(cid) local lastspos = getThingPos(summon) local telepos = {} local myplace = "" local townid = 0 if string.lower(param) == "house" then if not getHouseByPlayerGUID(getPlayerGUID(cid)) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não é dono de uma casa.") return true end telepos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid))) myplace = "our home" else for x = 1, #places do if string.find(string.lower(places[x].name), string.lower(param)) then townid = places[x].id myplace = places[x].name end end if myplace == "" then doPlayerSendCancel(cid, "Esse lugar não existe.") return true end end if myplace ~= "" and townid > 0 then telepos = getTownTemplePosition(townid) end if getDistanceBetween(getThingPos(cid), telepos) <= 15 then doPlayerSendCancel(cid, "Você está muito perto do lugar que você quer ir!") return true end doSendMagicEffect(getThingPos(summon), 29) doSendMagicEffect(getThingPos(cid), efeitoplayer) doTeleportThing(cid, telepos, false) local pos2 = getClosestFreeTile(cid, getPosByDir(getThingPos(cid), SOUTH)) doTeleportThing(summon, pos2, false) doSendMagicEffect(getThingPos(cid), 29) doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1) doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1, false, 0, lastppos) doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER) doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER, false, 0, lastspos) doCreatureSetLookDir(cid, SOUTH) doCreatureSetLookDir(summon, SOUTH) doSendMagicEffect(getThingPos(summon), efeitopoke) exhaustion.set(cid, etele, cdtele) return true end
-
AutoEquipar clickando em um Item[AJUDA]
É o seguinte, amanhã faço pra você, tudo bem ? To com pressa hoje.
-
(Resolvido)Aol Duração 30 Death
O problema é que não testei, e tenho certas batalhas com doItemSetAttribute e getPlayerSlotItem , quando tento checar o atributo attack do slot esquerdo da mão do player retorna nil, mesmo com espada, o desgraça...
- (Resolvido)Shiny Stones necessárias
- (Resolvido)Shiny Stones necessárias
- (Resolvido)Erro no distro, ao exitar em non pvp e pvp
-
(Resolvido)Aol Duração 30 Death
O certo não seria isso ? function onDeath(cid, corpse, deathList, lastHitKiller, mostDamageKiller) if isPlayer(cid) then if getPlayerSlotItem(cid, 2).itemid == 2173 then local v = getItemAttribute(getPlayerSlotItem(cid, 2).uid, "charges") or 0 if v >= 1 then doCreatureSetDropLoot(cid, false) --[[doPlayerSetLossSkill(cid, false) < não precisa pois aol não salva skill]] doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 10) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA) doItemSetAttribute(getPlayerSlotItem(cid, 2).uid, "charges", v - 1) else doRemoveItem(getPlayerSlotItem(cid, 2).uid) end end end return true end /\ Não sei se estou certo, mas, pode ser uma possibilidade pois não testei nada.@Edit Meu deus, odeio quando os Quote buga.
-
[PESQUISA] Dê sugestões para servidor de pokémon!
Assim você não vai conseguir a renda para pagar o host sem prejuízo.
-
Sprites Pra Vcs (Wodbo)
Quando aprender a escrever certo pode vim criticar o que for tudo bem ? Enquanto isso. Madara33 poste os créditos.
-
Atributo de item
Já tentei assim também.
-
Atributo de item
Bom, galera, queria saber qual é a attribute key que não deixa o player mover um item no inventário, por exemplo, eu estou equipando um anel e não queria que ele seja desequipável, até ele acabar, já tentei usar return false no movements só para constar.
-
Limite de efeitos
No caso, deve-se mexer na source do servidor, já no otclient, você só precisa mexer no .spr e .dat, adicionando mais efeitos, eu tinha o link do tópico de tutorial, mas esqueci, vai na área de programação de otserver e você deve encontrar.