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

 



 
          





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





Последние Файлы 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 из 13
  • 1
  • 2
  • 3
  • 12
  • 13
  • »
Модератор форума: Alcoholik  
Паспорт
xSLiMxДата: Вторник, 02.02.2010, 21:09 | Сообщение # 1
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2163
Награды: 34
Город: Ростов - на - Дону
Репутация: 1429
Замечания: 80%
Статус:
Так как многие хотят себе в моды паспорт - то вот он вам. Писал на забитую говном всяким голову.

Начнем.
Нам потребуется:


  • Мозг - 1 штука
  • Руки прямые - 2 штуки
  • Клавиатура - 1 штука
  • Мыщь - 1 штука
  • Знания в павно - хотябы какие нибудь
  • Павно - 1 штука
  • Ваш мод - хоть 1013018391 штук

В enum pInfo добавляем такое:
[pwn]
pPasport,
pPasport1,
pPasportGot,[/pwn]

Далее.

Идем в public OnPlayerConnect и пищим там где нибудь такое:
[pwn]
PlayerInfo[playerid][pPasport] = 0;[/pwn]

Далее.

Идем в public OnPlayerRegister и пищим там такое:
[pwn]
format(var, 32, "Passport=%d\n",PlayerInfo[playerid][pPasport]);fwrite(hFile, var);
format(var, 32, "Passport Have=%d\n",PlayerInfo[playerid][pPasport1]);fwrite(hFile, var);
format(var, 32, "Passport Got=%d\n",PlayerInfo[playerid][pPasportGot]);fwrite(hFile, var);[/pwn]

Идем в public OnPlayerUpdate и пищим там такое:
[pwn]
format(var, 32, "Passport=%d\n",PlayerInfo[playerid][pPasport]);fwrite(hFile, var);
format(var, 32, "Passport Have=%d\n",PlayerInfo[playerid][pPasport1]);fwrite(hFile, var);
format(var, 32, "Passport Got=%d\n",PlayerInfo[playerid][pPasportGot]);fwrite(hFile, var);[/pwn]

Идем в public OnPlayerLogin и пищим там такое:
[pwn]
if( strcmp( key , "Passport" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPasport] = strval( val ); }
if( strcmp( key , "Passport Have" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPasport1] = strval( val ); }
if( strcmp( key , "Passport Got" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPasportGot] = strval( val ); }[/pwn]

Так. Все вроде записали. Теперь команда получения.

[pwn]
if(strcmp(cmd, "/getpass", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pPasportGot]==1) {return SendClientMessage(playerid,COLOR_LIGHTBLUE,"У вас уже есть пасспорт");}
{
if(IsPlayerInRangeOfPoint(playerid,5.0,363.0847,173.7168,1008.3828))
{
new randpas = 10000 + random(89999);//minimum 10000 max 99999 Даем паспорт Рандомо номер его. Все деаед ваш мод
PlayerInfo[playerid][pPasport] = randpas;
new pasnumb = PlayerInfo[playerid][pPasport];
format(string, sizeof(string), "* Вы получили Паспорт.Его номер:%d",pasnumb);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[playerid][pPasport1]=1;
PlayerInfo[playerid][pPasportGot]=1;
OnPlayerUpdate(playerid);//выдача паспорта и сразу автосохранение
}
else
{
SendClientMessage(playerid, COLOR_YELLOW, " Чтобы Получить пасспорт оправляйтесь в Мерию.");
}
}
}
return 1;
}[/pwn]

Команда показывания паспорта.
[pwn]
if(strcmp(cmd,"/showpasport",true)==0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, " Использование: /showpasport [ид/чать ника]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (ProxDetectorS(8.0, playerid, giveplayerid))
{
//if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, " Ты не можешь показать паспорт себе!"); return 1; }
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new pasport = PlayerInfo[playerid][pPasport];
format(string, sizeof(string), "|__________ Паспорт %s __________|", sendername);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
format(string, sizeof(string), " Паспорт зарегистирован на игрока %s.", sendername);
SendClientMessage(giveplayerid, COLOR_GREY, string);
format(string, sizeof(string), " Номер паспорта: %d", pasport);
SendClientMessage(giveplayerid, COLOR_GREY, string);
format(string, sizeof(string), "|__________ Подпись %s __________|", sendername);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
format(string, sizeof(string), "* %s показал вам свой паспорт.", sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Ты показал свой паспорт игроку %s.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Этот игрок не рядом с тобой.");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Этого игрока нет на сервере.");
return 1;
}
}
return 1;
}[/pwn]

И терь для копов (да бы они забирали паспорт).

Ищем /take и куда нибудь там пихаем такое.
[pwn]
else if(strcmp(x_nr,"pasport",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, " Используйте: /take pasport [id/Name]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (ProxDetectorS(5.0, playerid, giveplayerid))
{

GetPlayerName(playerid,sendername,sizeof(sendername));
GetPlayerName(giveplayerid,giveplayer,sizeof(giveplayer));
format(string, sizeof(string), "* Вы забрали паспорт у игрока %ы.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Полицейский %s забрал ваш паспорт. Вы были уволены с работы.", sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
PlayerInfo[giveplayerid][pPasportGot] = 0;
PlayerInfo[giveplayerid][pPasport] = 0;
PlayerInfo[giveplayerid][pPasport1] = 0;
PlayerInfo[giveplayerid][pJob] = 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Этот игрок далеко !");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Игрока нету на сервере !");
return 1;
}
}[/pwn]

И для завершения этой какашки.

Идем в команду /join.

В ней ищим:
Самое ее начало.
[pwn]
if(strcmp(cmd, "/join", true) == 0)
{
if(IsPlayerConnected(playerid))
{[/pwn]

и после этого добавляем:
[pwn]
if(PlayerInfo[playerid][pPasport1] == 0) {return SendClientMessage(playerid, COLOR_GREY, " У вас нету пасспорта.Чтобы получить его введите - /getpass");}[/pwn]

Получится такое:

[pwn]
if(strcmp(cmd, "/join", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pPasport1] == 0) {return SendClientMessage(playerid, COLOR_GREY, " У вас нету пасспорта.Чтобы получить его введите - /getpass");}

и тут уж все остальное. И по моему в конце (самом низу), надо всунуть }. (проверьте) [/pwn]

Ну и для красоты.

Идем в public ShowStats.

и пишим так такое:

[pwn]
new pasport = PlayerInfo[targetid][pPasport];[/pwn]

И теперь в удобную вам строку пишим такое:
[pwn]
Даю пример строки - главное черным и жирным
format(coordsstring, sizeof(coordsstring), "Наркота:[%d] Маты:[%d] Болезнь:[%s] Маффия: [%s] Ранг: [%s] Номер Пасспорта: [%d]", drugs,mats,dtext,ttext,rtext,pasport);
SendClientMessage(playerid, COLOR_GRAD5,coordsstring);

Главное тут:

Номер Пасспорта: [%d] и pasport

[/pwn]

И для красоты.

В OnGameModeInit

[pwn]
Create3DTextLabel("СДЕСЬ МОЖНО ПОЛУЧИТЬ ПАСПОРТ!\nВВЕДИТЕ /getpass ЧТОБЫ ПОЛУЧИТЬ ЕГО",0x008080FF,363.0847,173.7168,1008.3828,20.0,0);[/pwn]

Вроде все - что забыл - напишу

Чтобы получить паспорт - приходим в Мерию а там все поймете.

Если будут баги - пишите. У мя все работало (писал то я crazy )

З.Ы. Если у вас инклуды не 0.3 - то паспорта вам не видать.

Удачи © Слим


Сообщение отредактировал xSLiMx - Среда, 03.02.2010, 15:13
EXtaneДата: Вторник, 02.02.2010, 21:16 | Сообщение # 2
Новенький
Группа: Пользователи
Сообщений: 14
Награды: 1
Город: Львов
Репутация: 5
Замечания: 0%
Статус:
Как на меня это тупость можна зделать на много проще, но всё же...


[url="logoff"]нет, не надо на меня тыкать[/url]
xSLiMxДата: Вторник, 02.02.2010, 21:17 | Сообщение # 3
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2163
Награды: 34
Город: Ростов - на - Дону
Репутация: 1429
Замечания: 80%
Статус:
Quote (EXtane)
Как на меня это тупость

знаю может и тупо - кто доработает - кто так оставит - написал, проверил - вроде норм. Писал на головняк...

Quote (EXtane)
ожна зделать на много проще, но всё же...

А чеж не сделал? crazy

EXtaneДата: Вторник, 02.02.2010, 21:18 | Сообщение # 4
Новенький
Группа: Пользователи
Сообщений: 14
Награды: 1
Город: Львов
Репутация: 5
Замечания: 0%
Статус:
а что пасспорт можно взять в любом месте? оО


[url="logoff"]нет, не надо на меня тыкать[/url]
xSLiMxДата: Вторник, 02.02.2010, 21:21 | Сообщение # 5
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2163
Награды: 34
Город: Ростов - на - Дону
Репутация: 1429
Замечания: 80%
Статус:
Quote (EXtane)
а что пасспорт можно взять в любом месте? оО

Вроде как да). Кто захочит с определенного места - пишите где брать и я сделаю

_LexA_Дата: Вторник, 02.02.2010, 21:27 | Сообщение # 6
Долгожитель
Группа: Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус:
Тем, кому надо сделать так, чтобы лицензер выдавал паспорт :
Для просмотра лицензий вписать в команду /givelicense это :
[pwn]if(strcmp(x_nr,"pasport",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "Используйте: /givelicense pasport [playerid/PartOfName]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "* Вы дали паспорт %s.",giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Инструктор %s дал вам паспорт.",sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
PlayerInfo[giveplayerid][pPasport] = 1;
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Этого игрока нету на сервере !");
return 1;
}
}[/pwn]
И в команду /licenses такое :
[pwn]new text6[20];
if(PlayerInfo[playerid][pPasport]) { text6 = "есть"; } else { text6 = "нету"; }
format(string, sizeof(string), "* Паспорт: %s.", text6);
SendClientMessage(playerid, COLOR_GREY, string);[/pwn]

Добавлено (02.02.2010, 21:27)
---------------------------------------------
Немного спутал :

Quote (_LexA_)
Для просмотра лицензий вписать в команду /givelicense это :

Это для выдачи, а это :
Quote (_LexA_)
И в команду /licenses такое :

Для просмотра.

ImperealДата: Вторник, 02.02.2010, 21:28 | Сообщение # 7
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
Репутация: 1868
Замечания: 100%
Статус:
Обьясни дауну куда это пихнуть

[offtop]if(strcmp(cmd, "/join", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pPasport1] == 0) {return SendClientMessage(playerid, COLOR_GREY, " У вас нету пасспорта.Чтобы получить его введите - /getpass");}


Прощай самп-рус =Р
xSLiMxДата: Вторник, 02.02.2010, 21:31 | Сообщение # 8
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2163
Награды: 34
Город: Ростов - на - Дону
Репутация: 1429
Замечания: 80%
Статус:
Quote (zm-96)
Обьясни дауну куда это пихнуть

давай сюда /join. Сделаю сейчас.

vlad20Дата: Вторник, 02.02.2010, 21:32 | Сообщение # 9
Постоялец
Группа: I'm V.I.P.
Сообщений: 417
Награды: 5
Город: Одесса
Репутация: 82
Замечания: 60%
Статус:
zm-96, кароче иди в команду которой устраиваться на работу(например /join или /takejob я незнаю какой у тебя мод(и вставь туда строчку
[pwn]if(PlayerInfo[playerid][pPasport1] == 0) {return SendClientMessage(playerid, COLOR_GREY, " У вас нету пасспорта.Чтобы получить его введите - /getpass");}[/pwn]

ImperealДата: Вторник, 02.02.2010, 21:36 | Сообщение # 10
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
Репутация: 1868
Замечания: 100%
Статус:
[offtop]}
if(strcmp(cmd, "/join", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pJob] == 0)
{
if(gTeam[playerid] == 1 || gTeam[playerid] == 2 || gTeam[playerid] == 4 || gTeam[playerid] == 11)
{
SendClientMessage(playerid, COLOR_GREY, " You must be a Civilian (Not Wanted) or a Family Member to get a Job !");
return 1;
}
if (GetPlayerState(playerid) == 1 && PlayerToPoint(3.0, playerid,-78.620666, -1169.911499, 2.140778))
{
Вот сюды или куда?



Прощай самп-рус =Р
deniskarДата: Вторник, 02.02.2010, 21:42 | Сообщение # 11
Освоившийся
Группа: Пользователи
Сообщений: 112
Награды: 2
Город: астрахань
Репутация: 1
Замечания: 0%
Статус:
чувак а мне нужно чтоб в определенном месте, сделаешь? вместо координат поставь точки , я потом сам вставлю! плз помоги давно хотел сделть
ImperealДата: Вторник, 02.02.2010, 21:45 | Сообщение # 12
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
Репутация: 1868
Замечания: 100%
Статус:
[pwn]Проверяю чё за шняга!))


Прощай самп-рус =Р
_LexA_Дата: Вторник, 02.02.2010, 21:45 | Сообщение # 13
Долгожитель
Группа: Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус:
deniskar,
[pwn]if(strcmp(cmd, "/getpass", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerToPoint(2, playerid,x,y,z))
{
new randpas = 10000 + random(89999);//minimum 10000 max 99999 Даем паспорт Рандомо номер его. Все деаед ваш мод
PlayerInfo[playerid][pPasport] = randpas;
new pasnumb = PlayerInfo[playerid][pPasport];
format(string, sizeof(string), "* Вы получили Пасспорт.Его номер: %d",pasnumb);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[playerid][pPasport1]=1;
OnPlayerUpdate(playerid);//выдача паспорта и сразу автосохранение
}
else {SendClientMessage(playerid, COLOR_YELLOW, "Вы не там, где надо покупать паспорт."); }
}
return 1;
}[/pwn]

xSLiMxДата: Вторник, 02.02.2010, 21:48 | Сообщение # 14
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2163
Награды: 34
Город: Ростов - на - Дону
Репутация: 1429
Замечания: 80%
Статус:
_LexA_,

if(strcmp(cmd, "/getpass", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerToPoint(5.0, playerid,x,y,z)) //помоему радиус указываеться в типе x.x типо 5.0 ну короче вы поняли
{
new randpas = 10000 + random(89999);//minimum 10000 max 99999 Даем паспорт Рандомо номер его. Все деаед ваш мод
PlayerInfo[playerid][pPasport] = randpas;
new pasnumb = PlayerInfo[playerid][pPasport];
format(string, sizeof(string), "* Вы получили Пасспорт.Его номер: %d",pasnumb);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[playerid][pPasport1]=1;
OnPlayerUpdate(playerid);//выдача паспорта и сразу автосохранение
}
else {SendClientMessage(playerid, COLOR_YELLOW, "Вы не там, где надо покупать паспорт."); }
}
return 1;
}

toneysixДата: Вторник, 02.02.2010, 21:50 | Сообщение # 15
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
xSLiMx не по моему, а так точно. Хотя оно так же является работоспособным, но это не верный вариант который в дальнейшем может привести к нестабильной работе. И ещё сколько раз говорить уже используйте IsPlayerInRangeOfPoint если уж учите людей, учите правильно.


Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
  • Страница 1 из 13
  • 1
  • 2
  • 3
  • 12
  • 13
  • »
Поиск:





 


 


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