 |
|
 |
|
|
|
Последние Файлы 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 |
| |
|
|
| vadja575 | Дата: Пятница, 06.12.2013, 21:46 | Сообщение # 1771 |
|
Новенький
Группа:
Пользователи
Сообщений: 23
Награды: 0
Репутация: -10
Замечания: 0%
Статус: 
| Цитата Geryy (  ) Geryy
вроде всё перепробовал, но он не хочет сохраняться и всё, хоть тресни!
|
| |
|
|
| Geryy | Дата: Суббота, 07.12.2013, 02:41 | Сообщение # 1772 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Смотреть надо, так ничего не скажешь...
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
|
| |
|
|
| Max | Дата: Суббота, 07.12.2013, 20:41 | Сообщение # 1773 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 172
Награды: 0
Город: Казань
Репутация: 59
Замечания: 0%
Статус: 
| new SpawnedVehicles[MAX_PLAYERS];
Использую так Код if(SpawnedVehicles[playerid] != 0 && SpawnedVehicles[playerid] != INVALID_VEHICLE_ID) DestroyVehicle(SpawnedVehicles[playerid]); new Float:X,Float:Y,Float:Z,Float:ROT; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle (playerid,ROT); SpawnedVehicles[playerid] = CreateVehicle(562,X,Y,Z,ROT,-1,-1,2000); PutPlayerInVehicle(playerid,SpawnedVehicles[playerid],0); При покупке транспорта другим игроков пропадает мой!
|
| |
|
|
| Weddew | Дата: Понедельник, 09.12.2013, 09:30 | Сообщение # 1774 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Steep_Nk, проверьте какое значение playerid, должно быть не равно 0
www.weddew-shop.ru
|
| |
|
|
| kent-55rus | Дата: Понедельник, 16.12.2013, 03:01 | Сообщение # 1775 |
|
Новенький
Группа:
Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Замечания: 0%
Статус: 
| Здравствуйте. Подскажите пожалуйста кто знает, добавил себе на сервер "Анти починку авто собейтом", она работает хорошо, но вот когда админ чинит командой машины, игрока кикает. Можно ли как нибудь сделать, чтобы не кикало игрока, если админ починил машины? (Кикало только за соб)
[cut noguest=Анти починка авто][pwn]new player_NoCheckTimeVeh[MAX_PLAYERS], timer2[MAX_PLAYERS]; new Float:player_VehHealth[MAX_PLAYERS], Float:HealthVeh[MAX_PLAYERS];
public OnPlayerStateChange(playerid, newstate, oldstate) { if(newstate == PLAYER_STATE_DRIVER) { timer2[playerid] = SetTimerEx("CheckForCheater",1000,true,"i",playerid); player_NoCheckTimeVeh[playerid] = 1; } } И в конце мода вот это: public CheckForCheater(playerid) { new string[128]; new sendername[MAX_PLAYER_NAME]; if(!IsPlayerInRangeOfPoint(playerid,20,610.9915,-11.1024,1000.9219)) { if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if(!player_NoCheckTimeVeh[playerid]) { GetVehicleHealth(GetPlayerVehicleID(playerid),player_VehHealth[playerid]); if(player_VehHealth[playerid] > HealthVeh[playerid]) { if(IsPlayerInRangeOfPoint(playerid,7.5,2064.2842,-1831.4736,13.5469)) { player_NoCheckTimeVeh[playerid] = 3; return 1; } if(IsPlayerInRangeOfPoint(playerid,7.5,487.6401,-1739.9479,11.1385)) { player_NoCheckTimeVeh[playerid] = 3; return 1; } if(IsPlayerInRangeOfPoint(playerid,7.5,1024.8651,-1024.0870,32.1016)) { player_NoCheckTimeVeh[playerid] = 3; return 1; } if(IsPlayerInRangeOfPoint(playerid,7.5,-1904.7019,284.5968,41.0469)) { player_NoCheckTimeVeh[playerid] = 3; return 1; } if(IsPlayerInRangeOfPoint(playerid,7.5,-2425.7822,1022.1392,50.3977)) { player_NoCheckTimeVeh[playerid] = 3; return 1; } if(IsPlayerInRangeOfPoint(playerid,7.5,-1420.5195,2584.2305,55.8433)) { player_NoCheckTimeVeh[playerid] = 3; return 1; } if(IsPlayerInRangeOfPoint(playerid,7.5,-99.9417,1117.9048,19.7417)) { player_NoCheckTimeVeh[playerid] = 3; return 1; } if(IsPlayerInRangeOfPoint(playerid,7.5,1975.2384,2162.5088,11.0703)) { player_NoCheckTimeVeh[playerid] = 3; return 1; } if(IsPlayerInRangeOfPoint(playerid,7.5,720.0854,-457.8807,16.3359)) { player_NoCheckTimeVeh[playerid] = 3; return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), " %s кикнут с сервера. Причина: {FFFFFF}Sobeit", sendername); SendClientMessageToAll(COLOR_LIGHTRED,string); SendClientMessage(playerid,COLOR_LIGHTRED," Вы кикнуты сервером! Причина: Починка авто Sobeit'om!"); printf("Vida_Virtual: %s кикнут сервером. (Починка авто Sobeit'om)",sendername); new ip[256]; GetPlayerIp(playerid,ip,sizeof(ip)); Kick(playerid); } } else { player_NoCheckTimeVeh[playerid] -= 1; } GetVehicleHealth(GetPlayerVehicleID(playerid),HealthVeh[playerid]); } } return 1; }[/pwn][/cut]Добавлено (16.12.2013, 03:01) --------------------------------------------- Забыл добавить команду починки авто админом: [pwn] if(strcmp(cmd,"/fixall",true)==0) { if(PlayerInfo[playerid][pAdmin] < 1) { return 1; } for(new i = 0; i < CAR_AMOUNT+CAR_PROD;i++) { RepairVehicle(GetPlayerVehicleID(i)); } SendClientMessageToAll(COLOR_LIGHTBLUE,"* Администратор починил весь транспорт!"); }[/pwn] Вот это чинит машины, ну Вы конечно же сами знаете [pwn]RepairVehicle(GetPlayerVehicleID(i));[/pwn]
|
| |
|
|
| FiLE | Дата: Понедельник, 16.12.2013, 03:48 | Сообщение # 1776 |
|
Группа:
Разработчики
Сообщений: 681
Награды: 70
Город: Одесса
Замечания: 0%
Статус: 
| kent-55rus, как-то так:
Код if(strcmp(cmd,"/fixall",true)==0) { if(PlayerInfo[playerid][pAdmin] < 1) { return 1; } for(new i = 0; i < CAR_AMOUNT+CAR_PROD;i++) { HealthVeh[i] = 1000; RepairVehicle(GetPlayerVehicleID(i)); } SendClientMessageToAll(COLOR_LIGHTBLUE,"* Администратор починил весь транспорт!"); }
Сообщение отредактировал FiLE - Понедельник, 16.12.2013, 03:50 |
| |
|
|
| kent-55rus | Дата: Понедельник, 16.12.2013, 18:53 | Сообщение # 1777 |
|
Новенький
Группа:
Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Замечания: 0%
Статус: 
| Цитата FiLE (  ) kent-55rus, как-то так: Спасибо, помог.
|
| |
|
|
| mdavid | Дата: Вторник, 17.12.2013, 00:12 | Сообщение # 1778 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 135
Награды: 0
Город: Unity Station, 16
Репутация: 112
Замечания: 0%
Статус: 
| Запускаю сервер, даю ИП человеку для него показует что сервер выключен. Но он включен, раньше у него коннектилось, сейчас -нет. Не знаю что изменилось... ИП/ПОРТ вводит правильно. lanmode 1
в чем проблема?
Мои работы: [MAP] Pool building + Bar outside. [MAP] Well Stacked Pizza Co. [MAP] Prison [MAP] NEW Bank (beta) [Map] Zombie Apocalypse in Montgomery [4SALE] [MAP] Clucking Bell at East LS Beach [MAP] Flat # 1 [MAP] Clucking Bell in San Fierro. _ Antizombie || Выживание в мире зомби
|
| |
|
|
| Weddew | Дата: Вторник, 17.12.2013, 00:23 | Сообщение # 1779 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| mdavid, 1) lanmode 0 2) Проверить перенаправление порта на IP компьютера в NAT.
www.weddew-shop.ru
|
| |
|
|
| Solitarioni | Дата: Вторник, 17.12.2013, 17:45 | Сообщение # 1780 |
|
Постоялец
Группа:
I'm V.I.P.
Сообщений: 350
Награды: 12
Город: Ростов-на-Дону
Репутация: 198
Замечания: 0%
Статус: 
| 1) Где лучше хранить данные игрока, в PVar-ах или в массиве?
2) Данные домов лучше сразу загружать в массив, или приемлемо каждый раз при необходимости делать запрос в БД?
Справочник стандартных функций:
a_vehicles file.inc a_sampdb.inc a_samp callbacks a_players.inc a_objects.inc
Сообщение отредактировал Lonely_Tramp - Вторник, 17.12.2013, 17:46 |
| |
|
|
| kent-55rus | Дата: Среда, 18.12.2013, 21:58 | Сообщение # 1781 |
|
Новенький
Группа:
Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Замечания: 0%
Статус: 
| Здравствуйте, у меня в моде много объектов, streamer не выдерживает. Подскажите какой лучше всего взять streamer, который будет выдерживать максимально количество объектов? Скиньте ссылку, если у кого есть такой. Заранее спасибо.
|
| |
|
|
| Geryy | Дата: Четверг, 19.12.2013, 09:03 | Сообщение # 1782 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Цитата Solitarioni (  ) 1) Где лучше хранить данные игрока, в PVar-ах или в массиве?
2) Данные домов лучше сразу загружать в массив, или приемлемо каждый раз при необходимости делать запрос в БД?
1. Вроде как в PVарах, т.к. они динамически выделяются - меньше памяти жрут.
2. Зависит от конкретного случая, баланс потребляемой памяти / процессора / сети. В целом можно загружать сразу, т.к. данных по домам не слишком много - а запрос к базе все таки дорогостоящая операция в плане нагрузки на процессор. Т.е. выигрыш, в разгрузке проца. тут можно сделать просто как тебе самому проще.
Цитата kent-55rus (  ) Здравствуйте, у меня в моде много объектов, streamer не выдерживает. Подскажите какой лучше всего взять streamer, который будет выдерживать максимально количество объектов? Скиньте ссылку, если у кого есть такой. Заранее спасибо. streamer incognito поддерживает до нескольких млн. объектов, и "не выдержать" не может. Возможно проблема в самом коде или в ресурсах сервера.
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
Сообщение отредактировал Geryy - Четверг, 19.12.2013, 09:04 |
| |
|
|
| RusKey | Дата: Пятница, 20.12.2013, 05:43 | Сообщение # 1783 |
|
Группа:
I'm V.I.P.
Сообщений: 1086
Награды: 25
Город: Санкт-Петербург
Репутация: 273
Замечания: 80%
Статус: 
| Такой вопрос обширный. На каком уровне щас npc в samp? Ну их функционал,легкость в использовании. Я в этой теме вообще ноль. Ну на пример можно ли поставить 10 ботов которые будут тупо стрелять видя в районе себя цель а именно реального игрока?
|
| |
|
|
| _BigSm0ke_ | Дата: Суббота, 21.12.2013, 14:23 | Сообщение # 1784 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус: 
| RusKey, можно приаттачить оружие в руку нпц и при появлении в некоторой зоне игрока направлять взгляд нпц на игрока, проигрывать анимку стрельбы и скриптово отнимать хп у цели... других идей нет у меня для этого
LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON Продаю РП мод: подробнее тут Решаю задачи по техническим дисциплинам, подробнее тут
|
| |
|
|
| surik | Дата: Суббота, 21.12.2013, 14:28 | Сообщение # 1785 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 191
Награды: 1
Город: Новосибирск.
Репутация: 31
Замечания: 20%
Статус: 
| Короче, честно скажем - функционал никакой...
|
| |
|
|
|
 |
|
 | |
| |
|