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
Swapping System Help!

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();
}
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
Man Por acaso vc tem as sources de seu server?
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
FlaashMan,Muito Bom,vai ajudar muitos que procuram por isso.
Flash mto bom obrigado