Re: Скриптинг курилка -
-Stranger- - 12.10.2014
В дополнение своей проблемы....
После экспериментов, понял, что callback не работает в filterscript. Если подправить и запустить как gamemode всё начинает работать... Бред какой-то...
Re: Скриптинг курилка -
Jon_De - 16.10.2014
Что за ерунда с GetPVarString?
Код:
new str[10];
GetPVarString(playerid, "txt_a_flood_string", str, sizeof(str));
Quote:
[19:06:14] [debug] Run time error 4: "Array index out of bounds"
[19:06:14] [debug] Accessing element at negative index -1
|
а если вместо sizeof(str) написать вручную 9 например (а не 10 как возвращает sizeof) то всё ок. получается надо делать sizeof(str)-1?
Re: Скриптинг курилка -
Stepashka - 16.10.2014
Quote:
Originally Posted by Jon_De
Что за ерунда с GetPVarString?
Код:
new str[10];
GetPVarString(playerid, "txt_a_flood_string", str, sizeof(str));
а если вместо sizeof(str) написать вручную 9 например (а не 10 как возвращает sizeof) то всё ок. получается надо делать sizeof(str)-1?
|
Ну судя по инклуду и документации, это не размер массива назначения, а длина возвращаемой строки.
Quote:
The maximum length of the returned string.
|
Re: Скриптинг курилка -
Urukhay - 21.10.2014
Кто-нибудь знает, есть возможность отсылать СМС на подобие этого плагина -
https://sampforum.blast.hk/showthread.php?tid=327157, но не через протокол mail.ru (ибо в пришедшем смс показывается мыло отправителя)? Желательно плагин.
Re: Скриптинг курилка -
Stepashka - 21.10.2014
Ты можешь купить GSM плату и отсылать СМС через неё или использовать платные сервисы.
Re: Скриптинг курилка -
Urukhay - 21.10.2014
Quote:
Originally Posted by Stepashka
Ты можешь купить GSM плату и отсылать СМС через неё или использовать платные сервисы.
|
Интересует бесплатный вариант.
Re: Скриптинг курилка -
Stepashka - 21.10.2014
Quote:
Originally Posted by Urukhay
Интересует бесплатный вариант.
|
Re: Скриптинг курилка -
Urukhay - 21.10.2014
Quote:
Originally Posted by Stepashka
|
Тем не менее многие пользуются бесплатной отправкой электронной почты, хотя, это уже другая история..
Re: Скриптинг курилка -
SoNikMells - 21.10.2014
Stepashka, зачем людей обманывать? Бесплатный сыр для второй мыши, помяним первую.
Re: Скриптинг курилка -
Urukhay - 21.10.2014
Quote:
Originally Posted by SoNikMells
Stepashka, зачем людей обманывать? Бесплатный сыр для второй мыши, помяним первую.
|
В мышеловке сыр для любой мыши бесплатный )
Re: Скриптинг курилка -
proSeryoga - 27.10.2014
Народ, подскажите какие вообще надо античиты ставить основные?
деньги, хп/броня, аммо ...
Re: Скриптинг курилка -
OKStyle - 27.10.2014
Грамотный админ - лучший античит. Естественно, не с РП-серверов.
Re: Скриптинг курилка -
proSeryoga - 27.10.2014
Quote:
Originally Posted by OKStyle
Грамотный админ - лучший античит. Естественно, не с РП-серверов.
|
лучший античит был бы, если их вообще не было бы
либо клиент защищал бы
но увы
Re: Скриптинг курилка -
Jon_De - 27.10.2014
Quote:
Originally Posted by proSeryoga
Народ, подскажите какие вообще надо античиты ставить основные?
деньги, хп/броня, аммо ...
|
по мере работы сервера увидишь, кучу всего надо
Re: Скриптинг курилка -
Urukhay - 28.10.2014
Как мы знаем, строки функциями лучше не возвращать. Поэтому есть 3 выхода к одной задаче. Какой лучше?
1) Создаём общую глобальную переменную, для всех игроков одну. При вызове функции в неё запишется
текст. А из того места, где мы вызывали эту функцию, мы используем эту глобальную переменную, соответственно после вызова функции. Минус: Возможно, что в ту долю секунды, между завершением функции и взятием данных из переменной, возможен вызов этой функции другим игроком, и переменная изменится и даст неверное значение.
2) Делаем на PVar'ах типа string. То же самое, но вместо глобальной переменной PVar, но уже каждому игроку. Здесь никто не перекроет значение.
3) Вместо написания функции в отдельном месте, перенесём её внутренности прямо в то место, откуда бы мы её вызывали. Минус: нужно будет размножать один и тот же код во многих местах.
Re: Скриптинг курилка -
White_116 - 28.10.2014
Quote:
Originally Posted by Urukhay
Как мы знаем, строки функциями лучше не возвращать. Поэтому есть 3 выхода к одной задаче. Какой лучше?
1) Создаём общую глобальную переменную, для всех игроков одну. При вызове функции в неё запишется
текст. А из того места, где мы вызывали эту функцию, мы используем эту глобальную переменную, соответственно после вызова функции. Минус: Возможно, что в ту долю секунды, между завершением функции и взятием данных из переменной, возможен вызов этой функции другим игроком, и переменная изменится и даст неверное значение.
2) Делаем на PVar'ах типа string. То же самое, но вместо глобальной переменной PVar, но уже каждому игроку. Здесь никто не перекроет значение.
3) Вместо написания функции в отдельном месте, перенесём её внутренности прямо в то место, откуда бы мы её вызывали. Минус: нужно будет размножать один и тот же код во многих местах.
|
И почему это лучше не возвращать? Дайте расширенный ответ!
pawn Код:
RetStr(string[], size = sizeof(string))
{
if(strlen(string) == 0) return 0;
strins(string, "Не ", 0, size);
return 1;
}
public OnFilterScriptInit()
{
new string[64] = "выдумывай ху*ню!";
print(string);
RetStr(string);
print(string);
return 1;
}
Re: Скриптинг курилка -
Stepashka - 28.10.2014
Quote:
Originally Posted by White_116
И почему это лучше не возвращать? Дайте расширенный ответ!
pawn Код:
RetStr(string[], size = sizeof(string)) { if(strlen(string) == 0) return 0; strins(string, "Не ", 0, size); return 1; }
public OnFilterScriptInit() { new string[64] = "выдумывай ху*ню!"; print(string); RetStr(string); print(string); return 1; }
|
Ты не возвращаешь строку, ты передаешь её по ссылке, это разные вещи.
А возвращать строки действительно не рекомендуется, потому что размер возвращаемой строки нельзя узнать пока ты её не получишь, а если он будет больше чем массив в который ты пытаешься её записать, у тебя произойдет выход за пределы массива.
Re: Скриптинг курилка -
White_116 - 28.10.2014
Quote:
Originally Posted by Stepashka
Ты не возвращаешь строку, ты передаешь её по ссылке, это разные вещи.
|
Это решение, 4 способ.
Re: Скриптинг курилка -
Urukhay - 28.10.2014
Есть тот, кто использует классы при программировании в pawn? Если да, то для чего?
Re: Скриптинг курилка -
Mutha_X - 28.10.2014
Quote:
Originally Posted by Urukhay
Есть тот, кто использует классы при программировании в pawn? Если да, то для чего?
|
Больше петросянов в студию, пожалуйста.