Solutions
-
Gengo's post in (Resolvido)[Pedido] Skin System was marked as the answerEai mano blz, vê se este script lhe atende suas necessidades ou pelo menos te de o caminho das pedras.
Na pasta do seu servidor data/talkactions/script crie um arquivo com um nome skin.lua e coloque o seguinte codigo:
Agora só registrar no talkactions.xml no arquivo data/talkactions/talkactions.xml coloque a seguinte tag:
Espero que lhe ajude.
OBS: Altere o itemId e outfitId de acordo com o seu servidor.
-
Gengo's post in (Resolvido)[Ajuda] Adicionar tempo pzlocker em script ! was marked as the answerAgora deve funcionar.
local config = { storageSummon = 7475, storageTime = 7477, tempo = 20 -- equivale a 20 segundos } local pet = { ["Rinnegan [Protector]"] = {201,1000}, ["Rinnegan [Protector]"] = {201,1000} } function onUse(cid, item, fromPosition, target, toPosition, isHotkey) if #getCreatureSummons(cid) > 1 then doPlayerSendCancel(cid,"Your Demonio is already summoned.") end if getPlayerStorageValue(cid,config.storageSummon) == 1 then local z = getCreatureSummons(cid)[1] addEvent(function() setPlayerStorageValue(cid, config.storageSummon, -1) setPlayerStorageValue(cid, config.storageTime, os.time()+ config.tempo) end, 100) doCreatureSay(cid,"Back my summon!",TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(z), 2) doSendDistanceShoot(getCreaturePosition(z), getPlayerPosition(cid), 3) return doRemoveCreature(z) end local summons = getCreatureSummons(cid) if ( not getTilePzInfo(getCreaturePosition(cid)) ) then if ( getPlayerStorageValue(cid, config.storageTime) <= os.time() ) then for k,v in pairs(pet) do -- 1 if getPlayerStorageValue(cid,config.storageSummon) < 1 then if getPlayerLevel(cid) >= v[1] and getPlayerLevel(cid) < v[2] then -- 2 if (table.maxn(summons) < 1)then -- 3 x = doSummonCreature(k, getCreaturePosition(cid)) doConvinceCreature(cid, x) setPlayerStorageValue(cid,4194,1) setPlayerStorageValue(cid,config.storageSummon,1) doCreatureSay(cid, k ..", go!", TALKTYPE_ORANGE_1) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 2) end end end end else return doCreatureSay(cid, "Espere "..config.storageTime.." para usar novamente", TALKTYPE_ORANGE_1) end else doCreatureSay(cid, "Voce nao pode usar em area Protection Zone", TALKTYPE_ORANGE_1) end return true end
OBS: Testei no meu otServ e está funcionando normal.
-
Gengo's post in (Resolvido)[Duvida] Inserindo nome no texto was marked as the answerEai mano blz, ve se é isso que você precisa:
local items = { [1] = {2160,'Crystal Coin'}, -- item id [2] = {2390,'Magic LongSword'}, } function onUse(cid, item, fromPosition, target, toPosition, isHotkey) if item:getId() == 1945 then item:transform(1946) elseif item:getId() == 1946 then cid:getPosition():sendMagicEffect(CONST_ME_POFF) item:transform(1945) end if cid:removeMoney(100) then if math.random(1, 100) > 50 then local randItem = math.random(1, #items) cid:addItem( items[randItem][1],1) Game.broadcastMessage("O jogador '"..cid:getName().."' Acabou de ganhar um : "..items[randItem][2]..".", MESSAGE_STATUS_WARNING) else cid:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You Lose") end else cid:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You don't have a money.") end return true end
-
Gengo's post in (Resolvido)[PEDIDO] Matar boss criar um portal was marked as the answerOpa blz, vamos lá no que você está procurando.
Vá na pasta do seu servidor data/creaturescripts/script/ e crie um arquivo chamado teleportBoss.lua e coloque o seguinte script:
local config = { ["Demon"] = { posiTeleporte = {x = 32337, y = 32220, z = 7, stackpos = 254}, -- Posição em que o teleporte aparecerá. posiToTeleporte = {x = 32344, y = 32223, z = 7}, -- Posição onde será teleportado. time = 20 -- Tempo em que o teleporte irá desaparecer 20 segundos. } } function removeTeleporte(tp) local teleporte = getTileItemById(tp.posiTeleporte, 5023) if teleporte then doRemoveItem(teleporte.uid, 1) doSendMagicEffect(tp.posiTeleporte, CONST_ME_POFF) end end function onDeath(cid) local teleport = config[getCreatureName(cid)] if teleport then doCreateTeleport(5023, teleport.posiToTeleporte, teleport.posiTeleporte) addEvent(removeTeleporte, teleport.time*1000, teleport) end return true end Depois abre o arquivo data/creaturescripts/creaturescripts.xml e coloque a seguinte tag:
<event type="death" name="teleportmonster" script="teleportBoss.lua"/> E por fim na pasta data/monster/ procure pelo monstro no qual você deseja que crie o teleporte, no meu caso ali eu escolhi o Demon e então abre o nomeMonstro.xml e coloque a seguinte tag:
<script> <event name="teleportmonster"/> </script> Essa script funciona na tfs1.2, testei ela aqui e fica assim no in game:
-
Gengo's post in (Resolvido)Criar teleport com x item em altar was marked as the answerOpa blz, vamos lá no que você precisa.
Primeiro vá a pasta do seu servidor data/actions/scritps e crie um arquivo com um nome script Teleporte.lua e coloque o seguinte script:
local config = { posicao = { x = 989, y = 978, z = 6}, -- Posição em que o player deve estar no altar item = {5808, { x = 988, y = 978, z = 6} }, -- { id_do_item / posi onde deve colocar o item } teleporte = {1387, { x = 990, y = 978, z = 6}, { x = 160, y = 54, z = 7} }, -- { id do Teleporte / onde será criado o teleporte / onde irá teleportar } tempo = 5000 -- Tempo para que o teleporte desapareça } function removeTP() doRemoveItem(getTileItemById(config.teleporte[2], config.teleporte[1]).uid) end function onUse(cid, item, fromPosition, itemEx, toPosition) local pId = getTopCreature(config.posicao).uid local posiItem = getTileItemById(config.item[2], config.item[1]) if ( pId == 0 or not isPlayer(pId) ) then doPlayerSendCancel(cid, "Posição invalida!") return true elseif ( posiItem.uid == 0 ) then doPlayerSendCancel(cid, "Este item nao e valido!") return true end doCreateTeleport(config.teleporte[1], config.teleporte[3], config.teleporte[2]) doRemoveItem(posiItem.uid) doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) addEvent(removeTP, config.tempo) return true end Depois abre o arquivo data/actions/actions.xml e coloque a seguinte tag:
<action uniqueid="3775" script="other/scriptTeleporte.lua"/> <!-- em uniqueid você coloca pelo mapa editor --> Feito tudo isso fica assim no game:
OBS: o item vai sumir do lugar do altar e depois de 5 minutos o teleporta irá desaparecer, na imagem deixei ali o item só para mostrar como exemplo.
Espero que tenha entendido :D