LE
pedido

Anti push em area pz

Por leandrozera, 12 de jun. de 2015 em Archived

10
2.9k
leandrozeraL
12 de junho de 2015 às 08:00

ola galerinha vi um sistema em um ot que achei bem útil e um anti push em area pz.

 

ex; se o player tiver em area pz outros players n conseguir puxar eles

 

pode ser via lua ou source ficarei grato quem poder ajudar.

nadioN
12 de junho de 2015 às 10:07

@leandrozera: Amigo isso é bem característico de um source code onde está apenas implementado no distro do OT que você viu. Mas creio que é possível sim fazer um script .LUA que se adapte ao seu pedido, vou ver oque posso fazer a respeito.

zipter98Z
12 de junho de 2015 às 15:51

Qual a versão do seu TFS?

leandrozeraL
12 de junho de 2015 às 19:38

Qual a versão do seu TFS?

8.60 otx so me passa função que eu ponho na source vlw

zipter98Z
12 de junho de 2015 às 20:36

Não sei se esta versão tem o creatureevent onPush, mas enfim, tente:

function onPush(cid, target)
    if getTileInfo(getThingPos(cid)).protection or getTileInfo(getThingPos(target)).protection then
        return false
    end
    return true
end
Tag:
<event type="push" name="antiPush" event="script" value="nome_do_arquivo.lua"/>
Não se esqueça de registrar o evento em login.lua.

Editado Junho 12 por zipter98

leandrozeraL
12 de junho de 2015 às 21:15

 

Não sei se esta versão tem o creatureevent onPush, mas enfim, tente:

function onPush(cid, target)
    if getTileInfo(getThingPos(cid)).protection or getTileInfo(getThingPos(target)).protection then
        return false
    end
    return true
end
Tag:
<event type="push" name="antiPush" event="script" value="nome_do_arquivo.lua"/>
Não se esqueça de registrar o evento em login.lua.

 

deu certo n amigo ;/ da para puxar normal na minha source tem função onpush normal..

		case CREATURE_EVENT_PUSH:
			return "onPush";

Editado Junho 12 por leandrozera

zipter98Z
12 de junho de 2015 às 21:17

Deu erro no console? Se não, então já há tal função em seu servidor. Caso contrário, a procurarei aqui e lhe enviarei.

Qualquer coisa, faço direto em C++.

leandrozeraL
12 de junho de 2015 às 21:25

Deu erro no console? Se não, então já há tal função em seu servidor. Caso contrário, a procurarei aqui e lhe enviarei.

Qualquer coisa, faço direto em C++.

não deu nem um erro no console n se quiser fazer em c++ eu copilo e testo se for fazer coloca um doPlayerSendCancel(cid, "voce nao pode empurrar players em protection zone ")

 

obg amigo

zipter98Z
13 de junho de 2015 às 16:23

Em game.cpp, abaixo de:

	if(!toTile)
	{
		player->sendCancelMessage(RET_NOTPOSSIBLE);
		return false;
	}

adicione:

    if(movingCreature->getTile()->hasFlag(TILESTATE_PROTECTIONZONE))
    {
        player->sendCancelMessage("voce nao pode empurrar players em protection zone");
        return false;
    }

Editado Junho 13 por zipter98

1 mês depois...
BrunoB
14 de julho de 2015 às 17:38

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.