Jump to content

Search the Community

Showing results for tags 'creatureevent'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Downloads
    • Recursos
    • Suporte
    • Pedidos
    • Show-Off
    • Tutoriais
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Sou

  1. Aew galera hj vou ensinar como criar uma Mensagem de boas vindas, é fácil e pratico. Pra criar uma mensagem de boas vindas tem q ser De onLogin. Vá no creaturescripts e abra o creaturescripts.xml e adicione essa tag. <event type="login" name="MENSAGEM" event="script" value="msg.lua"/> depois vá no scripts, e crie um arquivo.lua lá, com o nome de msg. Quando vc abrir o arquivo.lua copie e cole lá dentro \/ function onLogin(cid) doCreatureSay(cid, 'msg !', TALKTYPE_ORANGE_1) end Vamos lá. function - Função onLogin - Ao logar ou Entrar doCreatureSay - O que vai falar MSG - Tire o MSG e bote oq vc quiser ali para aparece pros players ao entrar TALKTYPE_ORANGE_1 - é a cor no, q caso é Laranja. Tai ai, hj ensinei como criar um script fácil e simples de Boas vindas . Espero que gostem. Créditos: euuu
  2. Procurei e não encontrei um método de checar se tal item dropou do monstro. Ex: matei um dragon e caiu um dragon shield, quero um método de chegar isso para mostrar um efeito. usando onKillvlw.
  3. Em creaturescripts crie mount.lua: function onAdvance(cid, oldLevel, newLevel) local tab = { [20] = {mountid = xx, storage = 11950}, [35]= {mountid = xx, storage = 11951}, [50] = {mountid = xx, storage = 11952} } select = tab[newLevel] if select then if getPlayerStorageValue(cid, select.storage) < 0 then doPlayerAddMount(cid, select.mountid) setPlayerStorageValue(cid, select.storage, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou uma nova montaria por chegar no level " .. newLevel .. ".") end end end em creaturescripts.xml <event type="advance" name="MountByLevel" event="script" value="mountbylevel.lua"/> Em login.lua adicione a linha: registerCreatureEvent(cid, "MountByLevel")
  4. Bom galera achei esse script em ums post's ai e nao ta funfando pois não sei oque boto no creaturescript no tag ! Script REP+ QUEM AJUDAR Tentei copiar alguns tags ja do criaturescript e derrubou o server
  5. galera faz dois dias que estou tentando fazer um script que ao o player ganhar uma certa storage, ele ganha tanto e experiencia, mais da um erro com a função onThink eu não conheço outra funçao que de certo, erro: eu quero saber como eu poderia fazer ele funcionar, script:
  6. Galera tipo eu tenho um sistema de nick vip ex: quando coloco vip para um player ele reloga e dai aparece uma msg, dps ele reloga na conta e ta la [VIP] Fulano. Mais assim, se o o nome do player for [VIP] Fulano'Sicrano Com esse ' no nome ele fica kickando o player para colocar o nick, mas ele não coloca e fica assim reloga, kicka, reloga, kicka... alguem pode fazer o script adicionar o nick vip para os players com ' e o mesmo no gesior, não da pra colocar points nos nicks com esse '. *UP! um erro que da: mysql_real_query(): UPDATE players SET name = '[VIP] test'loko' WHERE id = 37 - MYSQL ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'loko' WHERE id = 37' at line 1 (1064) Segue o script do nick: REP+ PARA QUEM AJUDAR, OBRIGADO !
  7. Tipo: CreatureScripts & lib. Versão: 1.0 Testado: Não. @Oque Faz?. Vocês já devem conheçer o sistema de frags, então essa é uma versão editada que só conta quando você da HS tipo hitar mais que a vida da pessoa. @Instalando!. Primeiramente abra a Pasta do seu servidor entre na pasta data agora na pasta lib agora entre no arquivo 050 - function e adicione o seguinte conteúdo no inicio dele: function getHs(cid) return getPlayerStorageValue(cid, 37223) < 0 and 0 or getPlayerStorageValue(cid, 37223) end function setHs(cid, value) return setPlayerStorageValue(cid, 37223, getPlayerStorageValue(cid, 37223) + value) end agora vá para a pasta creaturescripts entre na pasta scripts crie dois arquivos um com o nome hsKill e outro hsLook. no hsKill.lua adicione isso: function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and isPlayer(attacker) then if value >= getCreatureHealth(cid) then setHs(cid, 1) end end return true end e no hsLook.lua adicione isso: function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) then doPlayerSetSpecialDescription(thing.uid, "/nHs's[" .. getHs(thing.uid) .. "] .") end return true end agora em creaturescripts.xml adicione essas duas linhas <event type="statschange" name="hsKill" script="hsKill.lua"/> <event type="look" name="hsLook" script="hsLook.lua"/> agora em login.lua adicione isso: registerCreatureEvent(cid, "hsKill") registerCreatureEvent(cid, "hsLook") espero que gostem se não gostar(então morram)())) .
  8. Hi all I'm not br, sorry if you don't understand me... i made a code that it is really useful, in trade when the players say: "SELL DRATINI ALMOST 43" the another player can't know if that is true or not, sometimes that poke need 100% of its exp to evolve lol. With my feature the players can see that by this way: 11:36 That offered poke: Rattata[M] needs 96% of exp.Boost level: 0. it is onTradeRequest, when someone try to trade with you that message will be displayed here it is the revamped trade system, just remove all of the script creaturescripts/trade system.lua and replace for this: [/font][/color] function onTradeRequest(cid, target, item) for a, b in pairs (pokeballs) do if b.use == item.itemid then doPlayerSendCancel(cid, "You can't trade this item.") return false elseif (b.on == item.itemid) then local pokename = getItemAttribute(item.uid , "poke") local nivel = getItemAttribute(item.uid , "level") local gender = getItemAttribute(item.uid, "gender") == 3 and "[F]" or "[M]" local boost = getItemAttribute(item.uid, "boost") or 0 str = "That offered poke: "..pokename..""..gender if (nivel < 100) then local experiencia = getPokemonExperienceTable(pokename)[nivel + 1] - getPokemonExperienceTable(pokename)[nivel] local proxima = getItemAttribute(item.uid , "nextlevelexp") local xp = round(proxima/experiencia * 100) str = str.." needs "..xp.."% of exp." else str = str.." it has the maximum level. " end str = str.. "Boost level: "..boost doPlayerSendTextMessage(target, 19, str) end end return true end local function noCap(cid, sid) if isCreature(cid) then doPlayerSendCancel(cid, "You can't carry more than six pokemons, trade cancelled.") end if isCreature(sid) then doPlayerSendCancel(sid, "You can't carry more than six pokemons, trade cancelled.") end end function onTradeAccept(cid, target, item, targetItem) local pbs = #getPokeballsInContainer(item.uid) local cancel = false local p1 = 0 local p2 = 0 local itemPokeball = isPokeball(item.itemid) and 1 or 0 local targetItemPokeball = isPokeball(targetItem.itemid) and 1 or 0 if pbs > 0 and getCreatureMana(target) + pbs > 6 + targetItemPokeball then cancel = true p1 = target end pbs = #getPokeballsInContainer(targetItem.uid) if pbs > 0 and getCreatureMana(cid) + pbs > 6 + itemPokeball then cancel = true p2 = cid end if cancel then addEvent(noCap, 20, p1, p2) return false end if itemPokeball == 1 and targetItemPokeball == 1 then setPlayerStorageValue(cid, 8900, 1) setPlayerStorageValue(target, 8900, 1) end return true end [color=#282828][font=helvetica, arial, sans-serif] i hope you like it ^^
  9. Bom galera estou a procura mais ainda nao achei de um script pra dividir os jogadores ao logarem em 2 times e que tenha tipo um auto balance pra nao ficar muita gente em um time e pouca no outro Versao do otserver 8.60 Agradecido desde já Obs: Supondo que os times sejao vermelho x preto , entao preto so pode matar vermelho e vice versa. abraço
  10. Tipo: CreatureScripts and Movements. Versão: 8.6. Testado: Não. @Explicando. Bom é um sistema de mudar de cidade por um tile pedido por um membro do fórum também aparecera no look a cidade que ele vive. @Instalando. Primeiramente vá em Pasta do seu servidor / data / movements / nome_do_script.lua: function onStepIn(cid, position, fromPosition) local newTown = 1 -- id da nova cidade if getPlayerTown(cid) ~= newTown then return doPlayerSetTown(cid, newTown) and doPlayerSendTextMessage(cid, 27, "Você agora é morador da cidade(" .. getTownName(newTown) .. ").") end return doPlayerSendCancel(cid, "Você já mora nessa cidade") and doTeleportThing(cid, fromPosition) end movements.xml <movevent type="StepIn" actionid="12345" event="script" value="nome_do_script.lua"/> aí você coloca a actionid "12345" no piso que você quer que muda a cidade. Agora vá em Pasta do seu servidor / data / creaturescripts / nome_do_script.lua function onLook(cid, thing, position, lookDistance) local s = getPlayerSex(thing.uid) local text = s == 1 and "He's" or "She's" local text2 = text.." resident of " .. getTownName(getPlayerTown(thing.uid)) .. "." if isPlayer(thing.uid) then doPlayerSetSpecialDescription(cid, "/n"..text2) end return true end login.lua registerCreatureEvent(cid, "lookTown") creaturescripts.xml <event type="look" name="lookTown" event="script" value="nome_do_script.lua"/>
  11. Que tal dar de presente para o seu player, o promotion? Vá em creaturescript/scripts e crie promote.lua: function onAdvance(cid, skill, oldlevel, newlevel) local config = { level = 20, storage = 6576, } if (getPlayerLevel(cid) >= config.level and getCreatureStorage(cid, config.storage) <= 0) then doCreatureSetStorage(cid, config.storage, 1) doPlayerSendTextMessage(cid,MESSAGE_EVENT_ADVANCE, 'Voce foi promovido!') return doPlayerSetPromotionLevel(cid, 1) end end Agora em creaturescripts.xml adicione a linha: <event type="advance" name="promote" event="script" value="promote.lua"/> e em creaturescripts/scripts em login.lua adicione essa linha: registerCreatureEvent(cid, "promote") Créditos: Kimoszin Fim@Final@Bye
  12. Tem como por um limitador de skill? é porque eu criei novas vocations e o ot é high rates... as primeira promotion n passa de 115 o ml mas a segunda que eu criei é infinita vai até 99999 até mais que isso ai os cara fica com ml auto e mata com 1 hit creio que haja um script que limite os skills pelo creatureevents. Resumindo, preciso de um script que de um limite ao ml
  13. Seguinte galera, oq eu to precisando é q todo player q tiver o storage 860 == 0 fique recebendo de 1 em 1 segundo a msg vermelha na tela falando: "Use o client TibiaWarsong para ter acesso aos conteudos novos, o client esta disponivel em tibiawarsong.servegame.com:8090, caso ja esteja usando o client digite /confirm para parar de receber essa msg. APENAS DIGITE /confirm se realmente estiver usando o client, caso contrario seu char tomará debug até que vc logue com o Client Warsong" Eu tentei pelo globalevents mas nao rolou, creio q seja pelo creaturescript, mas nao sei fazer e.e''' Help DDD:
  14. Hoje venho trazer um script bem simples para vocês. Eu fiz um script para um amigo e resolvi postar no xtibia para meus queridos xtibianos. E bem simples o script quando a criatura morre ela transforma em outra com a vida full dando um efeito de área bem bonito. E simplesinho mais e funcional e útil. Vá em creaturescripts e crie um arquivo lua chamado monster. function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) local area = 18 ------- A area que o efeito vai alcançar---- local effect = 23 --- Id do efeito de área para deixar mais bonito escolha um vibrante e colorido-------- local creature = "Demon" -- Monstro que revive --- function doSendDistanceEffectAround(cid, position, AreaNumber, type) local numberInArea = tonumber(AreaNumber) local distance0 = {x=position.x, y=position.y-numberInArea, z=position.z} local distance1 = {x=position.x+numberInArea, y=position.y, z=position.z} local distance2 = {x=position.x, y=position.y+numberInArea, z=position.z} local distance3 = {x=position.x-numberInArea, y=position.y, z=position.z} return doSendDistanceShoot(position, distance0, type) and doSendDistanceShoot(position, distance1, type) and doSendDistanceShoot(position, distance2, type) and doSendDistanceShoot(position, distance3, type) end doSendDistanceEffectAround(cid, getCreaturePosition(cid), area, effect) doCreateMonster(creature, getCreaturePosition(cid)) return doRemoveCreature(cid) end Coloque esta tag em creaturescripts.xml <event type="preparedeath" name= "revive" event="script" value="monster.lua"/> Registre no xml do monstro que vai se transformar colocando antes do <monster>. <script> <event name="revive"/> </script>
  15. óla, quero divulgar meu server uma maneira bem legal que encontrei é dar uma recompensa a todos players quando o servidor receber um record de players queria pedir a vocês que quando houver um record de player no server o player ganhar 100k quando tiver lvl 100- e ganhar 500k lvl 100 mais algo bem simples muito obrigado quem ajudar REP+
  16. para colocar level minimo no player Abra a pasta CreatureScript de seu OTServ, abra o arquivo "Creaturescript.xml" e adicione a tag' <event type="login" name="levelminimo" script="level_minimo.lua"/> Logo em seguida, abra a pasta Script da pasta creaturescript (data / creaturescript / scripts), faça uma cópia de um arquivo já existente na pasta, e renomeie-o para "level_minimo.lua"... Abra o arquivo que foi renomeado, apague tudo que está dentro e cole o código abaixo. function onLogin(cid) if getPlayerLevel(cid) < 50 then doPlayerAddExperience(cid, (getExperienceForLevel(50) - getPlayerExperience(cid))) end return TRUE end Onde está 50 é o lv minimo caso n seja 50 troque os 2 para o level de sua preferencia Salve e recarregue o Creaturescripts do seu server ou reinicie-o' Obs: tomei a liberdade de dar nome ao arquivo, mas vale lembrar que pode dar o nome que quiser. DE REP N CUSTA NADA
  17. Pessoal, Estou com um probleminha no meu ot, os pokemons selvagens (passivos) só atacam o player se o player atacar ele, no caso: ( se eu não clicar com botão direito nele, ele não me ataca. posso hitar até ele morrer que ele não me ataca) como sou iniciante não soube resolver isso ainda. alguem pode me dar uma luz ae? pokemon 2.0 ...... 8.54. Desculpem se postei no local errado! Paciencia vou aprendendo ! obrigado.
  18. Script: Random outifit at start Função: Quando o player entrar no server, o outifit será aleatório Creditos: Desconhecido SCRIPT: Em creaturescript, crie um arquivo chamado firstoutfit.lua e dentro coloque: Em creaturescript.xml coloque isso: <event type="login" name="firstcolor" event="script" value="firstoutfit.lua"/> E em login.lua (na pasta creaturescritps/scripts) coloque isso: registerCreatureEvent(cid, "firstcolor")
  19. Especial loot bonus with storage Créditos à Erika Kontenis Hoje, estava fuçando em outro fórum, e encontrei um script bem legal. Como Funciona? Como o nome já diz, funciona assim. O player que tiver tal storage (configuravel óbviamente), terá uma chance de cair um loot bonus... Voce pode por pra apenas vips, ou quem tiver feito uma quest... E também pode configurar o monstro que caira o loot. Vamos Lá! Em 'data/creaturescripts/creaturescripts.xml coloque essa tag: <event type="kill" name="especialloot" event="script" value="especialloot.lua"/> -- Para 0.4~ <event type="death" name="especialloot" script="especialloot.lua"/> -- Para 0.2~ Depois, registre isso em login.lua: registerCreatureEvent(cid, "especialloot") Agora em data/creaturescripts/scripts/especialloot.xml coloque isso: Para 0.4: 0.2~ Configurando: Após configurar o monstro, la no monstro você também terá que editar basta editar em todos os monstros (que tiver o loot bonus) adicionando esta tag: Ficando assim (no caso do Rat):
  20. Eae denovo glr vim trazer um script que é bom para eventos eu acho o adm fla !antipush ai ninguem pode puxar ngm /data/talkactions/scripts nome.lua function onSay(cid, words, param) if getGlobalStorageValue(3213) > 0 then setGlobalStorageValue(3213, 0) doPlayerSendTextMessage(cid, "You desativo the anti-push.") else setGlobalStorageValue(3213, 1) doPlayerSendTextMessage(cid, 27, "You ativo the anti-push.") end return true end talkactions.xml <talkaction log="yes" access="5" words="!antipush" event="script" value="nome.lua"/> /data/creaturescripts/scripts nome.lua function onPush(cid, target) if getGlobalStorageValue(3213) > 0 then return false and doPlayerSendTextMessage(cid, 28, "You can't empurar players if anti-push está actived.") end end creaturescripts.xml <event type="push" name="antiPush" script="nome.lua"/> login.lua registerCreatureEvent(cid, "antiPush") nem sei se tá certo porque nunca usei onPush então a tag pode estar errada flws.
  21. ~'Teleport Scroll`~ Créditos: J.Dre / Sonik / Fallen / Shinmaru Testado In 0.3.6 [8.54] and Latest REV of TFS [9.1] Bom o script funciona assim: Você tem um item gravavel (da pra escrever dentro), no caso usei o item 1949. Então você vai escrever no scroll (no caso) o local pra onde você quer ir, Exemplo: 'Depot'. Você tem vários locais que pode ir e pode configurar os locais. Tem um deleyzinho de 30 segundos quando se vai pro mesmo local mais de uma vez. Ele não pode ser usado se você estiver com battle. Aí basta clicar em 'ok', e o player será teleportado, para os trainers no caso. (Ps. Tem um tempo de cooldown 30 segundos para ir pros trainers novamente) Creaturescripts/scripts/tpscroll.lua local t = { ["Temple"] = {pos = {x = 3000, y = 2098, z = 7}, storage = 1337, time = 30}, ["Teleports"] = {pos = {x = 2815, y = 2025, z = 7}, storage = 1338, time = 30}, ["Addons"] = {pos = {x = 1266, y = 880, z = 7}, storage = 1339, time = 30}, ["Addon Bosses"] = {pos = {x = 1127, y = 907,z = 6}, storage = 1340, time = 30}, ["Trainers"] = {pos = {x = 2877, y = 2005, z = 7}, storage = 1341, time = 30}, ["Donation Quest"] = {pos = {x = 3160, y = 1572, z = 7}, storage = 1342, time = 30}, ["Shops"] = {pos = {x = 2940, y = 2075, z = 7}, storage = 1343, time = 30}, ["Sailors Quarter"] = {pos = {x = 3010, y = 2192, z = 6}, storage = 1344, time = 30} } function onTextEdit(cid, item, newText) if item.itemid == 1949 then if isPlayerPzLocked(cid) then doCreatureSay(cid, "You are in a battle!", TALKTYPE_MONSTER) return false end if isInArray({'locations', 'places', 'place'}, newText) then local i = '' for text, x in pairs(t) do i = i .. "\n[" .. text .. "]" end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Current Teleportation Locations: " .. i) else local p = t[newText] if not p then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Invalid location") return false end local st = p.storage if getCreatureStorage(cid, st) > os.time() then doCreatureSay(cid, "You must wait another " .. getCreatureStorage(cid, st) - os.time() .. ' second' .. (getCreatureStorage(cid, st) - os.time() == 1 and "" or "s") .. " to travel there again.", TALKTYPE_MONSTER) return true end local ti = p.time local pos = p.pos doTeleportThing(cid, pos, true) doSendMagicEffect(pos, CONST_ME_TELEPORT) doCreatureSetStorage(cid, st, os.time() + ti) doCreatureSay(cid, "You have been teleported!", TALKTYPE_MONSTER) end end return true end em creaturescripts.xml coloque isso: <event type="textedit" name="teleportpaper" event="script" value="tpscroll.lua"/> Está bem simples de configurar, coloquei em negrito as ações onde você deve configurar para adicionar um local/remover/editar. Explicação Rápida: ["Temple"] = {pos = {x = 3000, y = 2098, z = 7}, storage = 1337, time = 30}, ["Nome do lugar"] = {pos = {x = coordenada x, y = coordenada y, z = coordenada z}, storage = (criar um storage de qualquer numero pra ter o delay), time = Tempo de delay}, É isso, caso tenha dúvidas posso responder aqui mesmo ou por private. Obg!
  22. Opa fala aew, eu peguei o fly system do MatheusMKalo e re adaptei pro meu ot, porem quando eu deslogo em fly da o seguinte erro : [15/09/2012 21:51:28] [Error - CreatureScript Interface] [15/09/2012 21:51:28] data/creaturescripts/scripts/DragonSystem.lua:onLogin [15/09/2012 21:51:28] Description: [15/09/2012 21:51:28] (luaGetItemAttribute) Item not found [15/09/2012 21:51:28] [Error - CreatureScript Interface] [15/09/2012 21:51:28] data/creaturescripts/scripts/DragonSystem.lua:onLogin [15/09/2012 21:51:28] Description: [15/09/2012 21:51:28] data/creaturescripts/scripts/DragonSystem.lua:43: attempt to index a nil value [15/09/2012 21:51:28] stack traceback: [15/09/2012 21:51:28] data/creaturescripts/scripts/DragonSystem.lua:43: in function <data/creaturescripts/scripts/DragonSystem.lua:23> [15/09/2012 21:51:28] Suggest Name has logged out. CreatureScript = DragonSystem.lua Alguém ajuda D;
  23. Irei mostrar como fazer um AOL que funciona na BACKPACK. testado e aprovado Primeiramente vá na pasta do seu ot, em seguida em: Data/Items abra o arquivo items.xml como BLOCO DE NOTAS e proucure um item para colocar como função do Backpack Aol. {Recomendo o mesmo item do tutorial. <item id="11098" article="a" name="Anti-Drop"> <attribute key="description" value="Este Item faz a mesma funçao que o AOL, porem ele so precisa estar em sua Mochila." /> Após isso, vá até data/creaturescripts, abra a pasta scripts e crie um arquivo.lua chamado itemnotloot function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) local item = 11098 -- id do item local check = getPlayerItemCount(cid,item) if isPlayer(cid) == true then if check >= 1 then doCreatureSetDropLoot(cid, false) doPlayerRemoveItem(cid,item,1) return TRUE end end return TRUE end Depois vá em: data/creaturescripts abra o arquivo creaturescripts.xml como BLOCO DE NOTAS e coloque o seguinte <event type="preparedeath" name="NotLoot" event="script" value="itemnotloot.lua"/> Agora vá até data/talkactions abra a pasta SCRIPTS e crie um arquivo.lua chamado ANT function onSay(cid, words, param)[/color] [color=#000000]if doPlayerRemoveMoney(cid, 10000) == TRUE then local bp = doPlayerAddItem(cid, 11098, 1) doCreatureSay(cid, "Equipe o Ant em sua BP.", TALKTYPE_ORANGE_1) else doCreatureSay(cid, "You don't have enough money", TALKTYPE_ORANGE_1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end end E agora por último vá em data/talkactions e abra o arquivo talkactions.xml e abra como BLOCO DE NOTAS, e coloque: <talkaction words="!ant" event="script" Espero ter ajudado vocês em seus OTserv's.   Se gostou dá REP+ Forever alone .-.
  24. Ola, Estou aki para pedir um script de quando acaba a vip sai (Vip) do nome. Att, InfinityOts Meu Server:infinityot.no-ip.biz
×
×
  • Create New...