SA-MP Forums Archive
Скриптинг курилка - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Скриптинг курилка (/showthread.php?tid=111279)



Re: Скриптинг курилка - proSeryoga - 14.03.2013

Quote:
Originally Posted by eakwarp
Посмотреть сообщение
Нет.
Имеется ввиду использование больших интервалов в case X..Y.
Ибо конструкция switch case в павно, является if based, и в итоге, использование больших интервалов тут работает как проверка каждого числа через if по отдельности. В данном случае гораздо уместнее использовать if(n>=x&&n<=y)
ммм размер amx сразу упал в раз 10


Re: Скриптинг курилка - Bombo - 14.03.2013

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
OnFilterScriptInit везде заканчивается на return 1;?
Да, везде. Правда, в одном месте обнаружил полное отсутствие OnFilterScriptInit(). Не уверен, что дело в этом. Вообще сервер стал вести себя как девушка, чесс слово - то нормально грузит все скрипты, то последний не догружает.
Один из amx > 7МБ - это нормально? Или стоит призадуматься?
Сразу скажу, не я автор, т.ч. о содержимом известно мало


Re: Скриптинг курилка - proSeryoga - 14.03.2013

я вон как то ФС подключал, запускаю, он их просто не видит ...
поменял все exe шники заработало нормлаьно
хотя не где и не ковырялся


Re: Скриптинг курилка - Jon_De - 14.03.2013

Кто знает, какой именно баг в ZCMD, который ложит сервер вроде? пустая строка и символ / в команде или еще что то есть?


Re: Скриптинг курилка - eakwarp - 14.03.2013

Quote:
Originally Posted by Jon_De
Посмотреть сообщение
Кто знает, какой именно баг в ZCMD, который ложит сервер вроде? пустая строка и символ / в команде или еще что то есть?
Нет такого.


Re: Скриптинг курилка - Fireline - 14.03.2013

Quote:
Originally Posted by Jon_De
Посмотреть сообщение
Кто знает, какой именно баг в ZCMD, который ложит сервер вроде? пустая строка и символ / в команде или еще что то есть?
на 0.3x фиксанули, можно не волноваться

Quote:
Originally Posted by eakwarp
Посмотреть сообщение
Нет такого.
ошибаетесь, ну, по крайней мере было


Re: Скриптинг курилка - Jon_De - 14.03.2013

Quote:
Originally Posted by Fireline
Посмотреть сообщение
на 0.3x фиксанули, можно не волноваться
Да я другой командный обработчик нашел (он побыстрее к тому же) + допилил немного. Кстати вопрос
CallLocalFunction(st, "ds", playerid, params); // можно ли вызывать, если params может быть пустой? на винде нормально всё, на линукс сервере сейчас не проверить


Re: Скриптинг курилка - Alexander_Petrov - 14.03.2013

Quote:
Originally Posted by Jon_De
Посмотреть сообщение
Да я другой командный обработчик нашел (он побыстрее к тому же) + допилил немного. Кстати вопрос
CallLocalFunction(st, "ds", playerid, params); // можно ли вызывать, если params может быть пустой? на винде нормально всё, на линукс сервере сейчас не проверить
Нельзя.


Re: Скриптинг курилка - eakwarp - 15.03.2013

Никто не задумывался о том, как из памяти сервера выдернуть момент синхронизации тех же светофоров? По идее, все светофоры работают в трех режимах, всем красный, зеленый в одну сторону, зеленый в другую.


Re: Скриптинг курилка - Stepashka - 15.03.2013

Quote:
Originally Posted by eakwarp
Посмотреть сообщение
Никто не задумывался о том, как из памяти сервера выдернуть момент синхронизации тех же светофоров? По идее, все светофоры работают в трех режимах, всем красный, зеленый в одну сторону, зеленый в другую.
так синхронизацию светофоров вроде как не делали?


Re: Скриптинг курилка - eakwarp - 16.03.2013

Quote:
Originally Posted by AirKite
Посмотреть сообщение
Alex009 обещал тысячу лет назад. Так и не вышло ничего у него...
Он забил на это дело по своему обыкновению )


Re: Скриптинг курилка - Jon_De - 16.03.2013

уже не нужно*


Re: Скриптинг курилка - OKStyle - 16.03.2013

Друзья, столкнулся с проблемой, когда SetObjectMaterial не работает на слой 16. У всех так? Или только у меня и на объекте 16323? Там 26 слоёв.


Re: Скриптинг курилка - AirKite - 16.03.2013

Quote:
Originally Posted by eakwarp
Посмотреть сообщение
Он забил на это дело по своему обыкновению )
Ну на тот момент когда он ещё не забил на разработку плагинов, он активно искал способы. За что то даже зацепился и анонсировал выход функций в одном из его плагинов. Ну а после уже по всей видимости стало ясно, что не удачно выйдет, вот и забил. Хотя конечно есть вероятность существования приемлемого решения...


Re: Скриптинг курилка - GameMan - 18.03.2013

Как будет целесообразней?

pawn Код:
new str[32], msg[128];
for(new i; i < sizeof(someArray); i++) {
    format(str, sizeof(str), "%s {77ff00}%s\n", someArray[i][Test], someArray[i][Test2]);
    strcat(msg, str);
}
или
pawn Код:
new msg[128];
for(new i; i < sizeof(someArray); i++) {
    format(msg, sizeof(msg), "%s%s {77ff00}%s\n", msg, someArray[i][Test], someArray[i][Test2]);
}
Сам я склонен к первому варианту.


Re: Скриптинг курилка - ZiGGi - 18.03.2013

Quote:
Originally Posted by GameMan
Посмотреть сообщение
Как будет целесообразней?

pawn Код:
new str[32], msg[128];
for(new i; i < sizeof(someArray); i++) {
    format(str, sizeof(str), "%s {77ff00}%s\n", someArray[i][Test], someArray[i][Test2]);
    strcat(msg, str);
}
или
pawn Код:
new msg[128];
for(new i; i < sizeof(someArray); i++) {
    format(msg, sizeof(msg), "%s%s {77ff00}%s\n", msg, someArray[i][Test], someArray[i][Test2]);
}
Сам я склонен к первому варианту.
Логичнее использовать второй вариант, так как раз ты всё-равно используешь format.

Но ещё можно проверить на быстродействие этот вариант:
pawn Код:
new msg[128];
for (new i; i < sizeof(someArray); i++) {
    strcat(msg, someArray[i][Test]);
    strcat(msg, " {77ff00}");
    strcat(msg, someArray[i][Test2]);
    strcat(msg, "\n");
}



Re: Скриптинг курилка - Frapsy - 19.03.2013

Каким образом можно поправить такую несостыковочку?

В коде:
PHP код:
SendClientMessage(playerid,-1," "),
SendClientMessage(playerid,-1," ==== "),
SendClientMessage(playerid,-1," message "),
SendClientMessage(playerid,-1," ==== "),
SendClientMessage(playerid,-1," "); 
А на выходе вот так:
Код:
 ====

 ====
 message
Причем порядок строк на выходе меняется сам, иногда даже выходит правильно. Такая штука возникает только на хосте (lin), на локале (win) все впорядке.


Re: Скриптинг курилка - NameNone - 19.03.2013

Quote:
Originally Posted by Frapsy
Посмотреть сообщение
Каким образом можно поправить такую несостыковочку?

В коде:
PHP код:
SendClientMessage(playerid,-1," "),
SendClientMessage(playerid,-1," ==== "),
SendClientMessage(playerid,-1," message "),
SendClientMessage(playerid,-1," ==== "),
SendClientMessage(playerid,-1," "); 
А на выходе вот так:
Код:
 ====

 ====
 message
Причем порядок строк на выходе меняется сам, иногда даже выходит правильно. Такая штука возникает только на хосте (lin), на локале (win) все впорядке.
Увеличить скорость передачи данных, оптимизировать код. Другими словами: снизить задержку. Мэссэджи не приходят в нужном порядке потому что часть из них не успевает дойти от сервера к клиенту.


Re: Скриптинг курилка - GameMan - 19.03.2013

Quote:
Originally Posted by ZiGGi
Посмотреть сообщение
Логичнее использовать второй вариант, так как раз ты всё-равно используешь format.

Но ещё можно проверить на быстродействие этот вариант:
pawn Код:
new msg[128];
for (new i; i < sizeof(someArray); i++) {
    strcat(msg, someArray[i][Test]);
    strcat(msg, " {77ff00}");
    strcat(msg, someArray[i][Test2]);
    strcat(msg, "\n");
}
Сделал тест на 1000 итераций.
Код:
1 variant - 67 ticks
2 variant - 86 ticks
ZiGGi variant - 74 ticks
Как ни странно, но по скорости победил вот этот код:
pawn Код:
new str[32], msg[128];
for(new i; i < sizeof(someArray); i++) {
    format(str, sizeof(str), "%s {77ff00}%s\n", someArray[i][Test], someArray[i][Test2]);
    strcat(msg, str);
}



Re: Скриптинг курилка - Stepashka - 19.03.2013

Quote:
Originally Posted by GameMan
Посмотреть сообщение
Сделал тест на 1000 итераций.
Код:
1 variant - 67 ticks
2 variant - 86 ticks
ZiGGi variant - 74 ticks
Как ни странно, но по скорости победил вот этот код:
pawn Код:
new str[32], msg[128];
for(new i; i < sizeof(someArray); i++) {
    format(str, sizeof(str), "%s {77ff00}%s\n", someArray[i][Test], someArray[i][Test2]);
    strcat(msg, str);
}
Не удивлен, strcat внутри пробегается по всей строке, находит её конец, вставляет туда вторую строку.
А теперь представьте что ZiGGi вызывает данную функцию, в цикле, четыре раза и каждый раз исходная строка длиннее предыдущей.
Предположим что someArray размером 3 строки, а длина каждой вставки 8 символов имеем(сколько символов каждый раз пропускается):
Код:
0-8-17-25
26-34-43-51
52-60-69-77
И это мы только 3 строки отформатировали. Так что с ростом строки strcat замедляет работу в геометрической прогрессии!


ЗЫ а можно узнать размер вашего someArray, а то у меня при его размере в 5 строк, результаты скорости смехотворны.