Jump to content

Search the Community

Showing results for tags '0.3.6'.

  • 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. Gente, estou com uma dúvida, tem como colocar um script de um npc para um monstro? Segue a baixo o script que era de um npc, que eu queria que funcionasse em um monstro... Resumindo o script ele ataca apenas players com skull, mas isso é para um npc, no caso a gente coloca esse script, na pasta de script do npc lá e funciona... mas eu precisava isso para um monstro, tipo o monstro executa esse script ai. alguém consegue me ajudar? local level = 10 ----- change this to make the npc hit more/less---------------------|damage_min = (level * 2 + maglevel * 3) * min_multiplier | local maglevel = 10 ----- change this to make the npc hit more/less -----------------|damage_max = (level * 2 + maglevel * 3) * max_multiplier | local min_multiplier = 2.1 ----- change this to make the npc hit more/less ----------|damage_formula = math.random(damage_min,damage_max) | local max_multiplier = 4.2 ----- change this to make the npc hit more/less --------------------------------------------------------------------- local check_interval = 5 ----- change this to the time between checks for a creature (the less time the more it will probably lag :S) local radiusx = 7 ----- change this to the amount of squares left/right the NPC checks (default 7 so he checks 7 squares left of him and 7 squares right (the hole screen) local radiusy = 5 ----- change this to the amount of squares left/right the NPC checks (default 5 so he checks 5 squares up of him and 5 squares down (the hole screen) local Attack_message = "An Invader, ATTACK!!!" ----- change this to what the NPC says when he sees a monster(s) local town_name = "Archgard" ----- the name of the town the NPC says when you say "hi" local Attack_monsters = TRUE ----- set to TRUE for the npc to attack monsters in his area or FALSE if he doesnt local Attack_swearers = TRUE ----- set to TRUE for the npc to attack players that swear near him or FALSE if he doesnt local Attack_pkers = TRUE ----- set to TRUE for the npc to attack players with white and red skulls or FALSE if he doesnt local health_left = 10 ----- set to the amount of health the npc will leave a player with if they swear at him (ie at 10 he will hit the player to 10 health left) local swear_message = "Take this!!!" ----- change this to what you want the NPC to say when he attackes a swearer local swear_words = {"shit", "fuck", "dick", "cunt"} ----- if "Attack_swearers" is set to TRUE then the NPC will attack anyone who says a word in here. Remember to put "" around each word and seperate each word with a comma (,) local hit_effect = CONST_ME_MORTAREA ----- set this to the magic effect the creature will be hit with, see global.lua for more effects local shoot_effect = CONST_ANI_SUDDENDEATH ----- set this to the magic effect that will be shot at the creature, see global.lua for more effects local damage_colour = TEXTCOLOR_RED ----- set this to the colour of the text that shows the damage when the creature gets hit ------------------end of config------------------ local check_clock = os.clock() ----- leave this local focus = 0 ----- leave this function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) health = getCreatureHealth(cid) - health_left if ((string.find(msg, '(%a*)hi(%a*)'))) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. creatureGetName(cid) .. '! I am a defender of '..town_name..'.') doNpcSetCreatureFocus(cid) focus = 0 end if msgcontains(msg, 'time') then selfSay('The time is ' .. getWorldTime() .. '.') end if messageIsInArray(swear_words, msg) then if Attack_swearers == TRUE then selfSay('' .. swear_message ..' ') doCreatureAddHealth(cid,-health) doSendMagicEffect(getThingPos(cid),17) doSendAnimatedText(getThingPos(cid),health,180) doNpcSetCreatureFocus(cid) focus = 0 end end end function getMonstersfromArea(pos, radiusx, radiusy, stack) local monsters = { } local starting = {x = (pos.x - radiusx), y = (pos.y - radiusy), z = pos.z, stackpos = stack} local ending = {x = (pos.x + radiusx), y = (pos.y + radiusy), z = pos.z, stackpos = stack} local checking = {x = starting.x, y = starting.y, z = starting.z, stackpos = starting.stackpos} repeat creature = getThingfromPos(checking) if creature.itemid > 0 then if isCreature(creature.uid) == TRUE then if isPlayer(creature.uid) == FALSE then if Attack_monsters == TRUE then table.insert (monsters, creature.uid) check_clock = os.clock() end elseif isPlayer(creature.uid) == TRUE then if Attack_pkers == TRUE then if getPlayerSkullType(creature.uid) > 0 then table.insert (monsters, creature.uid) check_clock = os.clock() end end end end end if checking.x == pos.x-1 and checking.y == pos.y then checking.x = checking.x+2 else checking.x = checking.x+1 end if checking.x > ending.x then checking.x = starting.x checking.y = checking.y+1 end until checking.y > ending.y return monsters end function onThink() if (Attack_monsters == TRUE and Attack_pkers == TRUE) or (Attack_monsters == TRUE and Attack_pkers == FALSE) or (Attack_monsters == FALSE and Attack_pkers == TRUE) then if (os.clock() - check_clock) > check_interval then monster_table = getMonstersfromArea(getCreaturePosition(getNpcCid( )), radiusx, radiusy, 253) if #monster_table >= 1 then selfSay('' .. Attack_message ..' ') for i = 1, #monster_table do doNpcSetCreatureFocus(monster_table[i]) local damage_min = (level * 2 + maglevel * 3) * min_multiplier local damage_max = (level * 2 + maglevel * 3) * max_multiplier local damage_formula = math.random(damage_min,damage_max) doSendDistanceShoot(getCreaturePosition(getNpcCid( )), getThingPos(monster_table[i]), shoot_effect) doSendMagicEffect(getThingPos(monster_table[i]),hit_effect) doSendAnimatedText(getThingPos(monster_table[i]),damage_formula,damage_colour) doCreatureAddHealth(monster_table[i],-damage_formula) check_clock = os.clock() focus = 0 end elseif table.getn(monster_table) < 1 then focus = 0 check_clock = os.clock() end end end focus = 0 end
  2. alguem sabe onde eu encontro script pra um player passar por dentro do outro em area pz? ou alguem sabe alguma distro que faz isso?
  3. tfs 0.3.6 Bom antigamente eu lembro que existia um script ou algo do tipo, que o time azul e preto fazia war. quem era do time azul so podia atacar os pretos e vice versa, alguém tem alguma ideia par ame ajudar? sei lá, por storage por algum script enfim... a pessoa vira de tal time, e so pode atacar pessoas de times diferentes.
  4. tfs 0.3.6 Bom antigamente eu lembro que existia um script ou algo do tipo, que o time azul e preto fazia war. quem era do time azul so podia atacar os pretos e vice versa, alguém tem alguma ideia par ame ajudar? sei lá, por storage por algum script enfim... a pessoa vira de tal time, e so pode atacar pessoas de times diferentes.
  5. Bom eu tenho esse script aqui, consiste em colocar o item (checkitems) em um tile configuravel no script e retira o item e da o addo, bom eu precisava que fosse um item ou outro item. por exemplo a pessoa podia pegar o addon com dois itens diferentes tanto com o x item quanto com o y, se eu coloco isso no script ele diz que precisa de 2 itens, como eu faço pra ser um ou outro? local c = { checkItems = {[2656] = 1, [5880] = 100}, -- [itemId] = quantidade checkPlaces = {{x=175, y=392, z=10}, {x=175, y=394, z=10}}, -- posicoes addons = {{145, 149}, name = "Wizard Addon"}, -- {addon female/male}, nome do outfit storage = 21003, level = 0 } local function getTableMax(t) local ret = 0 for _, i in pairs(t) do ret = ret + 1 end return ret end function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerStorageValue(cid, c.storage) == -1) then if(getPlayerLevel(cid) > c.level) then local done = {} for n, pos in pairs(c.checkPlaces) do for itemId, count in pairs(c.checkItems) do local posItem = getTileItemById(pos, itemId) if(posItem.uid ~= 0 and (count == 1 or posItem.type >= count) and not done[itemId]) then done[itemId] = {count, pos} break end end end if(getTableMax(done) == getTableMax(c.checkItems)) then for i, t in pairs(done) do doRemoveItem(getTileItemById(t[2], i).uid, t[1]) doSendMagicEffect(t[2], CONST_ME_FIREAREA) end setPlayerStorageValue(cid, c.storage, 1) for i = 1, #c.addons[1] do doPlayerAddOutfit(cid, c.addons[1], 3) end doPlayerSendTextMessage(cid, 21, "You just earned the "..(c.addons.name)..".") else doPlayerSendCancel(cid, "You need all itens.") end else doPlayerSendCancel(cid, "You need level "..(c.level)..".") end else doPlayerSendCancel(cid, "You have already completed this addon.") end return true end
  6. um servidor de Tibia que possuía um sistema bem interessante de tradevip. Funcionava da seguinte maneira, o player que possuísse premdays(ou VIP) usava o comando !tradevip [DIAS], [Nome do Jogador] e automaticamente gerava uma janela de trade com um item e assim poderiam ser vendidos dias de premium sem o perigo de ninguém ser roubado. Por padrão isso não é possível no Tibia, mas um usuário chamado Oneshot fez modificações nas sources para tornar isso possível. Segue agora as modificações que permitem funcionar esse sistema: Em luascript.h, adicione essa linha, abaixo das linhas parecidas. static int32_t luaDoStartTrade(lua_State* L); ________________________________________________________________________ Em luascript.cpp, adicione isso perto das linhas parecidas. //doStartTrade(cid, target, item) lua_register(m_luaState, "doStartTrade", LuaInterfaceluaDoStartTrade); _____________________________________________________________________ Ainda em luascript.cpp, adicione isso logo abaixo de alguma estrutura parecida. int32_t LuaInterfaceluaDoStartTrade(lua_State* L) { ScriptEnviroment* env = getEnv(); Item* item = env->getItemByUID(popNumber(L)); if(!item) { errorEx(getError(LUA_ERROR_ITEM_NOT_FOUND)); lua_pushboolean(L, false); return 1; } Player* target = env->getPlayerByUID(popNumber(L)); Player* player = env->getPlayerByUID(popNumber(L)); if(!player || !target) { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); return 1; } if(g_game.internalStartTrade(player, target, item)) { lua_pushboolean(L, true); return 1; } return 1; } seria possivel atraves deste, e de algumas modificações ativar uma trade atacando um npc? Créditos: Oneshot
  7. Bom, eu preciso de algo parecido ou assim que eu possa colocar uma tag no script do monster que ele vire do grupo "1" ou do "2" os dois grupos sao rivais... queria que os mesmos se atacassem, alguém consegue ajudar? alguém?
  8. Bom, eu precisava de algum sistema que o monstro se multiplicasse quando tivesse x de vida, por exemplo o demon ta com 500 de vida, criasse outro demon com 500 de vida. Desde já obrigado.
  9. Bom, tem um mini-game no meu server que clica em itens para descobrir o caminho, porém eu queria colocar alguns monstros para ficar mais dificil o problema é que com os monstros lá eles ficam batendo no player e o sangue vai ficando no chao e quando esse sangue fica no chao nao da mais pra usar o item que estava naquele tile, tem como eu desativar o "efeito" de sangue no chao em uma determinada area?
  10. Em anexo deixei a imagem... queria uma action que tivesse duas opções, podendo eu configurar o que cada faria, eu sei fazer o pop-up aparecer e tudo mais, mas só aparece o boao [ok] como faz pra ter mais de um botao? TFS 0.3.6
  11. Olá, tudo bem com vocês? Bem o que eu procuro é uma solução para meu problema... tenho o npc e creatureevents de uma task só que não conta os monstros, gostaria de saber o porque. TFS:0.3.6 NPC XML: <?xml version="1.0" encoding="UTF-8"?> <npc name="Kahn" script="npcdragonstask.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150"/> <look type="129" head="95" body="116" legs="121" feet="115" addons="3"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|! Meu nome e Kahn, sou cacador de {dragoes}."/> </parameters> </npc> NPC SCRIPT: CreatureEvents LOGIN: registerCreatureEvent(cid, "DragonsTask") então muito bem esta ai o script, não da erro nenhum só não conta os monstros quando estou matando... Me ajudem por favor.
  12. Olá galerinha do Xtibia, Boa tarde; O que eu gostaria de saber e se alguém tem os Códigos C++ do War System sem Site, agradeceria muito se alguém postassem aqui, ajudaria não só a mim mas a muitos que necessitam destes códigos. Espero que me ajudem! Abraço a todos
  13. Crying Damson Versão 5 Olá pessoal, não sou muito comum por aqui mais agora estou mais ativo, vim trazer o TFS 0.3.6 um Ótimo servidor que procurei por aqui mais não encontrei e estou trazendo ele aqui para o FÓrum Versão 8.60 Antes de Baixar: O mapa do server não está completo, o que conta e o conteudo e muitos server utilizam outro mapa As coordenadas do Templo e do ACC Manager tem que ser configuradas no Config. O pacote com o server já vem com o SQL Studio As DLL'S Necessárias já estão junto com o server A Conta do GOD é: god/god V2 Log: Arrumado Bug nas House Arrumado Bug nos NPC Arrumado items.otb Adicionado Sistema de casamento Adicionado Anti Bot Combo Adicionado Anti MC-Bot Added GM: Acc: god Pass: god V3 Log: Itens adicionados pilha de automÓveis Adicionado anti danos guilda e party - configurável no config.lua - Guild Dano / Party - noDamageToGuildMates = false - se for verdade, então nenhum dano, se false então danos noDamageToPartyMembers = false - se for verdade, então nenhum dano, se false então danos Adicionado anti-x logG fora assim que você não vai receber a proibição otservlist! Acrescentou que, se você atirar runas, as cargas podem ser mais do que 1000. exemplo: você disparou Sudden Death 1234 Melhorado o comando online. !online V5 Log: Arrumado menores erros nas fontes! Corrigido o erro das Casas que pode causar queda do servidor! O servidor tem sido mais estável do que antes! Atualizado DLL'S! Uploaded with ImageShack.us Download: Server 4Shared Source MediaFire Scan VirusTotal OBS: Detectou 4 tipos de Vírus que são Inofensivos eu utilizo o AVG Internet Security 2012 e não teve nenhum problema. Créditos: Bloodwalker otswe (otland) OBS: Este server foi retirado da OTLand e fiz algumas poucas Mudanças. REP+
×
×
  • Create New...