Ir para conteúdo

fokus090

Cavaleiro
  • Total de itens

    190
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Tudo que fokus090 postou

  1. local config = { removeOnUse = "no", usableOnTarget = "yes", -- can be used on target? (fe. healing friend) splashable = "no", realAnimation = "no", -- make text effect visible only for players in range 1x1 healthMultiplier = 1.0, manaMultiplier = 1.0 } config.removeOnUse = getBooleanFromString(config.removeOnUse) config.usableOnTarget = getBooleanFromString(config.usableOnTarget) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) local POTIONS = { [8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion [7618] = {empty = 7636, splash = 2, health = {100, 200}}, -- health potion [7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {500, 700}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {800, 1000}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {70, 130}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {350, 400}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then if(not config.splashable) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPos(item.uid) end doDecayItem(doCreateItem(2016, potion.splash, toPosition)) doTransformItem(item.uid, potion.empty) return true end if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return true end if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1) return true end local health = potion.health if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.healthMultiplier))) then return false end local mana = potion.mana if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) then return false end doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) if(not realAnimation) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid) end end end doAddCondition(cid, exhaust) if(not potion.empty or config.removeOnUse) then doRemoveItem(item.uid, 1) return true end end
  2. function onStepIn(cid, item, position, FromPosition) if item.uid == 5000 then doPlayerSendTextMessage(cid, 22, "Voce nao pode ficar aqui mais do que 5 segundos") addEvent(doTeleport, 5*1000, cid) end return TRUE end function doTeleport(cid) local pos = {x=45, y=26, z=7} doTeleportThing(cid,pos) doSendMagicEffect(pos,10) end TAG Movements.xml <movevent type="StepIn" uniqueid="5000" event="script" value="tp.lua" /> Espero que funcione. Abraços !! :smile_positivo:
  3. Faz assim setPlayerStorageValue(cid, -45588) setPlayerStorageValue(cid, 45589, 1) Abraços !! :smile_positivo:
  4. 1° Duvida setPlayerStorageValue(cid, XXXX, nil) XXXX = Storage Usada. Abraços !! :smile_positivo:
  5. de VEZ em quanto eu logoh pra upar e tirar pvp. mas entro sem problemas, tudo sussa aki!
  6. fokus090

    Pedidos E Duvidas

    Eu gostaria de saber algumas coisas e também gostaria de pedir um script. Ou ao menos me ensinarem a fazer. Segue abaixo: Ex: Em uma sala, quadrada e espaçosa. Existe 3 diferentes monstros. Um Bear, um Wasp e um Rat (exemplo). Os 3 monstros andam em direção aleatória pela sala. Eu gostaria de uma forma, seja puxando uma alavanda, ou passando por um Tile ou clicando em uma estátua, de remover todos os monstros daquela sala. Deixando a sala limpa. Espero qe tenham entendido. Qualquer coisa me perguntem. Abraços !! :smile_positivo:
  7. @Digaao Obrigado por POSTAR uma segunda opção. Como eu já citei acima, eu to aprendendo Scripting. E saber duas maneiras de fazer a mesma coisa é importante pro Aprendizado. Abraços !! :smile_positivo:
  8. Bem, sendo assim, perdoe-me pela falha. Eu testei aqui em um OT no meu PC e nem me dei conta desse detalhe. Abraços !! :smile_positivo:
  9. Cara, essa foi dificil. Aprendendo ainda scripting, e esse seu pedido foi realmente um desafio. Mas acredito eu que eu tenha conseguido. -- < Script by Frenesy > -- function onSay(cid, words, param) if words == "!keys" then local e = getPlayersOnline() local text = "" for _, pid in ipairs(e) do if getPlayerStorageValue(cid, 5000) == 1 then text = text .. "Chave da Casa de Adolfo\n" end if getPlayerStorageValue(cid, 5001) == 1 then text = text .. "Chave do Castelo\n" end if getPlayerStorageValue(cid, 5002) == 1 then text = text .. "Chave Universal\n" end text = "[ -- SUAS CHAVES -- ]\n\n" .. text doShowTextDialog(cid, 8983, text) end return TRUE end end Coloquei outras chaves apenas para você modificar a Storage e a Mensagem. Abraços !! :smile_positivo:
  10. !Aol Vá em Data>Talkactions>Script crie uma pasta.lua chamada aol e coloque isto: function onSay(cid, words, param) if(getPlayerItemCount(cid, 2173) >= 1) then doPlayerSendCancel(cid, 'Você já tem um aol.') else doPlayerAddItem(cid, 2173, 1) end return TRUE end Agora vá em data>Talkactions.xml Abra e adicione esta tag la: <talkaction words="!aol" event="script" value="aol.lua"/> ______________________________________________________________________________________ 2º Pedido Não tenho certeza se esta correto. Mas tenta aí. function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Comando -Param- necessário.") return true end local t = string.explode(param, " ", 1) if(not t[2]) then doBroadcastMessage(t[1]) elseif(not doBroadcastMessage(t[2], MESSAGE_TYPES[t[1]])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cor da mensagem ruim.") end return true end TAG em Talkaction: <talkaction words="/bc" event="script" value="NomeDoArquivo" /> _____________________________________________________________________________________ Tambem não tenho certeza se esta correto. Mas... -- < Script by Frenesy > -- function onLogin(cid) doSendAnimatedText(cid, 'ONLINE') return TRUE end
  11. function onStepIn(cid, item, position, FromPosition) if ((isMonster(cid)) == TRUE) and item.uid == 4009 then doTeleportThing(cid, FromPosition) return true end end Espero que seja oque esta procurando. Abraços !! :smile_positivo:
  12. fokus090

    2 Scripts

    Olá @Aloczs. Bem, eu não me importo de criar seus scripts e atender seus pedidos, pois to aprendendo scripting e esses pedidos são como um exercício para mim. Mas acho que antes de postar qualquer Pedido, você deveria pesquisar bem sobre o mesmo. Não é nenhuma crítica não, é apenas um ToKe! Seguinte Baixe um OT War de acordo com a versão de seu Tibia. Vá em Data/creaturescripts/scripts. e procura algo mais ou menos assim "StartSkill.lua". Só por esse arquivo na pasta do seu OT junto com a tag dele. LINK Fácil de entender, tenho certeza que irá aprender. Abraços !! :smile_positivo:
  13. Esse POS é o que impede o montro de proseguir. Ao Pisar no Tile, ele manda o monstro para outro local. Coloque no "MonsterPos" a posição do tile antes do tile que contem a UniqueID
  14. Vá em Data/movements/scripts. Crie um arquivo .lua, e cole isso dentro. function onStepIn(cid, item, position) local MonsterPos = {x=45, y=26, z=7} -- Nova Pos do monstro. if ((isMonster(cid)) == TRUE) and item.uid == 4009 then doTeleportThing(cid, MonsterPos) return true end end Salve e feche. Agora vá em Data/movements.xml e adicione essa TAG TAG: <movevent type="StepIn" uniqueid="4009" event="script" value="telemonster.lua" /> No tile onde o monstro não pode passar. Basta colocar UniqueID 4009. Abraços !! :smile_positivo:
  15. function onStepIn(cid, item, position) local MonsterPos = {x=45, y=26, z=7} if ((isMonster(cid)) == TRUE) and item.uid == 4009 then doTeleportThing(cid, MonsterPos) return true end end Nova Posição do Monstro, basta configurar: local MonsterPos = {x=45, y=26, z=7} Abraços !! :smile_positivo:
  16. http://www.xtibia.com/forum/topic/168072-pedido/
  17. fokus090

    Pedido

    Foi um Prazer ajudar! Abraços !! :smile_positivo:
  18. fokus090

    Pedido

    <event type="death" name="KillPlayer" script="NomeDoArquivo.lua" />
  19. As pedras estão na Actions.xml. <action itemid="8306" event="script" value="upgrade.lua"/> <action itemid="8300" event="script" value="upgrade.lua"/> A pedra 8306 é a pedra que tem chanse de falhar. A pedra 8300 é a pedra com 100% de chanse de sucesso. Vá em Data/raids. Apague tudo lá dentro e adicione isso. <raids> <!-- Raids: --> </raids> Se você deleta algum script do seu OT, você tambem tem que deletar a TAG dele. Ex: Você deleta algum script que esteja na pasta actions, então você precisa ir na Actions.xml, procurar o nome do script que você deletou e retirá-lo de lá tambem. SIMPLES! Dessa eu não tenho certeza, mas... <globalevent name="save" time="21:35" event="script" value="save.lua"/> Onde tem ( time="21:35" ) você coloca a hora desejada. function onThink(interval, lastExecution) -- Configurações local cor = 22 -- Defina a cor da mensagem (22 = branco) local mensagens = { [[Propaganda: Tutorial Feito Por FezZinN Do XTibia.Com.]], [[ Propaganda: Acessem já XTibia.Com o Melhor Forum de Tibia e Otserv.]], [[You advanced in magic level. Oops, mentira, mas poderia ter acontecido se você fosse premium account. Compre a sua em nosso website. ]] } -- Fim de Configurações doBroadcastMessage(mensagens[math.random(1,table.maxn(mensagens))], cor) return TRUE end TAG no Glovalevents.xml <globalevent name="propaganda" interval="1500" script="propaganda.lua"/> Essas eu desconheço! :confused: Aqui um script de Potion pertencente ao Real Server 8.60. local config = { removeOnUse = "no", usableOnTarget = "yes", -- can be used on target? (fe. healing friend) splashable = "no", realAnimation = "no", -- make text effect visible only for players in range 1x1 healthMultiplier = 1.0, manaMultiplier = 1.0 } config.removeOnUse = getBooleanFromString(config.removeOnUse) config.usableOnTarget = getBooleanFromString(config.usableOnTarget) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) local POTIONS = { [8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion [7618] = {empty = 7636, splash = 2, health = {100, 200}}, -- health potion [7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {500, 700}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {800, 1000}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {70, 130}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {350, 400}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then if(not config.splashable) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPos(item.uid) end doDecayItem(doCreateItem(2016, potion.splash, toPosition)) doTransformItem(item.uid, potion.empty) return true end if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return true end if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1) return true end local health = potion.health if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.healthMultiplier))) then return false end local mana = potion.mana if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) then return false end doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) if(not realAnimation) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid) end end end doAddCondition(cid, exhaust) if(not potion.empty or config.removeOnUse) then doRemoveItem(item.uid, 1) return true end doRemoveItem(item.uid, 1) doPlayerAddItem(cid, potion.empty, 1) pot_count = getPlayerItemCount(cid, potion.empty) doPlayerRemoveItem(cid, potion.empty, pot_count) doPlayerAddItem(cid, potion.empty, pot_count) return true end Ufaah, quanta coisa eim. Espero ter ajudado. Abraços !! :smile_positivo:
  20. fokus090

    Pedido

    Juanez tacou uma SD em Pedro e Pedro morreu. A seguinte mensagem é exibida: Juanez matou Pedro. data/creaturescripts/scripts local config = { deathListEnabled = getBooleanFromString(getConfigInfo('deathListEnabled')), sqlType = getConfigInfo('sqlType'), maxDeathRecords = getConfigInfo('maxDeathRecords') } config.sqlType = config.sqlType == "sqlite" and DATABASE_ENGINE_SQLITE or DATABASE_ENGINE_MYSQL function onDeath(cid, corpse, lastHitKiller, mostDamageKiller) if(config.deathListEnabled ~= TRUE) then return end local hitKillerName = "field item" local damageKillerName = "" if(lastHitKiller ~= FALSE) then if(isPlayer(lastHitKiller) == TRUE) then hitKillerName = getCreatureName(lastHitKiller) else hitKillerName = getCreatureName(lastHitKiller) end doBroadcastMessage(""..getPlayerName(cid).." has been killed by "..hitKillerName..".") if(mostDamageKiller ~= FALSE and mostDamageKiller ~= lastHitKiller and getCreatureName(mostDamageKiller) ~= getCreatureName(lastHitKiller)) then if(isPlayer(mostDamageKiller) == TRUE) then damageKillerName = getPlayerGUID(mostDamageKiller) else damageKillerName = getCreatureName(mostDamageKiller) end end end db.executeQuery("INSERT INTO `player_deaths` (`player_id`, `time`, `level`, `killed_by`, `altkilled_by`) VALUES (" .. getPlayerGUID(cid) .. ", " .. os.time() .. ", " .. getPlayerLevel(cid) .. ", " .. db.escapeString(hitKillerName) .. ", " .. db.escapeString(damageKillerName) .. ");") local rows = db.getResult("SELECT `player_id` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. ";") if(rows:getID() ~= -1) then local amount = rows:getRows(true) - config.maxDeathRecords if(amount > 0) then if(config.sqlType == DATABASE_ENGINE_SQLITE) then for i = 1, amount do db.executeQuery("DELETE FROM `player_deaths` WHERE `rowid` = (SELECT `rowid` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT 1);") end else db.executeQuery("DELETE FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT " .. amount .. ";") end end end end
  21. Sem Problemas ! function onSay(cid, words, param) newpos = {x=2085, y=2250, z=4} item_id = 12385 if getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") end if getPlayerLevel(cid) >= 200 and getPlayerItemCount(cid,item_id) >= 1 and getCreatureCondition(cid, CONDITION_INFIGHT) == FALSE then doTeleportThing(cid,newpos) doSendMagicEffect(getPlayerPosition(cid), 66) doPlayerSendTextMessage(cid, 22, "[Mission]Você entrou em Blood Castle") doPlayerSendTextMessage(cid, 22, "[Mission]Ajude o Archangel a pegar de volta sua arma,destrua os inimigos,destrua os portoes e invada o castelo,destrua o cubo e pegue a arma,e traga até o Archangel") else doPlayerSendTextMessage(cid, 22, "[Aviso]Você não tem o level nescessario ou o item") doSendMagicEffect(getPlayerPosition(cid), 68) end return TRUE end Abraços !! :smile_positivo:
  22. Sem Problemas, foi um Prazer ajudar. Abraços !! :smile_positivo:
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...