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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. Вот ссылка на скачку жду ваших + http://rghost.ru/45295137 Вот еще 1 скрипт меню авто
  2. Для начала вам нужно создать объекты открытых и закрытых ворот. Для этого используется функция CreateObject CreateObject(969, 2720.3772,-2409.7523,12.6,0, 0.0000, 90);//Закрытые ворота CreateObject(969, 2720.3772,-2508.3069,12.6,0, 0.0000, 90);//Открытые ворота К new new gate1; Теперь создадим объект ворот на сервере В public OnGameModeInit засуньте строчку с функцией CreateObject: gate1 = CreateObject(ид_объекта, x,y,z, поворот_x, поворот_y, поворот_z);// Укажите ваши данные о ЗАКРЫТЫХ воротаx Для простого примера я создам ворота public OnGameModeInit() { gate1 = CreateObject(969, 2720.3772,-2409.7523,12.6,0, 0.0000, 90);//Если у вас есть этот public то просто вставте эту строчку с созданием объекта return 1; } Так, ворота созданы, но теперь их надо заставить двигаться в public OnPlayerCommandText if(!strcmp(cmdtext, "/opengate", true)) { if(IsPlayerInRangeOfPoint(playerid, 10, 2720.3772,-2409.7523,12.6))// Укажите координаты закрытых ворот, 10 - это радиус, где будет действовать открытие ворот { MoveDynamicObject(gate1,2720.3772, -2401.2523, 12.6, 2.0);//Двигаем ворота на позицию открытых ворот SetTimer("CloseGate1", 7000, false);//Создадим таймер что ворота закрылись автоматически } } K forward forward CloseGate1(); В конец мода public CloseGate1() { MoveDynamicObject(gate1, 2720.3772,-2409.7523,12.6, 2.0);//Двигаем ворота на позицию закрытых ворот return 1; } И так, ворота созданы и вы теперь можете их открыть командой /opengate Теперь делаем открытие ворот кнопкой. В public OnPlayerKeyStateChange if(newkeys & KEY_WALK) // На кнопку АЛЬТ (alt) { if(IsPlayerInRangeOfPoint(playerid, 10, 2720.3772,-2409.7523,12.6))// Укажите координаты закрытых ворот, 10 - это радиус, где будет действовать открытие ворот { MoveDynamicObject(gate1,2720.3772, -2401.2523, 12.6, 2.0);//Двигаем ворота на позицию открытых ворот SetTimer("CloseGate1", 7000, false);//Создадим таймер что ворота закрылись автоматически } } Вот и всё!Ворота закрываються автоматически! Автор ~S1mple
  3. Нужно мне создать нестандартный диалог... Суть его в том, что управление не при помощи мыши, а при помощи клавиш пробел и интер. Как это сделать? Буду благодарен. Ну и + конечно вам.
  4. zheckster60

    Помогите!

    Нужно, чтобы при заходе на сервер кикало игрока. Любого. Команда Kick(playerid); Кикает другого игрока. В чем дело? Помогите. С меня +
  5. #include <a_samp> new bool:Baton[MAX_PLAYERS]; main() { print("\n----------------------------------"); print(" Скрипт жезла загружен"); print("----------------------------------\n"); } public OnPlayerConnect(playerid) { Baton[playerid] = false; return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } public OnPlayerSpawn(playerid) { Baton[playerid] = false; PreloadAnimLib(playerid,"PED"); PreloadAnimLib(playerid,"CARRY"); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp("/palka", cmdtext, true, 10) == 0 || strcmp(cmd,"/zl",true, 10)==0)) { if(Baton[playerid] == false) { SetPlayerAttachedObject(playerid, 1, 1214, 6, -0.040454, 0.028840, -0.012862, 2.521301, 76.277267, 70.163467, 0.311789, 0.312000, 0.458441); ApplyAnimation(playerid, "PED", "Driveby_R", 4.1, 0, 1, 1, 1, 1, 1); Baton[playerid] = true; } else if(Baton[playerid] == true) { if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1); ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0); Baton[playerid] = false; } return 1; } return 0; } PreloadAnimLib(playerid, animlib[]) return ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0); Подскажите как сделать чтобы жезлом могли пользоваться игроки определенной фракции
  6. Alexey_Ovchinnickov

    Здать теорию на оружие

    Здравствуйте Уважаемые пользователи Gs games Я вырезал c Life Game RolePlay Систему сдачи теории на оружие. Начнем! Ко все new добавим: new liceGun; Далее идем в public OnGameModeint вставляем: liceGun = CreatePickup(1239,2, 2571.1999,-2417.3000,22.3999); Далее идем в public OnPlayerPickUpPickup: и вставляем вот это: if(pickupid == liceGun) { new r[44]; format(r,sizeof(r),"Здать теорию на лицензии (оружия) 6000$"); ShowPlayerDialog(playerid,59,DIALOG_STYLE_LIST,"Лицензии на оружия",r,"Выбрать",""); return SendClientMessage(playerid, -1, "Полиция"); } Далее создадим диолог if(dialogid == 51) { ShowPlayerDialog(playerid, 52, DIALOG_STYLE_LIST, "Первый вопрос:Dm", "1.Death Matchn2.Duble Housen3. Defender Main", "Выбрать", ""); return 1; } if(dialogid == 52) { if(listitem == 0) { ShowPlayerDialog(playerid, 53, DIALOG_STYLE_LIST, "Второй вопрос: Db?", "1. Date Brown2. Dat bann3. Drive by", "Выбрать", ""); return 1; } else { ShowPlayerDialog(playerid, 57, DIALOG_STYLE_MSGBOX, "Ошибка", "Вы ошиблись в правильном варианте ответаnЗнакомтесь правилами RP сервера", "Ок", ""); OwibkaG[playerid] = 0; return 1; } } if(dialogid == 53) { if(listitem == 2) { ShowPlayerDialog(playerid, 54, DIALOG_STYLE_LIST, "Третий вопрос: Что такое Powergaming?", "1. Преувеличение физ. возможностей персонажаn2. Играть так как не сделал бы в жизниn3. Игра с силой", "Выбрать", ""); return 1; } else { ShowPlayerDialog(playerid, 57, DIALOG_STYLE_MSGBOX, "Ошибка", "Вы ошиблись в правильном варианте ответаnЗнакомтесь правилами RP сервера", "Ок", ""); OwibkaG[playerid] = 0; return 1; } } if(dialogid == 54) { if(listitem == 0) { ShowPlayerDialog(playerid, 55, DIALOG_STYLE_LIST, "Четвёртый вопрос: Правильный RP Ник персонажа?", "1. Slidwardn2. Ranis_Rizvanown3. Ranis_Rizvanov", "Выбрать", ""); return 1; } else { ShowPlayerDialog(playerid, 57, DIALOG_STYLE_MSGBOX, "Ошибка", "Вы ошиблись в правильном варианте ответаnЗнакомтесь правилами RP сервера", "Ок", ""); OwibkaG[playerid] = 0; return 1; } } if(dialogid == 55) { if(listitem == 1) { ShowPlayerDialog(playerid, 56, DIALOG_STYLE_LIST, "Пятый вопрос: Разрешёны-ли убийства игроков на RP Сервере?", "1. Даn2.Категорически запрешеноn3. Да, если на то есть РП причина", "Выбрать", ""); return 1; } else { ShowPlayerDialog(playerid, 57, DIALOG_STYLE_MSGBOX, "Ошибка", "Вы ошиблись в правильном варианте ответаnЗнакомтесь правилами RP сервера", "Ок", ""); OwibkaG[playerid] = 0; return 1; } } if(dialogid == 56) { if(listitem == 2) { //PlayerInfo[playerid][pTested] = 1; ShowPlayerDialog(playerid, 58, DIALOG_STYLE_MSGBOX, "Тест пройден!", "Поздравляем! Вы прошли тест. Правда не так уж и тяжкий", "Спасибо", ""); PlayerInfo[playerid][pGunLic] = 1; return 1; } else { ShowPlayerDialog(playerid, 57, DIALOG_STYLE_MSGBOX, "Ошибка", "Вы ошиблись в правильном варианте ответаnЗнакомтесь правилами RP сервера" "", "Ок", ""); OwibkaG[playerid] = 0; return 1; } } И теперь всавим команду в public OnPlayerCommandText if(strcmp("/leaceGunn", cmd, true) == 0) { if(GetPlayerMoney(playerid) < 6000) { SendClientMessage(playerid, COLOR_GRAD5, "У вас нет столько денег(6000$)"); return false; } GivePlayerMoney(playerid, -6000); if(PlayerInfo[playerid][pGunLic] == 1) return SendClientMessage(playerid, COLOR_WHITE, "У Вас уже есть лицензии на орижия"); // if(PlayerInfo[playerid][pPasport] == 0) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет паспорта его можно получите его в Мерии"); if(IsPlayerInRangeOfPoint(playerid, 2.0, 2571.1999,-2417.3000,22.3999)) { ShowPlayerDialog(playerid, 51, DIALOG_STYLE_MSGBOX, "Полиция", "Здравствуйте вы хотите здать практикуnnНа лицензии (оружия)", "Да", ""); } return 1; } И вот еще точто я забыл вырезать тоже добавляем к диологам. if(dialogid == 58) { if(PlayerInfo[playerid][pLevel] == 3) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не достигли 3|LvL|"); PlayerInfo[playerid][pGunLic] = 1; ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Теория сдана", "Вы здали теорию вот ваши проваnТеперь вы можите покупать оружие в оружейном магазине", "Спасибо", ""); } Все всем спасибо! У кого будут проблемы при компилировании звоните мне в скайп помогу объясню что и как делать скайп respect123321123321
  7. Как зделать магзин? Интерьер я зделал чисто надо чтоб там было меню покупки!
  8. Народ помогите. Проподает мапинг когда он стоит в CreateDynamicObject, а когда в CreateObject, то пропадают ворота. Что делать?
  9. Всем привет помогите с цветами в павно кто какие знает кидайте!
  10. Команда,для телепорта по координатам.Хорошо подойдёт,если хотите просмотреть,то или иное местоположение обьекта. if((strcmp(cmd, "/tpcor", true) == 0) && (PlayerInfo[playerid][pAdmin] >= 1)) { tmp = strtok(cmdtext, idx); new Float:X = floatstr(tmp); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /tpcor [x] [y] [z]"); tmp = strtok(cmdtext, idx); new Float:Y = floatstr(tmp); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /tpcor [x] [y] [z]"); tmp = strtok(cmdtext, idx); new Float:Z = floatstr(tmp); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /tpcor [x] [y] [z]"); SetPlayerPos(playerid,X,Y,Z); format(string, sizeof(string), "Вы телепортировались по координатам %f %f %f", X, Y, Z); SendClientMessage(playerid, COLOR_LIGHTRED, string); return true; }
  11. Alexey_Ovchinnickov

    Система общагов

    Здравствуйте уважаемые пользователи Gs games. Cегодня мы свами попытаемся сделать систему общагов для банд/мафий Описание скрипта будет таким: /donate - положить в общак ( деньги,маты,наркотики ) /vzat - взять с общака (деньги,маты,наркотики ) Ну чтож начнем! Ко всем define добавим: #define DIALOG_OBSHAK 74 #define DIALOG_OBSHAK_ 75 #define DIALOG_OBSHAK_VZAT 76 #define DIALOG_OBSHAK_POLOZH 77 #define Player PlayerInfo Ну теперь ко всем new добавим: new Nazvanie[MAX_PLAYERS][25]; И еще добавим один enum enum oInfo { oMoney, oMats, oDrugs, }; new ObshakInfo[20][oInfo]; Теперь добавляем в public OnGameModeint вот что: LoadObshak(); SaveObshak(); Ну теперь дорогие друзья добавим две команды в public OnPlayerCommandText: первая команда: if (strcmp(cmd, "/vzat", true) == 0) { new x_nr[256]; x_nr = strtok(cmdtext, idx); tmp = strtok(cmdtext, idx); new kolvo = strval(tmp); if(kolvo == 0) return 1; if(kolvo < 0) return 1; new fam; GetPlayerName(playerid, sendername, sizeof(sendername)); if(Player[playerid][pLeader] >0) fam = Player[playerid][pLeader]; else fam = Player[playerid][pMember]; if(strcmp(x_nr,"money",true) == 0) { if(ObshakInfo[fam-1][oMoney] < kolvo) return SendClientMessage(playerid, COLOR_GREY, "В общаке нет столько денег"); ObshakInfo[fam-1][oMoney] -= kolvo; GivePlayerMoney(playerid,kolvo); format(string,sizeof(string),"Лидер %s[%d] взял из общака %d$.В общаке: %d$",sendername,playerid,kolvo,ObshakInfo[fam-1][oMoney]); SendTeamMessage(fam, TEAM_AZTECAS_COLOR, string); SaveObshak(); return 1; } if(strcmp(x_nr,"mats",true) == 0) { if(ObshakInfo[fam-1][oMats] < kolvo) return SendClientMessage(playerid, COLOR_GREY, "В общаке нет столько материалов"); ObshakInfo[fam-1][oMats] -= kolvo; Player[playerid][pMats] += kolvo; format(string,sizeof(string),"Лидер %s[%d] взял из общака %d материалов.В общаке: %d матов",sendername,playerid,kolvo,ObshakInfo[fam-1][oMats]); SendTeamMessage(fam, TEAM_AZTECAS_COLOR, string); SaveObshak(); return 1; } if(strcmp(x_nr,"drugs",true) == 0) { if(ObshakInfo[fam-1][oDrugs] < kolvo) return SendClientMessage(playerid, COLOR_GREY, "В общаке нет столько наркотиков"); ObshakInfo[fam-1][oDrugs] -= kolvo; Player[playerid][pDrugs] += kolvo; format(string,sizeof(string),"Лидер %s[%d] взял из общака %d наркотиков.В общаке: %d нарко",sendername,playerid,kolvo,ObshakInfo[fam-1][oDrugs]); SendTeamMessage(fam, TEAM_AZTECAS_COLOR, string); SaveObshak(); return 1; } } И вторую команду тоже добавим: if (strcmp(cmd, "/donate", true) == 0) { new x_nr[256]; x_nr = strtok(cmdtext, idx); tmp = strtok(cmdtext, idx); new kolvo = strval(tmp); if(kolvo == 0) return 1; if(kolvo < 0) return 1; new fam; GetPlayerName(playerid, sendername, sizeof(sendername)); if(Player[playerid][pLeader] >0) fam = Player[playerid][pLeader]; else fam = Player[playerid][pMember]; if(kolvo == 0) return 1; if(kolvo < 0) kolvo = -1 * kolvo; if(strcmp(x_nr,"money",true) == 0) { if(GetPlayerMoney(playerid) < kolvo) return SendClientMessage(playerid, COLOR_GREY, "У тебя нет столько денег"); ObshakInfo[fam-1][oMoney] += kolvo; GivePlayerMoney(playerid,-kolvo); format(string,sizeof(string),"Игрок %s[%d] положил в общак %d$.В общаке: %d$",sendername,playerid,kolvo,ObshakInfo[fam-1][oMoney]); SendTeamMessage(fam, TEAM_AZTECAS_COLOR, string); SaveObshak(); return 1; } if(strcmp(x_nr,"mats",true) == 0) { if(Player[playerid][pMats] < kolvo) return SendClientMessage(playerid, COLOR_GREY, "У тебя нет столько материалов"); ObshakInfo[fam-1][oMats] += kolvo; Player[playerid][pMats] -= kolvo; format(string,sizeof(string),"Игрок %s[%d] положил в общак %d материалов.В общаке: %d матов",sendername,playerid,kolvo,ObshakInfo[fam-1][oMats]); SendTeamMessage(fam, TEAM_AZTECAS_COLOR, string); SaveObshak(); return 1; } if(strcmp(x_nr,"drugs",true) == 0) { if(Player[playerid][pDrugs] < kolvo) return SendClientMessage(playerid, COLOR_GREY, "У тебя нет столько наркотиков"); ObshakInfo[fam-1][oDrugs] += kolvo; Player[playerid][pDrugs] -= kolvo; format(string,sizeof(string),"Игрок %s[%d] положил в общак %d наркотиков.В общаке: %d нарко",sendername,playerid,kolvo,ObshakInfo[fam-1][oDrugs]); SendTeamMessage(fam, TEAM_AZTECAS_COLOR, string); SaveObshak(); return 1; } } Ну и теперь создадим диолог добавляем в public OnDialogResponse: else if(dialogid == DIALOG_OBSHAK) { if(response) { if(listitem == 0) { format(Nazvanie[playerid],25,"money"); ShowPlayerDialog(playerid,DIALOG_OBSHAK_,DIALOG_STYLE_LIST,"Деньги","Взять\nПоложить","Ок","Назад"); return 1; } if(listitem == 1) { format(Nazvanie[playerid],25,"drugs"); ShowPlayerDialog(playerid,DIALOG_OBSHAK_,DIALOG_STYLE_LIST,"Наркотики","Взять\nПоложить","Ок","Назад"); return 1; } if(listitem == 2) { format(Nazvanie[playerid],25,"mats"); ShowPlayerDialog(playerid,DIALOG_OBSHAK_,DIALOG_STYLE_LIST,"Материалы","Взять\nПоложить","Ок","Назад"); return 1; } } } //------------------------------------------------------------------------------ else if(dialogid == DIALOG_OBSHAK_) { if(response) { if(listitem == 0) { if(Player[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_GREY,"Доступно только лидерам!"); ShowPlayerDialog(playerid,DIALOG_OBSHAK_VZAT,DIALOG_STYLE_INPUT,"Взять","Сколько выхотите взять?","Ок","Назад"); return 1; } if(listitem == 1) { ShowPlayerDialog(playerid,DIALOG_OBSHAK_POLOZH,DIALOG_STYLE_INPUT,"Положить","Сколько выхотите положить?","Ок","Назад"); return 1; } } } else if(dialogid == DIALOG_OBSHAK_VZAT) { if(response) { format(string,sizeof(string),"/vzat %s %d",Nazvanie[playerid],strval(inputtext)); OnPlayerCommandText(playerid,string); } } else if(dialogid == DIALOG_OBSHAK_POLOZH) { if(response) { format(string,sizeof(string),"/donate %s %d",Nazvanie[playerid],strval(inputtext)); OnPlayerCommandText(playerid,string); } } Ну и теперь в конец мода ставим вот это: forward LoadObshak(); forward SaveObshak(); public SaveObshak() { new idx; new File: file2; while (idx < 15) { new coordsstring[256]; format(coordsstring, sizeof(coordsstring), "%d|%d|%d\r\n", ObshakInfo[idx][oMoney], ObshakInfo[idx][oDrugs], ObshakInfo[idx][oMats]); if(idx == 0) { file2 = fopen("Obshak.txt", io_write); } else { file2 = fopen("Obshak.txt", io_append); } fwrite(file2, coordsstring); idx++; fclose(file2); } return 1; }[/color] [color=#ff0000]public LoadObshak() { new arrCoords[32][64]; new strFromFile2[256]; new File: file = fopen("Obshak.txt", io_read); if (file) { new idx; while (idx < 15) { fread(file, strFromFile2); split(strFromFile2, arrCoords, '|'); ObshakInfo[idx][oMoney] = strval(arrCoords[0]); ObshakInfo[idx][oDrugs] = strval(arrCoords[1]); ObshakInfo[idx][oMats] = strval(arrCoords[2]); idx++; } fclose(file); printf("Общак загружен"); } return 1; } Вот и все дорогие друзья. Автор вырезки - Jeff_Hardy Автор:denizh92 У кого будут ошибки обращайтесь в скайп помогу respect123321123321. Все всем пока
  12. Уважаемые пользователи 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 Все всем спасибо.
  13. хочу сделать /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;} с меня +
  14. Итак начнём. Находим public OnPlayerConnect(playerid) И после скобок вставляем вот это : GameTextForPlayer(playerid, "~n~Welcome~n~ ~n~To ~r~ ~r~]RP]Ваш сервер]", 18000, 4); Вот скрин с приветсвием. Автор:Alvaro
  15. Alexey_Ovchinnickov

    CОЗДАНИЕ МЕД КАРТЫ

    Вот вообщем команда для выдачи мед карты.Ну что сказать это повысит Рп, я так думаю.Выдать ее могут только медики.Начнем Добавляем сначало ко всем 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 мода
  16. Помогите сделать ворота с меня +++ Буду очень благодарен ! 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)
  17. Alexey_Ovchinnickov

    xx

    Помогите пожалуйста можете сказать а сервер full game rp на этом форуме cделан под windows или под linuxe,а то не получается залить мод на хостинг gamer host а то он предназначен только для linuxe.Помогите пожалуйста вот мой скайп respect123321123321
  18. Доброго времени суток. У меня такой вопрос к знающим людям. Какой процесс нужно запускать чтобы запускался CRMP? С SAMP все нормально но когда пробую изменять на multiplayer_browser_cr то выдает такую строку в окне интерпретации: Первый этап обработки исключения типа "System.ComponentModel.Win32Exception" в приложении System.dll Также говорит что не удается найти указанный файл. Можете ответить в ЛС если это не для открытого пользования информация. P.S. Я не прошу сделать лаунчер.
  19. Vadim_Galitskiy

    Заводка двигателя

    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
  20. Доброго времени суток, уважаемые пользователи. Я знаю, что было уже очень много решений по установке неоновых огней на автомобиль, но толкового туториала с подробным объяснением, как и почему все работает, я не видел. Что же, нужно исправить эту досадную оплошность. Итак, вначале разберем принцип работы. Как многие знают, в 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. и тому подобные вещи. Как видно из кода, за установку даже деньги не снимаются. В этом и заключается универсальность - можно заточить исходник под собственные нужды.
  21. Все наверное знают что если в машине сидит водитель,то любого кто попытается залезть на крышу тут же скинет. Вот решение: Ищем в моде вот это и удаляем: 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
  22. Здравствуйте, у меня проблема при компиляции в pawno, выдает error 036, помогите пожалуйста, вот, если нужно скрин
  23. После растарта сервера исчезают иконки,но при этом дома есть
×

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

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