 |
|
 |
|
|
|
Последние Файлы 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 |
| |
|
|
| Dj_R[e]PA | Дата: Суббота, 22.11.2014, 21:17 | Сообщение # 2161 |
|
Новенький
Группа:
Продвинутые
Сообщений: 45
Награды: 1
Город: BALAXTA
Репутация: 8
Замечания: 60%
Статус: 
| Только я не пойму, что тебе даст этот код?)) Мне просто надо узнать, как сделать еще одну тиму, чтобы именно она спавнилась рандомно [pwn]#include <a_samp>
#define TEAM_1 1 #define TEAM_2 2 #define TEAM_3 3 #define TEAM_4 4 #define TEAM_5 5
new gTeam[MAX_PLAYERS];
public OnPlayerRequestClass(playerid, classid) {
SetPlayerInterior(playerid,3); SetPlayerPos(playerid,-2673.8381,1399.7424,918.3516); SetPlayerFacingAngle(playerid,181.0); SetPlayerCameraPos(playerid,-2673.2776,1394.3859,918.3516); SetPlayerCameraLookAt(playerid,-2673.8381,1399.7424,918.3516); if(classid == 0 || classid == 1 || classid == 2 || classid == 3){ gTeam[playerid] = TEAM_1; GameTextForPlayer(playerid, "ballas", 1000, 3);} else if(classid == 4 || classid == 5 || classid == 6 || classid == 7){ gTeam[playerid] = TEAM_2; GameTextForPlayer(playerid, "groove", 1000, 3);} else if(classid == 8 || classid == 9 || classid == 10 || classid == 11){ gTeam[playerid] = TEAM_3; GameTextForPlayer(playerid, "San Fierro", 1000, 3);} else if(classid == 12 || classid == 13 || classid == 14 || classid == 15){ gTeam[playerid] = TEAM_4; GameTextForPlayer(playerid, "Army", 1000, 3);} else if(classid == 16 || classid == 17 || classid == 18 || classid == 19){ gTeam[playerid] = TEAM_5; GameTextForPlayer(playerid, "Aztec", 1000, 3);} return 1; }
public OnPlayerSpawn(playerid) {
SetPlayerInterior(playerid,0); if(gTeam[playerid] == TEAM_1) SetPlayerColor(playerid, 0x000000AA); else if(gTeam[playerid] == TEAM_2) { if (IsPlayerAdmin(playerid)) SetPlayerColor(playerid, 0xFFFFFFAA); else { SendClientMessage(playerid, 0xAA3333AA, " Ты не админ!!!"); GameTextForPlayer(playerid, "~g~~h~YOU ARE NOT ADMIN!!!", 5000, 5); SetPlayerInterior(playerid, 6); SetPlayerPos(playerid, 264.3700,77.5700,1001.0391); SetPlayerFacingAngle(playerid, 272.6900); TogglePlayerControllable(playerid, 0); } } SetPlayerColor(playerid, 0x00C0F4AA); if(gTeam[playerid] == TEAM_3) SetPlayerColor(playerid, 0x00C0F4AA); else if(gTeam[playerid] == TEAM_4) SetPlayerColor(playerid, 0x00C0F4AA); else if(gTeam[playerid] == TEAM_5) SetPlayerColor(playerid, 0x00C0F4AA);
return 1; }[/pwn]
|
| |
|
|
| DiZi | Дата: Суббота, 22.11.2014, 21:22 | Сообщение # 2162 |
|
Местный
Группа:
Продвинутые
Сообщений: 669
Награды: 2
Город: новокузнецк
Репутация: 158
Замечания: 40%
Статус: 
| Dj_R[e]PA, Создавай фракцию к примеру с номером 11( civilian ) и потом делай проверку при спавне, что то типа
if(PlayerInfo[playerid][pMember] == 11 ) { //тут код спавна рандомного }
Остальным фаркам делай такую же проверку но уже со статичными координатами спавна.
======= Мои проекты ======= [GM]Zombie Mod [Разработка][7%] =======================
=====Мои работы===== [FS] Auto Menu [FS] AdminPanel
|
| |
|
|
| Rishat | Дата: Суббота, 22.11.2014, 21:56 | Сообщение # 2163 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 235
Награды: 3
Город: Nab. Chelny
Репутация: 56
Замечания: 0%
Статус: 
| Dj_R[e]PA, чтобы пример продемонстрировать. Вроде всё подробно разжевал. На работоспособность не проверял
[pwn]#include <a_samp>
#define TEAM_1 1 #define TEAM_2 2 #define TEAM_3 3 #define TEAM_4 4 #define TEAM_5 5 #define TEAM_6 6 // Civilian
// Ïåðåìåííûå new gTeam[MAX_PLAYERS];
// Ìàññèâ êîîðäèíàò ïîçèöèè (ñïàâíà civilian) enum CoordInfo { Float:Coord_X, Float:Coord_Y, Float:Coord_Z }
new Float:CivilianSpawn[5][CoordInfo] = { {1958.3783,1343.1572,15.3746}, // 1 {2199.6531,1393.3678,10.8203}, // 2 {2483.5977,1222.0825,10.8203}, // 3 {2637.2712,1129.2743,11.1797}, // 4 {2000.0106,1521.1111,17.0625} // 5 };
// Ãëîáàëüíûå ïðîöåäóðû public OnPlayerRequestClass(playerid, classid) { SetPlayerInterior(playerid,3); SetPlayerPos(playerid,-2673.8381,1399.7424,918.3516); SetPlayerFacingAngle(playerid,181.0); SetPlayerCameraPos(playerid,-2673.2776,1394.3859,918.3516); SetPlayerCameraLookAt(playerid,-2673.8381,1399.7424,918.3516);
if(classid == 0 || classid == 1 || classid == 2 || classid == 3) { gTeam[playerid] = TEAM_1; GameTextForPlayer(playerid, "ballas", 1000, 3); } else if(classid == 4 || classid == 5 || classid == 6 || classid == 7) { gTeam[playerid] = TEAM_2; GameTextForPlayer(playerid, "groove", 1000, 3); } else if(classid == 8 || classid == 9 || classid == 10 || classid == 11) { gTeam[playerid] = TEAM_3; GameTextForPlayer(playerid, "San Fierro", 1000, 3); } else if(classid == 12 || classid == 13 || classid == 14 || classid == 15) { gTeam[playerid] = TEAM_4; GameTextForPlayer(playerid, "Army", 1000, 3); } else if(classid == 16 || classid == 17 || classid == 18 || classid == 19) { gTeam[playerid] = TEAM_5; GameTextForPlayer(playerid, "Aztec", 1000, 3); } else if(classid == 'öèôðà' || classid == 'öèôðà' || classid == 'öèôðà' || classid == 'öèôðà' ) // Äîáàâü ñþäà ñâîè çíà÷åíèÿ, ÿ õç ÷åìó òàì classid ïðèñâàåâàåòñÿ { gTeam[playerid] = TEAM_6; GameTextForPlayer(playerid, "Civilian", 1000, 3); } return 1; }
public OnPlayerSpawn(playerid) { SetPlayerInterior(playerid,0); if(gTeam[playerid] == TEAM_1) SetPlayerColor(playerid, 0x000000AA); else if(gTeam[playerid] == TEAM_2) { if (IsPlayerAdmin(playerid)) SetPlayerColor(playerid, 0xFFFFFFAA); else { SendClientMessage(playerid, 0xAA3333AA, " ?? ?? ?????!!!"); GameTextForPlayer(playerid, "~g~~h~YOU ARE NOT ADMIN!!!", 5000, 5); SetPlayerInterior(playerid, 6); SetPlayerPos(playerid, 264.3700,77.5700,1001.0391); SetPlayerFacingAngle(playerid, 272.6900); TogglePlayerControllable(playerid, 0); } } SetPlayerColor(playerid, 0x00C0F4AA); if(gTeam[playerid] == TEAM_3) SetPlayerColor(playerid, 0x00C0F4AA); else if(gTeam[playerid] == TEAM_4) SetPlayerColor(playerid, 0x00C0F4AA); else if(gTeam[playerid] == TEAM_5) SetPlayerColor(playerid, 0x00C0F4AA); if(gTeam[playerid] == TEAM_6) // Ôðàêöèÿ civilian, à òàê æå ôóíêöèÿ ðàíäîìà { SetPlayerColor(playerid, 0x00C0F4AA); new rand = random(sizeof(CivilianSpawn)); // Îáîëî÷êà ðàíäîìà SetPlayerPos(playerid, CivilianSpawn[rand][Coord_X], CivilianSpawn[rand][Coord_Y], CivilianSpawn[rand][Coord_Z]); // Âûäà÷à ïîçèöèé èãðîêó } return 1; }[/pwn]
[Open Source] GTO v.0.5.8 - 0.7.2 [all series]
[GM] GTA-EU Role Play (akka Awesome RPg) [GM] MultiGTA - Rishat edition 2011
[MAP] Автошкола. (Los Santos) [MAP] Hospital - Больница (Los Santos)
Сообщение отредактировал Rishat - Суббота, 22.11.2014, 21:57 |
| |
|
|
| CheSTR | Дата: Пятница, 28.11.2014, 21:46 | Сообщение # 2164 |
|
Новенький
Группа:
Пользователи
Сообщений: 44
Награды: 1
Город: Саратов
Репутация: 34
Замечания: 0%
Статус: 
| и снова я и снова с проблемой, в этот раз мучаюсь второй день, успехов нет) итак написал анти аттаку от OnIncommingConnection, не знаю как это делают, но с помощью этого кладут сервера на раз два, проблема в том что первая стадия присвоение ипу слота не проходит он сразу пишет attacking http://pastebin.com/BLpK5TcT
|
| |
|
|
| sehrget | Дата: Воскресенье, 21.12.2014, 10:46 | Сообщение # 2165 |
|
Постоялец
Группа:
Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус: 
| CheSTR, [pwn]enum exInfo { ExitName[MAX_PLAYER_NAME], ExitTime, }; new ExitInfo[MAX_PLAYERS][exInfo]; [/pwn]
В public OnPlayerConnect(playerid) добавляем:
[pwn]new unixtime = GetTickCount(); for(new i=0; i<MAX_PLAYERS; i++) { if(!strcmp(ExitInfo[i][ExitName],PlayerInfo[playerid][pName],true)) { if(unixtime - ExitInfo[i][ExitTime] <= 15000) return SendClientMessage(playerid,COLOR_LIGHTRED,"Повторный вход на сервер возможен не раньше, чем через 15 секунд"), Kick(playerid); else strmid(ExitInfo[i][ExitName],"None", 0, strlen("None"), 32), ExitInfo[i][ExitTime] = 0; } } [/pwn]
В public OnPlayerDisconnect(playerid, reason) добавляем:
[pwn]if(gPlayerLogged[playerid] == 1) strmid(ExitInfo[playerid][ExitName],PlayerInfo[playerid][pName], 0, strlen(PlayerInfo[playerid][pName]), 32), ExitInfo[playerid][ExitTime] = GetTickCount(); В public OnGameModeInit() добавляем: PHP код: for(new i=0; i<MAX_PLAYERS; i++) strmid(ExitInfo[i][ExitName],"None", 0, strlen("None"), 32), ExitInfo[i][ExitTime] = 0;[/pwn]
Объясняю что к чему: это простенькая системка анти-рекконекта(аналог самп-рп). По желании можешь добавить варнинги и бан по ипу за перебор.Добавлено (21.12.2014, 10:46) --------------------------------------------- Dj_R[e]PA, все как и сказал тебе DiZi, но с некоторыми правками:
if(PlayerInfo[playerid][pMember] == 11) { if(rand == 0) { SetPlayerPos(playerid, x, y, z); } else if(rand == 1) { SetPlayerPos(playerid, x, y, z); } else if(rand == 2) { SetPlayerPos(playerid, x, y, z); } ... } Вместо рандом 10, пиши любое количетсво твоих "рандомных" спавнов и по этой системе пиши сколько угодно рандомных точек.
Сообщение отредактировал sehrget - Суббота, 20.12.2014, 18:58 |
| |
|
|
| Judy | Дата: Суббота, 27.12.2014, 11:39 | Сообщение # 2166 |
|
Новенький
Группа:
Продвинутые
Сообщений: 67
Награды: 0
Город: Екатеринбург / Trinityplayer
Репутация: 69
Замечания: 0%
Статус: 
| У меня есть довольно общий вопрос, даже не совсем по мультиплееру. Как называется тот шрифт, которым в игре снизу экрана писались диалоги персонажей, там описание заданий, что далее делать и всё такое? Вот пример: http://i4.imageban.ru/out/2014/12/27/2b8d96f7c3005bdaaecb70141b74a32f.jpg
Пробовал и сам найти, но нашёл PricedownC, которым название игры написано, ну, Grand Theft Auto.
Прошло время... ...RCR отошёл на покой.
Встречайте новое движение, вызывает уважение, поражает воображение, призывает к обсуждению. ОПС «Redsands West»
http://tinyurl.com/redsandswest
|
| |
|
|
| syntex | Дата: Пятница, 02.01.2015, 18:17 | Сообщение # 2167 |
|
Новенький
Группа:
Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Замечания: 0%
Статус: 
| Здравствуйте, подскажите есть ли где либо гайды видео или текстовые по созданию моделей игровых персонажей, скинов и т.д. А то везде только одни как поставить готовый скин, а вот сделать самому не найду никак.
|
| |
|
|
| Judy | Дата: Понедельник, 05.01.2015, 09:14 | Сообщение # 2168 |
|
Новенький
Группа:
Продвинутые
Сообщений: 67
Награды: 0
Город: Екатеринбург / Trinityplayer
Репутация: 69
Замечания: 0%
Статус: 
| Хех, случайно встретил тот искомый шрифт когда искал другой http://www.fonts-online.ru/font/GlasnostExtraboldFWF
Прошло время... ...RCR отошёл на покой.
Встречайте новое движение, вызывает уважение, поражает воображение, призывает к обсуждению. ОПС «Redsands West»
http://tinyurl.com/redsandswest
|
| |
|
|
| Moskvichev | Дата: Воскресенье, 11.01.2015, 15:43 | Сообщение # 2169 |
|
Новенький
Группа:
Пользователи
Сообщений: 9
Награды: 0
Город: Санкт-Петербург
Репутация: 15
Замечания: 0%
Статус: 
| Такой вопрос по моду. У меня в моде большинство домов продаётся. Возле каждого дома стоит стандартный автомобиль. В папке properties имеются координаты, интерьеры домов, но проблема в том, что в игре, не у одного из этих домов нет маркера с информацией о продаже дома. Как исправить это или что найти в павно? Помогите пожалуйста. Сервер мне дали, сижу исправляю. Мод - RPGS (на подобии GF). За ранее очень благодарен.
|
| |
|
|
| Alcoholik | Дата: Воскресенье, 11.01.2015, 15:55 | Сообщение # 2170 |
|
Мастер джэдай
Группа:
Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус: 
| Moskvichev, В ongamemodeinit должны ставиться пикапы для каждого дома на координаты входа. Сами дома работают? Купить их можно? Войти?
if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die(); Мониторинг sa:mp серверов Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги. Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
|
| |
|
|
| Moskvichev | Дата: Воскресенье, 11.01.2015, 16:38 | Сообщение # 2171 |
|
Новенький
Группа:
Пользователи
Сообщений: 9
Награды: 0
Город: Санкт-Петербург
Репутация: 15
Замечания: 0%
Статус: 
| Цитата Alcoholik (  ) Moskvichev, В ongamemodeinit должны ставиться пикапы для каждого дома на координаты входа. Сами дома работают? Купить их можно? Войти?
не мог не купить, не зайти, не какой инфы возле домов и не каких пикапов  Добавлено (11.01.2015, 16:38) --------------------------------------------- И еще проблема возникла. Меняю стартовые деньги в строчке PlayerInfo[playerid][pCash], но в игре как был ноль так и есть((( Может анти-чит балуется? Но я не знаю где даже искать проблему. 
|
| |
|
|
| Fifa4ka | Дата: Воскресенье, 11.01.2015, 17:11 | Сообщение # 2172 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 748
Награды: 38
Город: Рига
Замечания: 0%
Статус: 
| Цитата Moskvichev (  ) И еще проблема возникла. Меняю стартовые деньги в строчке PlayerInfo[playerid][pCash], но в игре как был ноль так и есть((( Может анти-чит балуется? Но я не знаю где даже искать проблему.
Подробно опишите ситуацию,вы изменили PlayerInfo[playerid][pCash]
Именно pCash на другое? так?
А на счёт домов в scriptfiles про дома там могли сбиться и новые надо,или вытащи с какого то мода дома тоже гф и поставь вот и проблемы решаться!
Сообщение отредактировал Fifa4ka - Воскресенье, 11.01.2015, 17:12 |
| |
|
|
| Moskvichev | Дата: Воскресенье, 11.01.2015, 17:56 | Сообщение # 2173 |
|
Новенький
Группа:
Пользователи
Сообщений: 9
Награды: 0
Город: Санкт-Петербург
Репутация: 15
Замечания: 0%
Статус: 
| Цитата Fifa4ka (  ) Подробно опишите ситуацию,вы изменили PlayerInfo[playerid][pCash] У меня в моде стояло PlayerInfo[playerid][pCash] = 0. Я поставил 500 (500$). Зашёл в игру, создал нового персонажа, но при старте 0$, такая же ерунда и с кол-вом HP, стоит 100, а в игре половина жизней. Уже сломал мозг в поисках истины
Цитата Fifa4ka (  ) А на счёт домов в scriptfiles про дома там могли сбиться и новые надо,или вытащи с какого то мода дома тоже гф и поставь вот и проблемы решаться! Насчёт домов я думаю будет по правильном снести старую систему и вытащить с другого мода новую. Может подскажешь с какого мода лучше позаимствовать систему продажи и покупки домов? Чтобы их было очень много. И кстати самое удивительное, что с бизами проблем нет.
|
| |
|
|
| Fus1 | Дата: Воскресенье, 11.01.2015, 18:28 | Сообщение # 2174 |
|
Группа:
Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус: 
| Найди массив домов в моде, возможно у тебя указано к примеру 10 , а домов 100 , соответственно другие не отображаются.
|
| |
|
|
| Alcoholik | Дата: Воскресенье, 11.01.2015, 18:51 | Сообщение # 2175 |
|
Мастер джэдай
Группа:
Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус: 
| Moskvichev, в гф можно телепортироваться к домам /houseo id, где id - id дома. Попробуй введи /houseo 2 и посмотри, где окажешься. Если около дома, то дома грузятся, если у дома будет пикап, то проблема в неверном размере массива, как сказал fus1, если телепортнёшься хз куда, то дома не грузятся. По поводу денег, проверь, где ещё идёт присвоение pCash. Насколько помню в каких-то модах первоначальная сумма хранится в какой-то глобальной переменной.
if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die(); Мониторинг sa:mp серверов Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги. Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
|
| |
|
|
|
 |
|
 | |
| |
|