В этой теме вы сможете получить ответы, на многие ваши вопросы по 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]
Steep_Nk, ой зачем столько лишних телодвижений?? Не ну я понимаю сейчас компьютеры мощные и такие операции не будут сложны, но и не стоит разбрасываться памятью. [pwn]public OnPlayerConnect(playerid) {
Огромное спасибо, проверил - это именно то что нужно Пользуясь тем, что я уже в теме, задам еще один вопрос. Как можно осуществить поиск по массиву, не перебирая его через for? К примеру получить ИП адресс пользователя User_Test (из примера выше)
Намутил прикольную вещь на свой админкар, с частотой в полсекунды создается взрыв, машина выглядит как летящий астероид по дороге, но одно но, SetVehicleHealth 1000 не спасает от рандомного взрыва машины Как её сделать совсем неуязвимой?
Намутил прикольную вещь на свой админкар, с частотой в полсекунды создается взрыв, машина выглядит как летящий астероид по дороге, но одно но, SetVehicleHealth 1000 не спасает от рандомного взрыва машины crazy Как её сделать совсем неуязвимой?
RepairVehicle(GetPlayerVehicleID(playerid));
ЦитатаVito_Thompson ()
Здравствуйте подскажите как сделать открытие меню через клавишу ALT или через другую. У меня мод RP
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) добавить условие if (newkeys == KEY_WALK) { //открыть меню }
Скрипт офигенный! Но,поставлю + тому ,кто поможет мне с одной проблемкой.которую я не могу понять уже как 2 дня... Вообщем скачал скрипт на кар меню,на изминение цвет ника,скачал вот этот скрипт на создание банд,и ВЕЗДЕ когда я выбираю что то в диалоговом окне,окно исчезает и ничего не происходит.Очень прошу,помогите пожалуйста решить эту проблему! Буду очень благодарен и поставлю +!
Огромное спасибо, проверил - это именно то что нужно Пользуясь тем, что я уже в теме, задам еще один вопрос. Как можно осуществить поиск по массиву, не перебирая его через for? К примеру получить ИП адресс пользователя User_Test (из примера выше)
Записывать IP не в массив, а в PVar:
[pwn] new ip[16]; GetPlayerIp(playerid, ip, sizeof(ip)); SetPVarString(playerid, "PlayerIP", ip); [/pwn]
После уже получать IP из PVar:
[pwn] new ip[16]; GetPVarString(playerid, "PlayerIP", ip, sizeof(ip)); [/pwn]
slamboy2012, заморозка игрока выполняется следующей функцией: [pwn]TogglePlayerControllable(playerid, 0);[/pwn] В приведенном вами коде я этого не заметил.
Спасибо нашёл, в чём проблема, проблема была в том когда машину к дому спавнил у неё бенз пропадал а тогда переглючило от этого)
Добавлено (09.03.2014, 08:29) --------------------------------------------- Личное авто не пропадает когда ты выходишь с сервера, а когда заходишь появляется новое, второе, ещё раз перезайдёшь третье появляется и т.д Помогите где искать эту проблему и как примерно её решить можно.....
Добавлено (09.03.2014, 16:24) --------------------------------------------- Личное авто не пропадает когда ты выходишь с сервера, а когда заходишь появляется новое, второе, ещё раз перезайдёшь третье появляется и т.д Помогите где искать эту проблему и как примерно её решить можно....
Личное авто не пропадает когда ты выходишь с сервера, а когда заходишь появляется новое, второе, ещё раз перезайдёшь третье появляется и т.д Помогите где искать эту проблему и как примерно её решить можно....
Удаление транспорта выполняется функцией [pwn]DestroyVehicle(vehicleid);[/pwn] вместо vehicle - переменная с ID`ом транспорта. Функцию в вашем случае необходимо вызывать в OnPlayerDisconnect(playerid);