Перейти к содержанию

Поиск сообщества

Показаны результаты для тегов 'всё для crmp'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Информационный раздел
    • Новости портала
    • Техническая поддержка
    • Приватный форум
  • CRMP 0.3е
    • Помощь по Скриптингу
    • Ошибки
    • Готовые сервера
    • Дополнительные скрипты
    • Мануалы/Уроки
    • Модификации
    • Поиск
    • Архив Вопросов/Проблем/Ошибок
    • Файловый архив
    • Другое
  • SAMP/CRMP 0.3.7
    • Помощь по Скриптингу
    • Ошибки
    • Готовые сервера
    • Плагины
    • Поиск
    • Документация
  • Другое
    • Флейм

Поиск результатов в...

Поиск результатов, которые содержат...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Найдено: 1,779 результатов

  1. Надо убрать из мода Гамер обьект броню. когда делаешь броню
  2. вот команда: if(IsPlayerConnected(para1)) .pwn(27137) : warning 217: loose indentation Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Warning.
  3. Подскажите плиз как зделать привязку к авто например к дальнабойщикам
  4. как исправить?? C:\Users\Ultimate\Desktop\GWP\gamemodes ruestreets.pwn(257) : fatal error 100: cannot read from file: "vehicle_03c" Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error.
  5. У Меня на сервере стоит склад оружия у фракций.Когда я беру оружие он исчезает. А Как сделать что-бы он не исчезал,Подскажите пожалуйста!
  6. Здравствуйте! У меня при получении данных из MySQL, возникает проблема из-за которой сервер зависает(по server_log.txt): [19:03:18] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)" [19:03:18] [debug] Stack pointer (STK) is 0x1CAE8, heap pointer (HEA) is 0x1CB3C [19:03:18] [debug] AMX backtrace: [19:03:18] [debug] #0 ???????? in public OnDialogResponse () from mod.amx Как я понял, это происходит из-за того, что возникает переполнения стека. Вот код: new query[1024]; new sqlpass[64]; new result[2688]; new dialog[256]; printf("Loading account"); mysql_real_escape_string(password, sqlpass); format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `password` = '%s' AND `ID` = '%i'", sqlpass, playerVar[playerid][aID]); mysql_query(query); mysql_store_result(); if(mysql_num_rows() == 1) { mysql_fetch_row_format(result, "|"); sscanf(result, "p<|>is[32]s[32]s[16]iiis[16]iiis[64]s[32]iiiiiiis[64]iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii", playerVar[playerid][aID], playerVar[playerid][aName], playerVar[playerid][aPassword], playerVar[playerid][aIp], playerVar[playerid][aDayreg], playerVar[playerid][aMonthreg], playerVar[playerid][aYearreg], playerVar[playerid][aIpreg], playerVar[playerid][aSex], playerVar[playerid][aModel], playerVar[playerid][aSkin], playerVar[playerid][aMail], playerVar[playerid][aDrug], playerVar[playerid][aDrugmoney], playerVar[playerid][aLevel], playerVar[playerid][aPassport], playerVar[playerid][aAge], playerVar[playerid][aExp], playerVar[playerid][aAdminlevel], playerVar[playerid][aHelperlevel], playerVar[playerid][aAdminkey], и т.д.Как я понял, это из-за длины переменной result[2688].Если сделать её слишком маленькой, запрос не влазит, и sscanf выдает переполнение result, если слишком большой, то крашит мод. Подскажите, как мне быть?
  7. Подскажите пожалуйста, возможно ли на сервер добавить метропоезд? В одиночной версии игры метропоезд есть. Также, по возможности, подскажите пожалуйста ID противогаза в CRMP. Заранее спасибо.
  8. Какой лучши мод этат http://forum.gs-games.ru/topic/4245/ или этат http://forum.gs-games.ru/topic/3937/
  9. Помогите плиз не могу узнать пароль от адм панели,с меня +!!!!!!!!!!!!!!1
  10. Подскажите как у фракций поменять скины просто искал не могу найти смог заменить скины токо в /makeleader
  11. m0k

    Гараж

    CreateObject(5248,2417.19995117,-2476.30004883,-28.39999962,0.00000000,0.00000000,0.00000000); //object(lod_mexcrnershp) (1) CreateObject(5248,2431.80004883,-2473.00000000,-28.39999962,0.00000000,0.00000000,0.00000000); //object(lod_mexcrnershp) (2) CreateObject(3095,2425.00000000,-2475.60009766,-28.70000076,0.00000000,0.00000000,0.00000000); //object(a51_jetdoor) (1) CreateObject(3095,2425.00000000,-2484.60009766,-28.70000076,0.00000000,0.00000000,0.00000000); //object(a51_jetdoor) (2) CreateObject(5248,2417.19995117,-2486.00000000,-28.39999962,0.00000000,0.00000000,0.00000000); //object(lod_mexcrnershp) (3) CreateObject(5248,2424.60009766,-2494.19995117,-28.39999962,0.00000000,0.00000000,180.00000000); //object(lod_mexcrnershp) (4) CreateObject(5248,2431.80004883,-2483.60009766,-28.39999962,0.00000000,0.00000000,0.00000000); //object(lod_mexcrnershp) (5) CreateObject(5248,2424.80004883,-2471.80004883,-28.39999962,0.00000000,0.00000000,90.00000000); //object(lod_mexcrnershp) (6) CreateObject(3095,2425.10009766,-2486.19995117,-24.20000076,0.00000000,0.00000000,0.00000000); //object(a51_jetdoor) (3) CreateObject(3095,2424.30004883,-2478.19995117,-24.20000076,0.00000000,0.00000000,0.00000000); //object(a51_jetdoor) (4) CreateObject(1441,2426.39990234,-2476.30004883,-27.50000000,0.00000000,0.00000000,0.00000000); //object(dyn_box_pile_4) (1) CreateObject(1235,2424.69995117,-2476.00000000,-27.60000038,0.00000000,0.00000000,0.00000000); //object(wastebin) (1) CreateObject(2028,2423.00000000,-2476.00000000,-27.70000076,0.00000000,0.00000000,90.00000000); //object(swank_console) (1)
  12. Представляю вашему вниманию скрипт который добавит к вам на сервер планшетный компьютер. Предупреждаю скрипт написан на иностранном языке. Особенности планшета: - Выглядит реалистично и красиво - Можно сидеть в чате - Можно посмотреть время и дату - Можно посмотреть фотографии - Можно посмотреть погоду и температуру - Можно поиграть в игру - Можно послушать музыку - Есть камера - Есть карта Штата Команда: - /tablet http://rghost.ru/41697589 НЕ ЗАБЫВАЙТЕ СТАВИТЬ +
  13. Добрый день дорогие пользователи форума! Представляю вам Анти чит на собейт.Думаю,что в FS заливать не стоит,се ровно в мод вписывать будете. Нам потребуется стандартные цвета,на всякий случай: COLOR_GREY 0xAFAFAFAA COLOR_GREEN 0x33AA33AA COLOR_RED 0xAA3333AA COLOR_YELLOW 0xFFFF00AA COLOR_WHITE 0xFFFFFFFF В new new ammos[MAX_PLAYERS]; new deaths[MAX_PLAYERS]; new fires[MAX_PLAYERS]; new kills[MAX_PLAYERS]; new moneys[MAX_PLAYERS]; new waiting[MAX_PLAYERS]; new weapons[MAX_PLAYERS]; new Float:position_x[MAX_PLAYERS]; new Float:position_y[MAX_PLAYERS]; public OnPlayerRequestSpawn(playerid) { moneys[playerid] = 50000; waiting[playerid] = false; return 1; } public OnPlayerUpdate(playerid) { new keys, updown, leftright; GetPlayerKeys(playerid, keys, updown, leftright); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); new Float:health; GetPlayerHealth(playerid, health); if(playerid != -1){ if(position_x[playerid] != x || position_y[playerid] != y){ if(keys != 0 || updown != 0 || leftright != 0 || IsPlayerInAnyVehicle(playerid)){ waiting[playerid] = false; } } else{ waiting[playerid] = true; } if(waiting[playerid]){ new Float:temp_x = position_x[playerid] - x; new Float:temp_y = position_y[playerid] - y; if(temp_x < 0){ temp_x = temp_x * -1; } if(temp_y < 0){ temp_y = temp_y * -1; } if(temp_x > 0.1 || temp_y > 0.1){ if(temp_x < 10 && temp_y < 10){ SetPlayerHealth(playerid, health - 5); } } } } position_x[playerid] = x; position_y[playerid] = y; return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(moneys[playerid] + 100 < GetPlayerMoney(playerid)){ new message[256]; GetPlayerName(playerid, message, sizeof(message)); strcat(message, " has been kicked. - Money Cheating"); SendClientMessageToAll(0xFFFF00AA, message); Kick(playerid); } if(oldkeys & KEY_FIRE){ if(GetPlayerAmmo(playerid) != 65535){ if(fires[playerid] == 0){ weapons[playerid] = GetPlayerWeapon(playerid); ammos[playerid] = GetPlayerAmmo(playerid); } fires[playerid]++; if(fires[playerid] > 10){ if(weapons[playerid] == GetPlayerWeapon(playerid) && ammos[playerid] == GetPlayerAmmo(playerid)){ new message[256]; GetPlayerName(playerid, message, sizeof(message)); strcat(message, " has been kicked. - Ammo Cheating"); SendClientMessageToAll(0xFFFF00AA, message); Kick(playerid); } fires[playerid] = 0; } if(weapons[playerid] != GetPlayerWeapon(playerid)){ fires[playerid] = 0; } } } } public OnPlayerDeath(playerid, killerid, reason) { kills[killerid]++; deaths[playerid]++; new playercash; playercash = GetPlayerMoney(playerid); if(playercash > 0){ moneys[killerid] = GetPlayerMoney(killerid) + playercash; } return 1; } :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Автор:CeZaR ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  14. Добрый день дорогие пользователи форума! Хотел бы вам представить FS Работы шахтёра,на данный момент очень популярная работа.Багов нету,проверял лично.Всё на 3d текстах,имеются пикапы,ворота на склад автоматические. Автор доработки: DimaCC :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: http://rghost.ru/38675135 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  15. Представляю вашему вниманию систему гаражей,создаётся она по команде.Есть интерьер гаража,гараж конечно же можно покупать. Автор: Exclusive :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: http://rghost.ru/41391739 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  16. Так как я заметил что этот вопрос стал довольно распространен на форуме и четкого и ясного ответа так и не было получено то я решил создать данную тему. Итак начнем! Для начала нам нужно расставить автомобили и сохранить их позиции чтобы потом вставить полученный код в наш мод. Для этого можно воспользоваться двумя вариантами: 1) Через samp-debug.exe 2) На сервере 3) Через MTA Map Editor Я расскажу как ставить авто первым способом. Файл samp-debug.exe находится в папке с самой игрой. Находим и запускаем его. В появившемся окне выбираем Launch debug. Ждем пока игра загрузится... Потом пишем команду /vsel и ищем нужное авто клавишами Shift и Пробел. Подтверждаем выбор клавишей Enter. Авто появилось и вы были автоматически посажены в него. Теперь едем туда куда надо поставить авто. Встаем точно на нужном месте и пишем не выходя из машины команду /save. При желании и чтобы не запутаться можно добавлять комментарии. Для этого пишем команду так: /save [комментарий]. Ну вот мы сохранили позицию. Теперь нам нужно скопировать полученную строку и вставить ее в наш мод. Все сохраненные позиции лежат в файле savedpositions.txt. Найти его на Windows 7 так: заходим в Документы и ищем папку GTA San Andreas User Files, в ней папка CR-MP, в ней папка Generation C и в этой папке лежит наш файл. Открываем его и копируем последнюю строку. Теперь открываем наш мод и идем в public OnGameModeInit() Вставляем туда нашу строку. Сейчас мы добавили обычное авто на котором сможет ездить каждый. Чтобы привязать авто нам нужно сначала объявить переменную, которая будет отвечать за данный автомобиль. В начало мода ко всем переменным добавим new car; Теперь преобразуем нашу строку которую мы вставляли в OnGameModeInit. Например у нас была строка AddStaticVehicle(456,1782.6366,2248.6348,15.8375,359.2723,102,65); То после преобразования она будет выглядеть так: car = AddStaticVehicle(456,1782.6366,2248.6348,15.8375,359.2723,102,65); Что мы сделали или в чем смысл преобразования. Мы привязали объявленную нами ранее переменную car к нашему автомобилю. Для этого мы перед нашей строкой поставили название переменной и между названием и строкой поставили знак =. Но сейчас на авто все равно смогут ездить все. Теперь нам нужно создать действие при посадке игрока в наше авто. Идем в public OnPlayerStateChange и ищем строку if(newstate == PLAYER_STATE_DRIVER) и добавляем туда код: if(GetPlayerVehicleID(playerid) == car) // сравниваем ид авто в котором находится игрок с ид автомобиля который привязан к переменной car { if(PlayerInfo[playerid][pMember] == FRAK_ID || PlayerInfo[playerid][pLeader] == FRAK_ID) { } // если игрок состоит во фракции или он лидер этой фракции то ничего не делаем else // а если нет { RemovePlayerFromVehicle(playerid); // выкидываем его из машины } } Готово! Если что-то не получается пишите. Да и FRAK_ID заменяем на ид своей фракции которая вам нужна.
  17. Господа, Вашему вниманию предлагается скрипт тюнинг-ателье "ГопКар". Реализованы следующие возможности: [*]Ремонт автомобиля; [*]Перекраска автомобиля (с выбором цвета практически как в сингл-плеере); [*]Установка баллонов с закисью азота; [*]Установка колесных дисков; [*]Установка неоновой подсветки; [*]Установка сабвуфера и гидравлической подвески. Скрипт полностью отлажен и работает. Сохранение тюнинга не реализовано ввиду того, что систем авто - очень много, однако могу предложить свои услуги по встраиванию скрипта в Ваш мод. Также ввиду индивидуальных особенностей моделей автомобилей не реализована установка корпусных деталей, дабы не вызывало крэшей у игроков. Автор скрипта - SHOROOP (Alexander Gordon), автор выбора цвета - OKStyle (огромное спасибо за его работу и за скрипт, послуживший частичной основой для выбора цвета). GopCar.rar
  18. Всё естественно, что идеальной антирекламы нету как и нету идеального ничего в жизни, всё относительно. Вот пример хорошей антирекламы всех чатов. Ставим данную проверку в паблики OnPlayerCommandText и в OnPlayerText PHP код: new word[256],Index;while(Index < strlen(cmdtext)){word = strtok(cmdtext,Index);if(checkbanan(word)==1 && тут_ваша_проверка_на_админа){banan(playerid,cmdtext);return 0;}} дальше идём в любое свободное место в моде, и объявляем нашу проверку стоками: PHP код: stock checkbanan(word[]) { if( strlen(word)>21) return 0; if( strfind(word,".", true)==-1) return 0; new ip[5][256],index; ip[0] = strtok2(word,index,'.'); ip[1] = strtok2(word,index,'.'); ip[2] = strtok2(word,index,'.'); if(strfind(word,":",true)>0){ ip[3] = strtok2(word,index,':'); ip[4] = strtok2(word,index); } else { ip[3] = strtok2(word,index); valstr(ip[4],0); } if(!IsNumeric2(ip[0])||!IsNumeric2(ip[1])||!IsNumeric2(ip[2])||!IsNumeric2(ip[3])||!IsNumeric2(ip[4]) ||!strlen(ip[0])||!strlen(ip[1])||!strlen(ip[2])||!strlen(ip[3])||!strlen(ip[4]) ||(strval(ip[0])==192&&strval(ip[1])==168) ||(strval(ip[0])==172&&strval(ip[1])>=16&&strval(ip[1])<=31) ||strval(ip[0])==10||(strval(ip[0])==127&&strval(ip[1])==0&&strval(ip[2])==0&&strval(ip[3])==1)) return 0; return 1; } strtok2(string[],&idx,seperator = ' ') { new ret[128], i = 0, len = strlen(string); while(string[idx] == seperator && idx < len) idx++; while(string[idx] != seperator && idx < len) { ret[i] = string[idx]; i++; idx++; } while(string[idx] == seperator && idx < len) idx++; return ret; } stock IsNumeric2(string[]) { for (new i = 0, j = strlen(string); i < j; i++) if (string[i] > '9' || string[i] < '0') return 0; return 1; } stock banan(playerid,bantext[]) { new name[MAX_PLAYER_NAME],string[256];GetPlayerName(playerid,name,24); format(string, 256, "[%d]%s рекламит сервер и забанен за рекламу, введёный им IP: %s",playerid,name,bantext); SendClientMessageToAll(COLOR_YELLOW,string);//это уже сами измените как хотите, зависит от вашего мода и фантазии Ban(playerid); } Вот и всё, очень просто и защита неплохая впринципе!
  19. serega1111

    [Урок] Создание радио на 0.3D

    Приветствую вас пользователи форума, на днях задался вопросом, как урасиво реализовать функции радио в sa-mp 0.3D, и у меня получилось следующее: В начало мода ко всем #define надо добавить PHP код: #define RADIO 3000//Где 3000 это ID диалога Далее мы находим паблик public OnPlayerStateChange(playerid, newstate, oldstate) и вствляем в него: PHP код: if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) PlayAudioStreamForPlayer(playerid, "http://somafm.com/tags.pls");//если человек в авто то начинает играть радио сюда свое радио, у меня стоит стандатрное if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER) StopAudioStreamForPlayer(playerid);//если человек вышел из транспорта, то радио выключается // Добавляем команду /radio PHP код: //Добавляем команду "/radio" if(!strcmp(cmdtext, "/radio", true)) return ShowPlayerDialog(playerid, RADIO, DIALOG_STYLE_LIST, "Выбирите Радио волну:","0-Зайцев FM\n1-Европа +\n2-Maks FM\n3-MeGa Radio\n4-Love Radio\n5-ICE FM\n6-D-FM\n7-Record FM\nОтключить радио", "Ok", "Выход"); Находим паблик public OnPlayerKeyStateChange(playerid, newkeys,oldkeys) и вставляем в него: PHP код: if (newkeys == 262144) OnPlayerCommandText(playerid,"/radio"); //262144 - это id клавиши R Находим паблик public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) и внего вписываеш: PHP код: if(dialogid == RADIO) { if( response) { switch( listitem) { case 0: PlayAudioStreamForPlayer(playerid,"http://www.zaycev.fm:9001/rnb/ZaycevFM(128)"); case 1: PlayAudioStreamForPlayer(playerid,"http://webcast.emg.fm:55655/europaplus128.mp3"); case 2: PlayAudioStreamForPlayer(playerid,"http://radio.maks-fm.ru:8000/maksfm128.m3u"); case 3: PlayAudioStreamForPlayer(playerid,"http://megaradio.radiotelek.ru/megaradio.m3u"); case 4: PlayAudioStreamForPlayer(playerid,"http://stream01.rambler.ru/love64.mp3"); case 5: PlayAudioStreamForPlayer(playerid,"http://icefm.ru/etc/live.m3u"); case 6: PlayAudioStreamForPlayer(playerid,"http://w02-cn01.akadostream.ru:8000/dinamitfm48.mp3"); case 7: PlayAudioStreamForPlayer(playerid,"http://w02-cn01.akadostream.ru:8000/radiorecord128.mp3"); case 8: StopAudioStreamForPlayer(playerid); } } } На счет багов, ошибках пишите в этой теме.
  20. serega1111

    [Урок]Создание статуса

    Здраствуйте хочю поведать новичкам(чаще всего)как же всётаки привезать машину не к фракции не по порядковому номеру а по переменным,и так начнём,рассмотрим пример на машинах грув стрита(покажу как добавить машины и привезать их по переменной к фракции) 1)к forward'ам добавить: PHP код: forward IsAGrooveCar(carid); к new добавить PHP код: new GroveCar[2]; теперь добавляем машины в public OnGameModeInit(скину из своего мода) PHP код: AddStaticVehicleEx(600,2487.8506,-1681.2094,13.0448,2.8373,86,86, 60000); AddStaticVehicleEx(600,2491.5459,-1681.2618,13.0490,359.6013,86,86, 60000); AddStaticVehicleEx(492,2516.4478,-1671.8979,13.6814,62.0043,86,86, 60000); AddStaticVehicleEx(492,2510.7803,-1687.7375,13.3418,45.3245,86,86, 60000); AddStaticVehicleEx(492,2506.0259,-1694.2249,13.3317,0.0002,86,86, 60000); AddStaticVehicleEx(492,2506.6377,-1651.8461,13.4621,317.3195,86,86, 60000); AddStaticVehicleEx(500,2467.2190,-1655.0046,13.4315,90.4295,86,86, 60000); AddStaticVehicleEx(487,2529.4441,-1678.7546,20.1231,5.9486,86,86, 60000); AddStaticVehicleEx(500,2473.1929,-1655.0105,13.4399,91.4332,86,86, 60000); машины мы добавили,но они не привязаны к фракции,перед первой машиной пишим GroveCar[0] = ,перед последней GroveCar[1],получится вот так PHP код: GroveCar[0] = AddStaticVehicleEx(600,2487.8506,-1681.2094,13.0448,2.8373,86,86, 60000); AddStaticVehicleEx(600,2491.5459,-1681.2618,13.0490,359.6013,86,86, 60000); AddStaticVehicleEx(492,2516.4478,-1671.8979,13.6814,62.0043,86,86, 60000); AddStaticVehicleEx(492,2510.7803,-1687.7375,13.3418,45.3245,86,86, 60000); AddStaticVehicleEx(492,2506.0259,-1694.2249,13.3317,0.0002,86,86, 60000); AddStaticVehicleEx(492,2506.6377,-1651.8461,13.4621,317.3195,86,86, 60000); AddStaticVehicleEx(500,2467.2190,-1655.0046,13.4315,90.4295,86,86, 60000); AddStaticVehicleEx(487,2529.4441,-1678.7546,20.1231,5.9486,86,86, 60000); GroveCar[1] = AddStaticVehicleEx(500,2473.1929,-1655.0105,13.4399,91.4332,86,86, 60000); теперь создаём паблик PHP код: public IsAGrooveCar(carid) { if(( carid >= GroveCar[0]) && (carid <= GroveCar[1])) { return 1; } return 0; } в этом паблике машины грув стрита от GroveCar[0] до GroveCar[1],продожаем,необходимо сделать проверку на фракцию при входе в машину идём в public OnPlayerStateChange и добавляем PHP код: if(IsAGrooveCar(newcar)) { if( PlayerInfo[playerid][pMember] == 13||PlayerInfo[playerid][pLeader] == 13) { } else { SendClientMessage(playerid,COLOR_GREY," Вы не из Grove Street"); RemovePlayerFromVehicle(playerid); printf("TEST29");} } 13 - номер фракции,меняем на свободный.Вот и всё) Это привязка машин по переменным
  21. Mr.Brain

    [All] Оптимизация кода

    Здравствуйте, дорогие пользователи GS-Games.Ru, надеюсь вам поможет эта статья иначе я просто напросто потрачу 15 минут своей жизни http://forum.gs-games.ru/public/style_emoticons/default/fuck[1].gif Пожалуй начнём... Для чего вообще требуется оптимизация кода? Оптимизированный код значительно снижает нагрузку на сервер, при онлайне 15-20 человек, конечно это будет не заметно, но при человек 100 тогда уже мод начнёт подлагивать.... 1. Первый вариант оптимизации, Допустим у нас стоит проверка на что-то: if(IsACop(playerid)) { SendClientMessage(playerid, -1, "Ты коп!!!11!!"); return 1; } SendClientMessage(playerid, -1, "Ты не коп!!11!"); Вот этот страшный код годфазера...Оптимизируем его: if(IsACop(playerid)) return SendClientMessage(playerid, -1, "Ты коп!!!11!!"); SendClientMessage(playerid, -1, "Ты не коп!!11!");Вот это незначительно, но снимает нагрузку на сервер))2. Второй способ: Будем оптимизировать OnDialogResponse Вместо кода: if(dialogid == 0) { } if(dialogid == 1) { } Вместо этого можно использовать switch: switch(dialogid) { case 0: case 1: }Тем самым мы так же облегчаем жизнь серверу http://forum.gs-games.ru/public/style_emoticons/default/smile.gif3. Третье самое распространённая ошибка в GF кодах: Не использование повторяющихся обстоятельств SendClientMessageToAll(COLOR_WHITE," "); SendClientMessageToAll(COLOR_WHITE," "); SendClientMessageToAll(COLOR_WHITE," "); SendClientMessageToAll(COLOR_WHITE," "); SendClientMessageToAll(COLOR_WHITE," "); SendClientMessageToAll(COLOR_WHITE," "); SendClientMessageToAll(COLOR_WHITE," "); SendClientMessageToAll(COLOR_WHITE," "); SendClientMessageToAll(COLOR_WHITE," "); Хотя вместо этого можно сделать так: for(new i; i < 10; i++) SendClientMessageToAll(COLOR, " "); Спасибо за внимание, с Вами был ePZuz Специально для GS-Games.Ru При копирование материала ссылка на источник и указание автора обязательна! (с)GS-Games, GCMT
  22. Mr.Brain

    Создание Бинда В Pawno

    Здравствуйте, в этом уроке будет описано, как сделать бинд с помощью павн скриптинга. Для начала откроем любой мод. После нажмём CTRL+F и в появившееся окно вставляем public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)После этого идём в конец паблика и вставляем: if (newkeys == KEY_CROUCH) { OnPlayerCommandText(playerid,"/comanda"); }Теперь разберем все по порядку.KEY_CROUCH - Это кнопка H(р), на это кнопку часто назначают открытие ворот Какая клавиша как обозначается можно узнать здесь: Быстрое и лёгкое нахождение клавиш /comanda - Это ваша любая команда которую вы хотите назначит на эту кнопку Так же есть второй вариант. Так же находим паблик, только теперь вставляем: if (newkeys == KEY_CROUCH) { SendAllClientMessage(playerid,COLOR_GREEEN, "Всем привет!"); }То есть теперь при нажатии клавиши H(р), будет всем игрокам писаться сообщение "Всем привет!"
  23. Сабвуфер для "Эллегии"[RUS]Автор: [iSS]jumboОписание можно прочесть по ссылке ниже:А я всего сделал перевод для этого скрипта...Скачать: ESubwoofers.pwnESubwoofers.rar
  24. Если вы хорошо поняли прошлый урок, то без труда освоите и этот, поскольку инклуды очень похожие, просто имена функций немного отличаются, но выполняют они одну и ту же функцию. Файл Dini.inc нужно скопировать в папку include в директории с редактором Pawno. В начале вашего скрипта обязательно нужно объявить этот инклуд, также как объявляется инклуд a_samp. Итак, приступим к разбору основных функций mxINI: dini_Create(“filename.ini”); //Создает файл с именем filename.ini в папке scriptfiles. dini_Remove(“filename.ini”); //Удаляет файл dini_Exists(“filename.ini”); //Проверяет, существует ли данный файл (для оператора if)Запись данных в файл: dini_Set(“filename.ini”, "имя ключа", "текст"); // Эта функция записывает текст в ключ. dini_IntSet(“filename.ini”, "имя ключа", "текст"); // Эта функция записывает целое число в ключ. dini_FloatSet(“filename.ini”, "имя ключа", 123456 ); // Эта функция записывает десятичное число в ключ. dini_BoolSet(“filename.ini”, "имя ключа", 3.1416 ); // Эта функция записывает логическое значение в ключ.Чтение данных из файла dini_Get(“filename.ini”, "имя ключа", "текст"); // Эта функция получает текст из ключа. dini_Int(“filename.ini”, "имя ключа", "текст"); // Эта функция получает целое число из ключа. dini_Float(“filename.ini”, "имя ключа", 123456 ); // Эта функция получает десятичное из ключа. dini_Bool(“filename.ini”, "имя ключа", 3.1416 ); // Эта функция получает логическое значение из ключа.Остальные функции dini_Unset(“filename.ini”, "имя ключа"); // Отменяет последнее установленное число на ключ dini_Isset(“filename.ini”, "имя ключа"); // Проверяет было ли установлено данное значение в ключ(для оператора if)Инклуд mxINI это по сути упрощенный инклуд Dini, поэтому они особо не отличаются. Но mxINI не умеет удалять файлы, как это может Dini. Поэтому можно пользоваться mxINI для чтения и записи, а Dini для удаления файлов. В приведенном ниже примере я взял за основу пример из прошлого урока и переделал его под использование Dini. new string[255], PlayerName[32]; new Float:health, money; GetPlayerName(playerid,PlayerName,32); format(string,64,”%s.ini”,PlayerName); new iniFile = dini_Create(string); //Открываем файл dini_Get(iniFile, "Name", PlayerName); //Узнаем имя игрока и записываем его в переменную dini_Int (iniFile, "Money", money); // Узнаем количество денег и записываем в переменную dini_Float(iniFile, "Health", health); // Узнаем количество здоровья и записываем в переменную GivePlayerMoney(playerid,money); SetPlayerHealth(playerid,health);Т.е. переименовал название функции на имена функций Dini.Автор Cloud
  25. В этом уроке я расскажу, как научится работать с include – mxINI. На момент написания этого урока последняя актуальная версия инклуда 0.5. Прежде чем приступить к изучению инклуда, рекомендую его скачать. На основе этого инклуда в основном делают регистрацию на сервере. В этом уроке я не буду показывать вам, как написать простейшую регистрацию на сервере, а всего лишь объясню, как с помощью mxINI происходит запись и чтение из файла. Думаю, выяснив, как работает данный инклуд, вы сами сможете написать простую регистрацию, возможно даже на диалогах, так как урок с диалогами вы уже проходили. Файл mxINI.inc нужно скопировать в папку include в директории с редактором Pawno. В начале вашего скрипта обязательно нужно объявить этот инклуд, также как объявляется инклуд a_samp. Итак, приступим к разбору основных функций mxINI: ini_createFile(“filename.ini”); //Создает файл с именем filename.ini в папке scriptfiles. ini_openFile(“filename.ini”); //Открывает файл ini_closeFile(ID открытого файла); //Закрывает файлЗапись данных в файл: ini_setString(ID файла, "имя ключа", "текст"); // Эта функция записывает текст в ключ. ini_setInteger(ID файла, "имя ключа", 123456 ); // Эта функция записывает целое число в ключ. ini_setFloat(ID файла, "имя ключа", 3.1416 ); // Эта функция записывает десятичное число в ключ.Чтение данных из файла ini_getString(ID файла, "имя ключа", <имя переменной>); // Эта функция записывает текст в переменную из файла. ini_getInteger(ID файла, "имя ключа", <имя переменной>); // Эта функция записывает целое число в переменную из файла. ini_getFloat(ID файла, "имя ключа", <имя переменной>); // Эта функция записывает десятичное число в переменную из файла.Запись в файлДавайте для простого примере с помощью команды, запишем данные игрока: имя, деньги и количество здоровья. Сначала мы создаем 2 переменные, где у нас будут храниться имя игрока и отформатированное сообщение. new string[255], PlayerName[32]; GetPlayerName(playerid,PlayerName,32); format(string,64,”%s.ini”,PlayerName); new iniFile = ini_createFile(string);После переменных мы узнаем имя игрока функцией GetPlayerName. Дальшеформатируем строку, как будет называться файл в который будет производиться запись. В данном случае файл будет называться по имени игрока. Дальше создаем переменную IniFile, которая будет создавать данный файл. Перед тем как записать количество денег и здоровья игрока, нужно сначала их узнать: new money = GetPlayerMoney(playerid); new Float:health = GetPlayerHealth(playerid);Теперь пишем проверку, если файл выдаст ошибку, открыть файл снова. if(iniFile < 0) iniFile = ini_openFile(string);Дальше записываем данные в файл и закрываем его: ini_setString(iniFile, "Name", PlayerName); //Записываем имя игрока ini_setInteger(iniFile, "Money", money); //Записываем количество денег ini_setFloat(iniFile, "Health", health); //Записываем количество здоровья ini_closeFile(iniFile); //Закрываем файлВот так производится запись данных в файл. Запись в файле будет выглядеть примерноследующим образом: Name = Player Money = 1000 Health = 100.0Чтение из файлаЧтение из файла ничем не сложнее записи, все аналогично. Только тут не нужно проверок, условий: if{iniFile < 0), и в переменной iniFile мы не создаем, а уже открываем созданный нами файл. Весь код будет выглядеть следующим образом: new string[255], PlayerName[32]; new Float:health, money; GetPlayerName(playerid,PlayerName,32); format(string,64,”%s.ini”,PlayerName); new iniFile = ini_openFile(string); //Открываем файл ini_getString(iniFile, "Name", PlayerName); //Узнаем имя игрока и записываем его в переменную ini_getInteger(iniFile, "Money", money); // Узнаем количество денег и записываем в переменную ini_getFloat(iniFile, "Health", health); // Узнаем количество здоровья и записываем в переменную ini_closeFile(iniFile); //Закрываем файл GivePlayerMoney(playerid,money); SetPlayerHealth(playerid,health);
×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.