Ir para conteúdo
  • Cadastre-se

C++ UPDATE 3: Moveitem + Antipush + Anti-Crash Elf Bot - Bug Fixes - TFS 0.4 11/04/2024


Posts Recomendados

Spoiler

../creatureevent.cpp: In member function `uint32_t CreatureEvents::executeMoveItems(Creature*, Item*, const Position&, const Position&)':
../creatureevent.cpp:198: error: base operand of `->' has non-pointer type `std::pair<const std::string, CreatureEvent*>'
../creatureevent.cpp:200: error: base operand of `->' has non-pointer type `std::pair<const std::string, CreatureEvent*>'

../creatureevent.cpp: In member function `virtual bool CreatureEvent::configureEvent(xmlNode*)':
../creatureevent.cpp:347: error: expected primary-expression before "else"
../creatureevent.cpp:347: error: expected `;' before "else"

../creatureevent.cpp:354: error: expected primary-expression before "else"
../creatureevent.cpp:354: error: expected `;' before "else"
../creatureevent.cpp:356: error: expected primary-expression before "else"
../creatureevent.cpp:356: error: expected `;' before "else"

make.exe: *** [obj//creatureevent.o] Error 1

 

quando eu clico pra ver onde está os erros mostra que estão nesses ";" antes dos else que não tem sentido nenhum kkkkkk

 

Spoiler

	else if(tmpStr == "moveitem")
		m_type = CREATURE_EVENT_MOVEITEM;
    else if(tmpStr == "moveitem2")
		m_type = CREATURE_EVENT_MOVEITEM2;
		
	
        m_type = CREATURE_EVENT_MOVEITEM;
	else if(tmpStr == "extendedopcode")
        m_type = CREATURE_EVENT_EXTENDED_OPCODE;
	else
	{
		std::cout << "[Error - CreatureEvent::configureEvent] No valid type for creature event." << str << std::endl;
		return false;
	}

 

 

Link para o post
Compartilhar em outros sites
  • Respostas 48
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

TUTORIAL BY L3K0T PT~EN   Olá pessoal, trago a vocês uma atualização que fiz no sistema, contendo 3 novas funcionalidades de movimentação de itens e uma proteção contra Elf Bot. Estas adiçõe

Opa, já vou deixando meu rep porque parece bem interessante, hehe.

Muito bom! Tá inspirado em mano kkk 

Posted Images

  • Sub-Admin
7 minutos atrás, Spooky Ghost disse:
  Mostrar conteúdo oculto


../creatureevent.cpp: In member function `uint32_t CreatureEvents::executeMoveItems(Creature*, Item*, const Position&, const Position&)':
../creatureevent.cpp:198: error: base operand of `->' has non-pointer type `std::pair<const std::string, CreatureEvent*>'
../creatureevent.cpp:200: error: base operand of `->' has non-pointer type `std::pair<const std::string, CreatureEvent*>'

../creatureevent.cpp: In member function `virtual bool CreatureEvent::configureEvent(xmlNode*)':
../creatureevent.cpp:347: error: expected primary-expression before "else"
../creatureevent.cpp:347: error: expected `;' before "else"

../creatureevent.cpp:354: error: expected primary-expression before "else"
../creatureevent.cpp:354: error: expected `;' before "else"
../creatureevent.cpp:356: error: expected primary-expression before "else"
../creatureevent.cpp:356: error: expected `;' before "else"

make.exe: *** [obj//creatureevent.o] Error 1

 

quando eu clico pra ver onde está os erros mostra que estão nesses ";" antes dos else que não tem sentido nenhum kkkkkk

 

  Ocultar conteúdo


	else if(tmpStr == "moveitem")
		m_type = CREATURE_EVENT_MOVEITEM;
    else if(tmpStr == "moveitem2")
		m_type = CREATURE_EVENT_MOVEITEM2;
		
	
        m_type = CREATURE_EVENT_MOVEITEM;
	else if(tmpStr == "extendedopcode")
        m_type = CREATURE_EVENT_EXTENDED_OPCODE;
	else
	{
		std::cout << "[Error - CreatureEvent::configureEvent] No valid type for creature event." << str << std::endl;
		return false;
	}

 

 

     else if(tmpStr == "moveitem")
		m_type = CREATURE_EVENT_MOVEITEM;
    else if(tmpStr == "moveitem2")
		m_type = CREATURE_EVENT_MOVEITEM2;

	else if(tmpStr == "extendedopcode")
        m_type = CREATURE_EVENT_EXTENDED_OPCODE;
	else
	{
		std::cout << "[Error - CreatureEvent::configureEvent] No valid type for creature event." << str << std::endl;
		return false;
	}
Editado por L3K0T (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
Spoiler

../creatureevent.cpp: In member function `uint32_t CreatureEvents::executeMoveItems(Creature*, Item*, const Position&, const Position&)':
../creatureevent.cpp:198: error: base operand of `->' has non-pointer type `std::pair<const std::string, CreatureEvent*>'

../creatureevent.cpp:200: error: base operand of `->' has non-pointer type `std::pair<const std::string, CreatureEvent*>'

../creatureevent.cpp: In member function `virtual bool CreatureEvent::configureEvent(xmlNode*)':
../creatureevent.cpp:347: error: expected primary-expression before "else"
../creatureevent.cpp:347: error: expected `;' before "else"

make.exe: *** [obj//creatureevent.o] Error 1

 

 

@L3K0T  Um else ainda está persistindo, ele fica nessa parte:

 

Spoiler

else if(tmpStr == "moveitem")

 

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin
13 minutos atrás, Spooky Ghost disse:
  Ocultar conteúdo


../creatureevent.cpp: In member function `uint32_t CreatureEvents::executeMoveItems(Creature*, Item*, const Position&, const Position&)':
../creatureevent.cpp:198: error: base operand of `->' has non-pointer type `std::pair<const std::string, CreatureEvent*>'

../creatureevent.cpp:200: error: base operand of `->' has non-pointer type `std::pair<const std::string, CreatureEvent*>'

../creatureevent.cpp: In member function `virtual bool CreatureEvent::configureEvent(xmlNode*)':
../creatureevent.cpp:347: error: expected primary-expression before "else"
../creatureevent.cpp:347: error: expected `;' before "else"

make.exe: *** [obj//creatureevent.o] Error 1

 

 

@L3K0T  Um else ainda está persistindo, ele fica nessa parte:

 

  Ocultar conteúdo


else if(tmpStr == "moveitem")

 

 

pode manda a source no privado???

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin
2 horas atrás, Spooky Ghost disse:

@L3K0T tem discord? pq aqui ta aprecendo que você não pode receber msg ai eu upo ela no mega e te mando o link

pronto :)

image.thumb.png.4ae6283ba2657f60a471bba2a0908fc8.png

Editado por L3K0T (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
  • 3 weeks later...

esse codigo ond eu coloco ? 

     if moveItem.itemid == IDDOITEM then
          doPlayerSendTextMessage(cid,25,'você bloqueou um item para não move no jogo!')
          return false   
                

next=

Citar

function onMoveItem(moveItem, frompos, position, cid)
if moveItem.itemid == 5922 then
          doPlayerSendCancel(cid, 'Desculpe, isso não é possível!')
          return false   
     end
    if position.x == CONTAINER_POSITION then
        return true
    end

    local house = getHouseFromPos(position)
    if type(house) == 'number' then
        local owner = getHouseOwner(house)   
        if owner == 0 then
            return false, doPlayerSendCancel(cid, 'Desculpe, isso não é possível!.')
        end
  
        if owner ~= getPlayerGUID(cid) then
            local sub = getHouseAccessList(house, 0x101):explode('\n')
            local guest = getHouseAccessList(house, 0x100):explode('\n')
            local isInvited = false

            if (#sub > 0) and isInArray(sub, getCreatureName(cid)) then
                isInvited = true
            end
          
            if (#guest > 0) and isInArray(guest, getCreatureName(cid)) then
                isInvited = true
            end           
      
            if not isInvited then
                return false, doPlayerSendCancel(cid, 'Desculpe, isso não é possivel, pois você não está convidado')
            end
        end
    end
    return true
end

funciono pelo menos asim  =  if moveItem.itemid == 5922 then

como add mais itens ja que tenho varios no map   {5922,5903}  ????

 

Link para o post
Compartilhar em outros sites
Em 21/05/2020 em 20:06, L3K0T disse:

 

Bom galera esse sistema foi fixado por mim e resolvi trazer pra vocês o UPDATE contendo 2 moveitem pra funcionar perfeitamente ao seu jogo, esses sistemas tem a obrigação de parar players que jogam lixo na porta da sua casa, em cima do seu depot, em teleportes, e aonde você não queira. "somente dono, sub, e convidados podem jogar lixo ou mover items da sua casa" é um pacotão completo e revisado que vai evitar engraçadinhos bugar seu server.

cara achei um bug no seu script eu uso system de house para bloquear alguns itens mesmo eu sendo o dono da house qualquer cara pode puxar o item da minha house

Editado por Demerson (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
function onMoveItem(moveItem, frompos, position, cid)

         if getHouseFromPos(frompos) then
            if getPlayerGUID(cid) == getHouseOwner(getHouseFromPos(frompos)) then
              return true
            else
            doPlayerSendTextMessage(cid, 27, "Voce nao pode mover itens desta house")
            doSendMagicEffect(getCreaturePosition(cid), 3)
            return false
            end 
         end
end    

talvez asim nao possa pegar loot da casa mais tem com add no houseprotect pq aki ta usando o mesmo "onMoveitems .

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

ei Leko a partir desse script teria como fazer com que não fosse possivel jogar qualquer item no chão e quando o player tentasse jogar um item no chão apareceria um tela perguntando se ele quer destruir/excluir tal item?

Link para o post
Compartilhar em outros sites
  • Sub-Admin
Em 12/06/2020 em 23:43, Demerson disse:

cara achei um bug no seu script eu uso system de house para bloquear alguns itens mesmo eu sendo o dono da house qualquer cara pode puxar o item da minha house

adiciona certinho que da certo eu mesmo uso.

Em 13/06/2020 em 14:24, PresleyKing disse:

ei Leko a partir desse script teria como fazer com que não fosse possivel jogar qualquer item no chão e quando o player tentasse jogar um item no chão apareceria um tela perguntando se ele quer destruir/excluir tal item?

isso é otclient não faz parte desse script

Em 13/06/2020 em 15:33, Mutilok disse:

aki tbm, nao sendo o dono da casa qualquer player normal pode puxar o item .

oque fazer para contornar isso ?

tem como colocar so para lider puxar ?

esse script é apenas para quem não está invitado na casa, e o outro é apenas piso, slot e lock. 

Em 13/06/2020 em 12:48, Demerson disse:

function onMoveItem(moveItem, frompos, position, cid)

         if getHouseFromPos(frompos) then
            if getPlayerGUID(cid) == getHouseOwner(getHouseFromPos(frompos)) then
              return true
            else
            doPlayerSendTextMessage(cid, 27, "Voce nao pode mover itens desta house")
            doSendMagicEffect(getCreaturePosition(cid), 3)
            return false
            end 
         end
end    

talvez asim nao possa pegar loot da casa mais tem com add no houseprotect pq aki ta usando o mesmo "onMoveitems .

meu script está no tutorial está completo, leia com atenção.

5 horas atrás, DoidoPox disse:

up

comente sua dúvida  ou erro e evite o UP.

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites

entao testa asim coloca 1 sqm qualquer de casa e tenta puxar pq aki funciona certinho mas qualquer player puxa o item mesmo nao estando invitado obrigado por ajudar

Editado por DoidoPox (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Sub-Admin
Em 10/06/2020 em 17:51, Mutilok disse:

esse codigo ond eu coloco ? 


     if moveItem.itemid == IDDOITEM then
          doPlayerSendTextMessage(cid,25,'você bloqueou um item para não move no jogo!')
          return false   
                

next=

funciono pelo menos asim  =  if moveItem.itemid == 5922 then

como add mais itens ja que tenho varios no map   {5922,5903}  ????

 

if moveItem.itemid == IDDOITEM then doPlayerSendTextMessage(cid,25,'você bloqueou um item para não move no jogo!') return false

if moveItem.itemid == IDDOITEM then doPlayerSendTextMessage(cid,25,'você bloqueou um item para não move no jogo!') return false

faça assim com linhas duplicadas

Agora, DoidoPox disse:

entao testa asim coloca 1 sqm qualquer de casa e tenta puxar pq aki funciona certinho mas qualquer player puxa o item

se ele estiver invitado!!! eu testei já não posto nada que n seja testado.

Em 13/06/2020 em 10:11, Underewar disse:

Òtimo

rsrs muito obrigado gatin

Em 12/06/2020 em 23:43, Demerson disse:

cara achei um bug no seu script eu uso system de house para bloquear alguns itens mesmo eu sendo o dono da house qualquer cara pode puxar o item da minha house

adicione corretamente foi testado!!!

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites

desculpa pelo up mais me tira uam duvida se eu blokiar um RH no map se ele dropar de montros ele tbm nao dará pra jogar no chão?

Link para o post
Compartilhar em outros sites
  • Sub-Admin
1 minuto atrás, DoidoPox disse:

desculpa pelo up mais me tira uam duvida se eu blokiar um RH no map se ele dropar de montros ele tbm nao dará pra jogar no chão?

o item não pode ser movido pra lugar algum

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
5 minutos atrás, L3K0T disse:

o item não pode ser movido pra lugar algum

sim eu uso o System de house para criar uma casa com o god e asim blokiar os itens do map mais qualquer player consegue pegar esse item com o seu codigo

seria possível colocar apenas para leader ou so para queles invitados na house ?

se nao tiver como a unica solução que vejo e add outo onmoveitens3 

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

Ótimo conteúdo. Quem utiliza OTX2 ou alguma source baseada no mesmo pode utilizar a função onThrow como alternativa.

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Link para o post
Compartilhar em outros sites
  • L3K0T mudou o título para UPDATE 3: Moveitem + Antipush + Anti-Crash Elf Bot - Bug Fixes - TFS 0.4 11/04/2024

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 L3K0T
      Se você está enfrentando o problema de jogadores ganhando experiência ao matar outros jogadores em um servidor PVP, e já tentou várias soluções sem sucesso, este tutorial vai te ajudar a resolver isso. A modificação que vou mostrar foi eficaz para mim e pode ser a solução para o seu servidor também.
       
      Passo 1: Acesse o arquivo creature.cpp
      Primeiro, abra o arquivo creature.cpp, que está localizado na pasta src ou sources do seu servidor. Esse arquivo contém a lógica das criaturas, incluindo a parte de quando um jogador mata outra criatura.
       
      Passo 2: Localize o  onAttackedCreatureKilled
      Dentro do arquivo, procure pela função onAttackedCreatureKilled:
       
      void Creature::onAttackedCreatureKilled(Creature* target) { if(target == this) return; double gainExp = target->getGainedExperience(this); onGainExperience(gainExp, !target->getPlayer(), false); }  
      Altere para
       
      void Creature::onAttackedCreatureKilled(Creature* target) { if (target == this) return; // Verifica se o atacante e o alvo são jogadores Player* attackerPlayer = this->getPlayer(); Player* targetPlayer = target->getPlayer(); if (attackerPlayer && targetPlayer) return; if (!attackerPlayer && targetPlayer) { double gainExp = target->getGainedExperience(this); onGainExperience(gainExp, !target->getPlayer(), false); } else if (attackerPlayer) { double gainExp = target->getGainedExperience(this); onGainExperience(gainExp, true, false); } }  
      Agora Recompile modo Rebuilder (LIMPA) e pronto!!!
       
      Aqui está o que mudou:
      *A primeira modificação verifica se o atacante e o alvo são jogadores. Se ambos forem jogadores, não será concedida experiência.
      *Se o atacante for um monstro, a experiência será concedida normalmente ao jogador.
      *Se o atacante for um jogador, ele ganhará a experiência normalmente.
       
      Créditos @L3K0T
    • Por Emooooo
      gostaria de um sistema em que o player usar um item nele, e quando ele bater no monstro ou outro player ele enchesse um pouco da mana e do life por porcentagem do dano causado, e com tempo de duração de duas horas depois tem que usar o item novamente.
      tfs 0.3.6
       
       
      +rep
    • Por L3K0T
      Sistema de Drop Personalizado
       
      Esse sistema de loot foi projetado para adicionar um elemento de sorte e surpresa ao derrotar monstros. Sempre que um jogador derrota um monstro, há uma chance configurada para que ele solte entre 1 a 3 itens especiais, garantindo recompensas valiosas ao jogador.
       
      O sistema realiza as seguintes ações:
      Chance de Drop: A cada morte de um monstro, há uma chance configurada para dropar itens específicos. O sistema permite que sejam dropados entre 1 a 3 unidades do item, tornando o sistema mais dinâmico.
       
      Efeito Visual: Quando o loot é bem-sucedido, um efeito visual especial (ID 231) é exibido na posição exata onde o monstro foi derrotado, criando uma animação visual que destaca a recompensa.
       
      Notificação ao Jogador: Após o drop, o jogador recebe uma mensagem personalizada informando a quantidade de itens obtidos. Essa notificação aparece após 3 segundos, adicionando uma camada de imersão e evitando sobrecarregar o chat imediatamente após a morte do monstro.
       
      *Ótimo para fazer eventos de dropar certo itens para alguma missão ou resgates.
      *Uso no meu TIBIA HARRY POTTER ORIGIN
       
      VAi em creaturescripts/scripts.lua
      local function findCorpse(position) for i = 1, 255 do position.stackpos = i local corpse = getThingfromPos(position) if isCorpse(corpse.uid) then return corpse.uid end end return false end local function dropLoot(position, killer) local corpse = findCorpse(position) if not corpse then return false end local itemId = 2160 local chance = 23 if math.random(100) <= chance then local amountToDrop = math.random(1, 3) doAddContainerItem(corpse, itemId, amountToDrop) local corpsePosition = getThingPos(corpse) doSendMagicEffect(corpsePosition, 7) local function sendMessage() if isPlayer(killer) then local message = string.format("Você dropou %d Crystal Coin(s).", amountToDrop) doPlayerSendTextMessage(killer, MESSAGE_INFO_DESCR, message) end end addEvent(sendMessage, 2500) end return true end function onKill(cid, target) local position = getCreaturePosition(target) addEvent(dropLoot, 100, position, cid) return true end  
      creaturescripts.xml
      <event type="kill" name="GlobalDrops" registerTo ="GlobalDrops" event="script" value="globalDrops.lua"/> ou depende do tfs
      <event type="kill" name="GlobalDrops" event="script" value="globalDrops.lua"/>  
      Para ambos TFS registra o evento no login.lua
      registerTo ="GlobalDrops"
      feito isso.. agora todos os monstros do mapa vai cair os crystal coins de 1 há 3.
    • Por L3K0T
      Não jogar itens pelo teleportes C++
       

       

       
       
      Bom.. o nome já diz, qualquer um que jogar itens nos teleportes do seu otserv, o mesmo será removido, como aquelas lixeiras, porem esse sistema é pela source, descartando scripts .LUA.
       
       
      Em teleporte.cpp ache:
       
      void Teleport::__addThing(Creature* actor, int32_t, Thing* thing) { if(!thing || thing->isRemoved()) return; Tile* destTile = g_game.getTile(destination); if(!destTile) return; if(Creature* creature = thing->getCreature()) { g_game.addMagicEffect(creature->getPosition(), MAGIC_EFFECT_TELEPORT, creature->isGhost()); creature->getTile()->moveCreature(actor, creature, destTile); g_game.addMagicEffect(destTile->getPosition(), MAGIC_EFFECT_TELEPORT, creature->isGhost()); } else if(Item* item = thing->getItem()) { g_game.addMagicEffect(item->getPosition(), MAGIC_EFFECT_TELEPORT); g_game.internalMoveItem(actor, item->getTile(), destTile, INDEX_WHEREEVER, item, item->getItemCount(), NULL); g_game.addMagicEffect(destTile->getPosition(), MAGIC_EFFECT_TELEPORT); } }  
      Altere ele todo para:
       
      void Teleport::__addThing(Creature* actor, int32_t, Thing* thing) { if (!thing || thing->isRemoved()) return; Tile* destTile = g_game.getTile(destination); if (!destTile) return; if (Creature* creature = thing->getCreature()) { g_game.addMagicEffect(creature->getPosition(), MAGIC_EFFECT_TELEPORT, creature->isGhost()); creature->getTile()->moveCreature(actor, creature, destTile); g_game.addMagicEffect(destTile->getPosition(), MAGIC_EFFECT_TELEPORT, creature->isGhost()); } else { Player* player = dynamic_cast<Player*>(actor); if (player) { player->sendTextMessage(MSG_STATUS_SMALL, "You cannot teleport items."); // Remover o item Item* item = dynamic_cast<Item*>(thing); if (item) { g_game.internalRemoveItem(actor, item); } } return; } } agora é só compilar no modo Rebuilder e ligar o servidor, créditos a mim L3K0T pela alterações.
    • Por Doria Louro
      Olá senhores.
       
      Gostaria de uma ajuda com um script de summon que venho trabalhando no momento, gostaria que o summon andasse do lado do jogador, entretanto o mesmo sempre fica para trás ou a frente do jogador.
      Efetuei a alteração na source creature.cpp:
       
      void Creature::getPathSearchParams(const Creature* creature, FindPathParams& fpp) const { fpp.fullPathSearch = !hasFollowPath; fpp.clearSight = true; if(creature->isPlayerSummon()) { if(creature->getName() == "Summon Name") fpp.clearSight = false; } fpp.maxSearchDist = 12; fpp.minTargetDist = fpp.maxTargetDist = 1; }  
      fpp.maxTargetDist = 1;
      Porém ele sempre mantem 1 de distancia do jogador, alterando para zero o "Zero" summon nem segue o jogador.
      Resultado:

       
      Agradeço desde já.



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo