-
Total de itens
255 -
Registro em
-
Última visita
-
Dias Ganhos
3
Posts postados por Dilooow
-
-
cade a chave mano???
-
Error - Spell Interface]
[11/02/2022 13:29:57] data/spells/scripts/ps/Ember.lua:onCastSpell
[11/02/2022 13:29:57] Description:
[11/02/2022 13:29:57] (luaGetPlayerSlotItem) Player not foundquando os poke selvagem me ataca aparece isso no console procurei a spells não achei o erro nela não sei pq elata voltando assim
-
16 horas atrás, Yan Oliveira disse:
Cara, mas a versão do seu TFS é 1.2, 0.3.6 ou 0.4?
1.2 porem deixa pra la eu tava usando uma base de pokemon chamada pokedash , vou baixar um global cru e trabalhar nele obrigado ❤️
-
23 horas atrás, SrNaja disse:
troca o código da sua lib :
function effectWhenWalking(player_uid, id_effect) local player = Player(player_uid) if player then local player_position = player:getPosition() local player_direction = player:getDirection() local player_pos_x = player_position.x local player_pos_y = player_position.y local player_pos_z = player_position.x local position = Position(player_pos_x + Config_.back[player_direction].x, player_pos_y + Config_.back[player_direction].y, player_pos_y) if position then position:sendMagicEffect(id_effect) addEvent(effectWhenWalking, 1, player_uid, id_effect) end end end
nada a inda
-
19 horas atrás, Yan Oliveira disse:
Olhando o tópico agora eu entendi, e era o que eu imaginei, precisa somente do onStepIn, e não do onStepOut como você colocou no seu. E você também não copiou o código completo, faltou pegar o começo do arquivo onde contém a função principal onStepIn(cid, item, position, fromPosition).
A questão é, o tile que você vai usar para isso, é exclusivamente só para isso ou você vai usar um tile que já usa em outra parte do mapa? Porque se for usar um tile que já está em uso no mapa, aí vai ter que trabalhar com uniqueid, porque se trabalhar com itemid, toda vez que alguém pisar nesse tile, independente da coordenada no mapa, vai cair na trap. Mas por via das dúvidas, vamos trabalhar com uniqueid.
Primeiramente vai no Remere's Map Editor, e procura esse local onde vão ficar as traps no tile, e adicione o seguinte uniqueid para todos os tiles: 19737 (certifique-se de que esse uniqueid já não está sendo usado, se tiver, coloca outro valor).
Agora, vai em Data/Movements/Scripts e crie o arquivo tile_trap.lua (ou outro nome de sua preferência) e adicione o seguinte código dentro:
local storage = 14678 -- n mexa local time_summon = 1 -- tempo em minutos local seconds_remove = 30 -- TEMPO EM SEGUNDOS PARA REMOVER O MONSTRO local monsters = { {"cyclops", Position(157, 35, 7)}, {"Demon", Position(=161, 38, 7)}, {"Hydra", Position(=155, 38, 7)}, {"Dragon", Position(160, 39, 7)}, } function onStepIn(cid, item, position, fromPosition) if not cid or Game.getStorageValue(storage) >= os.time() then return true end local monster_random = math.random(1, #monsters) -- PARA VER QUAL MONSTRO VAI PEGAR DA TABELA ALEATORIAMENTE local monster = Game.createMonster(monsters[monster_random][1], monsters[monster_random][2]) -- CRIA O MONSTRO ALEATÓRIO if not monster then return true end cid:say("Oh my God, it's a trap!") -- REMOVE O MONSTRO -- addEvent(function() if monster then monster:remove() end end, seconds_remove * 1000) Game.setStorageValue(storage, os.time() + time_summon * 60) -- SÓ VAI CONTABILIZAR APÓS O MONSTRO SER DERROTADO OU REMOVIDO return true end
Agora abre o movements.xml e adicione a tag:
<movevent event="StepIn" uniqueid="19737" script="tile_trap.lua" />
Está pronto! Só testar.
nada men deu uns erro aqui to usando uma tfs god pota irei apagar os pokemon e usar os monstro de tibia mais msm assim nao ta indo ,
Lua Script Error: [MoveEvents Interface]
data/movements/scripts/tile_trap.lua:onStepIn
data/movements/scripts/tile_trap.lua:13: attempt to compare number with nil
stack traceback:
[C]: in function '__le'
data/movements/scripts/tile_trap.lua:13: in function <data/movements/scripts/tile_trap.lua:12>Lua Script Error: [MoveEvents Interface]
data/movements/scripts/tile_trap.lua:onStepIn
data/movements/scripts/tile_trap.lua:13: attempt to compare number with nil
stack traceback:
[C]: in function '__le'
data/movements/scripts/tile_trap.lua:13: in function <data/movements/scripts/tile_trap.lua:12> -
Ok irei testar sim assim que minha energia voltar Desno de já muito obrigado
-
52 minutos atrás, Yan Oliveira disse:
Esse erro não tem haver com o código que eu fiz a conversão. Esse erro é que não foi encontrado o script summontile.lua no StepIn e StepOut porque provavelmente o script inteiro do arquivo é o que você passou no post e eu fiz a conversão para TFS 1.2, e como eu havia falado, está incompleto. Ou seja, como não tem as funções StepIn e StepOut, está dando erro ao carregar o arquivo no XML.
Como que esse movements é para funcionar? Ao pisar em um tile (id específico) ou tile com uniqueid é para summonar os monstros? Porque, pelo que entendi, o que você quer só precisa de StepIn.
seria daqui esse movements , queria um tile sabe aonde eu ponhasse o id do movements e aparecer igual nos tfs 0.3.6
https://xtibia.com/forum/topic/142014-movements-summon-tile/
-
minha duvida e simples aonde fica o blink dos pokemons reparei pokes psy nao tem habilidade blink e nao tem como por neles em xml , onde fica pota ajuda nois ai?
-
4 horas atrás, Yan Oliveira disse:
Primeira coisa, a versão da TFS (1.2) é diferente da versão do client (1098), pois o que você quer é código, que é da TFS (servidor).
Esse código está incompleto! Pois de qual função ele é? De qual pasta ele está? Globalevents ou Creaturescripts?
Mas eu vou fazer a migração desse bloco de código para 1.2. Vamos lá! Substitua o código por esse:
local storage = 14678 -- n mexa local time_summon = 1 -- tempo em minutos local seconds_remove = 30 -- TEMPO EM SEGUNDOS PARA REMOVER O MONSTRO local monsters = { {"cyclops", Position(157, 35, 7)}, {"Demon", Position(=161, 38, 7)}, {"Hydra", Position(=155, 38, 7)}, {"Dragon", Position(160, 39, 7)}, } if not cid or Game.getStorageValue(storage) >= os.time() then return true end local monster_random = math.random(1, #monsters) local monster = Game.createMonster(monsters[monster_random][1], monsters[monster_random][2]) cid:say("Oh my God, it's a trap!") -- REMOVE O MONSTRO -- addEvent(function() if monster then monster:remove() end end, seconds_remove * 1000) Game.setStorageValue(storage, os.time() + time_summon * 60) -- SÓ VAI CONTABILIZAR APÓS O MONSTRO SER DERROTADO OU REMOVIDO return true end
Adicionei um evento para remover o monstro após 30 segundos se ele não for derrotado.
Teste e veja se dá algum erro.
ele e um movement
19 minutos atrás, Dilooow disse:ele e um movement
tive erro aqui
Error: [MoveEvent::configureMoveEvent] No valid event name StepIn
[Warning - BaseEvents::loadFromXml] Failed to configure event
[Warning - Event::checkScript] Event onStepIn not found. scripts/summontile.lua
[Warning - Event::checkScript] Event onStepIn not found. scripts/summontile.lua
[Warning - Event::checkScript] Event onStepOut not found. scripts/summontile.luatestei das duas formas \/?
<movevent event="StepOut" actionid="14500" script="summontile.lua" />
<movevent event="StepIn" uniqueid="14500" script="summontile.lua" />
-
6 horas atrás, SrNaja disse:
local delay = 0.1 local effect = 12 -- id do effect local bonusSpeed = 1.2 local outfitMale = 1315 local outfitFemale = 1316 local condition = Condition(CONDITION_OUTFIT) condition:setTicks(-1) function onUse(player, item, fromPosition, target, toPosition, isHotkey) if os.time() > player:getStorageValue(storageDelay) then player:setStorageValue(storageDelay, os.time() + delay) else player:sendCancelMessage(RETURNVALUE_YOUAREEXHAUSTED) return true end if fromPosition.x ~= 65535 then player:sendCancelMessage("First pick up the bike.") return true end if player:getStorageValue(storageRide) == 1 then player:sendCancelMessage("Sorry, not possible while on ride.") return true end if player:getStorageValue(storageFly) == 1 then player:sendCancelMessage("Sorry, not possible while on fly.") return true end if player:getStorageValue(storageSurf) > 0 then player:sendCancelMessage("Sorry, not possible while on surf.") return true end if player:getStorageValue(storageDive) > 0 then player:sendCancelMessage("Sorry, not possible while on dive.") return true end if player:getStorageValue(storageEvent) > 0 then player:sendCancelMessage("Sorry, not possible while on event.") return true end if player:getStorageValue(storageBike) > 0 then player:removeCondition(CONDITION_OUTFIT) player:changeSpeed(player:getBaseSpeed()-player:getSpeed()) player:setStorageValue(storageBike, -1) else local delta = player:getSpeed() * bonusSpeed if player:getSex() == PLAYERSEX_MALE then outfit = outfitMale else outfit = outfitFemale end condition:setOutfit({lookType = outfit}) player:addCondition(condition) player:setStorageValue(storageBike, 1) player:changeSpeed(delta) effectWhenWalking(player.uid, effect) end return true end
Lua Script Error: [Action Interface]
data/actions/scripts/poke/bike.lua:onUse
data/lib/core/effectWhenWalking.lua:19: attempt to call method 'sendMagicEffect' (a nil value)
stack traceback:
[C]: in function 'sendMagicEffect'
data/lib/core/effectWhenWalking.lua:19: in function 'effectWhenWalking'
data/actions/scripts/poke/bike.lua:58: in function <data/actions/scripts/poke/bike.lua:9> -
Em 05/02/2022 em 16:11, SrNaja disse:
coloca a função na lib, uma pergunta você tem o script da bike?, se sim me mande
local delay = 0.1
local bonusSpeed = 1.2
local outfitMale = 1315
local outfitFemale = 1316
local condition = Condition(CONDITION_OUTFIT)
condition:setTicks(-1)function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if os.time() > player:getStorageValue(storageDelay) then
player:setStorageValue(storageDelay, os.time() + delay)
else
player:sendCancelMessage(RETURNVALUE_YOUAREEXHAUSTED)
return true
endif fromPosition.x ~= 65535 then
player:sendCancelMessage("First pick up the bike.")
return true
endif player:getStorageValue(storageRide) == 1 then
player:sendCancelMessage("Sorry, not possible while on ride.")
return true
endif player:getStorageValue(storageFly) == 1 then
player:sendCancelMessage("Sorry, not possible while on fly.")
return true
endif player:getStorageValue(storageSurf) > 0 then
player:sendCancelMessage("Sorry, not possible while on surf.")
return true
endif player:getStorageValue(storageDive) > 0 then
player:sendCancelMessage("Sorry, not possible while on dive.")
return true
endif player:getStorageValue(storageEvent) > 0 then
player:sendCancelMessage("Sorry, not possible while on event.")
return true
endif player:getStorageValue(storageBike) > 0 then
player:removeCondition(CONDITION_OUTFIT)
player:changeSpeed(player:getBaseSpeed()-player:getSpeed())
player:setStorageValue(storageBike, -1)
else
local delta = player:getSpeed() * bonusSpeed
if player:getSex() == PLAYERSEX_MALE then outfit = outfitMale else outfit = outfitFemale end
condition:setOutfit({lookType = outfit})
player:addCondition(condition)
player:setStorageValue(storageBike, 1)
player:changeSpeed(delta)
endreturn true
end
-
queria converter esse scripte de tfs 0.3.6 para 1.2 versao 1098 quero abrir um global scripte
( obs se possivel colocar para o monster sumir apos 30 segundos se nao for morto )
local M = { [1] = {"cyclops",{x=157, y=35, z=7}}, [2] = {"Demon",{x=161, y=38, z=7}}, [3] = {"Hydra",{x=155, y=38, z=7}}, [4] = {"Dragon",{x=160, y=39, z=7}} } local storage = 14678 -- n mexa local time_summon = 1 -- tempo em minutos if not isPlayer(cid) then return false elseif getGlobalStorageValue(storage) >= os.time() then return false end r = math.random(1, #M) doCreateMonster(M[r][1], M[r][2]) doCreatureSay(cid, "Oh my god, a trap!", 19) setGlobalStorageValue(storage, os.time()+time_summon*60) return TRUE end
-
4 horas atrás, SrNaja disse:
o sistema já esta pronto, e já falei aonde tem que colocar
sou nub nao sei aonde poem queria por uma bike assim com efeito pode me ajudar?
-
Em 12/01/2022 em 10:31, Mixlortt disse:
Opa galera tudo certo?
Estava precisando de alguma função ou meio de fazer surgir um efeito atrás do player toda vez que ele andar, isso pode ser equipando um anel, clicando em algum item, tanto faz, só precisa ter o efeito atrás do player quando ele andar
Basicamente seria isso, mas aí é feito por source puxando a outfit como condição para o efeito, e é tfs 0.3.6, creio que exista uma maneira mais fácil em lua para tfs 1.2...
em quais arquivos vai para fazer isso achei muito interessante?
Em 13/01/2022 em 19:59, Mixlortt disse:passa completo o system e quais pasta vai e tal
-
Em 07/08/2013 em 20:15, SkyDarkyes disse:
Funfo 100% VLW
@Edit Limit Rep amanho eu do
Tfs 1.2 conseguir adaptar?
-
Em 11/12/2021 em 16:22, Poke Hero disse:
aonde arrumou esses módulos ?
Os módulos são padrão mais a ui designer meu free-lance desenhou
-
-
Em 14/04/2012 em 21:15, Vodkart disse:
inv.lua
local days = { ["Sunday"] = { ["00:00"] = {nome = "Demon Invasões", pos = {x=185, y=54, z=7}, monster = {"40 Demon", "50 Fire Devil", "4 Orshabaal"}, Time = 15}, ["21:00"] = {nome = "Dragon Invasões", pos = {x=185, y=54, z=7}, monster = {"100 Dragon"}, Time = 15} }, ["Saturday"] = { ["00:00"] = {nome = "Demon Invasões", pos = {x=185, y=54, z=7}, monster = {"40 Demon", "50 Fire Devil", "4 Orshabaal"}, Time = 15}, ["21:13"] = {nome = "Dragon Invasões", pos = {x=185, y=57, z=7},monster = {"100 Dragon"}, Time = 15} } } function onThink(interval, lastExecution) function getDayName() local days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"} return days[os.date("*t")["wday"]] end hours = tostring(os.date("%X")):sub(1, 5) tb = days[getDayName()][hours] if tb then function removeCreature() for x = ((tb.pos.x)-10), ((tb.pos.x)+10) do for y = ((tb.pos.y)-10), ((tb.pos.y)+10) do local m = getTopCreature({x=x, y=y, z= tb.pos.z}).uid if m ~= 0 and isMonster(m) then doRemoveCreature(m) end end end return true end addEvent(removeCreature, tb.Time*60*1000) doBroadcastMessage(hours .. " - " .. tb.nome .. " Iníciou.") for _,x in pairs(tb.monster) do for s = 1, tonumber(x:match("%d+")) do doSummonCreature(x:match("%s(.+)"), tb.pos) end end end return true end
globalevents.xml
<globalevent name="Invasao" interval="60" event="script" value="inv.lua"/>
funciona tfs 1.2 1098?
-
Em 17/11/2021 em 13:37, Victor RPG disse:
Alguém ajuda não tô conseguindo Ligar o Servidor
Utilize o xamp meu colega
Importa a schemas que no caso seria a data base muda o IP para 127.0.0.1 no cónfig lua e no entergame do cliente, dps feito isso liga o serve pelo ex que tem nele e já era serve on
-
Em 12/10/2017 em 11:09, atakashi disse:
Gostaria de saber quem vai ser a primeira alma caridosa que vai fazer uma base pokemon 10.41 aqui pro forum?
Eu serei o primeiro
ANOTA AI WWW.POKEZABY.COM
BREVE VAI SUBIR NA NET BASE TFS 1.2
-
Em 10/07/2020 em 19:29, klbkevinklb disse:
Fala gente, tudo bem...bom eu to sumido aqui do portal, porém hoje estou de volta com uma coisa para disponibilizar. Muitos ja devem saber, alguns não...a pxg tem um sistema que voce pode pescar de andares mais altos, eu procurei muito pra descobrir e bom encontrei e hjee vou ensinar a voces:
abra o arquivo: actions.cpp/ procure por isso:
ReturnValue Actions::canUseFar(const Creature* creature, const Position& toPos, bool checkLineOfSight)
Ela vai estar assim:
ReturnValue Actions::canUseFar(const Creature* creature, const Position& toPos, bool checkLineOfSight) { if(toPos.x == 0xFFFF) return RET_NOERROR; const Position& creaturePos = creature->getPosition(); if(creaturePos.z > toPos.z) return RET_FIRSTGOUPSTAIRS; if(creaturePos.z < toPos.z) return RET_FIRSTGODOWNSTAIRS; if(!Position::areInRange<7,5,0>(toPos, creaturePos)) return RET_TOOFARAWAY; if(checkLineOfSight && !g_game.canThrowObjectTo(creaturePos, toPos)) return RET_CANNOTTHROW; return RET_NOERROR; }
Troque por essa abaixo:
Apague a função toda e coloque isso:
ReturnValue Actions::canUseFar(const Creature* creature, const Position& toPos, bool checkLineOfSight) { if(toPos.x == 0xFFFF) return RET_NOERROR; const Position& creaturePos = creature->getPosition(); if(creaturePos.z > toPos.z) return RET_FIRSTGOUPSTAIRS; // if(creaturePos.z < toPos.z) // return RET_FIRSTGODOWNSTAIRS; if(!Position::areInRange<7,5,3>(toPos, creaturePos)) return RET_TOOFARAWAY; // if(checkLineOfSight && !g_game.canThrowObjectTo(creaturePos, toPos)) // return RET_CANNOTTHROW; return RET_NOERROR; }
Feito tudo certo, voce conseguira pescar de cima de montanhas. Obrigado e boa noite a todos.
Tfs 1.2 não funciona tem como adaptar?
-
23 horas atrás, Dilooow disse:
Resolvido alguém poderia fechar ?
-
Eu tenho a sources dela tbm sources atual kpdo
-
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
Bike system com effect ou robo system
em Scripts
Postado
me ajudem com esse scripte tou tentando por efeito ao andar com uso desse equipamento o player soltar logo atras dele alguns efeito igual nas bike do otpokemon
modelo tfs pda padrao tfs 0.3. 6
codigo \/
--- morduk ---
function onUse(cid, item, frompos, item2, topos)
-- if getPlayerStorageValue(cid, 32001) >= 1 then -- verifica a bike
-- doPlayerSendCancel(cid, "Nao pode usar o robo estando na bike.")
-- return true
-- end
if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 then -- verifica o fly
doPlayerSendCancel(cid, "Nao pode usar o robo estando no fly.")
return true
end
local config = {
robo = {lookType = 48},
cooldown = 1, --- tempo entre um uso e outro
speed = 400,
health = 1000,
stor= 243656
}
if os.time() - getPlayerStorageValue(cid, 55695) >= config.cooldown then
setPlayerStorageValue(cid, 55695, os.time())
if getPlayerStorageValue(cid, config.stor) == 1 then
setPlayerStorageValue(cid, config.stor, 0)
doRemoveCondition(cid, CONDITION_OUTFIT)
doSendAnimatedText(getCreaturePosition(cid), '[ROBO OFF]', 32)
-- setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)-config.health) -- linha adicionada by crypter
doRegainSpeed(cid)
-- doPlayerSendTextMessage(cid, MESSSAGE_STATUS_CONSOLE_ORANGE, 'Voce saiu do robo e perdeu a vida extra.')
-- doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid))
-- onPokeHealthChange(cid) --alterei aki
else
doChangeSpeed(cid, config.speed)
doSetCreatureOutfit(cid, config.robo, -1)
doSendAnimatedText(getCreaturePosition(cid), '[ROBO ON]', 32)
-- doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Voce montou no robo e ganhou vida extra.')
setPlayerStorageValue(cid, config.stor, 1)
-- setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+config.health)-- linha adicionada by crypter
-- doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid))
-- onPokeHealthChange(cid) --alterei aki
end
else
doPlayerSendCancel(cid, "Aguarde "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 55695))).." segundos.")
end
return true
end
--- crypter ---