Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Estou tentando colocar o NPC ongulf igual do global em um otserver 8.6, porém ele da alguns erros e eu não entendo muito, gostaria de saber se alguém poderia me ajudar, aqui está o script do NPC e o erro que da na distro quando falo 'project' pro NPC:

 

Citar

 [Error - NpcScript Interface]
 data/npc/scripts/ongulf.lua:onCreatureSay
Description:
 (luaGetCreatureStorage) Creature not found

Citar

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)                npcHandler:onCreatureAppear(cid)            end
function onCreatureDisappear(cid)            npcHandler:onCreatureDisappear(cid)            end
function onCreatureSay(cid, type, msg)            npcHandler:onCreatureSay(cid, type, msg)        end
function onThink()                    npcHandler:onThink()                    end

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end

local voices = {
    { text = 'Great, another supply ship is due. How is a dwarf supposed to work under these conditions?' },
    { text = 'Ah, there\'s nothing like the sound of hammers in the morning.' }
}

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

--------------------------- Configuração Inicial ------------------------------------
local level = 80
        if getPlayerLevel(cid) < level then
            npcHandler:say("Desculpe, nao estou autorizado a falar com level inferior a " .. level .. ". Ordens sao ordens.", cid)
            return true
        end
        
        if getPlayerStorageValue(cid, 34415) <= 0 then -- ID de acesso para falar com o Ongulf

return npcHandler:say("I can not talk to you right now.", cid)

end


--------------------------------------------------------------
if (msgcontains(msg, 'project')) then
            if getPlayerStorageValue(cid, 34415) < 1 then
        selfSay("Well, it's a long story but you really should listen to understand what is going on here. You can also hear a short version of the story, but then don't blame me if you mess something up due to your undwarfish impatience. ...", cid)
        selfSay("So what would you like to hear, the {long} story or the {short} version?", cid)
        talkState[talkUser] = 1
        end
    elseif msgcontains(msg, "long") then
        selfSay("After centuries the resources beneath and around the Big Old One became alarmingly short. Some decades ago, the imperial mining guild financed a project to search and establish new mines far away from Kazordoon. ...", cid)
        selfSay("After several tries with mixed success, the project of the technomancers proved the most successful. Their steamships studied and mapped the great underwater rivers deep beneath the earth. ...", cid)
        selfSay("With the help of certain apparatuses, they tracked deposits of ore and compiled ship routes to reach them. These mining bases had some obvious advantages and disadvantages. ...", cid)
        selfSay("The suitable spots had no connection to the surface. On the one hand, this meant that the new mines were safe from most kinds of beasts. On the other hand, it meant that all food and material had to be brought there by ship. ...", cid)
        selfSay("Special, heavy ships were built to carry ore and supplies back and forth. The only limitation for such bases had been the range of the steamships. ...", cid)
        selfSay("Recently, the technomancers with the help of the temples of fire and earth made some crucial discoveries that allowed the ships to extend their cruising range almost limitlessly. ...", cid)
        selfSay("The survey ships of the technomancers were once again sent out to find new, promising resources. ...", cid)
        selfSay("Sadly some of the ships never returned and others only found minor deposits of ore, not worth the effort. But one of the ships made some groundbreaking discovery - a cave that had a connection to the surface. ...", cid)
        selfSay("As far as the explorers could tell, the area had been unknown to dwarfhood and mankind so far. ...", cid)
        selfSay("What was more, the said cave system had an abundance of rare ores. The imperial mining guild agreed to fund a new project and to name it 'project far far away'. ...", cid)
        selfSay("Don't look at me, I'm not the one who came up with that name! Those technomancers are such an imaginative bunch. But where have we been? Oh, yes, the new project! ...", cid)
        selfSay("Well, some ships were sent to establish a first base. ...", cid)
        selfSay("It became painfully obvious that the number of workers needed there could not easily be supplied by the ships alone. Also such a base would require an amount of money, expertise and manpower that the guild could not provide. ...", cid)
        selfSay("We would need help and additional resources. That's were you come into play. If you are interested, let's talk about possible missions.", cid)
        end
--------------------------- Mission  -----------------------------------

if (msgcontains(msg, 'mission')) then
        if getPlayerStorageValue(cid, 34416) < 1 then
        selfSay("Listen, I can handle the organisation down here and my boys will handle the construction of the base fine enough. Actually, all you do down here is to stand in the workers' way. ...", cid)
        selfSay("But there might be something for you to do outside the base. We need to learn more about the land up there. Take the lift and do some exploring. Find a passage leading out of the mountains. ...", cid)
        selfSay("Do not explore any further though. You never know whom you might be messing with.", cid)
    setPlayerStorageValue(cid, 34416, 1)
    setPlayerStorageValue(cid, 34501, 1)

        talkState[talkUser] = 1
    end

                    setPlayerStorageValue(34416, 1)
                    setPlayerStorageValue(34501, 1) --Questlog, The New Frontier Quest "Mission 01: New Land"
        talkState[talkUser] = 0
        elseif getPlayerStorageValue(34416) == 2 then
            npcHandler:say("Excellent. Although we have no idea what awaits us in this foreign land, it is always good to know something more about our surroundings.", cid)
                    setPlayerStorageValue(34416, 3)
                    setPlayerStorageValue(34501, 3) --Questlog, The New Frontier Quest "Mission 01: New Land"
        talkState[talkUser] = 0
        elseif getPlayerStorageValue(34416) == 3 then
        selfSay("Things are running fine so far. Actually so fine that we are short of supplies and men. I'd send a letter home but I guess sending you to get some assistance gives the whole affair a bit more urgency. ...", cid)
        selfSay("So please travel back to Kazordoon. In the western mines outside of The Big Old One, you'll find Melfar of the imperial mining guild. Ask him to send some more miners and wood. When you return, I might have some more interesting missions for you.", cid)
                    setPlayerStorageValue(34416, 4)
                    setPlayerStorageValue(34502, 1) --Questlog, The New Frontier Quest "Mission 02: From Kazordoon With Love"
        talkState[talkUser] = 0
        elseif getPlayerStorageValue(34416) == 7 then
            npcHandler:say("That's good news for sure. It will give our operation a new impulse. However, only if there is not some unexpected trouble ahead. Well, we'll talk about that when we discuss your next {mission}.", cid)
                    setPlayerStorageValue(34416, ?
        talkState[talkUser] = 0
        elseif getPlayerStorageValue(34416) == 8 then
        selfSay("Our guards reported some nightly visitors. They chased them through the mountains but lost them when the fugitives climbed up some vines. ...", cid)
                selfSay        ("It could easily be some trap and I'm somewhat reluctant to send you there, but we can't allow some invisible aggressor to spy on us and maybe to prepare an attack. ...", cid)
                selfSay        ("Find these vines in this mountain, climb up there and find out who is spying on us! If they mean harm, get rid of them if possible. ...", cid)
                selfSay        ("If they are too powerful, just retreat and we will have to re-evaluate the situation. If they are harmless, all the better.", cid)
                    setPlayerStorageValue(34416, 9)
                    setPlayerStorageValue(34503, 1) --Questlog, The New Frontier Quest "Mission 03: Strangers in the Night"
        talkState[talkUser] = 0
        elseif getPlayerStorageValue(34416) == 10 then
        selfSay("Primitive humans you say? These are most startling news, that's for sure. Well, I guess I'll send some victuals we can spare as a sign of our good will. ...", cid)
        selfSay("However, our miners encountered another problem in the meantime. I'm afraid this will be your next {mission}", cid)
                    setPlayerStorageValue(34416, 11)
                    setPlayerStorageValue(34503, 3) --Questlog, The New Frontier Quest "Mission 03: Strangers in the Night"
        talkState[talkUser] = 0
        elseif getPlayerStorageValue(34416) == 11 then
        selfSay("It seems things went from bad to worse! First we had some problems with the mine shafts we were building, and now that we found some precious veins in one of the new mines, and it happens to be the holiday resort of some hostile stone creatures! ...", cid)
        selfSay("Nothing we dwarfs couldn't handle alone, but I rather thought this could be something interesting for an adventurer like you. ...", cid)
        selfSay("So I reserved you the privilege to slay the leader! Use the mining lift to reach mine A07. The more stone creatures you kill, the better. Your mission, however, is to slay their leader, most likely some special stone beast.", cid)
                    setPlayerStorageValue(34416, 12)
                    setPlayerStorageValue(34504, 1) --Questlog, The New Frontier Quest "Mission 04: The Mine Is Mine"
        talkState[talkUser] = 0
        elseif getPlayerStorageValue(34416) == 13 then
            npcHandler:say("Shortly after you killed that creature, the others crumbled to dust and stone. I hope this incident does not foreshadow similar problems in our mines. However, for now I have other things to take care of and you have other {missions} to accomplish. ", cid)
                    setPlayerStorageValue(34416, 14)
        talkState[talkUser] = 0
        elseif getPlayerStorageValue(34416) == 14 then
        selfSay ("Things are getting more and more complicated. You need to convince our friends that some intervention for their part is needed. ...", cid)
        selfSay    ("We've come a long way with our own resources, but now our resources are short and we need the others to step in. I want you to negotiate some more support from our partners. ... ", cid)
        selfSay    ("You'll need all your diplomacy and influence. If you blow the negotiations, look for a guy called Black Bert in Thais. ...", cid)
        selfSay    ("He has access to all kind of odd items, and he might have just the right bribe to convince someone to continue negotiations. ...", cid)
        selfSay    ("It will not be as easy as it might sound. So watch your words and your manners and keep in mind whom you are talking to. ...", cid)
        selfSay    ("Different strategies might be necessary for different people. You may try to FLATTER, THREATEN, IMPRESS, BLUFF, PLEA or to REASON with them. You probably need some luck as well. ... ", cid)
        selfSay    ("And now listen: We need more workers for the mines. The technomancers told us that a guy named Telas, who lives in Edron, copied the worker golem technology from Yalahar. Convince him to send us some of these golems. ... ", cid)
        selfSay    ("Further, we have more ore and end products than we can use right now. So we need someone to buy all the surplus. Convince Leeland Slim in Venore that the local traders step in as resellers. ... ", cid)
        selfSay    ("Another issue at hand is our lack of drilling worms. That should not be a big problem though. Just talk to the worm tamer in Kazordoon. If he does not get mad about you, there should be no problem to get his support. ... ", cid)
        selfSay    ("Also, now that our monetary resources are used up and not much cash is coming in, we need additional help to finance this venture. Thais has promised money in advance, but we haven't seen any of this support, yet. ... ", cid)
        selfSay    ("Convince the Thaian king to send us the promised money right now. ...", cid)
        selfSay    ("Another problem we need to solve is the exploration of our surroundings. We need to know friends and enemies, and find out about the plants and beasts in the vicinity and learn what is edible and what is dangerous. ... ", cid)
        selfSay    ("This is all stuff the Explorer Society is interested in. It should be easy to convince their representative in Port Hope. ...", cid)
        selfSay    ("At last, with the growing numbers of adventurers here, not only the security of the base is growing but also the demand for certain supplies. I'd like the Edron academy to open up a shop in the base. We need to keep you adventurers happy, don't we? ... ", cid)
        selfSay    ("Well, I hope you understand the importance of this mission and got what it takes to fulfil it. So hurry up and get us the needed support.", cid)
                    setPlayerStorageValue(34416, 15)
                    setPlayerStorageValue(34505, 1) --Questlog, The New Frontier Quest "Mission 05: Getting Things Busy"
        talkState[talkUser] = 0
        elseif getPlayerStorageValue(34416) == 15 then
            if getPlayerStorageValue(Storage.TheNewFrontier.BribeKing) == 1 and getPlayerStorageValue(Storage.TheNewFrontier.BribeLeeland) == 1 and getPlayerStorageValue(Storage.TheNewFrontier.BribeExplorerSociety) == 1 and getPlayerStorageValue(Storage.TheNewFrontier.BribeWydrin) == 1 and getPlayerStorageValue(Storage.TheNewFrontier.BribeTelas) == 1 and getPlayerStorageValue(Storage.TheNewFrontier.BribeHumgolf) == 1 then
                npcHandler:say("You did an excellent job! With all this help Farmine will grow and prosper. While we put all available resources into building this base, I have another urgent {mission} for you.", cid)
                        setPlayerStorageValue(34416, 16)
            talkState[talkUser] = 0
            end
        elseif getPlayerStorageValue(34416) == 16 then
        selfSay("Our new friends, those primitive humans sent us a warning. According to them, the 'green men' of the plains plan an attack on the mountains. ...", cid)
        selfSay("Considering their expected number, there is no chance for us to beat them off. We might be able to hold our ground for a while, but without access to the surface and under constant attacks, we might have to abandon the base. ...", cid)
        selfSay("Now, I'm aware that you cannot stop an entire army by yourself, but desperate situations call for desperate measures. I ask you to find the leaders of the orcs and - well do something. ...", cid)
        selfSay("Scare them, bribe them, give them another target or whatever. As futile as it may sound: Try to talk to their leaders in some way and make them stop their attack plans. This is our only hope.", cid)
                    setPlayerStorageValue(34416, 17)
                    setPlayerStorageValue(34506, 1) --Questlog, The New Frontier Quest "Mission 06: Days Of Doom"
        talkState[talkUser] = 0
        elseif getPlayerStorageValue(34416) == 20 then
       selfSay("Oh my. What a mess you have gotten yourself into. Well, at least you made it out alive. Whatever the value of a minotaur's promise might be, I guess that is the best we can get. ...", cid)
       selfSay("Of course all those revelations lead to new problems and a new mission for you.", cid)
                    setPlayerStorageValue(34416, 21)
        talkState[talkUser] = 0
        elseif getPlayerStorageValue(34416) == 21 then
        selfSay("Ooook. Now that we managed to keep those orcs and minotaurs at bay at least for a while, we learn that the real meanies over here are some lizardmen. Just great, isn't it?. ...", cid)
        selfSay("So you might already guess your next mission: Find a way to hold those lizards off. Find them, contact them, talk to them, scare them, bribe them, whatever. Just keep that snakes away if anyhow possible. ...", cid)
        selfSay("If the orcs are right, they are somewhere in or behind those mountains in the north. I doubt you can reason with them in any way, but you'll have to try for the sake of Farmine.", cid)
                    setPlayerStorageValue(34416, 22)
                    setPlayerStorageValue(34507, 1) --Questlog, The New Frontier Quest "Mission 07: Messengers Of Peace"
        talkState[talkUser] = 0
        elseif getPlayerStorageValue(34416) == 27 then
        selfSay("Oh, my! That sounds like a real mess. For now this dragon empire seems otherwise engaged, but we will be on guard thanks to you my friend. We will continue to fortify the base. ...", cid)
                selfSay("This leaves not much to do for you down here. I recommend you continue to explore this strange new land. ...", cid)
                selfSay("I'm pretty sure there are several opportunities at hand for an adventurer like you. ...", cid)
                selfSay("Perhaps you can help the primitives you encountered. Who knows, maybe even those minotaurs give you a chance to fortify this fragile peace between us. ...", cid)
                selfSay("Even some of the people here in the base might offer you some tasks sooner or later. If you prefer, you can also do some exploring, hunting and good ol' plundering on your own of course. ...", cid)
                selfSay("This new land is yours to be taken, so to say. Go out and make your fortune! With Farmine you have always a safe haven to return to. ...", cid)
                selfSay("Oh and one last thing: We convinced a carpet pilot to join us here. You'll find him on top of our lift in the mountains. I think he can offer you fast access to some cities back home.", cid)
            player:addExperience(8000, true)
            player:addOutfit(335)
            player:addOutfit(336)
            player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
                    setPlayerStorageValue(34416, 28)
                    setPlayerStorageValue(34510, 1) --Questlog, The New Frontier Quest "Mission 10: New Horizons"
        talkState[talkUser] = 0
            
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

Editado por mattosknight (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por cloudrun2023
      CloudRun - Sua Melhor Escolha para Hospedagem de OTServer!
      Você está procurando a solução definitiva para hospedar seu OTServer com desempenho imbatível e segurança inigualável? Não procure mais! Apresentamos a CloudRun, sua parceira confiável em serviços de hospedagem na nuvem.
       
      Recursos Exclusivos - Proteção DDoS Avançada:
      Mantenha seu OTServer online e seguro com nossa robusta proteção DDoS, garantindo uma experiência de jogo ininterrupta para seus jogadores.
       
      Servidores Ryzen 7 Poderosos: Desfrute do poder de processamento superior dos servidores Ryzen 7 para garantir um desempenho excepcional do seu OTServer. Velocidade e estabilidade garantidas!
       
      Armazenamento NVMe de Alta Velocidade:
      Reduza o tempo de carregamento do jogo com nosso armazenamento NVMe ultrarrápido. Seus jogadores vão adorar a rapidez com que podem explorar o mundo do seu OTServer.
       
      Uplink de até 1GB:
      Oferecemos uma conexão de alta velocidade com até 1GB de largura de banda, garantindo uma experiência de jogo suave e livre de lag para todos os seus jogadores, mesmo nos momentos de pico.
       
      Suporte 24 Horas:
      Estamos sempre aqui para você! Nossa equipe de suporte está disponível 24 horas por dia, 7 dias por semana, para resolver qualquer problema ou responder a qualquer pergunta que você possa ter. Sua satisfação é a nossa prioridade.
       
      Fácil e Rápido de Começar:
      Configurar seu OTServer na CloudRun é simples e rápido. Concentre-se no desenvolvimento do seu jogo enquanto cuidamos da hospedagem.
       
      Entre em Contato Agora!
      Website: https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
      Email: [email protected]
      Telefone: (47) 99902-5147

      Não comprometa a qualidade da hospedagem do seu OTServer. Escolha a CloudRun e ofereça aos seus jogadores a melhor experiência de jogo possível. Visite nosso site hoje mesmo para conhecer nossos planos e começar!
       
      https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
       
      CloudRun - Onde a Velocidade Encontra a Confiabilidade!
       

    • Por FeeTads
      SALVE rapaziada do TK, esses dias vim pensando em novos scripts pro meu OT, e em um deles eu precisava que determinada area não contasse frag pro player que matasse outros, PORÉM eu precisava que os players que morressem nessa area ainda assim tivessem as penalidades da sua morte, procurei por ai, achei alguns scripts que apenas tiravam o SKULL e não realmente o FRAG do player.

      **script atualizado 22/10/2023** - melhorado e otimizado, levei o script pra puxar as infos por .lua / creatureScripts

      vou disponibilizar o code aqui, e o que fazer pra determinada area não contar frag.

      SOURCE OTX 2 / TFS 0.x, Funciona em TFS 1.x mudando as tags e ajeitando as sintaxes.

      vá em creatureevent.cpp

      procure por:
      else if(type == "preparedeath") _type = CREATURE_EVENT_PREPAREDEATH;
      Adiciona abaixo:
      else if(type == "nocountfrag") _type = CREATURE_EVENT_NOCOUNTFRAG;

      procure por:
      case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath";  
      Adicione abaixo: 
      case CREATURE_EVENT_NOCOUNTFRAG: return "noCountFragArea";

      procure por:
      case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList";
      Adicione abaixo:
      case CREATURE_EVENT_NOCOUNTFRAG: return "cid, target";

      agora no mesmo arquivo, vá até o final do arquivo e adicione essa função:
      uint32_t CreatureEvent::executeNoCountFragArea(Creature* creature, Creature* target) { //noCountFragArea(cid, target) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::ostringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; scriptstream << "local target = " << env->addThing(target) << std::endl; if(m_scriptData) scriptstream << *m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ std::ostringstream desc; desc << creature->getName(); env->setEvent(desc.str()); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(creature->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(creature)); lua_pushnumber(L, env->addThing(target)); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::noCountFragArea] Call stack overflow." << std::endl; return 0; } }

      agora vá em creatureevent.h

      procure por:
      CREATURE_EVENT_PREPAREDEATH
      adicione abaixo:
      CREATURE_EVENT_NOCOUNTFRAG

      procure por:
      uint32_t executePrepareDeath(Creature* creature, DeathList deathList);
      Adicione abaixo:
      uint32_t executeNoCountFragArea(Creature* creature, Creature* target);

      agora vá em player.cpp

      procure por:
      bool Player::onKilledCreature(Creature* target, DeathEntry& entry)
      abaixo de:
      War_t enemy; if(targetPlayer->getEnemy(this, enemy)) { if(entry.isLast()) IOGuild::getInstance()->updateWar(enemy); entry.setWar(enemy); }
      Adicione o seguinte código:
      if (targetPlayer){ CreatureEventList killEvents = getCreatureEvents(CREATURE_EVENT_NOCOUNTFRAG); for (const auto &event : killEvents) { if (!event->executeNoCountFragArea(this, target)) { return true; } } }

      //

      Feito isso, tudo completo na sua source, agora é necessário adicionar o creaturescript dentro do servidor

      vá até creaturescripts/scripts
      crie um arquivo chamado, "noCountFragInArea.lua"
      e dentro dele cole o código:
       
      --[[ script feito por feetads / TibiaKing ]]-- --[[ discord: feetads / FeeTads#0246 ]]-- -- Add positions here for which you do not want to count frags local areas = { [1] = {from = {x = 91, y = 122, z = 7}, to = {x = 98, y = 127, z = 7}}, -- from = area superior esquerda / to = area inferior direita (formando um quadrado) } local onlyKillerInArea = false -- only killer need to be in area? function noCountFragArea(cid, target) if not isCreature(cid) or not isCreature(target) then return true end local posKiller = getPlayerPosition(cid) local posTarget = getPlayerPosition(target) for i = 1, #areas do local area = areas[i] if isInArea(posKiller, area.from, area.to) then if onlyKillerInArea then return false elseif isInArea(posTarget, area.from, area.to) then return false end end end return true end
      agora em creaturescripts.xml
      <event type="nocountfrag" name="fragarea" event="script" value="noCountFragInArea.lua"/>
      agora em creaturescripts/scripts/login.lua
       procure por OU semelhante a esse:
      registerCreatureEvent(cid, "AdvanceSave")
      e abaixo adicione:
      registerCreatureEvent(cid, "fragarea")

      //


      Agora tudo certo, quando quiser adiciona uma area que não pega frag, vá até o script e apenas coloque a area, igual o demonstrado no script

      Exemplo:
      local areas = { [1] = {from = {x = 91, y = 122, z = 7}, to = {x = 98, y = 127, z = 7}}, [2] = {from = {x = 1000, y = 1000, z = 7}, to = {x = 1100, y = 1100, z = 7}}, }
      assim somente colocando a area no script e abrindo o server ou dando /reload, já funcionará a area como não pegar frag.
      Esse sistema pode ser bom pra areas de pvp ativo, onde você ainda quer que o player que morrer perca os atributos, como se fosse uma morte normal, porém não conta frag pra quem matar.
      Bom pra sistemas tipo castle 48h (guild war), onde há diversas mortes e risco de pegar red, atrapalhando a war.

      Façam bom proveito dos scripts, e deixem os créditos no script rsrs

      **Eu fiz as alterações e o simples código por isso vim disponibilizar, créditos meus**
    • Por Muvuka
      Abri canal a força creaturescript acho que funcione no creaturescript cria script creaturescript
       
      <channel id="9" name="HELP" logged="yes"/>
      <channel id="12" name="Report Bugs" logged="yes"/>
      <channel id="13" name="Loot" logged="yes"/>
      <channel id="14" name="Report Character Rules Tibia Rules" logged="yes"/>
      <channel id="15" name="Death Channel"/>
      <channel id="6548" name="DexSoft" level="1"/>
      <channel id="7" name="Reports" logged="yes"/>
       
      antes de 
              if(lastLogin > 0) then adicione isso:
                      doPlayerOpenChannel(cid, CHANNEL_HELP) doPlayerOpenChannel(cid, 1,  2, 3) = 1,2 ,3 Channels, entendeu? NÃO FUNCIONA EU QUERO UM MEIO DE ABRI SEM USA A SOURCE
       
      EU NÃO CONSEGUI ABRI EU NÃO TENHO SOURCE
       
       
    • Por bolachapancao
      Rapaziada seguinte preciso de um script que ao utilizar uma alavanca para até 4 jogadores.
      Os jogadores serão teleportados para hunt durante uma hora e depois de uma hora os jogadores serão teleportados de volta para o templo.
       
      Observação: caso o jogador morra ou saia da hunt o evento hunt é cancelado.

      Estou a base canary
      GitHub - opentibiabr/canary: Canary Server 13.x for OpenTibia community.
       
    • Por RAJADAO
      .Qual servidor ou website você utiliza como base? 
      Sabrehaven 8.0
      Qual o motivo deste tópico? 
      Ajuda com novos efeitos
       
      Olá amigos, gostaria de ajuda para introduzir os seguintes efeitos no meu servidor (usando o Sabrehaven 8.0 como base), adicionei algumas runas novas (avalanche, icicle, míssil sagrado, stoneshower & Thunderstorm) e alguns novos feitiços (exevo mas san, exori san, exori tera, exori frigo, exevo gran mas frigo, exevo gran mas tera, exevo tera hur, exevo frigo hur) mas nenhum dos efeitos dessas magias parece existir no servidor, alguém tem um link para um tutorial ou algo assim para que eu possa fazer isso funcionar?
      Desculpe pelo mau inglês, sou brasileiro.

      Obrigado!


      AVALANCHE RUNE id:3161 \/
      (COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA)
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)

      STONESHOWER RUNE id:3175 \/
      (COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_STONES)
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)

      THUNDERSTORM RUNE id:3202 \/
      (COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_E NERGYHIT)
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL)

      ICICLE RUNE id:3158 \/
      COMBAT_ICEDAMAGE
      CONST_ME_ICEAREA
      CONST_ANI_ICE

      SANTO MÍSSIL RUNA id:3182 \/
      (COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
      (COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_HOLY)

      CONST_ME_PLANTATTACK (exevo gran mas tera)
      CONST_ME_ICETORNADO (exevo gran mas frigo)
      CONST_ME_SMALLPLANTS (exevo tera hur)
      CONST_ME_ICEAREA (exevo frigo hur)
      CONST_ME_ICEATTACK (exori frigo)
      CONST_ME_CARNIPHILA (exori tera)

      EXORI SAN \/
      (COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
      CONST_ME_HOLYDAM IDADE

      EXEVO MAS SAN \/
      CONST_ME_HOLYAREA
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo