Tudo que Straikar postou
-
ERRO ME AJUDA PFV
UEEE mais como assim não estou usando ela em outro lugar
-
ERRO ME AJUDA PFV
Boa tarde. não sei se estou na area correta. Está me dando esse bug e não sei oque fazer a database trava e não da para abrir!!! por favor me ajudem pfff sqlite3_step(): SQLITE ERROR: database is locked SQLITE ERROR: cannot start a transaction within a transaction
-
Estatua que nasce Monstro
Ele editou, está logo a cima
-
Estatua que nasce Monstro
Tudo certo, resolvemos por discord, obrigado a força
-
maquina de summon
Salve pessoaaall, eu gostaria de adicionar uma maquina de summon. A que eu tenho é esta e o erro que ela dá é o seguinte, tem hora que vc puxa ela exemplo puxei 3 vezes e não apareceu a menssagem ai depois do nada aparece que nasceu 3 monstros TFS 0.3.6 tibia 8.60 function onUse(cid, item, fromPos, itemEx, toPos) -- [[INICIO CONFIG - Beyond Sky]] monstros = { [1] = {chance = 25, name = "Demon"}, --[[Monstro do shirine fire e item fire]] [2] = {chance = 25, name = "Fire Elemental"}, --[[Monstro do shirine fire e item fire]] [3] = {chance = 25, name = "Hellfire Fighter"}, --[[Monstro do shirine fire e item fire]] [4] = {chance = 1, name = "Dourado"}, --[[Monstro do shirine fire e item fire]] [5] = {chance = 25, name = "Gigante de Gelo"}, --[[Monstro do shirine ice e item ice]] [6] = {chance = 25, name = "Frost Dragon"}, --[[Monstro do shirine ice e item ice]] [7] = {chance = 25, name = "Papao"}, --[[Monstro do shirine ice e item ice]] [8] = {chance = 1, name = "Orghus"}, --[[Monstro do shirine ice e item ice]] [9] = {chance = 25, name = "Multi"}, --[[Monstro do shirine tera e item tera]] [10] = {chance = 25, name = "Juggernaut"}, --[[Monstro do shirine tera e item tera]] [11] = {chance = 25, name = "Hydra"}, --[[Monstro do shirine tera e item tera]] [12] = {chance = 1, name = "Guardiao da Montanha"}, --[[Monstro do shirine tera e item tera]] [13] = {chance = 25, name = "Minotaur Mage"}, --[[Monstro do shirine energy e item energ]] [14] = {chance = 25, name = "Dragon Guardian"}, --[[Monstro do shirine energy e item energ]] [15] = {chance = 25, name = "Thunder Dragon"}, --[[Monstro do shirine energy e item energ]] [16] = {chance = 1, name = "Nephthys"} --[[Monstro do shirine energy e item energ]] } local uniqid = 9999 --[[UNIQUE ID DA ALAVANCA - Beyond Sky]] local ItemIdFire = 6550 --[[Item do shrine Fire]] local ItemIdIce = 6551 --[[Item do shrine Ice]] local ItemIdTera = 6549 --[[Item do shrine Tera]] local ItemIdEnergy = 6548 --[[Item do shrine Energy]] local PosNameFire = {x=324, y=1265, z=9} --[[Pos do monster da shrine Fire]] local PosNameIce = {x=324, y=1258, z=9} --[[Pos do monster da shrine Ice]] local PosNameTera = {x=324, y=1255, z=9} --[[Pos do monster da shrine Tera]] local PosNameEnergy = {x=324, y=1267, z=9} --[[Pos do monster da shrine Energy]] local PosItem = {x=350, y=1261, z=9, stackpos = 255} --[[Posição do item que vai ser preciso]] local getitem = getThingfromPos(PosItem) -- [[FIM CONFIG - Beyond Sky]] for i = 1, 4 do if item.uid == uniqid and getitem.itemid == ItemIdFire and item.itemid == 9825 and (monstros[i].chance >= math.random(1, 100)) then doSummonCreature(monstros[i].name, PosNameFire) doRemoveItem(getitem.uid,1) doCreatureSay(cid, "A máquina de summon criou um "..monstros[i].name..".", TALKTYPE_ORANGE_1) doSendMagicEffect(PosItem, 13) elseif item.uid == uniqid and getitem.itemid == ItemIdIce and item.itemid == 9825 and (monstros[i+4].chance >= math.random(1, 100)) then doSummonCreature(monstros[i+4].name, PosNameIce) doRemoveItem(getitem.uid,1) doCreatureSay(cid, "A máquina de summon criou um "..monstros[i+4].name..".", TALKTYPE_ORANGE_1) doSendMagicEffect(PosItem, 13) elseif item.uid == uniqid and getitem.itemid == ItemIdTera and item.itemid == 9825 and (monstros[i+8].chance >= math.random(1, 100)) then doSummonCreature(monstros[i+8].name, PosNameTera) doRemoveItem(getitem.uid,1) doCreatureSay(cid, "A máquina de summon criou um "..monstros[i+8].name..".", TALKTYPE_ORANGE_1) doSendMagicEffect(PosItem, 13) elseif item.uid == uniqid and getitem.itemid == ItemIdEnergy and item.itemid == 9825 and (monstros[i+12].chance >= math.random(1, 100)) then doSummonCreature(monstros[i+12].name, PosNameEnergy) doRemoveItem(getitem.uid,1) doCreatureSay(cid, "A máquina de summon criou um "..monstros[i+12].name..".", TALKTYPE_ORANGE_1) doSendMagicEffect(PosItem, 13) elseif item.uid == uniqid and item.itemid == 9826 then doTransformItem(item.uid, item.itemid - 1) return TRUE end end end
-
Estatua que nasce Monstro
-
Estatua que nasce Monstro
Sim somente uma pessoa entre, por favor
-
Estatua que nasce Monstro
Valeu pela força anderson, muito obrigado mesmo! descobri um erro, não esta checando se um jogador está la em baixo um outro consegue entrar junto
-
Adicionar Exausted
Bom dia pessoal, gostaria que alguem adiciona exausted nesse mod para mim <?xml version="1.0" encoding="UTF-8"?> <mod name="AdvancedExpPotionSystem" enabled="yes" author="MatheusMkalo" forum="XTibia.com"> <!-- Configs and Functions --> <config name="PotionExpConfigs"><![CDATA[ ------ CONFIGURE SEU SCRIPT ------ TRUE ou FALSE configs = { time = 60, ---- TIME IN MINUTES needpa = FALSE, needlvl = {FALSE, level = 50}, costmana = {TRUE, mana = 30000}, addrate = 10, -- Exp que vai adicionar em % removeonuse = TRUE } function getTime(s) local n = math.floor(s / 60) s = s - (60 * n) return n, s end CreatureEventChecker = function(event, ...) -- Colex if isCreature(arg[1]) then event(unpack(arg)) end end creatureEvent = function(event, delay, ...) -- Colex addEvent(CreatureEventChecker, delay, event, unpack(arg)) end function getPlayerExtraExpRate(cid) -- By MatheusMkalo return (getPlayerRates(cid)[8]-1)*100 end ]]></config> <!-- exppotion.lua --> <action itemid="12505" event="script"><![CDATA[ domodlib('PotionExpConfigs') if getPlayerStorageValue(cid, 62162) >= 1 then return doPlayerSendCancel(cid, "Você ja esta com o efeito ativo deste item") end if configs.needpa and not isPremium(cid) then return doPlayerSendCancel(cid, "Você precisa ser premium para usar este item.") end if configs.needlvl[1] and getPlayerLevel(cid) < configs.needlvl.level then return doPlayerSendCancel(cid, "You need to be level " .. configs.needlvl.level .. " to use this item.") end if configs.costmana[1] then if getCreatureMana(cid) < configs.costmana.mana then return doPlayerSendCancel(cid, "Voce percisa " .. configs.costmana.mana .. " mana para usar esse item.") else doCreatureAddMana(cid, -configs.costmana.mana) end end if configs.removeonuse then doRemoveItem(item.uid, 1) end for i = configs.time*60, 1, -1 do local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60)) if #a < 4 then a = string.sub(a,1,2) .. "0" .. string.sub(a, 3) end if i == configs.time*60 then creatureEvent(doPlayerSendCancel, configs.time*60*1000, cid, "O efeito da poção terminou.") end creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "O efeito da poção exp terminara em "..a..".") end doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100)) creatureEvent(doPlayerSetExperienceRate, configs.time *60*1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100))) doCreatureSay(cid, "O Jogador "..getPlayerName(cid).." usou uma poçao de experiencia.") doSendMagicEffect(getThingPos(cid), 31) setPlayerStorageValue(cid, 62164, os.time()) creatureEvent(setPlayerStorageValue, configs.time *60*1000, cid, 62164, 0) return TRUE ]]></action> <creaturescript type="login" name="ExpPotion" event="script"><![CDATA[ domodlib('PotionExpConfigs') local time = configs.time if os.time()-getPlayerStorageValue(cid, 62164) < time *60 then doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100)) creatureEvent(doPlayerSetExperienceRate, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100))) creatureEvent(setPlayerStorageValue, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000 , cid, 62164, 0) for i = (time*60-(os.time()-getPlayerStorageValue(cid, 62164))), 1, -1 do local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60)) if #a < 4 then a = string.sub(a,1,2) .. "0" .. string.sub(a, 3) end if i == (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) then creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, 62164)))*1000, cid, "O efeito da poção terminou.") end creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "O efeito da poção exp terminara em "..a..".") end end return TRUE ]]></creaturescript> </mod> <?xml version="1.0" encoding="UTF-8"?> <mod name="AdvancedExpPotionSystem" enabled="yes" author="MatheusMkalo" forum="XTibia.com"> <!-- Configs and Functions --> <config name="PotionExpConfigs"><![CDATA[ ------ CONFIGURE SEU SCRIPT ------ TRUE ou FALSE configs = { time = 60, ---- TIME IN MINUTES needpa = FALSE, needlvl = {FALSE, level = 50}, costmana = {TRUE, mana = 30000}, addrate = 10, -- Exp que vai adicionar em % removeonuse = TRUE } function getTime(s) local n = math.floor(s / 60) s = s - (60 * n) return n, s end CreatureEventChecker = function(event, ...) -- Colex if isCreature(arg[1]) then event(unpack(arg)) end end creatureEvent = function(event, delay, ...) -- Colex addEvent(CreatureEventChecker, delay, event, unpack(arg)) end function getPlayerExtraExpRate(cid) -- By MatheusMkalo return (getPlayerRates(cid)[8]-1)*100 end ]]></config> <!-- exppotion.lua --> <action itemid="12505" event="script"><![CDATA[ domodlib('PotionExpConfigs') if getPlayerStorageValue(cid, 62162) >= 1 then return doPlayerSendCancel(cid, "Você ja esta com o efeito ativo deste item") end if configs.needpa and not isPremium(cid) then return doPlayerSendCancel(cid, "Você precisa ser premium para usar este item.") end if configs.needlvl[1] and getPlayerLevel(cid) < configs.needlvl.level then return doPlayerSendCancel(cid, "You need to be level " .. configs.needlvl.level .. " to use this item.") end if configs.costmana[1] then if getCreatureMana(cid) < configs.costmana.mana then return doPlayerSendCancel(cid, "Voce percisa " .. configs.costmana.mana .. " mana para usar esse item.") else doCreatureAddMana(cid, -configs.costmana.mana) end end if configs.removeonuse then doRemoveItem(item.uid, 1) end for i = configs.time*60, 1, -1 do local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60)) if #a < 4 then a = string.sub(a,1,2) .. "0" .. string.sub(a, 3) end if i == configs.time*60 then creatureEvent(doPlayerSendCancel, configs.time*60*1000, cid, "O efeito da poção terminou.") end creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "O efeito da poção exp terminara em "..a..".") end doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100)) creatureEvent(doPlayerSetExperienceRate, configs.time *60*1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100))) doCreatureSay(cid, "O Jogador "..getPlayerName(cid).." usou uma poçao de experiencia.") doSendMagicEffect(getThingPos(cid), 31) setPlayerStorageValue(cid, 62164, os.time()) creatureEvent(setPlayerStorageValue, configs.time *60*1000, cid, 62164, 0) return TRUE ]]></action> <creaturescript type="login" name="ExpPotion" event="script"><![CDATA[ domodlib('PotionExpConfigs') local time = configs.time if os.time()-getPlayerStorageValue(cid, 62164) < time *60 then doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100)) creatureEvent(doPlayerSetExperienceRate, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100))) creatureEvent(setPlayerStorageValue, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000 , cid, 62164, 0) for i = (time*60-(os.time()-getPlayerStorageValue(cid, 62164))), 1, -1 do local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60)) if #a < 4 then a = string.sub(a,1,2) .. "0" .. string.sub(a, 3) end if i == (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) then creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, 62164)))*1000, cid, "O efeito da poção terminou.") end creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "O efeito da poção exp terminara em "..a..".") end end return TRUE ]]></creaturescript> </mod>
-
NPC TROCA X ITENS POR OUTRO ITEM
Bom dia galera, eu gostaria de uma script de um npc que troca os seguintes itens ( uso TFS 0.3.6 ) 5x de cada id > 8976 + 5x 8978 pelo 8980 1x > 4863 pelo 4864 10x 5894 ou o id 10x 5898 pelo id 5904 ( o player escolhe qual item dar )
-
Estatua que nasce Monstro
- Estatua que nasce Monstro
Não deu certo no actions.xml esta assim <action actionid="5001;5002" script="desafio2.lua" /> e na script assim local config = { -- actions ID da estatua da entrada [25486] = {storage_timer = 5341352, posPlayer = {x = 940, y = 1274, z = 9}, monster_name = "Papao", posMonstro = {x = 940, y = 1273, z = 9}, posSaida = {x = 941, y = 1277, z = 9}, fromP={x = 938, y = 1270, z = 9}, toP={x = 942, y = 1276, z = 9}}, [25487] = {storage_timer = 5341353, posPlayer = {x = 1001, y = 1001, z = 7}, monster_name = "Papao2", posMonstro = {x = 1001, y = 1001, z = 7}, posSaida = {x = 1001, y = 1001, z = 7}, fromP={x = 931, y = 1270, z = 9}, toP={x = 936, y = 1276, z = 9}}, -- caso queira colocar outros, só repetir ^ e mudar a storage, o action id e as posições etc.. use_cooldown_global = false, -- se vc colocar true aqui, TODAS as salas de quest onde o player tentar entrar, vão ter o mesmo cooldown ou seja 1 sala a cada 5 mins, se for false, pode entrar em outra sala logo em seguida storage_timer_global = 5341350, -- storage de exaust pra entrar de novo exaust_entrar_denovo = 5 * 60, -- 5*60 = 5 minutos need_level = 100, -- level necessário para entrar / caso não precise coloque 1 ou 8 remover_player_tempo = true, -- remover o player depois de tanto tempo la dentro? / evita o player ficar la trapando o dia todo remover_timer = 10*60, -- quando tempo la dentro pra remover? / 10*60 = 10 minutos } local REWARD = { --[action id] = {rewards = {{item, quantidade}, {item, quantidade}}}, -- pode colocar quantas rewards quiser [5002] = {storage_reward = 5441400, rewards = {{2160, 1}}}, [5033] = {storage_reward = 5441401, rewards = {{2160, 1}}}, -- quando diminuir a quantidadede recompensa, ceritifique que deixou certo a quantidade de {} pra n bugar o script repetir_reward = false, -- ganhar a recompensa sempre que fizer a quest? teleportar_final = {x=1000,y=1000,z=7}, -- pra onde teleportar quando ele clicar na estatua de recompensa? (normalmente eh o templo) } -- função de tempo local function getTimeString(self) local format = { {'dia', self / 60 / 60 / 24}, {'hora', self / 60 / 60 % 24}, {'minuto', self / 60 % 60}, {'segundo', self % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('segundo') then local a, b = ret:find(' e ') ret = ret:sub(b+1) end return ret end -- FUNÇÃO PARA KICKAR O PLAYER DA SALA APÓS TANTO TEMPO local function removePlayersTime(frompos, topos) for x = frompos.x, topos.x do for y = frompos.y, topos.y do local remove, clean = true, true local pos = {x = x, y = y, z = frompos.z} local m = getTopCreature(pos).uid if m ~= 0 and isPlayer(m) then doTeleportThing(m, getTownTemplePosition(1)) end end end return true end -- FUNÇÃO PARA REMOVER O BOSS AO KICKAR O PLAYER DA SALA local function verificaBoss(frompos, topos) for x = frompos.x, topos.x do for y = frompos.y, topos.y do if isMonster(getThingFromPos({x = x, y = y, z = frompos.z, stackpos = 253}).uid) then doRemoveCreature(getThingFromPos({x = x, y = y, z = frompos.z, stackpos = 253}).uid) end end end end local function give_reward(cid, entregar) local text = 'você recebeu ' -- string que salvará o nome das recompensas if entregar then -- existe as rewards? for i=1, #entregar do doPlayerAddItem(cid, entregar[i][1], entregar[i][2]) -- adiciona os item ao player text = text..entregar[i][2]..getItemNameById(entregar[i][1])..entregar[i][1] > 1 and "s" or "" if i == #entregar then text = text.."." -- caso seja o ultimo coloca ponto final else text = text..", " -- se não, bota virgula end end doPlayerSendTextMessage(cid, 22, text) end return true end local saveEvent = {} -- evento pra checkar o player na sala de espera function onUse(cid, item, frompos, itemEx, topos) local check = {} local actionID = item.actionid if config[actionID] then -- checa o cooldown e se pode entrar na sala if config.use_cooldown_global then if getPlayerStorageValue(cid, config.storage_timer_global) - os.time() > 0 then doPlayerSendCancel(cid, 'Aguarde, você ainda não pode entrar, está com cooldown de'..getTimeString(getPlayerStorageValue(cid, config.storage_timer_global) - os.time())..'.') return true end else if getPlayerStorageValue(cid, config[actionID].storage_timer) > 0 then doPlayerSendCancel(cid, 'Aguarde, você ainda não pode entrar, está com cooldown de'..getTimeString(getPlayerStorageValue(cid, config[actionID].storage_timer) - os.time())..'.') return true end end if #getPlayersInArea(config.[actionID].fromP, config.[actionID].toP) > 0 then doPlayerSendCancel(cid, 'Aguarde, tem jogadores la dentro.') return true end if getPlayerLevel(cid) < config.need_level then doPlayerSendCancel(cid, 'Você não tem o level necessário.') return true end -- caso tenha o level, e não tenha player la dentro, então faz a quest acontecer verificaBoss(config.[actionID].fromP, config.[actionID].to) -- remove o boss do antigo player caso haja doTeleportThing(cid, config[actionID].posPlayer) -- teleporta o player pra posição doCreateMonster(config[actionID].monster_name, config[actionID].posMonstro, false, true) -- cria o monstro na posição if config.remover_player_tempo then -- se remover o player depois de tanto tempo for true saveEvent[getPlayerGUID(cid)] = addEvent(function() removePlayersTime(config.[actionID].fromP, config.[actionID].toP) end, config.remover_timer * 1000) -- remover o player depois do tempo end if config.use_cooldown_global then setPlayerStorageValue(cid, config.storage_timer_global, os.time() + config.exaust_entrar_denovo) -- cooldown caso seja de todas as salas / n mexer else setPlayerStorageValue(cid, config[actionID].storage_timer, os.time() + config.exaust_entrar_denovo) -- cooldown pra entrar de novo / n mexer end return true end -- ESTATUA DE RECOMPENSA if REWARD[actionID] then -- caso tenha clicado na estatua de recompensa local entregar = REWARD[actionID].rewards if getPlayerStorageValue(cid, REWARD[actionID].storage_reward) == -1 then -- caso nunca tenha recebido a recompensa give_reward(cid, entregar) else -- caso ja tenha recebido if REWARD.repetir_reward then -- checa se pode repetir a recompensa give_reward(cid, entregar) else -- se não só da a mensagem q ja recebeu doPlayerSendTextMessage(cid, 22, "Você já recebeu sua recompensa.") end end doTeleportThing(cid, REWARD.teleportar_final) -- teleporta o player pra posição quando clicar na estatua de recompensa stopEvent(saveEvent[getPlayerGUID(cid)]) -- para o evento de jogar ele pro templo saveEvent[getPlayerGUID(cid)] = nil end return true end- erro comando !comprar tfs 0.3.6
Galera eu descobri o erro, voce tem que ser vip para comprar... caso nao for so gasta o item e nao vem nada... teria como remover essa parte da storage vip? e so deixar o tempo? setPlayerStorageValue(cid,11548,os.time()+30) if(param == "super divine sword") then if getPlayerItemCount(cid, 9971) >= 60 then local bag = doPlayerAddItem(cid, 1997, 1) local new_item = doAddContainerItem(bag, 8980, 1) doItemSetAttribute(new_item, "description", "Este item pode ser adquirido através do shopping. Adquirido dia " .. os.date("%d/%m/%Y - %X") .." por ".. getPlayerName(cid) ..". Serial: ".. getPlayerGUID(cid) ..".") doPlayerRemoveItem(cid, 9971, 60) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um super divine sword com sucesso.") setPlayerStorageValue(cid,11548,os.time()+30) return TRUE else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.") return TRUE end end -------------------------------------------------------------------------------------- talkactions.lua q é o erro la que esta dando na distro if(talkAction) { for(TalkActionsMap::iterator it = talksMap.begin(); it != talksMap.end(); ++it) { if(it->first == "illegalWords") { talkAction = it->second; break; } } if(talkAction && talkAction->isScripted()) return talkAction->executeSay(creature, words, "", channelId); return false; } else if(talkAction->getChannel() != -1 && talkAction->getChannel() != channelId) return false;- erro comando !comprar tfs 0.3.6
Galera alguem me ajuda urgente?? por favor? estou com esse erro quando eu compro no adm o item vem mais no personagem não- Estatua que nasce Monstro
Boa tarde galera do tk, estou precisando de uma ajuda, o sistema funciona da seguinte forma é uma estatua que voce clica e é teleportado pra x local para fazer a quest em 3 sqm só na vertical, ai ao clicar você é teleportado nasce um monstro na sua frente ( obs: caso alguem tente entrar na quest não vai conseguir, caso tente aparece uma mensagem na parte de baixo ( nao no chat ) avisando que tem jogador la dentro. ) Ai apos matar o monstro atras dele tem outra estatua que quando vc clica vc ganha x item e é teleportado para cima novamente! Esta quest é possivel entrar sempre porém o item só ganha uma vez! TFS 0.3.6- NPC TELEPORT POR X ITEM [ tfs 0.3.6 ]
sim é um npc barqueiro igual os da cidade so q a diferença dele é q precisa de itens para viajar alem de dinheiro o 2 erro eu descobri o seguinte se eu invoco ele no /n funciona normal porem se eu tenho 2 npc da mesma script ele pega so a primeira script nao entendi o pq- SYSTEM HUNGER
Boa galera do tk tudo bom? eu encontrei um sistema e gostaria de adicionar uma coisa a mais... gostaria que quando o personagem sentisse fome aparecesse uma mensagem em laranja em cima do personagem ( exemplo do jeito que quero: quando ele come algo BIFE BOM! ) SEGUE O SCRIPT- NPC TELEPORT POR X ITEM [ tfs 0.3.6 ]
Boa tarde pessoal do tk, tudo bom? eu encontrei um tópico uma script de barqueiro e nela encontrei dois erros 1 erro é que se eu não tiver x dinheiro exato ele não teleporta, se eu colocar 15 platina ele precisa exatamente dos 15 platina, ele não desfaz os 10k 2 erro por algum sinal eu coloco ele pelo rme ele da essa mensagem 14:33 capitao ghost: Este lugar nao existe. Por favor diga outro. Segue a script local TELEPORT_EFFECT = 10 local config = { ['ghostland'] = { position = { x=750, y=1770, z=11 }, items = { [9020] = { count = 1 }, [2152] = { count = 35 } } }, ['browville'] = { position = { x=244, y=1467, z=8 }, items = { [2152] = { count = 14 }, [10219] = { count = 1 }, } }, } local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if (not checkDestinyExists(msg)) then selfSay('Este lugar nao existe. Por favor diga outro.', cid) return false end local destinyData = getDestinyData(msg) if msgcontains(string.lower(msg), string.lower(destinyData.destiny)) then local items = {} for item, data in pairs(destinyData.data.items) do if (getPlayerItemCount(cid, item) < data.count) then table.insert(items, { item = item }) end end if (#items <= 0) then removePlayerItems(cid, destinyData.data.items) doTeleportThing(cid, destinyData.data.position) doSendMagicEffect(getThingPos(cid), TELEPORT_EFFECT) return true end selfSay('desculpa voce nao tem os itens para viajar.', cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) function checkDestinyExists(destiny) for dest, _ in pairs(config) do if (string.lower(dest) == string.lower(destiny)) then return true end end return false end function getDestinyData(destiny) for dest, data in pairs(config) do if (string.lower(dest) == string.lower(destiny)) then return { destiny = dest, data = data } end end end function removePlayerItems(cid, items) for item, data in pairs(items) do doPlayerRemoveItem(cid, item, data.count) end end Galera descobri o erro Numero 2, só não sei por que esta dando isso... o erro é o seguinte se eu tiver mais que uma script funcionando igual a esta só funciona a inicial ( a primeira que coloquei )- Bank System [8.60] comando !saldo, !sacar, !depositar ( até no max 100 ) com id de x item
alguem para ajudar? eu consegui adicionar porem não consigo adicionar um item novo no lugar desse mining- Bank System [8.60] comando !saldo, !sacar, !depositar ( até no max 100 ) com id de x item
não entendi nada me explica do 0? passo a passo oq tenho q fazer- Bank System [8.60] comando !saldo, !sacar, !depositar ( até no max 100 ) com id de x item
Nao entendi onde eu coloco isso... minha lib no talkactions e talkactions.lua if(talkAction) { for(TalkActionsMap::iterator it = talksMap.begin(); it != talksMap.end(); ++it) { if(it->first == "illegalWords") { talkAction = it->second; break; } } if(talkAction && talkAction->isScripted()) return talkAction->executeSay(creature, words, "", channelId); return false; } else if(talkAction->getChannel() != -1 && talkAction->getChannel() != channelId) return false; - Estatua que nasce Monstro
Informação Importante
Confirmação de Termo