Jump to content

Recommended Posts

.Qual servidor ou website você utiliza como base? 

otx 2.15 - 8.60

Qual o motivo deste tópico? 

Preciso fazer uma verificação na Spell "jump up e Jump down" (levitate) que se o player estiver trapado com doCreatureSetNoMove, ele não possa usar  o jump.
provavelmente eu tenha que fazer alguma alteração na source. se alguem puder me ajudar.

 

Você tem o código disponível? Se tiver publique-o aqui: 

Spoiler

function onCastSpell(cid, var)

local waittime = 35 -- Tempo de exhaustion em segundos
local storage = 5890 -- Storage de Spell, nunca usar a mesma em outra spell, a menos que não queira usar duas spell juntas!

if exhaustion.check(cid, storage) then
doPlayerSendCancel(cid, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")
return false
end 

	local numerodehit = 5
	local drena = 200000

	if isMonster(getCreatureTarget(cid))then
		return false
	end

local target = getCreatureTarget(cid)
local targetpos = getCreaturePosition(target)
local efepos = {x=targetpos.x, y=targetpos.y, z=targetpos.z}

if not isPlayer(target) then
doPlayerSendCancel(cid, "Você só pode usar essa técnica em Players.")
return false
end
doCreatureSetNoMove(cid, true)
addEvent(doCreatureSetNoMove,5*1000,cid, false)
local tempo = 5 -- 5 Segundos, que é o tempo que o player vai ficar paralizado
doCreatureSetNoMove(target, true)
addEvent(doCreatureSetNoMove, tempo*1000, target, false)
doSendMagicEffect(efepos, 316) -- Efeito do mokuton prision
exhaustion.set(cid, storage, waittime)
for x=1,numerodehit do
		if isPlayer(getCreatureTarget(cid)) then
		doCreatureAddMana(getCreatureTarget(cid), -drena)
		end
	end

return true
end

	

 

 

Spells.cpp

 

Spoiler


bool InstantSpell::Levitate(const InstantSpell*, Creature* creature, const std::string& param)
{
	Player* player = creature->getPlayer();
	if(!player)
		return false;

	uint16_t floor = 7;
	ReturnValue ret = RET_NOERROR;
	const Position& position = creature->getPosition();
	Position destination = Spells::getCasterPosition(creature, creature->getDirection());

	std::string tmpParam = asLowerCaseString(param);
	if(tmpParam == "up")
		floor = 8;
	else if(tmpParam != "down")
		ret = RET_NOTPOSSIBLE;

	if(ret == RET_NOERROR)
	{
		ret = RET_NOTPOSSIBLE;
		if(position.z != floor)
		{
			Tile* tmpTile = NULL;
			if(floor != 7)
			{
				tmpTile = g_game.getTile(position.x, position.y, position.z - 1);
				destination.z--;
			}
			else
			{
				tmpTile = g_game.getTile(destination);
				destination.z++;
			}

			if(!tmpTile || (!tmpTile->ground && !tmpTile->hasProperty(IMMOVABLEBLOCKSOLID)))
			{
				Tile* tile = player->getTile();
				tmpTile = g_game.getTile(destination);
				if(tile && tmpTile && tmpTile->ground && !tmpTile->hasProperty(IMMOVABLEBLOCKSOLID) &&
					!tmpTile->floorChange() && tile->hasFlag(TILESTATE_HOUSE) == tmpTile->hasFlag(TILESTATE_HOUSE)
					&& tile->hasFlag(TILESTATE_PROTECTIONZONE) == tmpTile->hasFlag(TILESTATE_PROTECTIONZONE))
					ret = g_game.internalMoveCreature(NULL, player, tile, tmpTile, FLAG_IGNOREBLOCKITEM | FLAG_IGNOREBLOCKCREATURE);
			}
		}
	}

	if(ret == RET_NOERROR)
	{
		g_game.addMagicEffect(player->getPosition(), MAGIC_EFFECT_TELEPORT, player->isGhost());
		return true;
	}

	player->sendCancelMessage(ret);
	g_game.addMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF, player->isGhost());
	return false;
}

 

 

Edited by elielder
add spells.cpp, e add spells. (see edit history)
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.


  • Similar Content

    • By ludgeromf1
      Seguinte to tentando abrir um ot 8.6 pra jogar com uns amigos mesmo, porem estou tentando por online e nao consigo
      desbloquiei as portas 7171/7172 tanto no firewall quanto no roteador baixei o programa duc la, criei ip fixo como sempre fiz
      porem nem eu nem eles conseguem entrar, so consigo entrar pelo 127.0.0.1 e somente eu ainda...
      OBS: Eu uso notebook agora, antigamente usava pc de mesa e fazia os procedimentos acima e logava de boa...
      desde ja agradeço.
       
      Você tem o código disponível? Se tiver publique-o aqui: 
         
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
    • By leonardo gazim
      Bom dia !
      estou adicionando alguns bosses que vieram faltando
      alguem teria os arquivos dos bosses da boss room do king zelos, so os xml deles
      os boss sao:
      King Zelos
      Rewar The Bloody
      The Red Knight
      Nargol The Impaler
      Magnor Mournbringer
       
       
       
    • By sauryon
      No Otclientev8 no pc eu coloquei normal funciona legal mas o mesmo script não funciona no APK. 
      ALguem pode ajudar?
       
    • By isac001
      Alguem me ajuda, fazer uma Spell de 3 ball, para dragon ball, TFS 1.3.
       
      Essa script é de tfs 0.4, gostaria de uma assim para tfs 1.3, se alguem poder me ajudar?
       
      Script: 
       
       
       
    • By flahrenheit
      Primeiramente bom dia a todos 🙂
       
      Tenho algumas perguntas das quais não consigo encontrar as respostas e peço ajuda da comunidade TK.
      Eu planejo desenvolver um OTServer Low Exp/Newbie, onde não tenha leveis absurdos e que a característica dele seja o bom e velho roleplay.
       
      Eu gostaria de saber: 
      - Qual a diferença entre um servidor ( que posso baixar no TK ) Global, Baiak, Styller ?
      - Qual versão de Cliente vocês me recomendam ?(12x, 11x, 10x, 9x, ... )  ps. eu prefiro as mais atuais pela parte gráfica, e por exemplo, os bonecos terem vários frames ao andar.
      - E tendo a versão do servidor, eu consigo encontrar programas para editar mapas, sprites ? Ou há alguma versão que não exista?
       
      Sei que as perguntas são bem tolas e peço desculpa por isso, desde já agradeço a todos .
      😄
×
×
  • Create New...

Important Information

Confirmação de Termo