PDA

Просмотр полной версии : [Вопрос] sscanf - перечисления



ORLADOK
09.08.2017, 23:37
Доброго времени суток, живые форумчане.

Возник вопрос, а можно ли к перечислению sscanf(... "e< >" ...) добавить уже заданные значения?
Сейчас сижу и голову ломаю, плагин отсылает на правила пользования самого себя, но там ничего не указано по этому поводу.

Если кто поймет:


enum e_VEHICLE_INFO {
vModelID,
vColor[2]
};
new vInfo[MAX_VEHICLES][e_VEHICLE_INFO];

// где-то в коде:
sscanf(params, "e<III> (-1) [3]", vInfo[vehicleid]);
// уже множество вариантов приписания использовал... (e<I(-1)I(-1)I(-1)> не предлагать, не работает)

Если не понял:

Я хочу, чтобы при создании моего транспорта у меня были сохранены значения в enum через ОДИН sscanf.

Немного кода:

enum e_VEHICLE_INFO {
vModelID,
vColor[2]
};
new vInfo[MAX_VEHICLES][e_VEHICLE_INFO];

CMD:vehicle(playerid, params[]){
new vehicleid = GetPlayerVehicleID(playerid),
Float:x, Float:y, Float:z, Float:r;

sscanf(params, "e<III> (-1) [3]", vInfo[vehicleid]);

if(vehicleid){
if(vInfo[vehicleid][vModelID] == -1) return DestroyVehicle(vehicleid);

GetVehiclePos(vehicleid, x,y,z);
GetVehicleZAngle(vehicleid, r);

DestroyVehicle(vehicleid);

vehicleid = CreateVehicle(vInfo[vehicleid][vModelID], Float:x, Float:y, Float:z, Float:r, vInfo[vehicleid][vColor][0], vInfo[vehicleid][vColor][1], 30000);
PutPlayerInVehicle(playerid, vehicleid, 0);

return 1;
}

GetPlayerPos(playerid, Float:x, Float:y, Float:z);
GetPlayerFacingAngle(playerid, Float:r);

vehicleid = CreateVehicle(vInfo[vehicleid][vModelID], Float:x, Float:y, Float:z, Float:r, vInfo[vehicleid][vColor][0], vInfo[vehicleid][vColor][1], 30000);
PutPlayerInVehicle(playerid, vehicleid, 0);
return 1;
}

ORLADOK
10.08.2017, 00:09
Я признаю, что я тупица! =>
"E<iii>(-1,-1,-1)"

http://i94.fastpic.ru/big/2017/0810/c9/c08ade399849cf11087ee984c69d7fc9.png