
Histórico de Curtidas
-
luangop recebeu reputação de ILex WilL em Tile que só passa com X resets.Revivendo post de 5 anos rsrs (cadê o meme da golden shovel)
Mas, basta modificar essa linha:
if resets and resets < item.actionid then Para:
if resets and (resets + 100) < item.actionid then
E no remeres, no action ID some 100 a quantia de resets. Por exemplo se você quer um tile para 20 resets, coloque actionID 120.
=)
-
luangop recebeu reputação de Enenra em Mudar posição na Action-- CONFIGURAÇÕES aurastr = 25950 -- storage da aura estr = 25951 -- storage para o exhaust porcentagem = 100 -- chance de curar em cada volta da aura, em porcentagem quantheal = 1 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura) tempo = 5000 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar) tipoaura = 97 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 92 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) -- Função que chama a aura function efeitosAura(i,tm,cid) if(isCreature(cid)) then local atual = {x = getPlayerPosition(cid).x + 1, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z} local chances = math.random(100) if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal) if(i<=8 and i>1) then doSendMagicEffect(getPlayerPosition(cid), tipoaura) else doSendMagicEffect(getPlayerPosition(cid), tipoaura) end doSendMagicEffect(atual, efeitocura) end if(i==8) then doSendMagicEffect(getPlayerPosition(cid), tipoaura) elseif(i<8) then doSendMagicEffect(getPlayerPosition(cid), tipoaura) end if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then i = i+1 tm = tempo/8 return addEvent(efeitosAura,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then return efeitosAura(1,0,cid) else return TRUE end else return TRUE end end function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerStorageValue(cid, aurastr)==2) then setPlayerStorageValue(cid, estr, os.time()+2) setPlayerStorageValue(cid, aurastr, -1) doPlayerSendCancel(cid,"Aura desligada!") else doPlayerSendCancel(cid,"Aura ligada!") setPlayerStorageValue(cid, aurastr, 2) efeitosAura(1,tempo/8,cid) end return TRUE end
-
local storage = "45451" local msg = [[ Seja Bem Vindo ao Azeroth Server Site: azerothserver.servegame.com Facebook: Azeroth Server Para acessar novas hunts diga: /ir No seu Default ira apararecer uma lista com os locais. Exemplo: /ir troll Info:Comando !info (Para informacoes do Servidor) Comandos: !commands (Para saber seus comandos) Promotions: (VIP Automatico) Humanos e Elfs NPC Malakias - Azeroth Orc's NPC General Khaz - orcpromo Premios: Level 40 - Boots Of Haste Level 60 - Tarrasque Ring Level 100 - Winged Helmet Treiners em Khalarar Treining Offline - /ir treineroff Para maiores informacoes acesse o site do servidor Em breve teremos mais informacoes. Atenciosamente, Azeroth Team.]] if getPlayerStorageValue(cid, storage) == - 1 then setPlayerStorageValue(cid, storage, 0) addEvent(doPlayerPopupFYI, 3000, cid, msg) end
Te mostrei 2 coisas de uma vez:
Para adicionar delay em algo, utilize addEvent.
E para criar um texto grande com espaçamento como você fez, fica mais fácil de digitar da forma que eu fiz, substituindo o " por [[ e ]]
-
luangop recebeu reputação de luizpriopri em Como por Dois Effect em um move sódoSendMagicEffect({x = pos[n].x, y = pos[n].y + 1, z = pos[n].z}, 187)
-
luangop recebeu reputação de luizpriopri em Como por Dois Effect em um move sóSeria de grandiosa ajuda se você postar como está seu script atualmente, para que alguém possa te mostrar onde e como 'encaixar' essa parte.
-
luangop recebeu reputação de stauro em addManaSpentInPvPZone = falsecondition.cpp
na função
bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval)
Se não tiver conhecimento de C++, poste aqui a função toda para que eu analise. Lembrando que alterações na source requer compilar novamente depois.
-
luangop recebeu reputação de stauro em addManaSpentInPvPZone = falseSó essa parte:
bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval) { internalHealthTicks += interval; internalManaTicks += interval; if(internalHealthTicks >= healthTicks) { internalHealthTicks = 0; creature->changeHealth(healthGain); } if(internalManaTicks >= manaTicks) { internalManaTicks = 0; creature->changeMana(manaGain); } return ConditionGeneric::executeCondition(creature, interval); }
Muda para isso:
bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval) { internalHealthTicks += interval; internalManaTicks += interval; if(creature->getZone() != ZONE_PROTECTION) { if(internalHealthTicks >= healthTicks) { internalHealthTicks = 0; creature->changeHealth(healthGain); } if(internalManaTicks >= manaTicks) { internalManaTicks = 0; creature->changeMana(manaGain); } } return ConditionGeneric::executeCondition(creature, interval); }
Não esqueça de compilar novamente.
-
luangop recebeu reputação de Bruce Pereira em Como faço para não poder usar essa magia em monstro?function onCastSpell(cid, var) local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} local waittime = 15 --tempo em segundos local storage = 2560 --storage do exuast, em cada magia uma storage diferente. local target = getCreatureTarget(cid) if not isPlayer(target) then return doPlayerSendTextMessage(cid, 23, "Essa magia só pode ser usada em players.") and false end if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, 23, "Essa magia saira do cooldown em " .. exhaustion.get(cid, storage) .. " segundos.") return false end exhaustion.set(cid, storage, waittime) local Hp = (getCreatureHealth(target))*0.2 if isCreature(target) then doCreatureAddHealth(target, -Hp) -- remove o valor de 20% da vida do jogador doSendMagicEffect(position1, 269) -- EFEITO DA MAGIA end return true end
-
luangop recebeu reputação de Sivermisty em Acesso boss diario + questMano, uma dica que dou pra todo mundo que está aprendendo programação/script... aprenda usar identação. Ajuda muito hehe.
movement:
Creaturescript:
-
luangop recebeu reputação de BangxD em Wand dois hits elementaisw = { [1] = {ef = 37, sh = 4, dmg = COMBAT_ENERGYDAMAGE}, [2] = {ef = 43, sh = 36, dmg = COMBAT_ICEDAMAGE}, } function onUseWeapon(cid, var) local storage = getPlayerStorageValue(cid, 8445601) if storage <= 0 then atual = 1 else atual = 2 end min, max = 110, 150 -- dano minimo e maximo target = getCreatureTarget(cid) if target ~= 0 then wx = w[atual] doSendDistanceShoot(getThingPos(cid), getThingPos(target), wx.sh) addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), 0, -min, -max, wx.ef) setPlayerStorageValue(cid, atual == 1 and 1 or 0) end return true end
-
luangop deu reputação a WooX em (Resolvido)script pra explorar 100% do mapaBom, outros alem de você vieram me pedir o link também, hoje eu vi que recentemente um membro da equipe postou um link para o dito fórum, então acho que não teria problema eu postar também.
https://otland.net/threads/tfs-1-2-minimap-generator-map-scanner.262275/
-
luangop deu reputação a Celulose em Alfa-Baiak mapa completo@luangop
Source funciona em ubuntu 14.04 +++
debian tbm porém não lembro a versão.
para compilar
só usar
cmake
make
apt-get update apt-get install git subversion autoconf build-essential pkg-config libboost-dev libgmp3-dev libxml2-dev liblua5.1-0-dev libmysqlclient-dev ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev screen libssl-dev libboost-iostreams-dev apt-get install libcurl4-openssl-dev libssl-dev libtcmalloc-minimal4 apt-get install cmake -
luangop recebeu reputação de Israel MB em [Pedido] Usar x item e ganhar outfitman n manjo nada de tfs 1.x infelizmente n vou saber te ajudar.. até estou tentando aprender mas até agr n consegui nem compilar
-
luangop deu reputação a Cjaker em ElfBot Windows 10 fix - dash/light & minimizeHeyo, estou disponibilizando essa DLL pelo motivo de ter corrigido os problemas que ocorrem ao usar no Windows 10 pra dois amigos e em relação à um tópico antigo que requisitaram o fix, sintam-se a vontade pra usar.
Testei as funções básicas do ElfBot, incluindo dash, minimize e lighthack, até o momento não tive problemas. Caso encontre algum favor, notificar neste tópico.
Tutorial: apenas mova pra pasta do seu ElfBot substituindo a dll deles, simples não?
elfbot.dll
Download: Em anexo no tópico
VirusTotal: https://www.virustotal.com/gui/file/dfa6e58b0ec56a0d199960867dd96ecdc04c2d7381bc2022977be6d7fd9d38f0/detection
-
luangop deu reputação a Cjaker em ElfBot - Bypass auto-target
-
luangop recebeu reputação de Zyros em [OPEN-SOURCE] PokeChampionsMelhor ensinar a pescar, da próxima você mesmo pode pegar o peixe!
1º:
Baixe o programa Demoleition (serve para descompilar molebox) ~> https://www.mediafire.com/file/t3xw46s554it5fp/demoleition-v0.50.zip
2º: Abra o programa e selecione o .exe do client e pronto!
Simples assim! =)
(pra quem tem preguiça de fazer, o link do .dat e .spr: https://mega.nz/#!ecgDSSqY!PpixmcLbGiui4pjJVpIWV8zta_CyEXvQYW82sydxk1A)
-
luangop recebeu reputação de Belmont em (Resolvido)Npc não funciona da maneira certaEntendi.. Vou te ensinar a pescar nos 2 primeiros, o resto vc pesca sozinho.
elseif msgcontains(msg, "shenron") or msgcontains(msg, "SHENRON") and talk_state == 1 then if getPlayerStorageValue(cid, 30023) >= 1 then doPlayerSetVocation(cid, XXX) -- Vocation rebornada. selfSay("Parabens, voce virou um Shenron Reborn.", cid) else doPlayerSetVocation(cid, 376) -- Vocation normal. selfSay("Parabens, voce virou um Shenron.", cid) end elseif msgcontains(msg, "vegetto") or msgcontains(msg, "VEGETTO") and talk_state == 1 then if getPlayerStorageValue(cid, 30023) >= 1 then doPlayerSetVocation(cid, XXX) -- Vocation rebornada. selfSay("Parabens, voce virou um Vegetto Reborn.", cid) else doPlayerSetVocation(cid, 388) -- Vocation normal. selfSay("Parabens, voce virou um Veggeto.", cid) end
-
luangop recebeu reputação de Maroka324 em [OPEN-SOURCE] PokeChampionsMelhor ensinar a pescar, da próxima você mesmo pode pegar o peixe!
1º:
Baixe o programa Demoleition (serve para descompilar molebox) ~> https://www.mediafire.com/file/t3xw46s554it5fp/demoleition-v0.50.zip
2º: Abra o programa e selecione o .exe do client e pronto!
Simples assim! =)
(pra quem tem preguiça de fazer, o link do .dat e .spr: https://mega.nz/#!ecgDSSqY!PpixmcLbGiui4pjJVpIWV8zta_CyEXvQYW82sydxk1A)
-
luangop recebeu reputação de LeoTK em [PEDIDO] Script Eventodata/globalevents/scripts crie o arquivo cria_tp.lua
function onTimer() local config = { pos_criar_tp = {x=XXX,y=YYY,z=Z}, pos_do_evento = {x=XXX,y=YYY,z=Z}, tempo_tirar_teleport = 2, -- Em minutos mensagem_quando_abre = "Zombie event foi aberto, portal fechará em 2 minutos.", mensagem_quando_fecha = "Zombi Event Começou !" } function removeTp() local t = getTileItemById(pos_criar_tp, 1387) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(pos_criar_tp, CONST_ME_POFF) doBroadcastMessage(config.mensagem_quando_fecha) end end doBroadcastMessage(config.mensagem_quando_abre) doCreateTeleport(1387, config.pos_do_evento, config.pos_criar_tp) addEvent(removeTp, config.tempo_tirar_teleport * 60 * 1000) return true end Acho que está bem fácil de entender e configurar.
data/globalevents/globalevents.xml
Adicione a tag:
<globalevent name="CriaTeleport" time="08:00" event="script" value="cria_tp.lua"/>
<globalevent name="CriaTeleport" time="12:00" event="script" value="cria_tp.lua"/>
<globalevent name="CriaTeleport" time="17:00" event="script" value="cria_tp.lua"/>
<globalevent name="CriaTeleport" time="22:00" event="script" value="cria_tp.lua"/>
Tem como definir mais de um horario na mesma tag, mas n lembro como faz, entao cria uma tag para cada horario que deseja criar o teleport.
-
luangop recebeu reputação de Zeikko em (Resolvido)[PEDIDO] Usar X Item e ganhar outfitNa pasta xml abra o arquivo outfits.xml
Configure sua outfit dessa forma:
<outfit id="ID DA OUTFIT" quest="UM NOMERO DE STORAGE VAGO"> <list gender="0" lookType="NUMERO DA OUTFIT NO OBJECT BUILDER" name="NOME DA OUTFIT"/> <list gender="1" lookType="NUMERO DA OUTFIT NO OBJECT BUILDER" name="NOME DA OUTFIT"/> </outfit> em data/actions abre actions.xml e add isso:
(obviamente configure de acordo com seu item)
<action itemid="ID DO ITEM QUE VAI DAR A OUTFIT" event="script" value="NOME DO ARQUIVO.lua"/> em data/actions/scripts crie um arquivo .lua com o mesmo nome que vc registrou no actions.xml e coloque isso dentro:
function onUse(cid, item, fromPosition, itemEx, toPosition) local sto = XXXX --- <<< NUMERO DA STORAGE QUE VC COLOCOU NO OUTFITS.XML local outname = "NOME DA OUTFIT" --- <<< COLOQUE O NOME DA OUTFIT ALI if getPlayerStorageValue(cid, sto) >= 1 then doPlayerSendCancel(cid, "Voce ja tem esta outfit!!") return true elseif getPlayerStorageValue(cid, sto) <= 0 then setPlayerStorageValue(cid, sto, 1) doPlayerSendCancel(cid, "Voce acaba de obter a outfit ".. outname .."!") doRemoveItem(item.uid, 1) return true end end
Qualquer erro me informe, escrevi o sistema na mão mesmo.
-
luangop recebeu reputação de Jean10 em [OPEN-SOURCE] PokeChampionsMelhor ensinar a pescar, da próxima você mesmo pode pegar o peixe!
1º:
Baixe o programa Demoleition (serve para descompilar molebox) ~> https://www.mediafire.com/file/t3xw46s554it5fp/demoleition-v0.50.zip
2º: Abra o programa e selecione o .exe do client e pronto!
Simples assim! =)
(pra quem tem preguiça de fazer, o link do .dat e .spr: https://mega.nz/#!ecgDSSqY!PpixmcLbGiui4pjJVpIWV8zta_CyEXvQYW82sydxk1A)
-
luangop recebeu reputação de iury alves potter em (Resolvido)Como passar de segundos para minutosNão chego nem perto do nível do @Dwarfer pra bolar uma função como aquela mathtime(table)...
Mas apenas teste minha versão e me diga se funciona, to só praticando:
Vai usar da seguinte forma:
/prender Nick, (sec, min, hour ou day), numero
Por exemplo: /prender Fulano, hour, 3
Vai prender o player Fulano por 3 horas.
-
luangop recebeu reputação de Dwarfer em (Resolvido)Como passar de segundos para minutosNão chego nem perto do nível do @Dwarfer pra bolar uma função como aquela mathtime(table)...
Mas apenas teste minha versão e me diga se funciona, to só praticando:
Vai usar da seguinte forma:
/prender Nick, (sec, min, hour ou day), numero
Por exemplo: /prender Fulano, hour, 3
Vai prender o player Fulano por 3 horas.
-
luangop recebeu reputação de ADM Slash em [OPEN-SOURCE] PokeChampionsMelhor ensinar a pescar, da próxima você mesmo pode pegar o peixe!
1º:
Baixe o programa Demoleition (serve para descompilar molebox) ~> https://www.mediafire.com/file/t3xw46s554it5fp/demoleition-v0.50.zip
2º: Abra o programa e selecione o .exe do client e pronto!
Simples assim! =)
(pra quem tem preguiça de fazer, o link do .dat e .spr: https://mega.nz/#!ecgDSSqY!PpixmcLbGiui4pjJVpIWV8zta_CyEXvQYW82sydxk1A)
-
luangop recebeu reputação de KotZletY em Bloquear MSG e Andar pelo mapa para [ADM]Todo servidor vem com isso...
O comando para não receber PM é /squelch
E para teleportar clicando no mapa e /cliport