| 
|  | 
 |  |  
| 
 |  
 
 
|  |   
|  | Последние Файлы GTA 4 | Последние Файлы GTA-MP | Реклама |   
|  |  |  | 
	
		
		
			| Вопросы и ответы по GTA SAMP [от 19.03.2013] |  |  |  | 
| Weddew | Дата: Вторник, 19.03.2013, 15:11 | Сообщение # 1 |  | Группа:
Ангел Хранитель Сообщений: 1251 Награды: 19 Город: Казань  Репутация: 1740 Замечания: 0% Статус:   | В этой теме вы сможете получить ответы, на многие ваши вопросы по PAWN. 
 Новичкам:
 
 
  
  Внятно объясняйте Вашу проблему, если Вы получили ошибку, обязательно выкладывайте строки, на которые "ругается" компилятор. 
 Задавайте вопросы исключительно по коду, а не по системам, которые имеются у Вас в моде. 
 Помощь идет только по желанию пользователя, если человек помог Вам только частично, не нужно начинать поливать его грязью. 
 Возможно тип Вашей проблемы уже обсуждался на форуме, воспользуйтесь поиском. 
 В этой теме пользователи лишь оказывают помощь в написании кода, а не пишут его за Вас.  
 Если Вы хотите отблагодарить пользователя, жмите на кнопку  . (Только для продвинутых, и выше) 
 Если Вы уже задавали вопрос и не получили на него ответа, то лучше написать в ЛС одному из участников группы  , чем засорять тему. 
 Если Вы сами решили свою проблему, то напишите, как Вы ее решили. 
 Если Вас просят выложить код функций, то используйте для этого сервис pastebin.com 
 
 Скриптерам:
 
  
  Не оскорблять новичков. 
 Не засорять тему сообщениями, подобные этому: "Закрой PAWNO и иди делай уроки". 
 Не посылать в поиск. Пользователь итак уже пришёл сюда из поиска. Если решение проблемы уже было опубликовано, то указать в какой теме 
 Как можно понятней объяснять решение той, или иной проблемы, по возможности приводить примеры. 
 
 
 Инструкции:
 
  
 [cut noguest=Краткая инструкция для вшивания FS в мод] 1) Все из callback OnFilterScriptInit вставляем в конец callback OnGameModeInit перед словом return.
 2) Все из callback OnFilterScriptExit вставляем в конец callback OnGameModeExit перед словом return.
 3) Все объявления переменных (new ...) и констант (const ...; #define ... ...) в начало мода.
 4) Все прототипы (forward ...(...) ) ко всем прототипам.
 5) Все описания нестандартных функций (public ...(...); stock ...(...); ...(...){...} ), которых нет в моде, вставляем в конец мода.
 
 P.S. Данный мануал не гарантирует, что после копирования все будет работать, так как еще потребуется подгонять одни системы под другие.
 P.P.S Если в одном из callback`ов Вы не обнаружили кода, то переходите к следующему пункту инструкции.
 [/cut]
 
[cut noguest=Защита от ботов] В OnPlayerConnect
 [pwn]if(GetPlayersSameIp(playerid) > 3) Kick(playerid);[/pwn]
 В конец мода
 [pwn]stock GetPlayersSameIp(playerid)
 {//by Weddew
 //Возвращает количество подключенных игроков с таким же IP как у playerid
 new count = 0, p_ip[16], i_ip[16];
 GetPlayerIp(playerid, p_ip, sizeof(p_ip));
 for(new i = 0; i < MAX_PLAYERS; i++)
 {
 GetPlayerIp(playerid, i_ip, sizeof(i_ip));
 if(i != playerid)
 {
 if(!strcmp(p_ip, i_ip, false)) count++;
 }
 }
 return count;
 }[/pwn]
 [/cut]
 
[cut noguest=Проверка на Role Play ник] В конец мода:
 [pwn]
 stock IsARPNickname(playerid)
 {
 //by Weddew
 new p_n[MAX_PLAYER_NAME], dcount = 0;
 GetPlayerName(playerid, p_n, sizeof(p_n))
 for(i = 0; i < strlen(p_n); i++)
 {
 if(p_n[i] == '_') dcount++;
 }
 if(dcount != 1 || p_n[0] == '_' || p_n[strlen(p_n)-1] == '_') return false;
 return true;
 }[/pwn]
 
 В OnPlayerConnect
 
 [pwn]
 if(!IsARPNickname(playerid)) Kick(playerid);[/pwn]
 
 P.S.:
 Не пропустит: _Nick_Name_, _Nick_Name, NickName_
 Пропустит: Nick_Name, NICK_NAME, NiCk_name, nick_name[/cut]
 
 
   
 
   www.weddew-shop.ru
 
 
 Сообщение отредактировал Weddew - Среда, 23.10.2013, 21:45 |  |  |  |  
  |  | 
| Merbul | Дата: Четверг, 21.03.2013, 12:15 | Сообщение # 16 |  | Новенький Группа:
Пользователи Сообщений: 71 Награды: 0 Репутация: -28 Замечания: 0% Статус:   | Я скачал серв. Включаю все работает кроме чата. Когда пишу в чат текст который я написал не выходит почему? Как это сделать? 
   |  |  |  |  
  |  | 
| Borog | Дата: Четверг, 21.03.2013, 12:50 | Сообщение # 17 |  | Долгожитель Группа:
I'm V.I.P. Сообщений: 1362 Награды: 43 Город: Москва  Репутация: 1249 Замечания: 20% Статус:   | Merbul, В консоле сообщение отправляется? Мод стандартный? Если нет, то проверяй паблик OnPlayerText
 Там должно стоять return 1; для успешной отправки сообщения
 
   
 Silver Break
 http://s-break.ru/
 http://vk.com/sbreak
 |  |  |  |  |  | 
| Weddew | Дата: Четверг, 21.03.2013, 14:51 | Сообщение # 18 |  | Группа:
Ангел Хранитель Сообщений: 1251 Награды: 19 Город: Казань  Репутация: 1740 Замечания: 0% Статус:   | Merbul, выложите функцию OnPlayerText, разберемся. 
   
 
   www.weddew-shop.ru
 |  |  |  |  |  | 
| sehrget | Дата: Четверг, 21.03.2013, 18:12 | Сообщение # 19 |  | Постоялец Группа:
Продвинутые Сообщений: 393 Награды: 2 Город: Украина\Черкассы  Замечания: 40% Статус:   | Код warning 219: local variable "string" shadows a variable at a preceding level
 [pwn]	else if(dialogid == 30503)
 {
 if(response)
 {
 new item = listitem;
 if (item == 0)
 {
 new MyIP[16];
 new string[256];
 GetPlayerIp(playerid, MyIP, sizeof(MyIP));
 format(string, sizeof(string), "Последний IP адрес: %d \n Ваш IP адрес: %d!", PlayerInfo[playerid][pLastIP], MyIP);
 ShowPlayerDialog(playerid,98765,DIALOG_STYLE_MSGBOX, "Безопасность аккаунта",string,"Закрыть","");
 }
 }
 return 1;
 }[/pwn]
 
   |  |  |  |  |  | 
| Anthony | Дата: Четверг, 21.03.2013, 18:16 | Сообщение # 20 |  | Уверенный в себе Группа:
Publishers Сообщений: 211 Награды: 4 Замечания: 0% Статус:   | [off]В какой строке ошибка?
 Ты переменную дважды объявил по мойму.[/off]
 
   
 
   
   |  |  |  |  |  | 
| sehrget | Дата: Четверг, 21.03.2013, 18:22 | Сообщение # 21 |  | Постоялец Группа:
Продвинутые Сообщений: 393 Награды: 2 Город: Украина\Черкассы  Замечания: 40% Статус:   | Цитата (Vsevolod) Ты переменную дважды объявил по мойму.ага, действительно. Спасибо!
 
   |  |  |  |  |  | 
| Anthony | Дата: Четверг, 21.03.2013, 18:24 | Сообщение # 22 |  | Уверенный в себе Группа:
Publishers Сообщений: 211 Награды: 4 Замечания: 0% Статус:   | [pwn] else if(dialogid == 30503) {
 if(response)
 {
 new item = listitem;
 if (item == 0)
 {
 new MyIP[16];
 new string[256];
 GetPlayerIp(playerid,playersip,sizeof(playersip));
 format(string, sizeof(string), "Последний IP адрес: %d \n Ваш IP адрес: %d!", PlayerInfo[playerid][pLastIP], MyIP);
 ShowPlayerDialog(playerid,98765,DIALOG_STYLE_MSGBOX, "Безопасность аккаунта",string,"Закрыть","");
 }
 }
 return 1;
 }
 [/pwn]
 
 Пробуй.
 Добавлено (21.03.2013, 18:24)---------------------------------------------
 
 Цитата (sehrget) ага, действительно. Спасибо!не прочитал сори я уже выклал:)
 
   
 
   
   |  |  |  |  |  | 
| 40340123 | Дата: Четверг, 21.03.2013, 20:37 | Сообщение # 23 |  | Новенький Группа:
Пользователи Сообщений: 2 Награды: 0 Репутация: 0 Замечания: 20% Статус:   | Скажите а сложно делать мод с 0?? ну не сложный типо как самп рп? 
   |  |  |  |  |  | 
| Merbul | Дата: Четверг, 21.03.2013, 21:09 | Сообщение # 24 |  | Новенький Группа:
Пользователи Сообщений: 71 Награды: 0 Репутация: -28 Замечания: 0% Статус:   | Да там сообщение отправляются, но когда пишешь в чат текст не выходит. Мод у меня классический. 
 <script src="http://pastebin.com/embed_js.php?i=1hRVzGQb"> </ script>
 Добавлено (21.03.2013, 21:07)---------------------------------------------
 Ой я не-то отправил. Извените
 Добавлено (21.03.2013, 21:09)---------------------------------------------
 Вот текст
 
 return 1;
 }
 
 public OnPlayerText(playerid, text[])
 {
 new sendername[MAX_PLAYER_NAME];
 GetPlayerName(playerid, sendername, sizeof(sendername));
 new tmp[256];
 new string[156];
 new ip[15];
 new giveplayer[MAX_PLAYER_NAME];
 GetPlayerIp(playerid,ip,sizeof(ip));
 if(IsIP(text) || CheckString(text))
 {
 PlayerInfo[playerid][pMuteTime] = 10800;
 PlayerInfo[playerid][pMuted] = 1;
 format(string, sizeof(string), "%s: %s",sendername,text);
 ABroadCast(COLOR_LIGHTRED,string,1);
 format(string, sizeof(string), "- ID: %d | IP: [%s]",playerid,ip);
 ABroadCast(COLOR_LIGHTRED,string,1);
 format(string,sizeof(string),"[Security] Вы получили бан чата на 3 часа /mm - репорт");
 SendClientMessage(playerid, COLOR_LIGHTRED, string);
 SetPlayerChatBubble(playerid,"заткнут(а)",COLOR_PURPLE,30.0,10000);
 return 0;
 
   |  |  |  |  |  | 
| Bezon | Дата: Четверг, 21.03.2013, 21:42 | Сообщение # 25 |  | Новенький Группа:
Пользователи Сообщений: 7 Награды: 0 Репутация: -15 Замечания: 0% Статус:   | Кто поможет выбрать полноценный мод?? Что-бы открыть сервер, и помочь подредактировать его? 
   |  |  |  |  |  | 
| sehrget | Дата: Четверг, 21.03.2013, 22:00 | Сообщение # 26 |  | Постоялец Группа:
Продвинутые Сообщений: 393 Награды: 2 Город: Украина\Черкассы  Замечания: 40% Статус:   | Цитата (40340123) Скажите а сложно делать мод с 0?? ну не сложный типо как самп рп?Не сложно, а даже очень удобно. Дело в том, что в твоем моде ты делаешь то, как тебе нужно и то, что тебе нравится. Тебе не нужно ничего вырезать, что-то искать по всему моду, что бы изменить . . .
 Добавлено (21.03.2013, 22:00)---------------------------------------------
 
 Цитата (Bezon) Кто поможет выбрать полноценный мод?? Что-бы открыть сервер, и помочь подредактировать его?Здесь не делают ничего за тебя, тут тебе помогут советом \ не много поправят тебя, если ты не прав! А на счет мода - советую взять диамонд сити(довольно удобный мод).
 
   |  |  |  |  |  | 
| Weddew | Дата: Четверг, 21.03.2013, 22:17 | Сообщение # 27 |  | Группа:
Ангел Хранитель Сообщений: 1251 Награды: 19 Город: Казань  Репутация: 1740 Замечания: 0% Статус:   | Merbul, [pwn]public OnPlayerText(playerid, text[]) {
 new sendername[MAX_PLAYER_NAME];
 GetPlayerName(playerid, sendername, sizeof(sendername));
 new tmp[256];
 new string[156];
 new ip[15];
 new giveplayer[MAX_PLAYER_NAME];
 GetPlayerIp(playerid,ip,sizeof(ip));
 if(IsIP(text) || CheckString(text))
 {
 PlayerInfo[playerid][pMuteTime] = 10800;
 PlayerInfo[playerid][pMuted] = 1;
 format(string, sizeof(string), "%s: %s",sendername,text);
 ABroadCast(COLOR_LIGHTRED,string,1);
 format(string, sizeof(string), "- ID: %d | IP: [%s]",playerid,ip);
 ABroadCast(COLOR_LIGHTRED,string,1);
 format(string,sizeof(string),"[Security] Вы получили бан чата на 3 часа /mm - репорт");
 SendClientMessage(playerid, COLOR_LIGHTRED, string);
 SetPlayerChatBubble(playerid,"заткнут(а)",COLOR_PURPLE,30.0,10000);
 return false;
 }
 return true;
 }
 [/pwn]
 
   
 
   www.weddew-shop.ru
 |  |  |  |  |  | 
| Saibot | Дата: Четверг, 21.03.2013, 23:24 | Сообщение # 28 |  | Освоившийся Группа:
Продвинутые Сообщений: 112 Награды: 0 Репутация: 34 Замечания: 0% Статус:   | Цитата (Mr_Fust) Ибо, от слова "пить", а не "петь"Я это убрал,хз что зморозил
   
 Как зделать чтоб музыка играла одинаково в этой зоне.У меня она играет громко тока в центре,где я делал /save (кординаты).
 [pwn]public OnPlayerUpdate(playerid)
 {
 if(!IsPlayerConnected(playerid)) return 0;
 if(IsPlayerNPC(playerid)) return 1;
 if(GetPlayerInterior(playerid) == 0) {
 if(IsPlayerInRangeOfPoint(playerid,100.0,224.5806,-1911.3296,1.4442)) {
 if(!GetPVarInt(playerid,"Bla")) {
 SetPVarInt(playerid,"Bla",1);
 PlayAudioStreamForPlayer(playerid, "http://online.radiorecord.ru:8102/rus_ogg",224.5806,-1911.3296,1.4442,50.0,true);
 }
 }
 }
 else {
 if(GetPVarInt(playerid,"Bla")) {
 DeletePVar(playerid,"Bla");
 StopAudioStreamForPlayer(playerid);
 }
 }[/pwn]
 
   |  |  |  |  |  | 
| Bezon | Дата: Четверг, 21.03.2013, 23:32 | Сообщение # 29 |  | Новенький Группа:
Пользователи Сообщений: 7 Награды: 0 Репутация: -15 Замечания: 0% Статус:   | Цитата (sehrget) Здесь не делают ничего за тебя, тут тебе помогут советом \ не много поправят тебя, если ты не прав! А на счет мода - советую взять диамонд сити(довольно удобный мод).Ты понемаеш я не шарю в павно вообще что да как изменять добавлять.
 
   |  |  |  |  |  | 
| niks123123 | Дата: Четверг, 21.03.2013, 23:57 | Сообщение # 30 |  | Новенький Группа:
Пользователи Сообщений: 6 Награды: 0 Репутация: 0 Замечания: 0% Статус:   | Добрый вечер, помогите пожалуйста написать команду. Суть заключается в следующем: мне нужна команда "/score [start/stop]", я не хочу делать для этого 2 команды, хочу сделать 1 с проверкой параметра. Делаю через zcmd, проверку делаю следующим образом:
 
 Код if(params[0] == "start") {
 ...
 }
 if(params[0] == "stop")
 {
 ...
 }
Получаю ошибку:
 
 Код new.pwn(311) : error 001: expected token: "-string end-", but found "-identifier-"
   |  |  |  |  |  
 |  
|  | 
 |  |  |  
| 
 
 
 |  |  |