Swapping System Help!

luskinha77
em Scripts

luskinha77

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/06/11Posts: 15Char no Tibia: Death core

então gente eu ja dei uma procurada por akie mais não achei exatamente oque eu queria então resolvi pedir o script vamo la eu queria saber se alguem teria o script do tibia atual o "Swapping Sytem" que quando você esta totalmente trapado por pks ow yellow ow então quando players sem pz te trapam quando você esta sendo atacado por outro player e também os monstros te trapando se vc toma hit de pk ow yellow você troca de lugar com eles entenderam ? e também acho que a maioria ja deve conhecer mais ninguem foi atraz eu queria muito essa script acho que é script não sei agradeço desde de ja e +REP pra quem me ajudar u.u

Matematheus

Jo soy FlaashMan
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/07/12Posts: 73

Vai nas sources e em player.ccp

 

 

bool Player::canWalkthrough(const Creature* creature) const

{

if(!creature)

return true;

 

if(creature == this)

return false;

 

const Player* player = creature->getPlayer();

if(!player)

return false;

 

if(g_game.getWorldType() == WORLD_TYPE_NO_PVP && player->getTile()->ground

&& player->getTile()->ground->getID() != ITEM_GLOWING_SWITCH)

return true;

 

uint32_t protectionLevel = g_config.getNumber(ConfigManager::PROTECTION_LEVEL);

if(player->getLevel() < protectionLevel && player->getTile()->ground

&& player->getTile()->ground->getID() != ITEM_GLOWING_SWITCH)

return true;

 

return player->isGhost() && getGhostAccess() < player->getGhostAccess();

}

 

ou

 

 

bool Player::canWalkthrough(const Creature* creature) const

{

if(!creature)

return true;

 

if(creature == this)

return false;

 

const Player* player = creature->getPlayer();

if(!player)

return false;

 

if(g_game.getWorldType() == WORLD_TYPE_NO_PVP && player->getTile()->ground

&& player->getTile()->ground->getID() != ITEM_GLOWING_SWITCH)

return true;

 

return player->isGhost() && getGhostAccess() < player->getGhostAccess();

}

luskinha77

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/06/11Posts: 15Char no Tibia: Death core

Noss não tem algo mais facil não sei nada de sources .-. ow me falar como faz isso eu achei que era alguma coisa tipo .lua

SkySeven

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/07/12Posts: 94Char no Tibia: SevenSiin

Man Por acaso vc tem as sources de seu server?

Matematheus

Jo soy FlaashMan
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/07/12Posts: 73

Luskinha entao faz assim.

Vai em data/creaturescripts/scripts, copia um arquivo.lua e nomeia para "antitrap" sem as aspas e nele cole:

 

 

 

function onThink(cid, interval)

 

if getTilePzInfo(getCreaturePosition(cid)) then

return true

end

 

local minuto = 1 -- quantos minuto para atravesar o player.

local protectionLevel = 100 -- protection level do server.

local position = getPlayerPosition(cid)

 

if getPlayerLookDir(cid) == 0 then

position = {x=position.x, y=position.y-1, z=position.z}

elseif getPlayerLookDir(cid) == 1 then

position = {x=position.x+1, y=position.y, z=position.z}

elseif getPlayerLookDir(cid) == 2 then

position = {x=position.x, y=position.y+1, z=position.z}

elseif getPlayerLookDir(cid) == 3 then

position = {x=position.x-1, y=position.y, z=position.z}

end

 

for i = 0, 255 do

local o = 0

position.stackpos = i

local tile = getTileThingByPos(position)

if isPlayer(tile.uid) and getPlayerLevel(tile.uid) < protectionLevel then

local o = 1

setPlayerStorageValue(cid, 56421, getPlayerStorageValue(cid,56421)+1)

if getPlayerStorageValue(cid, 56421) >= 120*minuto then

setPlayerStorageValue(cid, 56421, 0)

doTeleportThing(cid, getPlayerPosition(tile.uid))

end

break

elseif i == 255 and o == 0 then

setPlayerStorageValue(cid, 56421, 0)

end

end

 

return true

end

 

 

Depois em data/creaturescripts/creaturescripts.xml:

 

<event type="think" name="AntiTrap" event="script" value="antitrap.lua"/>

 

 

E por último no arquivo data/creaturescripts/scripts/login.lua, antes do último "return true" cole:

 

registerCreatureEvent(cid, "AntiTrap")

 

---------------------------------------------

Vai funcionar assim, se tu ficar virado na direção do player por 1 minuto e o level dele for mais baixo que o level de proteção do server, seu char vai ser teleportado para a posição do char low level. Isso vai funcionar apenas fora de protection zones.

Creditos: Jhon992

SkySeven

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 25/07/12Posts: 94Char no Tibia: SevenSiin

FlaashMan,Muito Bom,vai ajudar muitos que procuram por isso.

luskinha77

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/06/11Posts: 15Char no Tibia: Death core

Flash mto bom obrigado