 |
|
 |
|
|
|
Последние Файлы 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 |
| |
|
|
| Weddew | Дата: Вторник, 28.05.2013, 21:05 | Сообщение # 871 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Merbul, вам в эту тему http://www.samp-rus.com/forum/81
www.weddew-shop.ru
|
| |
|
|
| SAMP---RUS | Дата: Вторник, 28.05.2013, 21:07 | Сообщение # 872 |
|
Новенький
Группа:
Пользователи
Сообщений: 29
Награды: 0
Город: stavropol
Репутация: -16
Замечания: 0%
Статус: 
| Цитата SAMP---RUS, самое простое это поставить таймер на диалог. Ну помоги
|
| |
|
|
| Nikita01041997 | Дата: Вторник, 28.05.2013, 21:19 | Сообщение # 873 |
|
Новенький
Группа:
Пользователи
Сообщений: 74
Награды: 0
Город: Алейск
Репутация: -37
Замечания: 0%
Статус: 
| SAMP---RUS, google тебе в помощь, в своё время всё искал там!
люблю этот сайт
|
| |
|
|
| Merbul | Дата: Вторник, 28.05.2013, 22:17 | Сообщение # 874 |
|
Новенький
Группа:
Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| Спасибо что это за ошибка?  Добавлено (28.05.2013, 22:13) --------------------------------------------- А все исправил извените А вот почему у меня JunkBuster не работает? Добавлено (28.05.2013, 22:17) ---------------------------------------------
Опять это ошибка в картинке и за чего это может быть?
|
| |
|
|
| Borog | Дата: Среда, 29.05.2013, 00:06 | Сообщение # 875 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус: 
| Merbul, Там ж написано: Во время выполнения SetPlayerUnjail произошло переполнение Функцию в студию... (да, я про SetPlayerUnjail)
Silver Break http://s-break.ru/ http://vk.com/sbreak
|
| |
|
|
| Merbul | Дата: Среда, 29.05.2013, 14:07 | Сообщение # 876 |
|
Новенький
Группа:
Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| Здарова всем как сделать команду /capture чтобы было окошко снизу и там время и сколько человек в квадрате. И такая же команда для мафий. SetPlayerUnjail а это была из-за плагина я убрал плагин все это прошло. Добавлено (29.05.2013, 14:07) --------------------------------------------- А еще такие ошибки [pwn] (33778) : warning 203: symbol is never used: "family" это строка stock SendCopsMessage(family, color, string[]) (36458) : warning 204: symbol is assigned a value that is never used: "healhp" это строка new healhp = PlayerInfo[playerid][pHP]; (58176) : warning 203: symbol is never used: "kick" такой строки вообще нету
|
| |
|
|
| Saibot | Дата: Среда, 29.05.2013, 14:31 | Сообщение # 877 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 112
Награды: 0
Репутация: 34
Замечания: 0%
Статус: 
| Такая проблема: Когда купляю два последних SBiz`a и прописываю команду /bizinfo, пишет SERVER: Unckown Command Вот стандартный код который был в моде он у меня работал норм [pwn]if (strcmp(cmd, "/bizinfo", true) == 0) { if(IsPlayerConnected(playerid)) { new bouse = PlayerInfo[playerid][pPbiskey]; if(bouse == 255) { SendClientMessage(playerid, COLOR_WHITE, "Вы не владеете бизнесом."); return 1; } if (bouse >= 100) { PrintSBizInfo(playerid,bouse-100); } else { PrintBizInfo(playerid,bouse); } } return 1; }[/pwn] [cut noguest=Код][pwn]public PrintSBizInfo(playerid,targetid) { if(IsPlayerConnected(playerid)) { new coordsstring[256]; SendClientMessage(playerid, COLOR_GREEN,"_______________________________________"); format(coordsstring, sizeof(coordsstring),"*** %s ***",SBizzInfo[targetid][sbMessage]); SendClientMessage(playerid, COLOR_WHITE,coordsstring); format(coordsstring, sizeof(coordsstring), " Закрыто: %d Свободный вход: $%d Till: $%d", SBizzInfo[targetid][sbLocked], SBizzInfo[targetid][sbEntranceCost], SBizzInfo[targetid][sbTill]); SendClientMessage(playerid, COLOR_GRAD1,coordsstring); format(coordsstring, sizeof(coordsstring), " Продукты: %d/%d Автор: %s", SBizzInfo[targetid][sbProducts],SBizzInfo[targetid][sbMaxProducts],SBizzInfo[targetid][sbExtortion]); SendClientMessage(playerid, COLOR_GRAD2,coordsstring); SendClientMessage(playerid, COLOR_GREEN,"_______________________________________"); } } //============================================================================== public PrintBizInfo(playerid,targetid) { if(IsPlayerConnected(playerid)) { new coordsstring[256]; SendClientMessage(playerid, COLOR_GREEN,"_______________________________________"); format(coordsstring, sizeof(coordsstring),"*** %s ***",BizzInfo[targetid][bMessage]); SendClientMessage(playerid, COLOR_WHITE,coordsstring); format(coordsstring, sizeof(coordsstring), "Закрыто: %d EntryFee: $%d Till: $%d", BizzInfo[targetid][bLocked], BizzInfo[targetid][bEntranceCost], BizzInfo[targetid][bTill]); SendClientMessage(playerid, COLOR_GRAD1,coordsstring); format(coordsstring, sizeof(coordsstring), "Продукты: %d/%d Украдены у: %s", BizzInfo[targetid][bProducts],BizzInfo[targetid][bMaxProducts],BizzInfo[targetid][bExtortion]); SendClientMessage(playerid, COLOR_GRAD2,coordsstring); SendClientMessage(playerid, COLOR_GREEN,"_______________________________________"); } }[/pwn][/cut]
Но я его зделал в окне [cut noguest=Код][pwn]public PrintSBizInfo(playerid,targetid) { if(IsPlayerConnected(playerid)) { new str[300],sctring[2000]; new locktext[32]; if(BizzInfo[targetid][bLocked] == 1) { locktext = "Закрыт"; } else { locktext = "Открыт"; } format(str,sizeof(str),"{ffdb58}Название:\t\t{ffffff}%s\n",SBizzInfo[targetid][sbMessage]); strcat(sctring,str); format(str,sizeof(str),"{ffdb58}Состояние:\t\t{ffffff}%s\n",locktext); strcat(sctring,str); format(str,sizeof(str),"{ffdb58}Цена входа:\t\t{ffffff}%d\n",SBizzInfo[targetid][sbEntranceCost]); strcat(sctring,str); format(str,sizeof(str),"{ffdb58}В кассе:\t\t{ffffff}%d\n",SBizzInfo[targetid][sbTill]); strcat(sctring,str); format(str,sizeof(str),"{ffdb58}Продукты:\t\t{ffffff}%d/%d\n",SBizzInfo[targetid][sbProducts],SBizzInfo[targetid][sbMaxProducts]); strcat(sctring,str); new sbizz[256]; format(sbizz,sizeof(sbizz),"Bizz-Info"); ShowPlayerDialog(playerid,9517,DIALOG_STYLE_MSGBOX,sbizz,sctring,"Закрыть",""); } return 1; } //============================================================================== public PrintBizInfo(playerid,targetid) { if(IsPlayerConnected(playerid)) { new str[300],sctring[2000]; new locktext[32]; if(BizzInfo[targetid][bLocked] == 1) { locktext = "Закрыт"; } else { locktext = "Открыт"; } format(str,sizeof(str),"{ffdb58}Название:\t\t{ffffff}%s\n",BizzInfo[targetid][bMessage]); strcat(sctring,str); format(str,sizeof(str),"{ffdb58}Состояние:\t\t{ffffff}%s\n",locktext); strcat(sctring,str); format(str,sizeof(str),"{ffdb58}Цена входа:\t\t{ffffff}%d\n",BizzInfo[targetid][bEntranceCost]); strcat(sctring,str); format(str,sizeof(str),"{ffdb58}В кассе:\t\t{ffffff}%d\n",BizzInfo[targetid][bTill]); strcat(sctring,str); format(str,sizeof(str),"{ffdb58}Продукты:\t\t{ffffff}%d/%d\n",BizzInfo[targetid][bProducts],BizzInfo[targetid][bMaxProducts]); strcat(sctring,str); new bizz[256]; format(bizz,sizeof(bizz),"Bizz-Info"); ShowPlayerDialog(playerid,9517,DIALOG_STYLE_MSGBOX,bizz,sctring,"Закрыть",""); } return 1; }[/pwn][/cut] Вот в этих окнах проблема.
|
| |
|
|
| Geryy | Дата: Среда, 29.05.2013, 14:49 | Сообщение # 878 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Цитата (Merbul) Здарова всем как сделать команду /capture чтобы было окошко снизу и там время и сколько человек в квадрате. И такая же команда для мафий. Посмотри ЭТО возможно оно.
Параметр family в функции stock SendCopsMessage нигде не используется. Тоже самое для healhp переменная объявлена, но не используется.
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
Сообщение отредактировал Geryy - Среда, 29.05.2013, 14:58 |
| |
|
|
| Merbul | Дата: Среда, 29.05.2013, 14:49 | Сообщение # 879 |
|
Новенький
Группа:
Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| Помогите пишу /givegun и мне пишет SERVER: Unckown Command . Потом я скопировал с другого мода а там работает. Вставил туда где не работает всеравно так.
|
| |
|
|
| Geryy | Дата: Среда, 29.05.2013, 14:59 | Сообщение # 880 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Цитата (Merbul) Помогите пишу /givegun Покажи команду.
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
|
| |
|
|
| SAMP---RUS | Дата: Среда, 29.05.2013, 15:03 | Сообщение # 881 |
|
Новенький
Группа:
Пользователи
Сообщений: 29
Награды: 0
Город: stavropol
Репутация: -16
Замечания: 0%
Статус: 
| У меня на сервере стоит летящая камера при входе на сервер, и в publicOnPlayerConnect у меня стоит диалог и он появляеться сразу даже когда еще камера не начинет лететь Добавлено (29.05.2013, 15:03) --------------------------------------------- Как сделать таймер на диалог
|
| |
|
|
| Merbul | Дата: Среда, 29.05.2013, 15:09 | Сообщение # 882 |
|
Новенький
Группа:
Пользователи
Сообщений: 71
Награды: 0
Репутация: -28
Замечания: 0%
Статус: 
| Вот команда
[pwn] else if(strcmp(cmd, "/givegun", true) == 0) { tmp = strtok(cmdtext, idx); if(PlayerInfo[playerid][pAdmin] > 0) { if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{F74848}» Введите{FFFFFF}: /givegun [id] [id оружия] [патроны]"); } new playa; new gun; new ammo; playa = ReturnUser(tmp); tmp = strtok(cmdtext, idx); gun = strval(tmp); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{F74848}» Введите{FFFFFF}: /givegun [id] [id оружия] [патроны]"); tmp = strtok(cmdtext, idx); ammo = strval(tmp); if(ammo <1||ammo > 9999) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя меньше 1 или больше 9999 патронов!"); if (PlayerInfo[playerid][pAdmin] >= 5) { if(IsPlayerConnected(playa)) { if(playa != INVALID_PLAYER_ID) { GetWeaponPla(playa, gun, ammo); SendClientMessage(playerid, COLOR_GRAD1, "Оружие выдано"); } } } else { SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать эту команду!"); } return true; }
|
| |
|
|
| Weddew | Дата: Среда, 29.05.2013, 15:20 | Сообщение # 883 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Цитата (SAMP---RUS) Как сделать таймер на диалог Таймер ставиться не на диалог, а на вызов функции.
Пример: Там где нужно: [pwn]SetTimer("Function", 10000, 0); // 10000 = 10 секунд[/pwn] В конец: [pwn] forward Function(); public Function() { return true; } [/pwn]
www.weddew-shop.ru
|
| |
|
|
| Geryy | Дата: Среда, 29.05.2013, 15:23 | Сообщение # 884 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Цитата (Merbul) Вот команда [pwn] else if(strcmp(cmd, "/givegun", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "{F74848}» Введите{FFFFFF}: /givegun [id] [id оружия] [патроны]"); return 1; } new playa; new gun; new ammo; playa = ReturnUser(tmp); tmp = strtok(cmdtext, idx); gun = strval(tmp); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "{F74848}» Введите{FFFFFF}: /givegun [id] [id оружия] [патроны]"); return 1; } tmp = strtok(cmdtext, idx); ammo = strval(tmp); if(ammo < 1||ammo > 9999) { SendClientMessage(playerid, COLOR_GRAD1, "Нельзя меньше 1 или больше 9999 патронов!"); return 1; } if (PlayerInfo[playerid][pAdmin] >= 5) { if(IsPlayerConnected(playa)) { if(playa != INVALID_PLAYER_ID) { GivePlayerWeapon(playa, gun, ammo); SendClientMessage(playerid, COLOR_GRAD1, "Оружие выдано"); } } } else { SendClientMessage(playerid, COLOR_GRAD1, "Вы не уполномочены использовать эту команду!"); } return 1; }[/pwn]
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
Сообщение отредактировал Geryy - Среда, 29.05.2013, 15:25 |
| |
|
|
| [RESPEKT]v-style | Дата: Среда, 29.05.2013, 16:13 | Сообщение # 885 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 145
Награды: 0
Город: Буденновск
Репутация: -48
Замечания: 80%
Статус: 
| Народ такая чушь бывает бота запускают как с ним бороться вот например скрин
одыхаю блеать
|
| |
|
|
|
 |
|
 | |
| |
|