09:03
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
проверка
SanSayДата: Воскресенье, 24.08.2008, 00:35 | Сообщение # 1
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
МОД ПЕНСЕЛ
ППЦ, уже не знаю че и думать... нужно плюшевую проверку сделать:
если игрок вводит /enter - войти в дом, то нужно чтобы прошла проверка ника в файле с домами и ником игрока который ввел команду
по идее это должно было быть так:
for(new i = 0; i < sizeof(HouseInfo); i++) //i - это ид дома
{
if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez])) // если игрок находится в координатах входа в дом
{
if (HouseInfo[i][hOwner] != GetPlayerName(playerid, name, sizeof(name))) // если у ид дома владелец не равен нику игрока который ввел команду
{
SendClientMessage(playerid, COLOR_GRAD1, " Это не ваш дом!"); // сообщение игроку
return 1;
}
if(PlayerInfo[playerid][pPhousekey] == i || HouseInfo[i][hLock] == 0) //если ключ у игрока совпадает с ид дома, то
{
его пускает в дом
}
else
{
GameTextForPlayer(playerid, "~r~€AЊEPЏO", 5000, 1); //сообщение "заперто"
}
}
}
и нифига в дом не пускает, когбудто ники разные!

на всякий случай к сообщению SendClientMessage(playerid, COLOR_GRAD1, " Это не ваш дом!");
добавил
format(string, sizeof(string), " владелец: %s, ключ: %d",HouseInfo[i][hOwner], i);
SendClientMessage(playerid, COLOR_GRAD1, string);
format(string, sizeof(string), " ник: %s, ключ дома: %d", name, PlayerInfo[playerid][pPhousekey]);
SendClientMessage(playerid, COLOR_GRAD1, string);
показывает что и ник и ключ дома совпадает и должно пустить в дом игрока, но ... не пускает, говорит " Это не ваш дом!"

чет я туплю или че?


simhost.org:8888 Mode:PEN1(LS)+GTO(банды+кач) v4.23_SAMP_0.3с
PEN1(LS)+GTO(банды+кач)v3.92_SAMP_0.3с(ifolder)*** AntiBot*** [FS] Car Export vs SanSay*** [FS] anti_s0beit_FakeKill_Ver2


Сообщение отредактировал SanSay - Воскресенье, 24.08.2008, 00:39
NC22Дата: Воскресенье, 24.08.2008, 04:13 | Сообщение # 2
Уверенный в себе
Группа: Продвинутые
Сообщений: 260
Награды: 1
Репутация: 17
Замечания: 0%
Статус:
SanSay, А пробовал напрямую в проверке к name обращаться?


[FS] Car Coordinator v 0.1|[FS] Anti Art-Money (введена игровая валюта)|
Программа для Конвертирования карт SAMP в MTA и обратно © NC22
XAOCДата: Воскресенье, 24.08.2008, 06:00 | Сообщение # 3
Советчик
Группа: Разработчики
Сообщений: 1190
Награды: 11
Город: Гдета там>>
Репутация: 311
Замечания: 0%
Статус:
SanSay,
не
Code
if (HouseInfo[i][hOwner] != GetPlayerName(playerid, name, sizeof(name)))

а
Code
GetPlayerName(playerid, name, sizeof(name);
if(strcmp(HouseInfo[i][hOwner],name,false))//вродебы правильно написал))

NC22Дата: Воскресенье, 24.08.2008, 06:03 | Сообщение # 4
Уверенный в себе
Группа: Продвинутые
Сообщений: 260
Награды: 1
Репутация: 17
Замечания: 0%
Статус:
XAOC, считай мой совет процитировал..только разными способами можно


[FS] Car Coordinator v 0.1|[FS] Anti Art-Money (введена игровая валюта)|
Программа для Конвертирования карт SAMP в MTA и обратно © NC22
SanSayДата: Воскресенье, 24.08.2008, 07:57 | Сообщение # 5
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
strcmp(name,HouseInfo[i][hOwner],true)==1
вот так сделал - работает

, а кто сможет расшифровать подробно... что это означает, я так приблизительно понял, но хотелось бы наверняка )


simhost.org:8888 Mode:PEN1(LS)+GTO(банды+кач) v4.23_SAMP_0.3с
PEN1(LS)+GTO(банды+кач)v3.92_SAMP_0.3с(ifolder)*** AntiBot*** [FS] Car Export vs SanSay*** [FS] anti_s0beit_FakeKill_Ver2
XAOCДата: Воскресенье, 24.08.2008, 08:25 | Сообщение # 6
Советчик
Группа: Разработчики
Сообщений: 1190
Награды: 11
Город: Гдета там>>
Репутация: 311
Замечания: 0%
Статус:
strcmp
Сравнивает две строки друг с другом, с такими опциями, как игнорирование заглавных букв или максимальная длина. Очень часто используется в OnPlayerCommandText.

(const string1[],const string2[],ignorecase=false,length=cellmax)
const string1[] Первая сравниваемая строка.
const string2[] Строка, которую вы хотите сравнить с string1.
ignorecase=false Игнорировать заглавные буквы, если true.
length=cellmax Максимальное число проверяемых ячеек.
Возвращает 0 - если строки равны между собой.

SanSayДата: Воскресенье, 24.08.2008, 21:05 | Сообщение # 7
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
XAOC, length=cellmax Максимальное число проверяемых ячеек.
каких ячеек?



simhost.org:8888 Mode:PEN1(LS)+GTO(банды+кач) v4.23_SAMP_0.3с
PEN1(LS)+GTO(банды+кач)v3.92_SAMP_0.3с(ifolder)*** AntiBot*** [FS] Car Export vs SanSay*** [FS] anti_s0beit_FakeKill_Ver2
OrangeДата: Воскресенье, 24.08.2008, 21:22 | Сообщение # 8
Уважаемый человек
Группа: Продвинутые
Сообщений: 945
Награды: 6
Город: San Fierro
Репутация: 101
Замечания: 0%
Статус:
Quote (XAOC)
GetPlayerName(playerid, name, sizeof(name); if(strcmp(HouseInfo[i][hOwner],name,false))//вродебы правильно написал))

а можно еще маленькую функцию такую написать:
GetSimplePlayerName(playerid)
{
GetPlayerName(playerid, playername, 16);
return playername;
}
и потом просто можно if(strcmp(HouseInfo[i][hOwner],GetSimplePlayerName(playerid),false))
и не надо еще ипсать там new name GetPlayername... ну а вообще кому как



NC22Дата: Понедельник, 25.08.2008, 00:57 | Сообщение # 9
Уверенный в себе
Группа: Продвинутые
Сообщений: 260
Награды: 1
Репутация: 17
Замечания: 0%
Статус:
SanSay,
Quote (Mishanzanza)
каких ячеек?
Сколько символов строки проверяем. В данном случае
Code

if (HouseInfo[i][hOwner] != GetPlayerName(playerid, name,[b] sizeof(name)[/b]))
по длинне строки name



[FS] Car Coordinator v 0.1|[FS] Anti Art-Money (введена игровая валюта)|
Программа для Конвертирования карт SAMP в MTA и обратно © NC22
SanSayДата: Понедельник, 25.08.2008, 11:50 | Сообщение # 10
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
strcmp(name,HouseInfo[i][hOwner],true)==1
так у меня вообще не объявлена длина, так тоже чтоли можно, если да, то зачем тогда ее вообще объявлять?

и в конце, у меня 1, а бывает и 0 - че это значит?


simhost.org:8888 Mode:PEN1(LS)+GTO(банды+кач) v4.23_SAMP_0.3с
PEN1(LS)+GTO(банды+кач)v3.92_SAMP_0.3с(ifolder)*** AntiBot*** [FS] Car Export vs SanSay*** [FS] anti_s0beit_FakeKill_Ver2
XAOCДата: Понедельник, 25.08.2008, 14:50 | Сообщение # 11
Советчик
Группа: Разработчики
Сообщений: 1190
Награды: 11
Город: Гдета там>>
Репутация: 311
Замечания: 0%
Статус:
SanSay, обьявлять её можно если требуется ограниченное сравнение

==1 значит что "если строки не равны то..."

  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua