-
Total de itens
963 -
Registro em
-
Última visita
-
Dias Ganhos
2
Tudo que SmiX postou
-
pedido Script de alavanca onde apareça monstro e gaste dinheiro
pergunta respondeu ao markim1986 de SmiX em Scripts
Você está usando estes itens como alavanca? alavancas = {[1945] = 1946, [1946] = 1945} Se não, use eles e me diga o que acontece. -
local effects = {41, 20, 12} -- Aqui bote o efeitos que irão sair local spell_config = { [1] = { damage = COMBAT_FIREDAMAGE, areaEffect = CONST_ME_FIREAREA, }, [2] = { damage = COMBAT_ENERGYDAMAGE, areaEffect = CONST_ME_ENERGYAREA, }, [3] = { damage = COMBAT_EARTHDAMAGE, areaEffect = CONST_ME_SMALLPLANTS, } } local combats = {} for _, config in ipairs(spell_config) do local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, config.damage) setCombatParam(combat, COMBAT_PARAM_EFFECT, config.areaEffect) function onGetFormulaValues(cid, level, skill, attack, factor) return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5)) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") table.insert(combats, {combat, config.shootEffect}) end function onCastSpell(cid, var) local function doSendDistance(cid, target, effect) if not isCreature(cid) or not isCreature(target) then return end doSendDistanceShoot(getThingPos(cid), getThingPos(target), effect) end for n = 1, #combats do addEvent(doCombat, n * 100, cid, combats[n][1], var) for _, efid in pairs(effects) do addEvent(doSendDistance, n * 100, cid, getCreatureTarget(cid), efid) end end return true end Agora ta funcionando. Não está 100% do seu gosto, acho eu.
-
pedido Script de Teleport quando o monstro na area "x" a "y" estiver mortos.
pergunta respondeu ao markim1986 de SmiX em Scripts
Não testado: data/creaturescripts/scripts/killMonsterInArea.lua local config = { position_initial = {x=1, y=2, z=3}, -- Posição superior direita da sala position_end = {x=4, y=5, z=6}, -- Posição inferior direita da sala corpses_id = {2916, 2917, 2918, 2919}, -- Todos os ids do corpses posicao_of_teleport = {x=7, y=8, z=9}, -- Posição para onde o teleporte vai mandar o player teleport_actionid = 1837, -- Actionid do telport, não precisa colocar esse id no mapa editor. } function onDeath(cid) for x = config.position_initial.x, config.position_end.x do for y = config.position_initial.y, config.position_end.y do for z = config.position_initial.z, config.position_end.z do forArea = {x = x, y = y, z = z, stackpos = 253} getCorpses = getThingFromPos(forArea) if isMonster(getCorpses.uid) then break end for i = 1, #config.corpses_id do if isInArray(getCorpses.uid, getTileItemById(getCorpses, i)) then local teleport = doCreateTeleport(1387, config.posicao_of_teleport, config.posicao_of_teleport) doItemSetAttribute(teleport, "aid", config.teleport_actionid) end end end end end end tag: <event type="death" name="monsterKillInArea" event="script" value="killMonsterInArea.lua"/> Agora vai no arquivo do 'demon' depois de: <loot> </loot> adicione essas linhas: <script> <event name="monsterKillInArea"/> </script> -
[Encerrado] ERRO - PLAYERS BATENDO MAIS A CADA LVL
tópico respondeu ao shumagora de SmiX em Tópicos Sem Resposta
Seu otservidor tem algum script que faça isso, ou será alguma função própria dele? -
dúvida [Encerrado] Pessoal é pra quem conhece
tópico respondeu ao jhonrosa de SmiX em Tópicos Sem Resposta
è dificil lucrar com ot? R: Se sua equipe for bem organizada e dedicada, não. tornar ele popular? R: Isso quem diz é o alvo publico, que vai repassando de um por um até que seu servidor esteja lotado. e com mapa proprio e xp bem esquematizado R: Dependi muito do que seu servidor tem a oferecer. Se for um servidor de Tibia, tem que ser muito bem planejado e com muitas ideias inovadoras. e quanto daqui uns dois anos da pra tirar de lucro R: São os players quem dizem isso para você. Mais também é dependente do que você oferece a serviços prestados aos usuários. olha eu acho que todo negocio que a gente abre visionamos o lucro por que se não tivesse não abririamos R: Com certeza, concordo plenamente. aguardo opniões R: Já dei a minha. ^^ -
[Encerrado] Sitema de FRAGS não funciona !
tópico respondeu ao xipanifuleta de SmiX em Tópicos Sem Resposta
Desculpe, meu desconhecimento quanto a esse sistema, mais "Frags System" são as caveiras que o player ganha quando mata um player? -
dúvida [Encerrado] Como aumento a velocidade entre eu usar uma potion e outra?
tópico respondeu ao Rangelzimba de SmiX em Tópicos Sem Resposta
Você pode usar este aqui, e editar no próprio script o tempo da exaustão: local MIN = 500 local MAX = 700 local EMPTY_POTION = 7635 local time_exhaustion = 1 -- Tempo da exautão do player, em segundos. function onUse(cid, item, fromPosition, itemEx, toPosition) if isPlayer(itemEx.uid) == FALSE then return FALSE end if exhaustion.get(cid, 1342) > 0 then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end if((not(isKnight(itemEx.uid)) or getPlayerLevel(itemEx.uid) < 80) and getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then doCreatureSay(itemEx.uid, "Only knights of level 80 or above may drink this fluid.", TALKTYPE_ORANGE_1) return TRUE end if doCreatureAddHealth(itemEx.uid, math.random(MIN, MAX)) == LUA_ERROR then return FALSE end exhaustion.set(cid, 1342, time_exhaustion) doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) return TRUE end Ou usar o script passado pelo GuzitoG e editar o 'config.lua' a parte: timeBetweenExActions = 1 -- Tempo de exaustão -
[Encerrado] COMPRO TFLS(LOGIN SERVER) 0.3.6 PAGO BEM
tópico respondeu ao pokcp de SmiX em Tópicos Sem Resposta
Compra e veda do servidores, são proibidas aqui no Xtibia. Alias, não existe essas sources em outro fórum? -
pedido Script de alavanca onde apareça monstro e gaste dinheiro
pergunta respondeu ao markim1986 de SmiX em Scripts
local config = { money_requires = 1, monsters = {["Rat"] = 3, ["Tiger"] = 2}, -- Nomde do montros e quantidade alavancas = {[1945] = 1946, [1946] = 1945}, -- Id das alavancas pos = {{x=990,y=1048,z=7}, {x=995,y=1049,z=7}}, } function onUse(cid, item) local alavanca = config.alavancas[item.itemid] if alavanca ~= nil then doTransformItem(item.uid,alavanca[1]) end if doPlayerRemoveMoney(cid, config.money_requires) then for k, v in pairs(config.monsters) do for i=1, v do local monster = doSummonCreature(k, config.pos[1]) doSendMagicEffect(getThingPos(monster), 10) end end else doPlayerSendTextMessage(cid, 27, "Sorry, you need a "..config.money_requires.." for summon monster.") return true end end Nãp precisa colocar o "uniqueid" e nem a "actionid" no script, só na tag. Em alavancas são os ids das alavancas a serem puxadas. -
[Encerrado] teleport com limite de level.
tópico respondeu ao weverton1559 de SmiX em Tópicos Sem Resposta
local posi = {x=1, y=1, z=1} -- Posicao pra onde vai o player function onStepIn(cid, item, position, lastPosition, fromPosition) if getPlayerLevel(cid) < 51 then doTeleportThing(cid, posi) doSendMagicEffect(getThingPos(cid), 10) else doPlayerSendTextMessage(cid, 27, "Sorry, you need a level 50 minus.") doTeleportThing(cid, lastPosition) end end -
skill = { item = 9971, -- Item quantidade = 0, -- Quantidade quantidadeskill = 90, -- Skill adicionada limiteskill = 90 -- Limite } magicLevel = { item = 9971, quantidade = 0, quantidademl = 90, limitedeml = 90 } skillID = { ["club"] = SKILL_CLUB, ["sword"]= SKILL_SWORD, ["axe"] = SKILL_AXE, ["distance"] = SKILL_DISTANCE, ["shielding"] = SKILL_SHIELD } vocationSkill = { -- Vocações - SKILL ["club"] = {4, 8}, ["sword"] = {4, 8}, ["axe"] = {4, 8}, ["distance"] = {3, 7}, ["shielding"] = {4, 8} } vocationMagicLevel = {1, 2, 5, 6} -- Vocações - MAGIC LEVEL protectZone = "sim" function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 1839) <= 0 then setPlayerStorageValue(cid, 1839, 1) local pid = getPlayerGUID(cid) if (protectZone == "sim") and (not getTilePzInfo(getCreaturePosition(cid))) then doPlayerSendCancel(cid, "Você precisa estar em protection zone pra poder comprar.") end if (param == '') then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Como usar: !comprar club; !comprar magiclevel.") return true end local storage, duration = 5, 5 if (param == 'magiclevel') then if getPlayerMagLevel(cid) < magicLevel.limitedeml then if isInArray(vocationMagicLevel, getPlayerVocation(cid)) then if doPlayerRemoveItem(cid, magicLevel.item, magicLevel.quantidade) then if (os.time() - getPlayerStorageValue(cid, storage)) >= duration then setPlayerStorageValue(cid, storage, os.time()) doRemoveCreature(cid, true) db.executeQuery("UPDATE `players` SET `maglevel` = `maglevel` + ".. magicLevel.quantidademl .." WHERE `id` = ".. pid) else doPlayerSendCancel(cid, "Espere ".. duration .." segundos para comprar novamente.") end else doPlayerSendCancel(cid, "Você não tem o item requerido.") end else doPlayerSendCancel(cid, "Voce não pode comprar magic level.") end else doPlayerSendCancel(cid, "Você chegou no limite de magic level.") end return true end if(skillID[param:lower()]) then if(getPlayerSkill(cid, skillID[param:lower()]) < skill.limiteskill) then if isInArray(vocationSkill[param:lower()], getPlayerVocation(cid)) then if doPlayerRemoveItem(cid, skill.item, skill.quantidade) then if (os.time() - getPlayerStorageValue(cid, storage)) >= duration then setPlayerStorageValue(cid, storage, os.time()) doRemoveCreature(cid, true) db.executeQuery("UPDATE `player_skills` SET `value` = `value` + ".. skill.quantidadeskill .." WHERE `player_id` = ".. pid .. " and `skillID[` = ".. skillID[param:lower()]) else doPlayerSendCancel(cid, "Espere ".. duration .." segundos para comprar novamente.") end else doPlayerSendCancel(cid, "Você não tem o item requerido.") end else doPlayerSendCancel(cid, "Voce não pode comprar este skill.") end else doPlayerSendCancel(cid, "Você chegou no limite de skill.") end else doPlayerSendCancel(cid, "Skill desconhecida.") end else doPlayerSendCancel(cid, "Você já usou esse comando um vez.") end return true end
-
pedido Script de alavanca onde apareça monstro e gaste dinheiro
pergunta respondeu ao markim1986 de SmiX em Scripts
local config = { money_requires = 1, monsters = {["Rat"] = 3, ["Tiger"] = 2}, -- Nomde do montros e quantidade alavancas = {[1945] = 1946, [1946] = 1945}, pos = {{x=990,y=1048,z=7}, {x=995,y=1049,z=7}}, } function onUse(cid, item) local alavanca = config.alavancas[item.itemid] if alavanca ~= nil then doTransformItem(item.uid,alavanca[1]) end if doPlayerRemoveMoney(cid, config.money_requires) then for k, v in pairs(config.monsters) do for i=1, v do local monster = doSummonCreature(k, config.pos[1]) doSendMagicEffect(getThingPos(monster), 10) end end else doPlayerSendTextMessage(cid, 27, "Sorry, you need a "..config.money_requires.." for summon monster.") return true end end Pronto, agora você só precisa editar as posições. OBS: sempre deixe duas posições na tabela "pos". -
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 20000) setConditionFormula(condition, -0.9, 0, -0.9, 0) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
-
pedido Script de alavanca onde apareça monstro e gaste dinheiro
pergunta respondeu ao markim1986 de SmiX em Scripts
local config = { money_requires = 1, monsters = {["Rat"] = 3, ["Tiger"] = 2}, -- Nomde do montros e quantidade alavancas = {[1945] = 1946, [1946] = 1945}, } function onUse(cid, item) local alavanca = config.alavancas[item.itemid] if alavanca ~= nil then doTransformItem(item.uid,alavanca[1]) end if doPlayerRemoveMoney(cid, config.money_requires) then for k, v in pairs(config.monsters) do for i=1, v do local monster = doSummonCreature(k, getClosestFreeTile(cid, getThingPos(cid))) doSendMagicEffect(getThingPos(monster), 10) end end else doPlayerSendTextMessage(cid, 27, "Sorry, you need a "..config.money_requires.." for summon monster.") return true end end tag: <action actionid="2032" event="script" value="summonMonster.lua"/> Botei por actionid mesmo. ^^ -
pedido Strong mana infinita (apenas essa potion)
pergunta respondeu ao markim1986 de SmiX em Scripts
local MIN = 110 local MAX = 190 local EMPTY_POTION = 7634 local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) if isPlayer(itemEx.uid) == FALSE then return FALSE end if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end if((not(isSorcerer(itemEx.uid) or isDruid(itemEx.uid) or isPaladin(itemEx.uid)) or getPlayerLevel(itemEx.uid) < 50) and getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then doCreatureSay(itemEx.uid, "Only sorcerers, druids and paladins of level 50 or above may drink this fluid.", TALKTYPE_ORANGE_1) return TRUE end if doPlayerAddMana(itemEx.uid, math.random(MIN, MAX)) == LUA_ERROR then return FALSE end doAddCondition(cid, exhaust) doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) return TRUE end -
pedido Script de alavanca onde apareça monstro e gaste dinheiro
pergunta respondeu ao markim1986 de SmiX em Scripts
data/actions/scripts/summonMonster.lua: local config = { money_requires = 1, monsters = {"Rat", "Cave Rat"}, -- Pode colocar mais monstros, o respawn vai ser aleatório } function onUse(cid, item) if doPlayerRemoveMoney(cid, config.money_requires) then local monster = doCreateMonster(config.monsters[math.randon(#config.monsters)], getClosestFreeTile(cid, getThingPos(cid))) doSendMagicEffect(getThingPos(monster), 21) doTransformItem(item.uid, item.itemid+1) addEvent(doTransformItem, 2000, item.uid, item.itemid-1) else doPlayerSendTextMessage(cid, 27, "Sorry, you need a "..config.money_requires.." for summon monster.") return true end end tag: <action itemid="id da alavanca" event="script" value="summonMonster.lua"/> -
dúvida Como colocar um "exausted" na storage?
pergunta respondeu ao XxPaaulinhoOxX de SmiX em Scripts
Porque o player não começa com o exhaustion, então lancei o "if not x then" para ele começar com o exhaustiom no valor 0, só esqueci o "exhaustion.set"... function onLogin(cid) if getPlayerStorageValue(cid, 12345) == 1 then local x = exhaustion.get(cid, 12346) or 0 exhaustion.set(cid, 12346, 60) if x > 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The exhaustion is in "..x.." seconds.") end end end -
dúvida Como colocar um "exausted" na storage?
pergunta respondeu ao XxPaaulinhoOxX de SmiX em Scripts
Não intendi muito bem, mais eu fiz da seguinte forma: Se o player estiver com a storage "12345" no valor 1 o script passara para a próxima checagem e mostrara ao player quanto tempo ele tem de exhaustion. function onLogin(cid) if getPlayerStorageValue(cid, 12345) == 1 then local x = exhaustion.get(cid, 12346) if not x then x = 0 end if x > 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The exhaustion is in "..x.." seconds.") end end end -
Vlw mano agora sim eu intendi... Pena que não posso dar rep+ a todos que ajudaram, vou dar rep+ pra o primeiro que me ajudou.(Os utimos serão os primeiros) vlw brun123.
-
dúvida Como colocar um "exausted" na storage?
pergunta respondeu ao XxPaaulinhoOxX de SmiX em Scripts
Mesmo se ele der logout, ficara com o exhauti. E para checar o tempo que resta você usa a estrutura seguinte: local tsm = { storage = 2338, time = function()return exhaustion.get(cid, storage)end, } if tsm.time(cid, tsm.storage) < 10 then print("SmiX é lindo") end Acima acontece o seguinte; se o tempo da storage for menor que 10 segundo ele manda printar, uma verdade, "SmiX é lindo". -
Eu tive um amigo que precisou fazer o curso de iniciante, como a balconista citou. Mais ele precisava mesmo, teve uma hora da aula em que o professor dele pediu, pra que os alunos colocassem o "mouse" no relógio e, ele colocou o "mouse" em cima do relógio de pulso dele. :x tenso Se eu fosse você faria o que ela recomendou e depois faria um avançados.. A pressa é a inimiga da perfeição.
-
dúvida Como colocar um "exausted" na storage?
pergunta respondeu ao XxPaaulinhoOxX de SmiX em Scripts
Eu faria de um modo mais facil e simples: local delay, storage = 60, 2737 exhaustion.set(cid, storage, delay) -
Vlw caotic, mas ainda não intendi o "os.time()"...
-
Poderiam me dar alguns exemplos, para melhor intendimento.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.