Поиск сообщества
Показаны результаты для тегов 'CRMP'.
Найдено: 2,041 результат
-
Уважаемые пользователи Gs-games Cегодня я вам объясню подробно,как сделать мед карту для всех серверов crmp,а не только для GF.Кому помог убедительно прошу вас поставить +. Начнем. Добавим сначало цвет,ко всем define просто ищем define и вставляем туда. #define COLOR_ISPOLZUY 0x7FB151FF Ну а теперь также добавим в pInfo вот это. pMedCard, Теперь идем в public OnPlayerConnect и добовляем туда вот это. PlayerInfo[playerid][pMedCard] = 0; Ну а теперь дорогие друзья создадим сохранение для мед карты. В public OnPlayerRegister добавим вот это. format(var, 32, "MedCard=%dn",PlayerInfo[playerid][pMedCard]);fwrite(hFile, var); И добавим в public OnPlayerRename вот это format(var, 32, "MedCard=%dn",PlayerInfo[playerid][pMedCard]);fwrite(hFile, var); И добавим в public OnPlayerUpdate или сюда на ваш выбор public SavePlayer вот это format(var, 32, "MedCard=%dn",PlayerInfo[playerid][pMedCard]);fwrite(hFile, var); И в public OnPlayerLogin добавим вот это if( strcmp( key , "MedCard" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMedCard] = strval( val ); } И последнее добавим 2 команды в public OnPlayerCommandText if(strcmp(cmd, "/givemedcard", true) == 0) { if(PlayerInfo[playerid][pLeader] != 4 || PlayerInfo[playerid][pMember] != 4 && PlayerInfo[playerid][pRank] < 17) return SendClientMessage(playerid, COLOR_RED, "** Вы не медик или же вы младше 17 ранга !"); tmp = strtok(cmdtext, idx);(Это обязательно поставьте впереди этой строки // вот это //) if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "* Используйте: /givemedcard [ид игрока]"); new plo; plo = ReturnUser(tmp); if(!IsPlayerConnected(plo)) return SendClientMessage(playerid, COLOR_RED, "Этот игрок оффлайн!"); if(plo != INVALID_PLAYER_ID) { PlayerInfo[giveplayerid][pMedCard] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "* Вы выдали %s Мед.Карту",giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "* %s выдал вам Мед.Карту",sendername); SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "* Доктор %s выдал Мед.Карту %s", sendername,giveplayer); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); format(string, sizeof(string), "* Доктор %s выдал Медицинскую Карту %s",sendername,giveplayer); SendRadioMessage(4,COLOR_LIGHTRED ,string); } return 1; } И осталось последняя команда поставим ее туда же в public OnPlayerCommandText if(strcmp(cmd,"/showmedcard",true)==0) { tmp = strtok(cmdtext, idx);(Здесь тоже поставьте вот это //,а то будут ошибки) if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_ISPOLZUY,"* Используйте /showmedcard [ид]"); new target = strval(tmp); new text1[120]; if(!IsPlayerConnected(target)) return SendClientMessage(playerid, COLOR_RED, "* Этот игрок оффлайн"); if(GetDistanceBetweenPlayers(playerid,target) > 2) return SendClientMessage(playerid, COLOR_RED, "* Нет ни кого рядом"); if(PlayerInfo[playerid][pMedCard]) { text1 = "Пройден"; } else { text1 = "Не пройден"; } GetPlayerName(playerid, sendername, sizeof(sendername)); GetPlayerName(target, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "{FFFFFF}Медицинский Осмотр {D8F600}%s {FFFFFF}: {D8F600}%s",sendername, text1); ShowPlayerDialog(target,7587,DIALOG_STYLE_MSGBOX,"Медицинская карта",string,"Ок",""); format(string, sizeof(string), "* %s показывает свою медицинскую карту %s", sendername,giveplayer); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 1; } Ну вот и все дорогие друзья В теме не пишите "Укажите автора"-Я не знаю У кого при компилировании будут ошибки типо вот таких пишите мне в скайп respect123321123321 C:Users12345DesktopRussianVAZ-RolePLAYRussianVAZ-RolePLAYgamemodesGamer.pwn(34946) : error 017: undefined symbol "var" C:Users12345DesktopRussianVAZ-RolePLAYRussianVAZ-RolePLAYgamemodesGamer.pwn(34946) : error 017: undefined symbol "hFile" fatal error 107: too many error messages on one line Все всем спасибо.
- 8 ответов
-
- 5
-
- crmp
- всё для crmp
- (и ещё 5 )
-
хочу сделать /ad чтобы было по кординатам вот вам код скажите мою ошибку //==============================================================================if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0){if(IsPlayerConnected(playerid)){if(IsPlayerRangeOfPoint(50,playerid,2352.7053,-2130.7786,12.1516)){}SendClientMessage(playerid, COLOR_LIGHTRED, "Ты не находишься в Рекламном агенстве ,,Объявляйка''");return 1;{if(PlayerInfo[playerid][pMuted] > 0){SendClientMessage(playerid, COLOR_GRAD1, "Информация: Чат временно не доступен.");return 1;}if(PlayerInfo[playerid][pLevel] < 2 && PlayerInfo[playerid][pAdmin] == 0){SendClientMessage(playerid, COLOR_GRAD1, "Информация: Команда доступна с 2 уровня.");return 1;}if(gPlayerLogged[playerid] == 0){SendClientMessage(playerid, COLOR_GREY, "Информация: Вы не авторизованы.");return 1;}GetPlayerName(playerid, sendername, sizeof(sendername));new length = strlen(cmdtext);while ((idx < length) && (cmdtext[idx] <= ' ')){idx++;}new offset = idx;new result[64];while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))){result[idx - offset] = cmdtext[idx];idx++;}result[idx - offset] = EOS;if(!strlen(result)){SendClientMessage(playerid, COLOR_GRAD2, "My Life|RolePlay| : (/ad)vertise [advert text]");return 1;}if ((!adds) && (PlayerInfo[playerid][pAdmin] < 1)){format(string, sizeof(string), "Повторите попытку позже. Объявление можно подать 1 раз в %d секунд.", (addtimer/1000));SendClientMessage(playerid, COLOR_GRAD2, string);return 1;}new payout = idx * 25;if(GetPlayerMoney(playerid) < payout){format(string, sizeof(string), "* Вы использовали %d символов. У Вас недостаточно денег.(Рублей%d), .", offset, payout);SendClientMessage(playerid, COLOR_LIGHTBLUE, string);return 1;}GiveMoney(playerid, - payout);SBizzInfo[7][sbTill] += payout;ExtortionSBiz(7, payout);SetPlayerCheckpoint(playerid, 2352.6577,-2130.8401,12.1516,3.0);format(string, sizeof(string), "Обьявление: %s, Контакт: %s, Телефон: %d", result, sendername,PlayerInfo[playerid][pPnumber]);OOCNews(TEAM_GROVE_COLOR,string);format(string, sizeof(string), "Рекламу отправил: %s (ID:%d)",sendername,playerid);ABroadCast(COLOR_LIGHTRED,string,1);format(string, sizeof(string), "Цена сообщения: Рублей%d. Знаков: %d.", payout, idx);SendClientMessage(playerid, COLOR_GRAD1, string);SetPlayerCheckpoint(playerid, 2352.7053,-2130.7786,12.1516, CHECKPOINT_PLAYER);if (PlayerInfo[playerid][pAdmin] < 4){SetTimer("AddsOn", addtimer, 0);adds = 0;}}return 1;} с меня +
- 3 ответа
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Итак начнём. Находим public OnPlayerConnect(playerid) И после скобок вставляем вот это : GameTextForPlayer(playerid, "~n~Welcome~n~ ~n~To ~r~ ~r~]RP]Ваш сервер]", 18000, 4); Вот скрин с приветсвием. Автор:Alvaro
- 10 ответов
-
- 10
-
Вот вообщем команда для выдачи мед карты.Ну что сказать это повысит Рп, я так думаю.Выдать ее могут только медики.Начнем Добавляем сначало ко всем define цвет #define COLOR_ISPOLZUY 0x7FB151FF Теперь в pinfo добавим pMedCard, в public OnPlayerConnect добавим PlayerInfo[playerid][pMedCard] = 0; Затем сделаем сохранение В public OnPlayerRegister добавим format(var, 32, "MedCard=%dn",PlayerInfo[playerid][pMedCard]);fwrite(hFile, var); В public OnPlayerUpdate или в public SavePlayer добавим format(var, 32, "MedCard=%dn",PlayerInfo[playerid][pMedCard]);fwrite(hFile, var); В public OnPlayerLogin добавим if( strcmp( key , "MedCard" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMedCard] = strval( val ); } Теперь добавим команды для мед карты добавляем в public OnPlayerCommandText if(strcmp(cmd, "/givemedcard", true) == 0) { if(PlayerInfo[playerid][pLeader] != 4 || PlayerInfo[playerid][pMember] != 4 && PlayerInfo[playerid][pRank] < 17) return SendClientMessage(playerid, COLOR_RED, "** Вы не медик или же вы младше 17 ранга !"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "* Используйте: /givemedcard [ид игрока]"); new plo; plo = ReturnUser(tmp); if(!IsPlayerConnected(plo)) return SendClientMessage(playerid, COLOR_RED, "Этот игрок оффлайн!"); if(plo != INVALID_PLAYER_ID) { PlayerInfo[giveplayerid][pMedCard] = 1; // by BАSE-GАMES.ru GetPlayerName(playerid, sendername, sizeof(sendername)); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "* Вы выдали %s Мед.Карту",giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "* %s выдал вам Мед.Карту",sendername); SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "* Доктор %s выдал Мед.Карту %s", sendername,giveplayer); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); format(string, sizeof(string), "* Доктор %s выдал Медицинскую Карту %s",sendername,giveplayer); SendRadioMessage(4,COLOR_LIGHTRED ,string); } return 1; } И последнюю команду тоже в public OnPlayerCommandText if(strcmp(cmd,"/showmedcard",true)==0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_ISPOLZUY,"* Используйте /showmedcard [ид]"); new target = strval(tmp); new text1[120]; if(!IsPlayerConnected(target)) return SendClientMessage(playerid, COLOR_RED, "* Этот игрок оффлайн"); if(GetDistanceBetweenPlayers(playerid,target) > 2) return SendClientMessage(playerid, COLOR_RED, "* Нет ни кого рядом"); if(PlayerInfo[playerid][pMedCard]) { text1 = "Пройден"; } else { text1 = "Не пройден"; } GetPlayerName(playerid, sendername, sizeof(sendername)); GetPlayerName(target, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "{FFFFFF}Медицинский Осмотр {D8F600}%s {FFFFFF}: {D8F600}%s",sendername, text1); ShowPlayerDialog(target,7587,DIALOG_STYLE_MSGBOX,"Медицинская карта",string,"Ок",""); format(string, sizeof(string), "* %s показывает свою медицинскую карту %s", sendername,giveplayer); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 1; } Урок закончен всем спасибо Автор:Неизвестен ЭТО Для GF мода
- 5 ответов
-
- 2
-
- crmp
- всё для crmp
- (и ещё 5 )
-
Помогите сделать ворота с меня +++ Буду очень благодарен ! gatearmy = CreateObject(971,-866.7999900,1195.5999800,12.9000000,0.0000000,0.0000000,276.0000000); //object(subwaygate) (1) if (strcmp(cmdtext, "/aropen", true)==0) { if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pLeader] == 20 || PlayerInfo[playerid][pLeader] == 18 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pMember] == 20 || PlayerInfo[playerid][pMember] == 18) { MoveObject(gatearmy,-867.0000000,1195.9000200,5.4000000,0.0000000,0.0000000, 3.0); SetTimer("armygate", 7000, 0); SendClientMessage(playerid,0x0000FFAA,"Ворота Армии закроются в течении 7 секунд!"); return 1; } SendClientMessage(playerid,0x0000FFAA,"Ты Не Полиция/Армия/ФСБ/ППС!"); } public armygate() { MoveObject (gatearmy,-866.7999900,1195.5999800,12.9000000, 3.0); return 1; } закрытые ворота CreateObject(971,-866.7999900,1195.5999800,12.9000000,0.0000000,0.0000000,276.0000000); //object(subwaygate) (1) открытые ворота CreateObject(971,-867.0000000,1195.9000200,5.4000000,0.0000000,0.0000000,278.0000000); //object(subwaygate) (1)
- 1 ответ
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Помогите пожалуйста можете сказать а сервер full game rp на этом форуме cделан под windows или под linuxe,а то не получается залить мод на хостинг gamer host а то он предназначен только для linuxe.Помогите пожалуйста вот мой скайп respect123321123321
- 6 ответов
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Доброго времени суток. У меня такой вопрос к знающим людям. Какой процесс нужно запускать чтобы запускался CRMP? С SAMP все нормально но когда пробую изменять на multiplayer_browser_cr то выдает такую строку в окне интерпретации: Первый этап обработки исключения типа "System.ComponentModel.Win32Exception" в приложении System.dll Также говорит что не удается найти указанный файл. Можете ответить в ЛС если это не для открытого пользования информация. P.S. Я не прошу сделать лаунчер.
- 10 ответов
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
1) Ко всем new new CarEngine[MAX_VEHICLES]; new engine,lights,alarm,doors,bonnet,boot,objective; 2) в OnPlayerConnect CarEngine[playerid] = 0; 3) В моде находим if(newstate == PLAYER_STATE_DRIVER) в него добавляем if(CarEngine[newcar] == 0) { if(!IsABMX(newcar)) { SendClientMessage(playerid,COLOR_PURPLE,"Чтобы завести/заглушить двигатель введите /engine"); } } new carid = GetPlayerVehicleID(playerid); if(IsABMX(carid)) { if(CarEngine[playerid]==0) { GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(carid,true,lights,alarm,doors,bonnet,boot,objective); CarEngine[playerid] = 1; } } 4) В паблик public OnPlayerExitVehicle(playerid, vehicleid) добавляем if(!IsABMX(carid)) { if(CarEngine[playerid] == 1) { GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(carid,false,lights,alarm,doors,bonnet,boot,objective); format(string, sizeof(string), "* %s заглушил двигатель и вышел из авто.", GetPlayerNameEx(playerid)); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); CarEngine[playerid] = 0; } } 5) Теперь добавим комманду if(strcmp(cmd, "/engine", true) == 0) { if(IsPlayerInAnyVehicle(playerid)) { new carid = GetPlayerVehicleID(playerid); if(!IsABMX(carid)) { if(CarEngine[playerid]==0) { GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(carid,true,lights,alarm,doors,bonnet,boot,objective); format(string, sizeof(string), "* %s завёл двигатель.", GetPlayerNameEx(playerid)); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); CarEngine[playerid] = 1; } else if(CarEngine[playerid]==1) { GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(carid,false,lights,alarm,doors,bonnet,boot,objective); format(string, sizeof(string), "* %s заглушил двигатель.", GetPlayerNameEx(playerid)); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); CarEngine[playerid] = 0; } } } } 6) У кого нету добавляем в конец мода forward IsABMX(carid); public IsABMX(carid) { new model = GetVehicleModel(carid); if(model == 481 || model == 510 || model == 509) { return 1; } return 0; } Автор: fr0st
-
Tutorial YANS (Yet Another Neon System), или Написание системы установки неона с нуля.
SHOROOP опубликовал теме в Мануалы/Уроки
Доброго времени суток, уважаемые пользователи. Я знаю, что было уже очень много решений по установке неоновых огней на автомобиль, но толкового туториала с подробным объяснением, как и почему все работает, я не видел. Что же, нужно исправить эту досадную оплошность. Итак, вначале разберем принцип работы. Как многие знают, в SAMP разрешено прикреплять объекты к автомобилям. А поскольку в наличии есть объекты галогеновых ламп, задача становится простейшей - при установке неона создаем объект-лампу и крепим его к автомобилю, при демонтаже - удаляем. Объекты ламп имеют ID с 18647 по 18651 (в данном примере - красный, синий, зеленый, желтый и розовый соответственно). Как ни странно, но - с теорией все, пора переходить к практике. Создаем new.pwn, подключаем библиотеку a_samp. Для желающих - можно подключить и стример, в туториале будут использоваться стандартные функции для работы с объектами. #include Объявляем массив для хранения информации об автомобилях и неоновых огнях. В нулевом элементе будет храниться информация о наличии и цвете лампы (-1 - не установлен, от 0 до 4 - соответственно красный, синий, зеленый, желтый и розовый), первый и второй будут использоваться для хранения в них указателей на объекты, последний - для сохранения текущего состояния лампы (включена или выключена). new neon[MAX_VEHICLES][4]; Теперь приступим к основным функциям. Первой из них будет установка неона на автомобиль. Параметрами функции будут ID автомобиля в игре и цвет от 0 до 4 - при создании объекта 18647 будет сдвигаться на значение цвета (18647 - объект красной лампы). Алгоритм таков: нулевому элементу присваиваем значение цвета, третьему - единицу (лампа после установки включена), создаются два объекта (первый и второй элементы) и прикрепляются к автомобилю. forward PlaceNeon (vehicle, color); public PlaceNeon (vehicle, color) { neon[vehicle][0] = color; neon[vehicle][3] = 1; DestroyObject(neon[vehicle][1]); DestroyObject(neon[vehicle][2]); neon[vehicle][1] = CreateObject(18647+color,0,0,0,0,0,0,100.0); neon[vehicle][2] = CreateObject(18647+color,0,0,0,0,0,0,100.0); AttachObjectToVehicle(neon[vehicle][1], vehicle, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0); AttachObjectToVehicle(neon[vehicle][2], vehicle, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0); return 1; } Далее идет удаление неона. Функция принимает как параметр только ID авто. Ставим в нулевой элемент -1 (отсутствие неона), лампу выключаем (третий элемент в ноль), объекты удаляем. forward RemoveNeon (vehicle); public RemoveNeon (vehicle) { neon[vehicle][0] = -1; neon[vehicle][3] = 0; DestroyObject(neon[vehicle][1]); DestroyObject(neon[vehicle][2]); return 1; } Последняя функция - включение-выключение установленной лампы. Тут алгоритм посложнее. Если лампа установлена (первый элемент массива - не -1), начинает свою работу триггер. Если лампа была выключена - создаем два объекта нужного цвета. Если включена - удаляем их. Естественно, не забывая ставить нужные метки в состояние лампы. forward TurnNeon (vehicle); public TurnNeon (vehicle) { if (neon[vehicle][0] != -1) { switch (neon[vehicle][3]) { case 0: { neon[vehicle][3] = 1; neon[vehicle][1] = CreateObject(18647+neon[vehicle][0],0,0,0,0,0,0,100.0); neon[vehicle][2] = CreateObject(18647+neon[vehicle][0],0,0,0,0,0,0,100.0); AttachObjectToVehicle(neon[vehicle][1], vehicle, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0); AttachObjectToVehicle(neon[vehicle][2], vehicle, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0); } case 1: { neon[vehicle][3] = 0; DestroyObject(neon[vehicle][1]); DestroyObject(neon[vehicle][2]); } } } return 1; } Собственно, основные функции у нас есть. Как с ними работать - уже как подскажет фантазия, но я разберу конкретные примеры. Итак, установка будет проходить по команде /neon. Создаем диалоговое окно со списком. Прошу не пинать за то, что в первом меню всего один пункт - писалось с запасом, так как будет дополняться мишурой типа установки мигалок и так далее. public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp("/neon", cmdtext, true)) { if(IsPlayerInAnyVehicle(playerid)) { if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER) SendClientMessage(playerid,0xAFAFAFAA,"Вы должны сидеть за рулем автомобиля"); else ShowPlayerDialog(playerid,6000,DIALOG_STYLE_LIST,"Меню","Неон","Выбрать","Отмена"); } return 1; } return 0; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 6000) { if(response) { if(listitem==0) ShowPlayerDialog(playerid,6001,DIALOG_STYLE_LIST,"Неон", "Красный\nСиний\nЗеленый\nЖелтый\nРозовый\nУбрать неон","Дальше","Отмена"); } return 1; } if(dialogid == 6001) { if(response) { if(listitem==5) { RemoveNeon (GetPlayerVehicleID(playerid)); SendClientMessage (playerid, 0xff440000, "Неон удален"); } else if (listitem >=0 && listitem { PlaceNeon (GetPlayerVehicleID(playerid), listitem); SendClientMessage (playerid, 0xff440000, "Неон установлен"); } } return 1; } return 0; } Включение-выключение забьем на кнопку подмиссии (стандартно - 2 на алфавитной части клавиатуры). Используем старый-добрый дефайн PRESSED: #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) И, собственно, описываем действия по кнопке: public OnPlayerKeyStateChange(playerid, newkeys,oldkeys) { if (PRESSED(512) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) TurnNeon (GetPlayerVehicleID(playerid)); return 1; } А что делать, если машина уничтожится? Объекты надо удалить. Используем OnVehicleDeath: public OnVehicleDeath (vehicleid, killerid) { DestroyObject(neon[vehicleid][1]); DestroyObject(neon[vehicleid][2]); return 1; } И для грамотной загрузки и выгрузки объектов - вычищаем массивы при старте и при остановке скрипта. public OnFilterScriptInit() { for (new i=0; i return 1; } public OnFilterScriptExit() { for (new i=0; i return 1; } Собственно, все! Я не рассматривал в данном примере сохранение параметров неона после выгрузки сервера в файле или БД, проверку на то, в авто ли игрок или в мотоцикле/вертолете/etc. и тому подобные вещи. Как видно из кода, за установку даже деньги не снимаются. В этом и заключается универсальность - можно заточить исходник под собственные нужды.- 6 ответов
-
- 9
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
FS Убираем [Если игрок стоит на машине,его скидывает]
Vadim_Galitskiy опубликовал теме в Дополнительные скрипты
Все наверное знают что если в машине сидит водитель,то любого кто попытается залезть на крышу тут же скинет. Вот решение: Ищем в моде вот это и удаляем: stock GetXYInBackOfPlayer(const playerid, &Float:x, &Float:y, const Float:distance){ new Float:a; GetPlayerPos(playerid, x, y, a); GetPlayerFacingAngle(playerid, a); if (IsPlayerInAnyVehicle(playerid)) { new vid=GetPlayerVehicleID(playerid); if (vid>0 && vid<=MAX_VEHICLES)GetVehicleZAngle(vid, a);} x -= (distance * floatsin(-a, degrees)); y -= (distance * floatcos(-a, degrees));} Потом это и тоже удаляем: public UnSurfCar(carid) { for(new i = 0; i<GetMaxPlayers(); i++) { if(GetPlayerSurfingVehicleID(i) == carid) { new Float:p[3]; GetPlayerPos(i,p[0],p[1],p[2]); GetXYInBackOfPlayer(i,p[0],p[1],5.0); SetPlayerPos(i,p[0],p[1],p[2]); } } return; } Дальше удаляем это: forward UnSurfCar(carid); Автор: UnKnowN -
Здравствуйте, у меня проблема при компиляции в pawno, выдает error 036, помогите пожалуйста, вот, если нужно скрин
- 2 ответа
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
После растарта сервера исчезают иконки,но при этом дома есть
- 6 ответов
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Подскажите как удалить объект оканчательно вот скрин Как сделать чтоб этого не было ??? Вроде делаю все правельно
- 1 ответ
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Найдем паблик: OnPlayerKeyStateChange и в него суем: -------------------------------------------------------------------------------------------------------------------------- if( newkeys == 1 || newkeys == 9 || newkeys == 33 && oldkeys != 1 || oldkeys != 9 || oldkeys != 33) { switch(GetVehicleModel(GetPlayerVehicleID(playerid))) { case 446,432,448,452,424,453,454,461,462,463,468,471,430,472,449,473,481,484,493,495,509,510,521,538,522,523,532,537,570,581,586,590,569,595,604,611: return 0; } AddVehicleComponent(GetPlayerVehicleID(playerid), 1010); } -------------------------------------------------------------------------------------------------------------------------- Теперь при нажатии ЛКМ у авто идет нитро, если отпустить ЛКМ никтро перестанет идти Вот и все. Автор: Ramzes
- 7 ответов
-
- 2
-
- crmp
- всё для crmp
- (и ещё 5 )
-
Ребят срочно,пожалуйста нужен streamer для crmp 0.3e
sanek112 опубликовал теме в Архив Вопросов/Проблем/Ошибок
кинь кто нить пожалуйста streamer для crmp 0.3e- 3 ответа
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
всем привет! когда запускаю север выдает такую хрень надо стример обновить?
- 2 ответа
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Как из мапы мода зделать в mta мапу через конвертер
- 2 ответа
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Помогите устранить ошибку пжл!)
- 1 ответ
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Вот я удалил пару стандартных объектов с карты CR-MP но столкнулся с такой проблемой что http://convertffs.com/ не конвектирует в те объекты чтоб удалить их Подскажите может кто знает как правильно надо их конвектировать?
- 3 ответа
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Вообщем проблема такова,а точнее их две,первая связана с маппингов,а вторая вообщем с сервером в целом. 1) я сделал в МТА себе небольшой админский домик с забором в гарели, сконвентировал его и засунул в GM, на сервере его нету,что делать не знаю. 2)как удалять созданные авто,даже если они чьи то? или просто созданы? где они хранятся?
- 5 ответов
-
- маппинг сервер авто
- crmp
- (и ещё 5 )
-
Можно перевести объекты с павно в мта? Что бы можно было отредактировать маппинг взятый с павно в МТА
- 7 ответов
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
У меня вопрос,для крмп модпак реально сделать! А вот для SAMP как сделать модпакк?! Так же не получиться! Нету таких папок/файлов!
- 1 ответ
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Это моё первое готовое решение + оформлять темы я умею плохо так что...Пожалуй начнем.Ко всем дефайнам (#define) добавляем ещё один: #define HOSPITAL_TIME 5 //5 - Кол-во минут в больнице Ко всем new добавим ещё одну: new HospitalTime[MAX_PLAYERS]; В public OnPlayerConnect( playerid ) добавляем обнуление переменной HospitalTime[playerid] = 0; Нам нужно загрузить оставшееся время нахождения в больнице, для этого в public OnPlayerLogin( playerid, password[] ) вставляем:1)Для тех, у кого загрузка на mxINI т.е загрузка уровня у них выглядит примерно так: ini_getInteger(File, "Level", PlayerInfo[playerid][pLevel]);//Этот код вставлять НЕ надо!!! Вставляем вот такую строку ini_getInteger(File, "HospitalTime", HospitalTime[playerid]); 2)Для тех у кого НЕ на mxINI т.е загрузка уровня выглядит примерно так: if( strcmp( key , "Level" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLevel] = strval( val ); } Вставляем следующую строку: if( strcmp( key , "HospitalTime" , true ) == 0 ) { val = ini_GetValue( Data ); HospitalTime[playerid] = strval( val ); } С загрузкой разобрались.Далее нам нужно сделать сохранение время проведения в больнице и для этого в public SavePlayer( playerid ) или public GF_OnPlayerUpdate( playerid ) (у всех поразному) добавляем следующее:У кого mxINI, а у кого не mxINI мы разобрались уже.1)Для тех, у кого mxINI: ini_setInteger(File, "HospitalTime", HospitalTime[playerid]); 2)Для тех, у кого НЕ mxINI: format(var, 32, "HospitalTime=%dn",HospitalTime[playerid]);fwrite(hFile, var); С сохранением мы тоже разобрались.Теперь нам надо сделать так, чтобы после смерти игрок попадал в больницу, для этого вpublic OnPlayerDeath( playerid, killerid, reason ) добавим код отвечающий за так сказать "помещение" игрока в больницу: if(killerid != INVALID_PLAYER_ID){if(!HospitalTime[playerid]){HospitalTime[playerid] = HOSPITAL_TIME * 60;SavePlayer(playerid);//SavePlayer замените на свою функцию сохранения}} в public SetPlayerUnJail() добавим код отвечающий за "выписку" игрока из больницы.После if(IsPlayerConnected(i)) вставляем следующий код if(HospitalTime[i] > 0){HospitalTime[i] --;if(!HospitalTime[i]){SendClientMessage(i, 0xBFC0C2FF,"Теперь ты здоров!");//Замените на свою функциюSetPlayerInterior(i, 0);//Замените на свою функциюSetPlayerVirtualWorld(i, 0);//Замените на свою функциюSetPlayerPos(i,2024.3229, -1404.7660, 17.2010);//Замените на свою функциюTogglePlayerControllable(i, true);//Замените на свою функциюSetPlayerHealth(i,100);}SavePlayer(i);//SavePlayer замените на свою функцию сохранения} Теперь мы добавим функцию помещения игрока в больницу при спавне (если время проведения в больнице не окончено).В начало public OnPlayerSpawn( playerid ) добавим следующий код: if(HospitalTime[playerid] > 0){SetPlayerInterior(playerid, 3);//Замените на свою функциюSetPlayerPos(playerid,338.4664,161.4294,1019.9844);//Замените на свою функциюSetPlayerVirtualWorld(playerid, 3);//Замените на свою функциюSetPlayerHealth(playerid, 100); //Замените на свою функциюTogglePlayerControllable(playerid, 0);//Замените на свою функциюApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, 0xFF6347AA, "Вы попали в больницу, отдыхайте.");//Замените на свою функциюSavePlayer(playerid);//SavePlayer замените на свою функцию сохраненияreturn true;} Вот и все...Автор: Jekazzz
- 6 ответов
-
- crmp
- всё для crmp
- (и ещё 5 )
-
Маскировка Пароля! Важно. Функцыя работает с врсии Sa-MP 0.3d. Пример использования! Находим: ShowPlayerDialog(playerid, ваш ид диалога, DIALOG_STYLE_INPUT, "Регистрация", straut, "Далее", "");Источник: **** И меняем на: ShowPlayerDialog(playerid, ваш ид диалога, DIALOG_STYLE_PASSWORD, "Регистрация", straut, "Далее", "");Источник: ****[/color] [color=#000000] Для стабильной работы возьмити диалог: DIALOG_STYLE_PASSWORD.
- 1 ответ
-
- 1
-
- всё для crmp
- pawn
-
(и ещё 5 )
C тегом: