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: Скриптинг курилка - Dima_Tkach - 28.05.2012

PHP Code:
if(!strcmp(x_v"list",true))
            {
                new 
Carid 0;
                
GetPlayerName(playeridplayernamesizeof(playername));
                
SendClientMessage(playerid, -1"[INFO]: Ваши транспортные средсва:");
                  for(new 
0sizeof(VehicleInfo); i++)
                {
                    if(
VehicleInfo[i][vModel] >= 400)
                    {
                            if(
strcmp(playernameVehicleInfo[i][vOwner], true) == 0)
                        {
                            
Carid++;
                            
format(stringsizeof(string), "[ID %d, название: %s]\n"CaridVehicleNames[VehicleInfo[i][vModel]-400]);
                            
SendClientMessage(playeridCOLOR_GREENstring);
                        }
                    }
                }
                return 
1;
            } 
Правильно не показывает машины игрока, все машины подгружаю при запуске сервера машины игрока ему не показывает, иду покупаю новую - покажет, ну после рестарта естественно нет.
В чём проблема?


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

Code:
new pemail[30];
strcat(pemail, PlayerInfo[playerid][pEmail]);



Re: Скриптинг курилка - Hawkins - 28.05.2012

Quote:
Originally Posted by OKStyle
View Post
Code:
new pemail[30];
strcat(pemail, PlayerInfo[playerid][pEmail]);
Спасибо, помогло! Степашкин метод не помог


Re: Скриптинг курилка - DANGER1979 - 28.05.2012

Для чего глобально объявлен static массив?
в срипте elevator что идёт вместе с сампом?
Code:
static FloorNames[21][] =
{
	"Ground Floor",
	"First Floor",
	"Second Floor",
	"Third Floor",
	"Fourth Floor",
	"Fifth Floor",
	"Sixth Floor",
	"Seventh Floor",
	"Eighth Floor",
	"Ninth Floor",
	"Tenth Floor",
	"Eleventh Floor",
	"Twelfth Floor",
	"Thirteenth Floor",
	"Fourteenth Floor",
	"Fifteenth Floor",
	"Sixteenth Floor",
	"Seventeenth Floor",
	"Eighteenth Floor",
	"Nineteenth Floor",
	"Penthouse"
};

static Float:FloorZOffsets[21] =
{
    0.0,		// 0.0,
    8.5479,		// 8.5479,
    13.99945,   // 8.5479 + (5.45155 * 1.0),
    19.45100,   // 8.5479 + (5.45155 * 2.0),
    24.90255,   // 8.5479 + (5.45155 * 3.0),
    30.35410,   // 8.5479 + (5.45155 * 4.0),
    35.80565,   // 8.5479 + (5.45155 * 5.0),
    41.25720,   // 8.5479 + (5.45155 * 6.0),
    46.70875,   // 8.5479 + (5.45155 * 7.0),
    52.16030,   // 8.5479 + (5.45155 * 8.0),
    57.61185,   // 8.5479 + (5.45155 * 9.0),
    63.06340,   // 8.5479 + (5.45155 * 10.0),
    68.51495,   // 8.5479 + (5.45155 * 11.0),
    73.96650,   // 8.5479 + (5.45155 * 12.0),
    79.41805,   // 8.5479 + (5.45155 * 13.0),
    84.86960,   // 8.5479 + (5.45155 * 14.0),
    90.32115,   // 8.5479 + (5.45155 * 15.0),
    95.77270,   // 8.5479 + (5.45155 * 16.0),
    101.22425,  // 8.5479 + (5.45155 * 17.0),
    106.67580,	// 8.5479 + (5.45155 * 18.0),
    112.12735	// 8.5479 + (5.45155 * 19.0)
};
всегда хотел спросить.
ведь тогда static теряет своё превосходство над new.


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

Quote:
Originally Posted by DANGER1979
View Post
Для чего глобально объявлен static массив?
в срипте elevator что идёт вместе с сампом?

всегда хотел спросить.
ведь тогда static теряет своё превосходство над new.
Кучу раз говорилось: глобальная static переменная, не совсем глобальная, она доступна лишь в текущем файле.


Re: Скриптинг курилка - Dima_Tkach - 28.05.2012

Quote:
Originally Posted by Dima_Tkach
View Post
PHP Code:
if(!strcmp(x_v"list",true))
            {
                new 
Carid 0;
                
GetPlayerName(playeridplayernamesizeof(playername));
                
SendClientMessage(playerid, -1"[INFO]: Ваши транспортные средсва:");
                  for(new 
0sizeof(VehicleInfo); i++)
                {
                    if(
VehicleInfo[i][vModel] >= 400)
                    {
                            if(
strcmp(playernameVehicleInfo[i][vOwner], true) == 0)
                        {
                            
Carid++;
                            
format(stringsizeof(string), "[ID %d, название: %s]\n"CaridVehicleNames[VehicleInfo[i][vModel]-400]);
                            
SendClientMessage(playeridCOLOR_GREENstring);
                        }
                    }
                }
                return 
1;
            } 
Правильно не показывает машины игрока, все машины подгружаю при запуске сервера машины игрока ему не показывает, иду покупаю новую - покажет, ну после рестарта естественно нет.
В чём проблема?
В таблице ошибся, код рабочий.


Re: Скриптинг курилка - DANGER1979 - 28.05.2012

ZiGGi, я знаю, что статик не меняет своей видимости но хранит предыдущее значение до выключение сервер.

Quote:

глобальная static переменная, не совсем глобальная, она доступна лишь в текущем файле.

что у нас является текущим файлом?
сам мод?
т.е. данный массив доступен в загруженном моде?
А для чего?
Для того, чтобы данная переменная не распространялась на переменные инклюдов и скриптов?
или при смене мода не работала но новом моде?

Как то глуповато. Зачем они так делали.


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

Quote:
Originally Posted by DANGER1979
View Post
что у нас является текущим файлом?
сам мод?
т.е. данный массив доступен в загруженном моде?
А для чего?
Для того, чтобы данная переменная не распространялась на переменные инклюдов и скриптов?
или при смене мода не работала но новом моде?

Как то глуповато. Зачем они так делали.
Текущий файл.
Да, или его часть.
Только в том файле в котором объявлен.
Нет.
Нет.

Есть умные люди которые не пишут моды в одном файле, а разделяют его на разные части, а потом эти части соединяют в один мод средствами функции #include, да её можно применять не только глобально но и внутри функций и вообще везде, так вот каждый инклуд это отдельный файл, область видимости static переменных ограничена файлом в котором она создана.


Re: Скриптинг курилка - RAEN - 29.05.2012

Отображение клавиш ~k~ в SendClientMessage у всех неправильное? Это походу тот-же баг, как раньше с пробелом перед первой буквой в сообщении с русс. языком.


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

Другими словами, в инклюде можно оперировать new-переменными из других инклюдов. Вот только в любом месте или инклюд должен быть подключен после объявления переменной?


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

Quote:
Originally Posted by OKStyle
View Post
Другими словами, в инклюде можно оперировать new-переменными из других инклюдов. Вот только в любом месте или инклюд должен быть подключен после объявления переменной?
Переменная будет видима только после своего объявления. Т.е. если ты подключишь инклуд в самом низу мода, и объявишь в нем переменную, то её ни мод ни другие инклуды не увидят. А так да.


Re: Скриптинг курилка - Evansive - 29.05.2012

Quote:
Originally Posted by Stepashka
View Post
Для выскочки выделил:

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


Re: Скриптинг курилка - Be$$0n - 29.05.2012

Quote:
Originally Posted by Evansive
View Post
Ты б помолчал, твои советы никому тут не нужны, ничего дельного от тебя ни разу не видел.
Лично мне он помогал и не раз.


Re: Скриптинг курилка - DANGER1979 - 29.05.2012

Evansive, скройся.

Зачем это в павн: operator


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

Для переназначения действий стандартных операторов.


Re: Скриптинг курилка - DANGER1979 - 29.05.2012

О как.
А пример можно?


Re: Скриптинг курилка - DartfoL - 29.05.2012

инклуд float глянь, там все операторы


Re: Скриптинг курилка - Dima_Tkach - 29.05.2012

Quote:
Originally Posted by Stepashka
View Post
Ну удали сервер, мод, и будь игроком, спасешь и себя и всех

По сабжу:
Code:
stock SaveAccount1(playerid)
{
	if(PlayerInfo[playerid][pLogged] == true)
	{
		CheckMySQLConnection();
		new query[800], sqlname[MAX_PLAYER_NAME], sqlpass[64];
		mysql_real_escape_string(PlayerInfo[playerid][pName], sqlname);//а эти нам сохранять не надо и без них хорошо
		mysql_real_escape_string(PlayerInfo[playerid][pPassword], sqlpass);//а эти нам сохранять не надо и без них хорошо
		format(query, sizeof(query),"UPDATE `Accounts` SET\
		`Origin` = '%i', `House` = '%i', `Auto` = '%i', `Time` = '%i', `Exp` = '%i',\
		`Chas` = '%i', `Bank` = '%i', `Bizz` = '%i', `Sex` = '%i', `Zvezdi` = '%i',\
		`TimeZv` = '%i', `Jailed` = '%i', `JailTime` = '%i', `Mail` = '%s' WHERE `ID` = '%i'",
		PlayerInfo[playerid][pOrigin],
		PlayerInfo[playerid][pHouse],
		PlayerInfo[playerid][pAuto],
		PlayerInfo[playerid][pTime],
		PlayerInfo[playerid][pExp],
		PlayerInfo[playerid][pChas],
		PlayerInfo[playerid][pBank],
		PlayerInfo[playerid][pBizz],
		PlayerInfo[playerid][pSex],
		PlayerInfo[playerid][pZvezdi],
		PlayerInfo[playerid][pTimeZv],
		PlayerInfo[playerid][pJailed],
		PlayerInfo[playerid][pJailTime],
		PlayerInfo[playerid][pEmail],
		PlayerInfo[playerid][pID]);
		mysql_debug(1);
		mysql_query(query);
	}
	return 1;
}
Скажи кстати IP сервера буду периодически заходить и базу дропать.
Как же защитить сервер от дропа?


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

Quote:
Originally Posted by Dima_Tkach
View Post
Как же защитить сервер от дропа?
Вам - не создавать его. Остальным же, воспользоваться своими знаниями, в целях написания грамотного кода.


Re: Скриптинг курилка - Dima_Tkach - 29.05.2012

Quote:
Originally Posted by eakwarp
View Post
Вам - не создавать его. Остальным же, воспользоваться своими знаниями, в целях написания грамотного кода.
Ваш сарказм жалок, уважаемый.