 |
|
 |
|
|
|
Последние Файлы 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 |
| |
|
|
| BongSkrews | Дата: Пятница, 26.04.2013, 21:54 | Сообщение # 556 |
|
Новенький
Группа:
Пользователи
Сообщений: 15
Награды: 0
Репутация: 18
Замечания: 0%
Статус: 
| an21, Спасибо, мне уже решили проблему. Под "связать диалоги" подразумевалось сохранение id из первого диалога во второй.
|
| |
|
|
| [[[WampiR]]] | Дата: Суббота, 27.04.2013, 07:01 | Сообщение # 557 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус: 
| Помогите пожалуйста преобразовать код. [cut noguest=Код][pwn] if(dialogid==131197) { if(response) { format(stringo,sizeof(stringo),"akk/%s.ini",newname); if(fexist(stringo)) return SendClientMessage(playerid,COLOR_GREY,"Такое имя уже есть на сервере!"); GetPlayerName(playerid, sendername, sizeof(sendername)); if(strlen(WantNickChange[giveplayerid]) < 3) return SendClientMessage(playerid,-1,"Этот игрок не хочет менять ник"); nick[giveplayerid] = 1; format(changenam,sizeof(changenam),"%s",WantNickChange[giveplayerid]); format(stringo,sizeof(stringo),"akk/%s.ini",WantNickChange[giveplayerid]); dini_Create(stringo); SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,"Админ сменил вам ник. В течении пяти секунд изменения вступят в силу"); SendClientMessage(playerid,COLOR_LIGHTBLUE,"Вы сменили ник игроку. В течении пяти секунд изменения всупят в силу"); namechan[giveplayerid] = 5;
/* format(stringo,sizeof(stringo),"akk/%s.ini",newname); dini_Create(stringo); format(string,sizeof(string),"akk/%s.ini",giveplayer); new File = iniOpen(string); iniGet(File,"Key",pass); iniClose(File); SetPlayerName(giveplayerid, newname); OnPlayerUpdate_GF(giveplayerid); File = iniOpen(stringo); iniSet(File,"Key",pass); iniClose(File); format(string,sizeof(string),"akk/%s.ini",giveplayer); dini_Remove(string);*/ SaveAccounts(); } else {
} }[/pwn][/cut]
|
| |
|
|
| Damien_LOL | Дата: Суббота, 27.04.2013, 09:07 | Сообщение # 558 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус: 
| Цитата помогите пожалуйста преобразовать код Lolwhat? Преобразовать код во что? В вино чтоли?
Http://vk.com/minusdot.team
|
| |
|
|
| [[[WampiR]]] | Дата: Суббота, 27.04.2013, 09:28 | Сообщение # 559 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус: 
| Damien_LOL, Не так выразился! Ну сделать чтобы кнопка была.
|
| |
|
|
| Damien_LOL | Дата: Суббота, 27.04.2013, 10:40 | Сообщение # 560 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус: 
| Опиши проблему подробнее, не срабатывает при нажатии на кнопку или ее совсем в диалоговом окне нет?
Http://vk.com/minusdot.team
|
| |
|
|
| Damien_LOL | Дата: Суббота, 27.04.2013, 12:32 | Сообщение # 561 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус: 
| А как передается значение переменной giveplayerid если она обьявляется и не получает никакого значения? И почему ты получаешь имя игрока в sendername а потом обращаешься к WantNickChange. И вообще WantNickChange это переменная какого типа? Массив номеров игроков или массив имен игроков? И файл с таким именем точно существует в папке scriptfiles/akk? Вообще сервер может отрубатся по многим причинам, для определения причины посмотри файл log который есть в папке с сервером. И кинь сюда последние строчки оттуда. Может так яснее станет
Http://vk.com/minusdot.team
|
| |
|
|
| SPACE_MAN | Дата: Суббота, 27.04.2013, 16:33 | Сообщение # 562 |
|
Новенький
Группа:
Пользователи
Сообщений: 35
Награды: 0
Репутация: 0
Замечания: 0%
Статус: 
| как сделать так чтобы чекпоинт не отражался на карте красным квадратиком?
Смерть SPACE_MAN-у
|
| |
|
|
| [[[WampiR]]] | Дата: Суббота, 27.04.2013, 16:54 | Сообщение # 563 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 202
Награды: 2
Город: Омск
Репутация: -22
Замечания: 20%
Статус: 
| Подскажите как сделать чтобы игроку вылазил не текст а диалог? [pwn] for(new g=0; g < MAX_PLAYERS; g++) if(PlayerInfo[g][pAdmin]>=9) admintick++; if(admintick == 0) SendClientMessage(playerid,-1,"На сервере нет доступных админов, чтобы сменить ник!");[/pwn] Я пытался сделать вот так но ничего не получилось [pwn]ShowPlayerDialog(playerid,-1,DIALOG_STYLE_MSGBOX,"Ошибка","На сервере нет доступных админов, чтобы сменить ник!","Закрыть","");[/pwn]
|
| |
|
|
| SPACE_MAN | Дата: Суббота, 27.04.2013, 18:19 | Сообщение # 564 |
|
Новенький
Группа:
Пользователи
Сообщений: 35
Награды: 0
Репутация: 0
Замечания: 0%
Статус: 
| Что я не так, почему чекпоинт когда хочет появляется?? Код checkpoint = CreateDynamicCP(-2005.2985,224.5529,27.9467,4.1,-1,-1,-1,30.0); Код public OnPlayerEnterDynamicCP(playerid,checkpointid) { if(checkpointid == checkpoint) {SetPlayerSkin(playerid,0),GivePlayerMoney(playerid,500);} }
Смерть SPACE_MAN-у
|
| |
|
|
| an21 | Дата: Суббота, 27.04.2013, 18:33 | Сообщение # 565 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 150
Награды: 1
Город: localhost
Репутация: 233
Замечания: 0%
Статус: 
| SPACE_MAN, ну дак где ты его создаешь?
silver break project developer
|
| |
|
|
| Artem_T | Дата: Суббота, 27.04.2013, 19:26 | Сообщение # 566 |
|
Освоившийся
Группа:
I'm V.I.P.
Сообщений: 132
Награды: 26
Город: Полтава
Репутация: 59
Замечания: 40%
Статус: 
| Что делать? В коде стоит ShowPlayerDialog, затем кик. А в игре сразу кикает без диалога. Раньше до 0.3х все было нормально
|
| |
|
|
| Damien_LOL | Дата: Суббота, 27.04.2013, 19:29 | Сообщение # 567 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 133
Награды: 3
Город: Екатеринбург
Репутация: 8
Замечания: 0%
Статус: 
| Artem_T, Диалог показывается и сразу тебя кикает. Ты просто не замечаешь, сделай таймер секунд 5-10
Http://vk.com/minusdot.team
|
| |
|
|
| SPACE_MAN | Дата: Суббота, 27.04.2013, 20:01 | Сообщение # 568 |
|
Новенький
Группа:
Пользователи
Сообщений: 35
Награды: 0
Репутация: 0
Замечания: 0%
Статус: 
| Цитата (an21) ну дак где ты его создаешь? Код public OnGameModeInit() { checkpoint = CreateDynamicCP(-2005.2985,224.5529,27.9467,4.1,-1,-1,-1,30.0);
Смерть SPACE_MAN-у
|
| |
|
|
| an21 | Дата: Суббота, 27.04.2013, 20:37 | Сообщение # 569 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 150
Награды: 1
Город: localhost
Репутация: 233
Замечания: 0%
Статус: 
| SPACE_MAN, полагаю, что дело в стримере. Artem_T, в каком порядке происходят эти действия? Если диалог после кика, естественно он не выведется, так как связь с клиентом уже разорвана. Ставь сначало диалог, потом кик.
silver break project developer
|
| |
|
|
| Weddew | Дата: Суббота, 27.04.2013, 21:35 | Сообщение # 570 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Цитата (|||WampiR|||) Я пытался сделать вот так но ничего не получилось Вы не можете выводить диалог под ID`oм -1.
www.weddew-shop.ru
|
| |
|
|
|
 |
|
 | |
| |
|