Re: Скриптинг курилка -
Diman777 - 02.12.2015
Quote:
Originally Posted by themakar
Я создаю их только тогда когда они используется, и удаляю когда не используются.
|
Вот при таком алгоритме как раз-таки должно быть всё в норме с системой и прочим
Re: Скриптинг курилка -
Romz - 02.12.2015
Вопрос касаемо sscanf. Есть текст такого формата:
Пытался сделать вот так:
PHP код:
new Float:Pos[3];
sscanf("7.12|8.34|9.56;", "p<|>fff", Pos[0], Pos[1], Pos[2]);
printf("%f %f %f", Pos[0], Pos[1], Pos[2]);
но на выходе получаю:
PHP код:
7.119999 8.340000 0.000000
то есть последнее значение из за ; определяется не верно, как данный символ исключить?
PS: По сути можно вообще не заморачиваться и удалить последний символ с помощью strdel. Но меня интересует, может как то можно сделать все это прям в самом sscanf'e?
Re: Скриптинг курилка -
prineside - 02.12.2015
Quote:
Originally Posted by Kolstin
то есть последнее значение из за ; определяется не верно, как данный символ исключить?
|
Я бы банально заменил последний символ на \0, если это точка с запятой, а потом делал в точности так же, как сайчас в вашем примере
Re: Скриптинг курилка -
Romz - 02.12.2015
Quote:
Originally Posted by prineside
Я бы банально заменил последний символ на \0, если это точка с запятой, а потом делал в точности так же, как сайчас в вашем примере
|
Ну и все же меня интересует как это сделать с символом ;
Re: Скриптинг курилка -
Mutha_X - 02.12.2015
В Си можно было бы таким образом решить проблему
PHP код:
sscanf("7.12|8.34|9.56;", "p<|>fff;", Pos[0], Pos[1], Pos[2]);
Re: Скриптинг курилка -
prineside - 02.12.2015
Quote:
Originally Posted by Kolstin
Ну и все же меня интересует как это сделать с символом ;
|
Тогда добавьте его к вертикальной черте в скобки, <|;>. Конечно, если у вас формат строк будет отличаться от того, что вы привели, то этот способ может не подойти.
На самом деле я с трудом представляю ситуацию, в которой отрезание последнего символа строки в таких случаях не подходит, раскроете секрет?
Re: Скриптинг курилка -
Urukhay - 03.12.2015
Первая созданная машина принимает ID 0, или 1?
Re: Скриптинг курилка -
Romz - 03.12.2015
Quote:
Originally Posted by prineside
Тогда добавьте его к вертикальной черте в скобки, <|;>. Конечно, если у вас формат строк будет отличаться от того, что вы привели, то этот способ может не подойти.
На самом деле я с трудом представляю ситуацию, в которой отрезание последнего символа строки в таких случаях не подходит, раскроете секрет?
|
Убрать последний символ действительно подходит. Мне просто больше нравится когда ; в конце строки имеется. И кстати вариант <|;> не работает, sscanf ругался. Ладно, все же придется отказаться от данного символа, спасибо за попытку помочь.
Quote:
Originally Posted by Urukhay
Первая созданная машина принимает ID 0, или 1?
|
ID: 1
Re: Скриптинг курилка -
Urukhay - 04.12.2015
1. Как задать задержку спавна машине после взрыва?
2. Можно ли как-то исправить заходящую за "dynamic" объект камеру, при быстрой езде на машине. (При медленном движении камера не заходит за объект).
Re: Скриптинг курилка -
Romz - 04.12.2015
Quote:
Originally Posted by Urukhay
1. Как задать задержку спавна машине после взрыва?
2. Можно ли как-то исправить заходящую за "dynamic" объект камеру, при быстрой езде на машине. (При медленном движении камера не заходит за объект).
|
1. После взрыва сохранять данные машины, удалять ее и запускать таймер по истечению какого будет машина создаваться.
2. Скорей всего никак.
(Надеюсь что я ошибаюсь)
Re: Скриптинг курилка -
themakar - 04.12.2015
Если разбивать мод на модули и хукать нативные паблики с какими трудностями и ошибками можно столкнуться? И на что обращать особое внимание?
Re: Скриптинг курилка -
ZiGGi - 04.12.2015
Quote:
Originally Posted by themakar
Если разбивать мод на модули и хукать нативные паблики с какими трудностями и ошибками можно столкнуться? И на что обращать особое внимание?
|
Следи за порядком выполнения, иногда это важно.
Re: Скриптинг курилка -
Diman777 - 04.12.2015
Quote:
Originally Posted by themakar
Если разбивать мод на модули
|
Желаю удачи). Из своих наблюдений очень удобно + посмотрев исходники ранее успешных проектов сампа (например GTA Paradise), пришёл к выводу, что без разбивки нет смысла вообще писать проект.
Re: Скриптинг курилка -
Urukhay - 05.12.2015
Quote:
Originally Posted by Kolstin
1. После взрыва сохранять данные машины, удалять ее и запускать таймер по истечению какого будет машина создаваться.
[/I]
|
Нужно чтобы взорванная оставалась.
Re: Скриптинг курилка -
Romz - 05.12.2015
Quote:
Originally Posted by Urukhay
Нужно чтобы взорванная оставалась.
|
Взорванную машину оставить не возможно. Можете на месте взорваной машины создать объект разбитой машины.
ID объектов: 3593, 3594, 12957
Re: Скриптинг курилка -
vampir9763 - 06.12.2015
написал небольшую функцию, для сохранения данных в бд MySQL
Код:
stock save_mysql( connection, table[], _name1[], _value1[],_name2[],_value2[] )
{
new string[150];
mysql_format( connection, string, sizeof( string ), "UPDATE `%s` SET `%s` = '%s' WHERE `%s` = '%s'",table,_name1,_value1,_name2,_value2);
mysql_pquery( connection, string, "", "" );
return 1;
}
как думаете, сильно будет нагружать сервер, если использовать например в сохранении данных игрока? или лучше использовать один большой запрос для сохранения
Re: Скриптинг курилка -
DrSlett - 06.12.2015
Quote:
Originally Posted by vampir9763
написал небольшую функцию, для сохранения данных в бд MySQL
Код:
stock save_mysql( connection, table[], _name1[], _value1[],_name2[],_value2[] )
{
new string[150];
mysql_format( connection, string, sizeof( string ), "UPDATE `%s` SET `%s` = '%s' WHERE `%s` = '%s'",table,_name1,_value1,_name2,_value2);
mysql_pquery( connection, string, "", "" );
return 1;
}
как думаете, сильно будет нагружать сервер, если использовать например в сохранении данных игрока? или лучше использовать один большой запрос для сохранения
|
При полном сохранении аккаунта лучше конечно будет один запрос, а эта функция подойдет там, где это действительно нужно, например - обновить значение одного-двух полей, не прилагая особых усилий в постоянном написании запросов
Re: Скриптинг курилка -
themakar - 06.12.2015
Helps
Конструктор ругается на длину переменной и обрезает до 31 символа, у меня же 32, можно как то это разрешить?
PHP код:
#if defined _ALS_OnPlayerClickPlayerTextDraw
#undef OnPlayerClickPlayerTextDraw
#else
#define _ALS_OnPlayerClickPlayerTextDraw
#endif
#define OnPlayerClickPlayerTextDraw auth_OnPlayerClickPlayerTextDraw
#if defined auth_OnPlayerClickPlayerTextDraw
forward auth_OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid);
#endif
PHP код:
modules/players/player_auth.h(43) : warning 200: symbol "auth_OnPlayerClickPlayerTextDra" is truncated to 31 characters
modules/players/player_auth.h(50) : warning 200: symbol "_ALS_OnPlayerClickPlayerTextDra" is truncated to 31 characters
modules/players/player_auth.h(56) : warning 200: symbol "auth_OnPlayerClickPlayerTextDra" is truncated to 31 characters
Я так понимаю это не как не вырубить?
И нужно в любом случае обрезать название
Re: Скриптинг курилка -
ZiGGi - 06.12.2015
Quote:
Originally Posted by themakar
Helps
Конструктор ругается на длину переменной и обрезает до 31 символа, у меня же 32, можно как то это разрешить?
PHP код:
#if defined _ALS_OnPlayerClickPlayerTextDraw
#undef OnPlayerClickPlayerTextDraw
#else
#define _ALS_OnPlayerClickPlayerTextDraw
#endif
#define OnPlayerClickPlayerTextDraw auth_OnPlayerClickPlayerTextDraw
#if defined auth_OnPlayerClickPlayerTextDraw
forward auth_OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid);
#endif
PHP код:
modules/players/player_auth.h(43) : warning 200: symbol "auth_OnPlayerClickPlayerTextDra" is truncated to 31 characters
modules/players/player_auth.h(50) : warning 200: symbol "_ALS_OnPlayerClickPlayerTextDra" is truncated to 31 characters
modules/players/player_auth.h(56) : warning 200: symbol "auth_OnPlayerClickPlayerTextDra" is truncated to 31 characters
Я так понимаю это не как не вырубить?
И нужно в любом случае обрезать название
|
Да, только укорачивать название.
Re: Скриптинг курилка -
OstGot - 06.12.2015
Quote:
Originally Posted by ZiGGi
Да, только укорачивать название.
|
Не только)
Можно банальным переносом на другую строку
Пример:
pawn Код:
#if defined _ALS_OnPlayerEnter\
RaceCheckpoint // <<
#undef OnPlayerEnterRaceCheckpoint
#else
#define _ALS_OnPlayerEnterRaceCheckpoint
#endif
#define OnPlayerEnterRaceCheckpoint ac_OnPlayerEnterRaceCheckpoint
#if defined ac_OnPlayerEnterRaceCheckpoint
forward ac_OnPlayerEnterRaceCheckpoint(playerid);
#endif