
Tudo que psychonaut postou
-
(Resolvido)Liberar Addons e Mounts para todos os Players
Salva ele na pasta \data\creaturescripts\scripts com o nome de allmounts.lua Depois vai na pasta anterior, \data\creaturescripts\ e edita o arquivo creaturescripts.xml colocando essa linha: <event type="login" name="AllMounts" script="allmounts.lua" /> Ela? hsuahsuhah
-
(Resolvido)Liberar Addons e Mounts para todos os Players
local looktypes = { 128, 136, 129, 137, 130, 138, 131, 139, 132, 140, 133, 141, 134, 142, 143, 147, 144, 148, 145, 149, 146, 150, 151, 155, 152, 156, 153, 157, 154, 158, 251, 252, 268, 269, 273, 270, 278, 279, 289, 288, 325, 324, 335, 336, 366, 367, 328, 329, 430, 431, 432, 433, 463, 464, 465, 466, 471, 472, 512, 513, 514, 516, 541, 542, 574, 575, 577, 578 } local storage = 4545 function onLogin(player) if player:getStorageValue(storage) ~= 1 then for i = 1, #looktypes do player:addOutfitAddon(looktypes[i], 3) end for i = 1, 47 do player:addMount(i) end player:setStorageValue(storage, 1) end return true end creaturescripts.xml: <event type="login" name="qualquernome" script="nomedoscript.lua" /> qualquer coisa tenta esse, manda os erros se der:
-
(Resolvido)cada spell ter sua exaust
Esqueci de identar, mas era só você me mandar o erro do console e eu corrigia.
-
(Resolvido)Pedido, acabou o VIP foi pro templo
Não Só no creaturescripts.xml. Você colocou assim no creaturescripts? O nome não importa <event type="login" name="SemVip" script="acabouvip.lua" /> obs: Tu ta usando TFS > 1.0+ né
-
(Resolvido)Pedido, acabou o VIP foi pro templo
Ah pera, tenho que editar Cria um creaturescript, não sei se vai funfar, peguei como base um que o luanluciano fez: local STORAGE_PREMIUM = 13500 local TEMPLE_ID = 1 local storage2 = 13501 function onLogin(cid) local player = Player(cid) if player:getStorageValue(STORAGE_PREMIUM) < 1 and player:getStorageValue(storage2) == 1 then player:setStorageValue(storage2, 0) player:teleportTo(Town(TEMPLE_ID):getTemplePosition()) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) player:setTown(TEMPLE_ID) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Sua vip acabou!") end return true end E muda o seu vip: function onUse(cid, item, fromPosition, itemEx, toPosition) local storage2 = 13501 local config={ removeOnUse = "yes" -- remover quando usar ("yes" or "no") } local days = 30 -- coloque os dias que serão a VIP! local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13500) local timenow = os.time() if getPlayerStorageValue(cid, 13500) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de Donate no seu character.") setPlayerStorageValue(cid, 13500, time) setPlayerStorageValue(cid, storage2, 1) local quantity = math.floor((getPlayerStorageValue(cid, 13500) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de Donate restantes.") if (config.removeOnUse == "yes") then doRemoveItem(item.uid, 1) end return TRUE end Testa isso ai.
-
(Resolvido)Pedido, acabou o VIP foi pro templo
Manda os scripts do vip.
-
(Resolvido)cada spell ter sua exaust
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 6, 6, 5.5, 6) local cooldown = 5 -- tempo de exhaust, segundos local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, 6 * 15 * 100) function onCastSpell(cid, var) if exhaustion.check(cid,299) then doPlayerSendCancel(cid, "Sua spell tem "..exhaustion.get(cid, 299).." segundos de cooldown.") exhaustion.set(cid,299,cooldown) return doCombat(cid, combat, var) end return true end spells.xml exhaustion="2000"
-
(Resolvido)cada spell ter sua exaust
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 6, 6, 5.5, 6) function onCastSpell(cid, var) if getGlobalStorageValue(STORAGE) >= os.time() then doPlayerSendCancel(cid,"Voce tem que esperar ".. getGlobalStorageValue(STORAGE) - os.time() .." pra usar denovo.") else setGlobalStorageValue(STORAGE, os.time() + 5) return doCombat(cid, combat, var) end Muda o STORAGE, pra um storage qualquer sem ta sendo usado, esse 5 é o cooldown
-
(Resolvido)cada spell ter sua exaust
Edita no spells.xml tira os group cooldown e deixa exhaust="2000"(acho que é isso) ou menos, ai vai na spell que você quer colocar pra ter exhaust próprio e deixa o oncast mais ou menos assim 45000 é o storage dessa spell, exemplo, muda pra um valor qualquer que não esteja em uso function onCastSpell(cid, var) local target = getCreatureTarget(cid) if getGlobalStorageValue(45000) >= os.time() then doPlayerSendCancel(cid,"Voce tem que esperar ".. getGlobalStorageValue(45000) - os.time() .." pra usar denovo.") else Ai la no final dele tu coloca setGlobalStorageValue(45000, os.time() + 5) end Exemplo de spell com cooldown próprio: http://pastebin.com/GiG69Zqi Acho que é isso que você quer.
-
(Resolvido)cada spell ter sua exaust
#edit Tipo, você quer sem esses cooldowns de grupo, que usa uma magia e a outra entra em cooldown?
-
enchanting action
Você copiou parte errada ai. Se eu não tiver enganado, copia o script que ele te mandou novamente e tenta de novo. Opa, se funcionar não da a melhor resposta pra mim não, eu não fiz nada. #edit E essa linha: [4123] = {used_id = 8298, target_id = 8572, effect = 29, transform_id = 8576, create_id = 0, sto = 40067}, -- Druids Não tenho certeza, mas é sem virgula: [4123] = {used_id = 8298, target_id = 8572, effect = 29, transform_id = 8576, create_id = 0, sto = 40067} -- Druids
-
(Resolvido)First Itens ao Nascer
Qual a versão do seu TFS #Edit, Tem que ter algum item no que tem em comum, ou apaga as linhas local firstItems = {2665, 2417, 2427, 2379, 2545, 7387, 7436, 2666} --ID dos itens EM COMUMe for i = 1, #firstItems do player:addItem(firstItems[i], 1) endSe tu for colocar uma bolsa por exemplo, faz assim:
-
(Resolvido)First Itens ao Nascer
Só me diz uma coisa, local naruto = {2665, 2417, 2427} -- itens soh pra sorc local sasuke = {2665, 2417, 2427} -- itens soh pra sasukea local lee = {2665, 2417, 2427} -- itens soh pra paladim local sakura = {2665, 2417, 2427} -- itens soh pra sakura Porque tu colocou os mesmos itens pra todos? Obs: Os em comum, todos vão receber, então não precisa repetir nas vocações, a não ser que ela ganhe a mais. Pra aumentar quantidade, repete o id la em cima ou coloca isso la em baixo: Substitui com os valores player:addItem(IDDOMEAT, Quantidade) Poe depois do end do for i = 1, #firstItems do player:addItem(firstItems[i], 1) end
-
(Resolvido)First Itens ao Nascer
Testa agora local firstItems = {2665, 2417, 2427, 2379, 2545, 7387, 7436, 2666} --ID dos itens EM COMUM local naruto = {2665, 2417, 2427} -- itens soh pra sorc local sasuke = {2665, 2417, 2427} -- itens soh pra sasukea local lee = {2665, 2417, 2427} -- itens soh pra paladim local sakura = {2665, 2417, 2427} -- itens soh pra sakura function onLogin(cid) local player = Player(cid) if player:getLastLoginSaved() = 0 then doPlayerSendTextMessage(cid,22,"Voce acabou de conseguir os Items Iniciais!") if player:getVocation() == 1 then for i = 1, #naruto do player:addItem(naruto[i], 1) end elseif player:getVocation() == 10 then for i = 1, #sasuke do player:addItem(sasuke[i], 1) end elseif player:getVocation() == 30 then for i = 1, #lee do player:addItem(lee[i], 1) end elseif player:getVocation() == 40 then for i = 1, #sakura do player:addItem(sakura[i], 1) end end for i = 1, #firstItems do player:addItem(firstItems[i], 1) end end return true end
-
(Resolvido)First Itens ao Nascer
De novo eu conseguindo tirar scripts antigos do meu TFS recente, pera aí que vou arrumar. Tenta assim, qualquer coisa dou uma arrumada local firstItems = {2050, 2382} --ID dos itens EM COMUM local sorcerer = {xxxx, xxx} -- itens soh pra sorc local druid = {xxxx, xxx} -- itens soh pra druida local paladin = {xxxx, xxx} -- itens soh pra paladim local knight = {xxxx, xxx} -- itens soh pra knight function onLogin(cid) if getPlayerLastLoginSaved(cid) == 0 then doPlayerSendTextMessage(cid,22,"Voce acabou de conseguir os Items Iniciais!") if getPlayerVocation(cid) == 1 then for i = 1, #sorcerer do doPlayerAddItem(cid, sorcerer[i], 1) end end if getPlayerVocation(cid) == 2 then for i = 1, #druid do doPlayerAddItem(cid, druid[i], 1) end end if getPlayerVocation(cid) == 3 then for i = 1, #paladin do doPlayerAddItem(cid, paladin[i], 1) end end if getPlayerVocation(cid) == 4 then for i = 1, #knight do doPlayerAddItem(cid, knight[i], 1) end end for i = 1, #firstItems do doPlayerAddItem(cid, firstItems[i], 1) end end return true end
-
(Resolvido)First Itens ao Nascer
Isso pode apagar, ele checa o sexo do personagem, caso seja masculino, da um item, caso seja feminino outro item. Vem no padrão mesmo.
-
(Resolvido)First Itens ao Nascer
Não, não substitui o texto, só troca os numeros: if player:getVocation() == 1 then Muda o 1 pra id da vocação e assim por diante. Se você testar do jeito que esta, acho que deve funcionar, dependendo do número de vocações.
-
(Resolvido)First Itens ao Nascer
Vou alterar. Qualquer erro avisa, fiz agora. local firstItems = {2050, 2382} --ID dos itens EM COMUM local sorcerer = {xxxx, xxx} -- itens soh pra sorc local druid = {xxxx, xxx} -- itens soh pra druida local paladin = {xxxx, xxx} -- itens soh pra paladim local knight = {xxxx, xxx} -- itens soh pra knight function onLogin(player) if player:getLastLoginSaved() == 0 then doPlayerSendTextMessage(cid,22,"Voce acabou de conseguir os Items Iniciais!") if player:getVocation() == 1 then for i = 1, #sorcerer do player:addItem(sorcerer[i], 1) end end if player:getVocation() == 2 then for i = 1, #druid do player:addItem(druid[i], 1) end end if player:getVocation() == 3 then for i = 1, #paladin do player:addItem(paladin[i], 1) end end if player:getVocation() == 4 then for i = 1, #knight do player:addItem(knight[i], 1) end end for i = 1, #firstItems do player:addItem(firstItems[i], 1) end player:addItem(player:getSex() == 0 and 2651 or 2650, 1) player:addItem(1987, 1):addItem(2674, 1) end return true end
-
(Resolvido)First Itens ao Nascer
Tipo assim \data\creaturescripts\creaturescripts.xml <event type="login" name="FirstItems" script="others/firstitems.lua" /> \data\creaturescripts\scripts local firstItems = {2050, 2382} --ID dos itens function onLogin(player) if player:getLastLoginSaved() == 0 then doPlayerSendTextMessage(cid,22,"Voce acabou de conseguir os Items Iniciais!") for i = 1, #firstItems do player:addItem(firstItems[i], 1) end player:addItem(player:getSex() == 0 and 2651 or 2650, 1) player:addItem(1987, 1):addItem(2674, 1) end return true end
-
(Resolvido)[PEDIDO] fazer item transformar (estilo alavanca/lever)
Edita o tempo, mals a demora, tive que sair... actions.xml <action itemid="22513" script="removeraousar.lua"/> data/actions/removeraousar.lua function onUse(cid, item, fromPosition, target, toPosition) --item que sera criado no lugar local itemcriado = 22514 local itemnormal = 22513 local tempo = 120 -- tempo em segundos local summon = "Slime" -- nome do monstro summonado local bonesTile = Tile(toPosition) if item.itemid == itemcriado or item.itemid == itemnormal then doTransformItem(item.uid, itemcriado) doSummonCreature(summon, fromPosition) addEvent(function(bonesPos) bonesTile:getItemById(itemcriado):remove() Game.createItem(itemnormal, 1, bonesPos) bonesPos:sendMagicEffect(CONST_ME_POFF) end, tempo * 1000, bonesTile:getPosition()) else doPlayerSendCancel(cid, "q droga tu ta tentando fazer em.") end return true end
-
Life Rune por Level
Muda return -min, -max Pra return +min, +max
-
Life Rune por Level
Creio que sim, funcionou?
-
(Resolvido)remover item
Fica mais ou menos assim, precisa de um setGlobalStorageValue(storage, 1) pra quando o jogador morrer e um quando o monstro morrer, na tile da saída ou sei la, é que to de saida se não eu fazia essas 2 partes, ta aí o script, espero que funcione. function onUse(cid, item, fromPosition, target, toPosition) --ID da chave local chave = XXXX --Storage local storage = XXXXX --Destino do jogador ao usar o item local config = { pos = {x = 33569, y = 32423, z = 12}, -- posição que o player vai cair } if getGlobalStorageValue(storage) = 0 then doPlayerRemoveItem(cid, chave, 1) doSummonCreature("Prince Drazzak", {x = 33523, y = 32334, z = 12}) doTeleportThing(cid, config.pos) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) setGlobalStorageValue(storage, 1) else doPlayerSendTextMessage(cid, TEXTCOLOR_ORANGE, "Ja tem um jogador la dentro") end return true end Achei um creature script pra quando o boss morrer fazer um tp, e mudei um pouco, não sei se vai funcionar, to saindo... se ninguém ajudar amanhã eu arrumo se não der certo. --Storage local storage = XXXXX -- a msm do script de cima local config = { ["prince drazzak"] = {time = 60, toPos = {x = 100, y = 100, z = 7}} -- topos = pra onde manda o jogador } local function teleportar(tp) local teleport = getTileItemById(tp, 1387).uid -- tem q ser o tp de id 1387 doTeleportThing(cid, config.toPos) setGlobalStorageValue(storage, 0) return true end function onKill(cid, target) local monster = config[getCreatureName(target):lower()] if(isPlayer(target) or not monster) then return true end doCreatureSay(cid, "Voce sera teleportado!", TALKTYPE_ORANGE_1) addEvent(teleportar, monster.time * 1000, monster.toPos) return true end lembra de registrar no login.lua
-
Ajuda pf
Se tudo tiver online, o mysql tudo, entra aqui: http://127.0.0.1/phpmyadmin/e faz login com sua conta do mysql, o usuário normalmente é root, depois seleciona o banco, "ot"(pelo que eu to vendo ai), e cria as tabelas e nelas os 2 "valores" reason e expires_at
-
Ajuda pf
Cria uma tabela no banco de dados 'ot', chamada 'ip_bans' Ela tem que ter 'reason' e 'expires_at'