Перейти к содержанию

Лидеры


Популярный контент

Показан контент с высокой репутацией 04/11/2019 в Сообщения

  1. 1 балл
    Привет. Реактивный ранец можно выдать игроку через функцию SetPlayerSpecialAction, указав в параметрах ID игрока и ID специального действия. Найди ID таких действий можно здесь, тут их приличное количество. Если захочешь добавить что-то ещё из списка, то обязательно обрати внимание требуемую версию мультиплеера. Кстати, тебе придётся пошалить с античитом, ибо почти все античиты детектят невалидное использование джет-пака. Для удаления транспорта используют функцию DestroyVehicle. Написал команду в распространённом формате. Но тебе потребуется учитывать пару моментов: удаление рабочего / фракционного / личного транспорта в некоторых игровых модах может повлечь за собой гору проблем. Если хочешь обезопасить себя от возможных нюансов, то сделай проверку на владельца транспорта. Частенько для удаления доступен только транспорт созданный администраторами. CMD:delveh(playerid, params[]) { if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, -1, "Использование: /delveh [номер автомобиля из /dl]."); if(params[0] < 0) return SendClientMessage(playerid, -1, "Номер созданного транспорта начинается с нуля, и не должен иметь значение меньше."); if(params[0] > MAX_VEHICLES) return SendClientMessage(playerid, -1, "Номер созданного транспорта не должен превышать заданные лимиты."); DestroyVehicle(params[0]); SendClientMessage(playerid, -1, "Вы успешно удалили транспорт."); return 1; }
  2. 1 балл
    Сообщение error 017: undefined symbol "logotype" даёт знать о том, что значение "logotype" ранее никогда не объявлялось. Сейчас ты используешь значение как переменную, но при этом ты не объявил её в качестве глобальной переменной. Тебе нужно найти место в своём моде где объявляются глобальные переменные и поместить туда это: new Text: logotype[2]; Text: - это тип переменной. В нашей ситуации она выступает как переменная глобального текстдрава (далее - TD / TextDraw). В будущем она будет нужна для вывода твоего логотипа на экран другим игрокам при определённом сценарии (событии). Есть ещё тип PlayerText:, подробнее о нём и о других фишках TD сможешь почитать ниже, я оставлю ссылочку на официальную документацию (если её можно так назвать :-/). Вообще, глобальные TD должны располагаться в public OnGameModeInit, поместить их туда ты можешь по своему удобству, например: вставив код TD прямо туда (самое простое) / создать функцию и вставить в неё код TD, а в нашем public просто прописываешь вызов функции / либо второй пункт, но при этом поместить функцию в отдельную библиотеку (inc / инклуд), так часто делают если текстдравы занимают большое количество строчек в главном файле. В общем говоря, каждый делает так как ему нравится. В коде объявления TD у тебя есть ошибка. Ты используешь только переменную logotype[0] для обоих текстдравов, а в остальных функциях вообще не дописываешь её. Например первый, ты создал текстдрав logotype[0], а ниже присваиваешь значения текстдраву, индекс которого содержит переменная Textdraw0. В твоём положении нужно поставить заместо Textdraw0 - Logotype[0], а заместо Textdraw1 - Logotype[1], примерно вот так это должно выглядеть: logotype[0] = TextDrawCreate(12.500000, 428.312500, "Ferocius RP"); TextDrawLetterSize(logotype[0], 0.518999, 1.582500); TextDrawAlignment(logotype[0], 1); TextDrawColor(logotype[0], -16711681); TextDrawSetShadow(logotype[0], 10); TextDrawSetOutline(logotype[0], 0); TextDrawBackgroundColor(logotype[0], 51); TextDrawFont(logotype[0], 2); TextDrawSetProportional(logotype[0], 1); logotype[1] = TextDrawCreate(162.500000, 426.750000, "usebox"); TextDrawLetterSize(logotype[1], 0.000000, 4.994443); TextDrawTextSize(logotype[1], -2.000000, 0.000000); TextDrawAlignment(logotype[1], 1); TextDrawColor(logotype[1], 0); TextDrawUseBox(logotype[1], true); TextDrawBoxColor(logotype[1], 255); TextDrawSetShadow(logotype[1], 0); TextDrawSetOutline(logotype[1], 0); TextDrawFont(logotype[1], 0); Для вывода своего логотипа на экран используй строчки ниже. Ты можешь поместить их в авторизацию, сделать в команде, или выводить при коннекте. Как тебе угодно. ShowTextDrawForPlayer(playerid, logotype[0]); ShowTextDrawForPlayer(playerid, logotype[1]); Рекомендую ознакомиться: SA-MP Wiki: TextDraw
×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.