Последний раз редактировалось DeimoS; 10.03.2017 в 18:53.
Прописывал. Пытался даже просто передать передать значение в обычную переменную, выводит (в той же функции) бред.
PHP код:
new chars[3][MAX_PLAYERS]; //глобальная переменная
PHP код:
enum CHAR_INFO {
...
cName,
...
};
new Char[MAX_PLAYERS][CHAR_INFO];
- - - Добавлено - - -PHP код:
Char[playerid][cName] = chars[i][playerid]
chars[i][playerid] передает верные значения, с ней все хорошо.
Эмм, а ничего, что cName ты не как массив создаёшь? О_о
PHP код:
enum CHAR_INFO {
...
cName[MAX_PLAYER_NAME],
...
};
new Char[MAX_PLAYERS][CHAR_INFO];
PHP код:
format(Char[playerid][cName], MAX_PLAYER_NAME, chars[i][playerid]);
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Outsider (10.03.2017)
Всем доброго времени суток. Возникла проблема с макросом DCMD.
Есть команда на strtok:
И есть та же самая команда, которую я пытаюсь адаптировать под DCMD:
Все компилируется без ошибок и вроде даже работает... но вариант на DCMD почему-то присваивает color1 (params[1]) и color2 (params[2]) значения из vehmod (params[0]). Получается как-то так - создаю транспорт с моделью 411, получаю Infernus с цветами 11 и 1. Создаю с моделью 451, получаю Turismo с цветами 51 и 1. И так с любыми моделями и заданными цветами. Более того, не работают даже чужие примеры из мануалов. Подскажите, пожалуйста, в чем может быть проблема? Что я упустил?
Параметры нужно обрабатывать через sscanf
PHP код:
dcmd_veh(playerid, params[])
{
if (!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "Ошибка: Недостаточно прав доступа.");
if (GetPlayerState(playerid) == 0 || GetPlayerState(playerid) == 7 || GetPlayerState(playerid) == 9) return SendClientMessage(playerid, COLOR_RED, "Ошибка: Вы должны быть заспавлены.");
new vehmod,
color1,
color2;
if(sscanf(params, "iI(-1)I(-1)", vehmod, color1, color2)) return SendClientMessage(playerid, COLOR_YELLOW, "Использование: /veh [id транспорта] [цвет 1] [цвет 2].");
if (vehmod < 400 || vehmod > 611) { SendClientMessage(playerid, COLOR_RED, "Ошибка: Неверный ID транспорта. Используйте значение от 400 до 611."); return 1; }
if (color1 == -1 || color2 == -1) { color1 = random(255); color2 = random(255); }
if ((color1 < 0 || color1 > 255) || (color2 < 0 || color2 > 255)) { SendClientMessage(playerid, COLOR_RED, "Ошибка: Неверный цвет транспорта. Используйте значение от 0 до 255."); return 1; }
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X,Y,Z);
new vehid = CreateVehicle(vehmod, X, Y+5, Z, 0.0, color1, color2, -1);
LinkVehicleToInterior(vehid, GetPlayerInterior(playerid));
PutPlayerInVehicle(playerid, vehid, 0);
gVehCount[gCreatedVeh] = vehid;
gCreatedVeh ++;
new message1[MAX_CHAT_MESSAGE];
format(message1, sizeof(message1), "Транспорт создан: ID %d Порядковый номер %d. %d %d", vehmod, vehid, color1, color2);
SendClientMessage(playerid, COLOR_YELLOW, message1);
new message2[MAX_CHAT_MESSAGE];
format(message2, sizeof(message2), "Администратор %s создал транспорт: ID %d Порядковый номер %d.", GetName(playerid), vehmod, vehid);
SendClientMessageToAll(COLOR_RED, message2);
return 1;
}
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
HAV (17.03.2017)
Без sscanf, как в этом гайде, не получится?
HAV (17.03.2017)
Где-то на этом форуме видел, где рассказывалось о способе нумерации диалогов с помощью enum, можете дать ссылку, кто помнит? Гугл подвёл
Эту тему просматривают: 6 (пользователей: 0 , гостей: 6)