CMD:g(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 2) return 1;
if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_LIGHTRED, "Введите: /g(oto) [id]");
new Float:plocx,Float:plocy,Float:plocz;
if(!IsPlayerConnected(params[0]) || params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_LIGHTRED, "Игрок не найден!");
if(GetPlayerState(params[0]) != 1 && GetPlayerState(params[0]) != 2 && GetPlayerState(params[0]) != 3) return SendClientMessage(playerid, COLOR_GRAD1, "Игрок не вступил в игру!");
GetPlayerPos(params[0], plocx, plocy, plocz);
if(GetPlayerState(playerid) == 2) { SetVehiclePos(GetPlayerVehicleID(playerid), plocx, plocy+4, plocz); }
else { SetPPos(playerid,plocx,plocy+2, plocz,0,GetPlayerInterior(params[0]),GetPlayerVirtualWorld(params[0])); }
if(GetPlayerVirtualWorld(params[0]) == PlayerInfo[params[0]][pPhousekey]+50) { playerid=PlayerInfo[params[0]][pPhousekey]; }
SendMes(playerid, -1, "Вы были телепортированы к игроку %s.",NamePlayer[params[0]]);
return 1;
}
Ну не поленись, создай ты переменную.
И да, специально для игроков у sscanf параметр - "u". |
sscanf warning: Strings without a length are deprecated, please add a destination size.
Переменную? Около 500 команд, и под каждую писать переменную и изменять params[], бред.. раньше всё работало.
И еще, каким образом можно найти ошибку, в какой команде, в логе ошибку даёт иной раз: PHP код:
|
Переменную? Около 500 команд, и под каждую писать переменную и изменять params[], бред.. раньше всё работало.
И еще, каким образом можно найти ошибку, в какой команде, в логе ошибку даёт иной раз: PHP код:
|
Переменную? Около 500 команд, и под каждую писать переменную и изменять params[], бред.. раньше всё работало.
|
CMD:g(playerid, params[])
{
if (PlayerInfo[playerid][pAdmin] < 2) {
return 1;
}
new targetid;
if (sscanf(params, "u", targetid)) {
return SendClientMessage(playerid, COLOR_LIGHTRED, "Введите: /g(oto) [id/name]");
}
if (targetid == INVALID_PLAYER_ID) {
return SendClientMessage(playerid, COLOR_LIGHTRED, "Игрок не найден!");
}
new target_state = GetPlayerState(targetid);
if (target_state != PLAYER_STATE_ONFOOT &&
target_state != PLAYER_STATE_DRIVER &&
target_state != PLAYER_STATE_PASSENGER) {
return SendClientMessage(playerid, COLOR_GRAD1, "Игрок не вступил в игру!");
}
new Float:target_x, Float:target_y, Float:target_z;
GetPlayerPos(targetid, target_x, target_y, target_z);
new target_interior = GetPlayerInterior(targetid);
new target_vw = GetPlayerVirtualWorld(targetid);
new vehicleid = GetPlayerVehicleID(playerid);
if (vehicleid != 0) {
SetVehiclePos(vehicleid, target_x, target_y + 4, target_z);
SetVehicleVirtualWorld(vehicleid, target_vw);
LinkVehicleToInterior(vehicleid, target_interior);
} else {
SetPPos(playerid, target_x, target_y + 2, target_z, 0, target_interior, target_vw);
}
SendMes(playerid, -1, "Вы были телепортированы к игроку %s.", NamePlayer[targetid]);
return 1;
}
if(GetPlayerVirtualWorld(params[0]) == PlayerInfo[params[0]][pPhousekey]+50) { playerid=PlayerInfo[params[0]][pPhousekey]; }
И еще, каким образом можно найти ошибку, в какой команде, в логе ошибку даёт иной раз:
PHP код:
|
sscanf\(.*?,\s*?\".*s(?!\[\d+\]).*\"\s*?,.*?\)