Kick_West
Умник
Суть в том чтобы телепортировало игрока который использовал команду на второго игрока, ну короче их обоих тпхало. Но тпхает только того кто ввел команду и надписи "Вы прибыли на местоназначение", и "Вас привел сталкер", тоже пишет 1 одному игроку, так не должно же.
Вот код
Вот код
Код:
CMD:debug_cmde(playerid, params[]) {
new status = status_stalker[playerid];
if( !status || status == 2 )
return SendClientMessage(playerid, COLOR_REDD, !"Ошибка: Вы не в активной фазе сталкера");
if( TeleportCD[playerid] )
return SendClientMessage(playerid, COLOR_REDD, !"Ошибка: Пробуйте использовать позже.");
new targetid;
if( sscanf(params, "u", targetid) )
return SendClientMessage(playerid, -1, !"Введите: /провести [playerid]");
if( targetid == playerid )
return SendClientMessage(playerid, COLOR_REDD,
!"Ошибка: Вы указали свой ID.");
if(!playerdist(5.0, playerid, targetid))
return SendClientMessage(playerid, -1, "Вы слишком далеко от игрока!");
if(GetPVarInt(targetid, #teleport_status))
return SCM(playerid, 0xff6600, "У данного игрока уже есть активные предложения");
if( targetid == INVALID_PLAYER_ID )
return SendClientMessage(playerid, COLOR_REDD,
!"Ошибка: ID который вы ввели не находится в онлайне.");
SetPVarInt(targetid, #teleport_cid, playerid);
SetPVarInt(targetid, #teleport_status, 1);
SendClientMessage(targetid, 0x19A1EEFF,
!" Вам предложили провести Вас. Для соглашения или отказа, нажмите Y или N."
);
new string[ 37 + MAX_PLAYER_NAME ] = !"Вы предложили игроку ";
strcat(string, Player[targetid][pName]);
strcat(string, !" провести его");
return SendClientMessage(playerid, COLORED, string);
}
Код:
if( PRESSED(KEY_YES) ) {
if( GetPVarInt(playerid, #teleport_status) )
{
new targetid = GetPVarInt(playerid, #teleport_cid);
ShowPlayerDialog(targetid, DIALOG_PROVESTI, DIALOG_STYLE_LIST, !"Выберите пункт", !"Бар",
!"Выбрать", !"Отмена"
);
SendClientMessage(playerid, 0xFF9900FF,
!"Ожидайте, сталкер выбирает место куда вас привести.");
}
}
Код:
case DIALOG_PROVESTI:
{
if( !response )
{
Stalker_ClearTempPVar(playerid);
return true;
}
new targetid = GetPVarInt(playerid, #teleport_cid);
SendClientMessage(playerid, COLORED, !"Вы оказались на месте назначения.");
SendClientMessage(targetid, COLORED, !"Вас успешно провёл сталкер.");
new
Float: tmp_x = TEMP_TELEPORT[listitem][tposX],
Float: tmp_y = TEMP_TELEPORT[listitem][tposY],
Float: tmp_z = TEMP_TELEPORT[listitem][tposZ],
Float: tmp_a = TEMP_TELEPORT[listitem][tposA],
tmp_world = TEMP_TELEPORT[listitem][tpVirtualWorld],
tmp_interior = TEMP_TELEPORT[listitem][tpInterior]
;
SetPlayerPos(playerid, tmp_x, tmp_y, tmp_z);
SetPlayerFacingAngle(playerid, tmp_a);
SetPlayerInterior(playerid, tmp_interior);
SetPlayerVirtualWorld(playerid, tmp_world);
SetPlayerPos(targetid, tmp_x, tmp_y, tmp_z);
SetPlayerFacingAngle(targetid, tmp_a);
SetPlayerInterior(targetid, tmp_interior);
SetPlayerVirtualWorld(targetid, tmp_world);
Stalker_ClearTempPVar(playerid);
TeleportCD[playerid] = 10;
}
