 |
|
 |
|
|
|
Последние Файлы 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 |
| |
|
|
| sehrget | Дата: Понедельник, 24.06.2013, 12:50 | Сообщение # 1066 |
|
Постоялец
Группа:
Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус: 
| Цитата (Geryy) plrIP - строка, и ты пытаешься сохранять строку через dini_IntSet (как целое число). Надо через dini_Set(string, "Last IP", plrIP); Код error 035: argument type mismatch (argument 3)
|
| |
|
|
| Geryy | Дата: Понедельник, 24.06.2013, 14:57 | Сообщение # 1067 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| sehrget, Ты точно заменил на dini_Set(string,"Last IP",plrIP); ? Если заменил то ошибки быть не должно. (по крайней мере на этой строке)
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
|
| |
|
|
| forst5 | Дата: Понедельник, 24.06.2013, 21:23 | Сообщение # 1068 |
|
Новенький
Группа:
Пользователи
Сообщений: 48
Награды: 0
Город: NSK
Репутация: -10
Замечания: 0%
Статус: 
| почему когда я прописываю /cput (затащить в машину) того кого заталкиваю кикает в подозрении?
|
| |
|
|
| Weddew | Дата: Понедельник, 24.06.2013, 21:38 | Сообщение # 1069 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| forst5, за место PutPlayerInVehicle используйте спец. функцию.
www.weddew-shop.ru
|
| |
|
|
| forst5 | Дата: Понедельник, 24.06.2013, 22:40 | Сообщение # 1070 |
|
Новенький
Группа:
Пользователи
Сообщений: 48
Награды: 0
Город: NSK
Репутация: -10
Замечания: 0%
Статус: 
| Цитата (Weddew) forst5, за место PutPlayerInVehicle используйте спец. функцию.
не подскажите какую, а то уже всё перетыкал =/
|
| |
|
|
| FiLE | Дата: Понедельник, 24.06.2013, 23:17 | Сообщение # 1071 |
|
Группа:
Разработчики
Сообщений: 681
Награды: 70
Город: Одесса
Замечания: 0%
Статус: 
| forst5, кикает, потому что срабатывает античит КЭП, выяснили. Тебе нужно сделать так, чтобы не кикал античит при использовании этой функции. Обычно, если хороший античит - есть альтернатива стандартным командам. Нужно поискать в описании. Если нету, то нужно определить метод срабатывания античита и не давать античиту кикать при этом действии. Как вариант иди в паблик OnPlayerStateChange античита и ищи там...
|
| |
|
|
| forst5 | Дата: Вторник, 25.06.2013, 17:53 | Сообщение # 1072 |
|
Новенький
Группа:
Пользователи
Сообщений: 48
Награды: 0
Город: NSK
Репутация: -10
Замечания: 0%
Статус: 
| Цитата (FiLE) Как вариант иди в паблик OnPlayerStateChange античита и ищи там...
Вот всё, что там есть... я вообще ничего не вижу
Код public OnPlayerStateChange(playerid, newstate, oldstate) { new caridi = GetPlayerVehicleID(playerid); SetPVarInt(playerid, "NoAB", 1); if(newstate == PLAYER_STATE_DRIVER) { if(gCarLock[caridi] == 1) RemovePlayerFromVehicleAc(playerid); timer2[playerid] = SetTimerEx("CheckForCheater",1000,true, "i",playerid); player_NoCheckTimeVeh[playerid] = 1; } if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) { if(IDVEH[playerid] != GetPlayerVehicleID(playerid) || !UseEnter[playerid]) Punish(playerid); UseEnter[playerid] = false; } if(oldstate == PLAYER_STATE_DRIVER) { KillTimer(timer2[playerid]); } if(SeitCar[playerid] == 1) {
|
| |
|
|
| Awm | Дата: Вторник, 25.06.2013, 22:24 | Сообщение # 1073 |
|
Группа:
I'm V.I.P.
Сообщений: 3235
Награды: 55
Город: Tallinn
Репутация: 1661
Замечания: 0%
Статус: 
| такой вопрос, почему анимации срабатывают только со 2 раза, как сделать чтобы сразу?
"Life is hard... life is harder if you're stupid." - John Wayne
|
| |
|
|
| Geryy | Дата: Среда, 26.06.2013, 00:48 | Сообщение # 1074 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Цитата (Awm) такой вопрос, почему анимации срабатывают только со 2 раза, как сделать чтобы сразу? [pwn] #define ForceAnimation(%0,%1,%2,%3,%4,%5,%6,%7,%8) \ new ITERS; while (ITERS < 6) ApplyAnimation(%0,%1,%2,%3,%4,%5,%6,%7,%8), ITERS += 1 [/pwn]
вместо ApplyAnimation ставить ForceAnimation
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
Сообщение отредактировал Geryy - Среда, 26.06.2013, 00:50 |
| |
|
|
| Awm | Дата: Среда, 26.06.2013, 13:16 | Сообщение # 1075 |
|
Группа:
I'm V.I.P.
Сообщений: 3235
Награды: 55
Город: Tallinn
Репутация: 1661
Замечания: 0%
Статус: 
| всё ровно только со второго раза срабатывает
"Life is hard... life is harder if you're stupid." - John Wayne
|
| |
|
|
| Weddew | Дата: Среда, 26.06.2013, 13:31 | Сообщение # 1076 |
|
Группа:
Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус: 
| Awm, используйте следующую функцию: [pwn]stock ApplyAnimationEx(playerid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time, forcesync) { ClearAnimations(playerid); ApplyAnimation(playerid, animlib, animname, fDelta, loop, lockx, locky, freeze, time, forcesync); }[/pwn]
www.weddew-shop.ru
|
| |
|
|
| SAMP---RUS | Дата: Среда, 26.06.2013, 14:40 | Сообщение # 1077 |
|
Новенький
Группа:
Пользователи
Сообщений: 29
Награды: 0
Город: stavropol
Репутация: -16
Замечания: 0%
Статус: 
| Помогите исправить баг, когда вводишь минусовое количество патронов дается много денег Код if(dialogid==12)//меню выбора количества патронов для меню оружия в оружейке { if(response) { if(!strlen(inputtext)||strlen(inputtext)>7) { OnDialog[playerid]=1; return ShowPlayerDialog(playerid,12,DIALOG_STYLE_INPUT,"Покупка патронов","выберите количество:\n","Да","Отмена"); } WeaponInMenu(playerid,strval(inputtext)); OnDialog[playerid]=1; ShowPlayerDialog(playerid,11,DIALOG_STYLE_LIST,"Покупка оружия, выберите оружие:","Двойной дробовик - $3000\r\nГраната - $4000\r\nТЕК9 - $4500\r\nДесерт Игл - $5000\r\nM4 - $12000\r\nСнайперка - $25000\r\nРПГ - $50000\r\nДинамит - $40000","Да","Закрыть"); } }
|
| |
|
|
| Awm | Дата: Среда, 26.06.2013, 14:42 | Сообщение # 1078 |
|
Группа:
I'm V.I.P.
Сообщений: 3235
Награды: 55
Город: Tallinn
Репутация: 1661
Замечания: 0%
Статус: 
| Weddew, да я уже пробовал так делать, не помогает .... прогрузка анимации когда игрок заходит на сервер тоже не помогает не понятно вообще в чем дело
"Life is hard... life is harder if you're stupid." - John Wayne
|
| |
|
|
| Borog | Дата: Среда, 26.06.2013, 15:02 | Сообщение # 1079 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус: 
| SAMP---RUS, [pwn]if(dialogid==12)//меню выбора количества патронов для меню оружия в оружейке { if(response) { if(!strlen(inputtext)||strlen(inputtext)>7||strval(inputtext) <= 0) { OnDialog[playerid]=1; return ShowPlayerDialog(playerid,12,DIALOG_STYLE_INPUT,"Покупка патронов","выберите количество:\n","Да","Отмена"); } WeaponInMenu(playerid,strval(inputtext)); OnDialog[playerid]=1; ShowPlayerDialog(playerid,11,DIALOG_STYLE_LIST,"Покупка оружия, выберите оружие:","Двойной дробовик - $3000\r\nГраната - $4000\r\nТЕК9 - $4500\r\nДесерт Игл - $5000\r\nM4 - $12000\r\nСнайперка - $25000\r\nРПГ - $50000\r\nДинамит - $40000","Да","Закрыть"); } } [/pwn]
Silver Break http://s-break.ru/ http://vk.com/sbreak
Сообщение отредактировал Borog - Среда, 26.06.2013, 15:04 |
| |
|
|
| SAMP---RUS | Дата: Среда, 26.06.2013, 18:02 | Сообщение # 1080 |
|
Новенький
Группа:
Пользователи
Сообщений: 29
Награды: 0
Город: stavropol
Репутация: -16
Замечания: 0%
Статус: 
| Borog, Спасибо
|
| |
|
|
|
 |
|
 | |
| |
|