Re: Скриптинг курилка -
ZiGGi - 04.03.2015
OstGot, ты уверен, что использование макросов в твоём случае необходимо? Их нужно использовать с умом и мне что-то подсказывает, что в твоём случае без них код будет выглядеть лучше. Хотя я почти ничего не понял, ты лучше код покажи, конкретные примеры.
Re: Скриптинг курилка -
Makar007 - 04.03.2015
Quote:
Originally Posted by Makar007
Как определить есть ли на заданных координатах x,y,z машина?
|
Срочно нужна помощь
Т.е мне нужно узнать свободно ли место для размещении там машины
Сейчас код выглядит так
PHP код:
for (new i = 0; i < sizeof(arrCarImpoundPos); i ++)
{
for (new i = 0; i != MAX_DYNAMIC_CARS; i ++) if (CarData[i][carExists]) {
тут хочу проверять среди всех машин свободно или нет
continue;
}
тут код если место свободно
break;
}
Re: Скриптинг курилка -
[Saint] - 04.03.2015
Quote:
Originally Posted by Makar007
Срочно нужна помощь
|
https://sampwiki.blast.hk/wiki/GetVehiclePos
Re: Скриптинг курилка -
ZiGGi - 04.03.2015
Quote:
Originally Posted by Makar007
Срочно нужна помощь
Т.е мне нужно узнать свободно ли место для размещении там машины
Сейчас код выглядит так
PHP код:
for (new i = 0; i < sizeof(arrCarImpoundPos); i ++)
{
for (new i = 0; i != MAX_DYNAMIC_CARS; i ++) if (CarData[i][carExists]) {
тут хочу проверять среди всех машин свободно или нет
continue;
}
тут код если место свободно
break;
}
|
PHP код:
stock GetVehicleIdByCoord(Float:x, Float:y, Float:z)
{
new Float:veh_pos[3];
for (new i = 1; i <= MAX_VEHICLES; i++) {
if (GetVehiclePos(i, veh_pos[0], veh_pos[1], veh_pos[2])) {
if (GetDistanceBetweenPoints(veh_pos[0], veh_pos[1], veh_pos[2], x, y, z) < 2.0) {
return 1;
}
}
}
return 0;
}
stock Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2)
{
return VectorSize(x1-x2, y1-y2, z1-z2);
}
Наверное можно использовать GetVehicleDistanceFromPoint, но я не знаю что оно возвратит, если транспорта с этим ID нет.
Re: Скриптинг курилка -
OstGot - 04.03.2015
Quote:
Originally Posted by ZiGGi
OstGot, ты уверен, что использование макросов в твоём случае необходимо? Их нужно использовать с умом и мне что-то подсказывает, что в твоём случае без них код будет выглядеть лучше. Хотя я почти ничего не понял, ты лучше код покажи, конкретные примеры.
|
Ай, долгая история)
Я хотел реализовать что-то типо такого:
Если помимо моего "проекта" в моде задефайнены аналоги, с которыми возможен конфликт - нужно предупредить пользователя при запуске сервера.
Идею реализовывал примерно так:
pawn Код:
#define Prohibition "Для использования ***-** удалите следующий скрипт: %s"
#if defined _JB_included
#define Prohibition_1 "JunkBuster"
#elseif defined _aat_included
#define Prohibition_2 "Anti-Attack plugin"
//И ещё очень много подобного
#endif
public OnGameModeInit()
{
#if defined Prohibition_1
printf(Prohibition, Prohibition_1);
#elseif defined Prohibition_2
printf(Prohibition, Prohibition_2);
#endif
//Тут так же, очень много подобных условий
return 1;
}
Мне самому не очень нравится такая реализация, вот и стал искать способ "улучшения" своего кода.
Re: Скриптинг курилка -
ZiGGi - 04.03.2015
Quote:
Originally Posted by OstGot
Ай, долгая история)
Я хотел реализовать что-то типо такого:
Если помимо моего "проекта" в моде задефайнены аналоги, с которыми возможен конфликт - нужно предупредить пользователя при запуске сервера.
Идею реализовывал примерно так:
pawn Код:
#define Prohibition "Для использования ***-** удалите следующий скрипт: %s" #if defined _JB_included #define Prohibition_1 "JunkBuster" #elseif defined _aat_included #define Prohibition_2 "Anti-Attack plugin" //И ещё очень много подобного #endif
public OnGameModeInit() { #if defined Prohibition_1 printf(Prohibition, Prohibition_1); #elseif defined Prohibition_2 printf(Prohibition, Prohibition_2); #endif //Тут так же, очень много подобных условий return 1; }
Мне самому не очень нравится такая реализация, вот и стал искать способ "улучшения" своего кода.
|
Ты выводишь по одной ошибке? Тогда твой код можно представить в таком виде:
PHP код:
#define Prohibition "Для использования ***-** удалите следующий скрипт: %s"
#if defined _JB_included
#define Prohibition_System "JunkBuster"
#elseif defined _aat_included
#define Prohibition_System "Anti-Attack plugin"
#endif
public OnGameModeInit()
{
#if defined Prohibition_System
printf(Prohibition, Prohibition_System);
#endif
return 1;
}
Но вот зачем выводить сообщение об ошибке при запуске сервера?
Лучше выводить ошибку при компиляции:
PHP код:
#if defined _JB_included
#error Remove "JunkBuster" for use ***
#elseif defined _aat_included
#error Remove "Anti-Attack plugin" for use ***
#endif
Re: Скриптинг курилка -
OstGot - 04.03.2015
Quote:
Originally Posted by ZiGGi
Но вот зачем выводить сообщение об ошибке при запуске сервера?
Лучше выводить ошибку при компиляции:
PHP код:
#if defined _JB_included
#error Remove "JunkBuster" for use ***
#elseif defined _aat_included
#error Remove "Anti-Attack plugin" for use ***
#endif
|
Не так всё просто) У меня мультиязычный проект, и как можно больше текста нужно сделать доступным на разных языках..
П.с. А за подсказку спасибо, я понимал, что можно сократить код, но как, чего-то додумать не мог)
Re: Скриптинг курилка -
Urukhay - 07.03.2015
Как лучше осуществлять взаимодействие игрока с недвижимостью (3 штуки всего): создавать для покупки каждой недвижимости индивидуальный диалог или создавать общий диалог с распознаванием недвижимости?
Re: Скриптинг курилка -
SoNikMells - 07.03.2015
Знающие и те, кто опробовал sampgdk, вы бы не могли написать Урок по установке и настройке с скриншотами или видео + приложить к посту готовый пустой проект?
Очень буду благодарен, а то сам что то допереть не в состоянии, как правильно подключить данную библиотеку. На страничке Zeex не очень понял из-за плохой дружбы с английским.
Re: Скриптинг курилка -
MarkoD - 07.03.2015
hi.all.
Парни проверьте у себя такой баг/крашер.
При выходе с водительского места, меняешь скин и крашит всех кто находиться рядом.
Есть ли у вас такой баг? сообщали ли об этот SA:MP Team?
Re: Скриптинг курилка -
SoNikMells - 08.03.2015
Эх, а я так привык к PLID
Re: Скриптинг курилка -
eXtAbLE - 08.03.2015
Почему то,когда создаю макрос SendMes,не компилируется,при этом я удаляю сток,можно ли написать это через сток,только как в макросе,без всяких #emit?
Кстати,я когда создаю pawn.cfg с -d3,при использовании команды в которой есть SendMes сервер крашится,без pawn.cfg нет.Долго искал в чем проблема
Re: Скриптинг курилка -
SoNikMells - 08.03.2015
http://forum.sa-mp.com/showpost.php?...12813&langid=4
Re: Скриптинг курилка -
eXtAbLE - 08.03.2015
Ой спасибо,в прошлые разы дефайнил,и не компилило,а твой рабочий!
Re: Скриптинг курилка -
Urukhay - 09.03.2015
Можно ли прикрепить к объекту несколько объектов, а потом этот объект с другими объектами прикрепить на персонажа?
Re: Скриптинг курилка -
OKStyle - 09.03.2015
Попробуй и расскажешь.
Re: Скриптинг курилка -
eXtAbLE - 09.03.2015
MoveObject(gate, posx+8.49414, posy-17.94568, posz+2.5054, 0.001, posrx, posry, posrz);//âîðîòà
Почему ворота не двигаются плавно? С другими всё нормально было
Re: Скриптинг курилка -
OKStyle - 09.03.2015
Попробуй увеличить 0.001 до 0.025, например.
Re: Скриптинг курилка -
eXtAbLE - 09.03.2015
0.1 делал даже,ничего не помогает
Re: Скриптинг курилка -
Makar007 - 09.03.2015
Возможно ли без создания еще одно TD сделать обводку у бокса?
Есть текстовый TD с использованием коробки, возможно ли добавить обводку у коробки?