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

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

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

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

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

Тип контента


Форумы

  • Информационный раздел
    • Новости портала
    • Команда портала
    • Техническая поддержка
    • Предложения по доработке
    • Приватный форум
  • CRMP 0.3е
    • Помощь по Скриптингу
    • Ошибки
    • Готовые сервера
    • Дополнительные скрипты
    • Мануалы/Уроки
    • Ваши сервера
    • Модификации
    • Поиск
    • Файловый архив
    • Другое
  • CRMP 0.3.7
    • Помощь по Скриптингу
    • Ошибки
    • Готовые сервера
    • Плагины
    • Поиск
    • Документация
  • Моделирование
    • Autodesk 3ds Max
    • Zanoza Modeler
  • Торговая площадка
    • Покупка/Продажа
    • Стол заказов
  • Графика
    • Уроки Photoshop
    • Авторские работы
    • Заказы
    • Всё для Adobe Photoshop
  • Другое
    • Обзоры хостингов
    • Флейм

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

Найдено: 250 результатов

  1. Cоздатель АЭРОФЛОТ! Но от + не откажусь!!! if(strcmp(cmd, "/vipnomer", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ISPOLZUY, "Подсказка: /vipnomer [id] [номер] "); return 1; } new tmpp=ReturnUser(tmp); if(IsPlayerConnected(tmpp)) { if(PlayerInfo[playerid][pAdmin]==1339) { new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[256]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_ISPOLZUY, "Подсказка: /vipnomer [id] [номер] "); return 1; } if(strlen(result) > 20) { SendClientMessage(playerid, COLOR_GREY, " Можно всеголишь 20 цифр!"); return 1; } new nomer = strval(result); if(PlayerInfo[tmpp][pCKey]==0) { SendClientMessage(playerid,COLOR_GREY,"O ea?iea iao ee?iiai aaoiiiaeey!"); return 1; } GetPlayerName(tmpp, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); VehicleSystem[GetVID(PlayerInfo[tmpp][pCKey])][cnumber] = nomer; format(string, sizeof(string), "Aдминистратор %s выдал вам блат номер %s.", giveplayer, result); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "Вы %s дали блат номера %s.", sendername, result); SendClientMessage(tmpp, COLOR_LIGHTBLUE, string); strmid(VehicleSystem[GetCreatorID(GetVID(PlayerInfo[tmpp][pCKey]))][cnumber],result,0,128,128); SaveCar(PlayerInfo[tmpp][pCKey]); carnumb = Create3DTextLabel(VehicleSystem[GetCreatorID(GetVID(PlayerInfo[tmpp][pCKey]))][cnumber], COLOR_YELLOW, 0.0,0.0,0.0,30.0,0,1); Attach3DTextLabelToVehicle(carnumb, GetVID(PlayerInfo[tmpp][pCKey]), 0.0,0.0,1.2); } else { SendClientMessage(playerid, COLOR_GREY, "Вы не админ."); } } else { SendClientMessage(playerid, COLOR_GREY, "Вы не написали [id] или [номер]"); return 1; } return 1; }
  2. Alexey_Ovchinnickov

    Пикап с бонусом

    Часто вижу в разделе вопросы/проблемы темы с вопросами про него,вот распишу,как сделать! Начнем! Во первых ко всем new добавим new pickupbonus; Добавим в public OnGameModeint координаты Пикапа pickupbonus = CreatePickup(1582,23,-2350.8,-152.2,35.3);// (Координаты замените на свои) Обьясню,как заменить координаты на свои в игре встаньте туда,где хотите сделать пикап.В игру прописываем /save и идем по пути Пуск,Открываем персональную папку,там находим мои документы там есть папка Gta San Andreas User Files открываем и там находим тестовой документ saveposition открываем копируем и вставляем туда,где написано координаты замените на свои. Потом идем в public OnPlayerPickUpPickup и вставляем туда вот это else if(pickupid == pickupbonus) { if(PlayerInfo[playerid][pLevel] >= 5) return SendClientMessage(playerid, COLOR_GREY, "Бонус только для новичков"); SendClientMessage(playerid,0xFFFF00AA,"[Информация]: Вы получили бонус!"); PlayerInfo[playerid][pLevel] = 5; // где "5", это уровень. GivePlayerMoney(playerid, 5000); // где 5000 количество денег, а GivePlayerMoney - функция выдачи денег } Все урок закончен.Всем спасибо.
  3. Vadim_Galitskiy

    Textdraw(Дата и время)

    Textdraw времени и даты И так начнём Ко всем new добавим new Text:Datum; new Text:Vrijeme; Ко всем Forwardam forward vsystem(playerid); forward vsysted(playerid); В public OnGameModeInit() //========================================= SetTimer("vsystem",1000,true); [/background][/size][/font][/color] [color=#007700][font=monospace][size=3][background=rgb(248, 248, 248)] Datum = TextDrawCreate(547.000000,11.000000,"--"); TextDrawFont(Datum,1); TextDrawLetterSize(Datum,0.400000,1.800000); TextDrawColor(Datum,0x3a54d6FF); [/background][/size][/font][/color] [color=#007700][font=monospace][size=3][background=rgb(248, 248, 248)] SetTimer("vsystem",1000,true); //======================================== SetTimer("vsysted",1000,true); [/background][/size][/font][/color] [color=#007700][font=monospace][size=3][background=rgb(248, 248, 248)] Vrijeme = TextDrawCreate(547.000000,28.000000,"--"); TextDrawFont(Vrijeme,1); TextDrawLetterSize(Vrijeme,0.400000,1.800000); TextDrawColor(Vrijeme,0x3a54d6FF); [/background][/size][/font][/color] [color=#007700][font=monospace][size=3][background=rgb(248, 248, 248)] SetTimer("vsysted",1000,true); Далее создаём 2 новых паблика public vsystem(playerid) { new string[150],year,month,day; getdate(year, month, day); format(string, sizeof string, "%d|%s%d|%s%d", day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year); TextDrawSetString(Datum, string); } //============================= public vsysted(playerid) { new string[150],hours,minutes,seconds; gettime(hours, minutes, seconds); format(string, sizeof string, "%s%d:%s%d:%s%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (seconds < 10) ? ("0") : (""), seconds); TextDrawSetString(Vrijeme, string); } Потом в public OnPlayerSpawn(playerid) TextDrawShowForPlayer(playerid, Datum); TextDrawShowForPlayer(playerid, Vrijeme); В public OnPlayerDisconnect(playerid, reason) TextDrawHideForPlayer(playerid, Datum); TextDrawHideForPlayer(playerid, Vrijeme); Скрин: http://rghost.ru/45764148.view Автор: Ахе
  4. Нормально написано. Ко всем дефайнам (#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=%d\n",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; } Автор: не я!
  5. tatarin032000

    Тюнинг с доступом

    Срезал с геймера. И так начнем в enum pInfo Добовляем: bool:pDostupTune, К public OnPlayerRename(name[],string[],playerid) Добовляем: format(var, 32, "DostupTune=%dn",PlayerInfo[playerid][pDostupTune]);fwrite(hFile, var); В public OnPlayerRegister(playerid, password[]) Добовляем: format(var, 32, "DostupTune=%dn",PlayerInfo[playerid][pDostupTune]);fwrite(hFile, var); В public OnPlayerUpdate(playerid) Добовляем: format(var, 32, "DostupTune=%dn",PlayerInfo[playerid][pDostupTune]);fwrite(hFile, var); В public OnPlayerLogin(playerid,password[]) Добовляем if( strcmp( key , "DostupTune" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDostupTune] = bool:strval( val ); } Создаем команду //============================================================================== if(strcmp(cmdtext, "/tune",true) == 0) { if(GetRealID(GetPlayerVehicleID(playerid)) != 1) { if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid,0x00FF00AA,"Тюнинг Т.С"); if(PlayerInfo[playerid][pDostupTune] == false) return SendClientMessage(playerid,COLOR_GREY,"Эту команду могут использовать игроки,которые приобрели доступ к тюнингу"); ShowPlayerDialog(playerid,689,DIALOG_STYLE_LIST,"Тюнинг авто","ДискиnГидравликаnАзотn........:::::Споллерa:::::........nDoublenCarbonnGemnSmallnУдалить Споллер!n ©","OK","Отмена"); return true; } } Команда /setstat id 6 1 дает доступ к команде /tune без этого игрок не сможет тюнинговать транспорт //=============================[Изменить статистику]============================ if (strcmp(cmd, "/setstat", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = cmdstrok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "Используйте: /setstat [ид игрока] [код] [значение]"); SendClientMessage(playerid, COLOR_YELLOW, "|1 Респекты |2 Номер телефона"); SendClientMessage(playerid, COLOR_YELLOW, "|3 Скилл Механика |4 Скилл продавца наркотиков |5Банковский cчет 6tun"); return true; } giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { tmp = cmdstrok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "Используйте: /setstat [ид игрока] [код] [значение]"); SendClientMessage(playerid, COLOR_YELLOW, "|1 Респекты |2 Номер телефона"); SendClientMessage(playerid, COLOR_YELLOW, "|3 Скилл Механика |4 Скилл продавца наркотиков |5Банковский cчет | 6tun"); return true; } new stat; stat = strval(tmp); tmp = cmdstrok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "Используйте: /setstat [ид игрока] [код] [значение]"); SendClientMessage(playerid, COLOR_YELLOW, "|1 Респекты |2 Номер телефона"); SendClientMessage(playerid, COLOR_YELLOW, "|3 Скилл Механика |4 Скилл продавца наркотиков |5Банковский cчет 6tun"); return true; } new amount; amount = strval(tmp); if(PlayerInfo[playerid][pAdmin] >= 4) //Лвл администратора { if (dostup[playerid] != 1) { ShowPlayerDialog(playerid,2934,DIALOG_STYLE_INPUT,"Доступ администратора","Введите пароль от административной панели","Ок","Отмена"); return true; } switch (stat) { //------------------------------------------------------------------------------ case 1: { PlayerInfo[giveplayerid][pExp] = amount; format(string, sizeof(string), "Очки уважения(респекты) игрока установлены %d", amount); } //------------------------------------------------------------------------------ case 2: { PlayerInfo[giveplayerid][pPnumber] = amount; format(string, sizeof(string), "Номер телефона игрока теперь %d", amount); } //------------------------------------------------------------------------------ case 3: { PlayerInfo[giveplayerid][pMechSkill] = amount; format(string, sizeof(string), "Скилл механика игрока установлен %d", amount); } //------------------------------------------------------------------------------ case 4: { PlayerInfo[giveplayerid][pDrugsSkill] = amount; format(string, sizeof(string), "Скилл продавца наркотиков игрока установлен %d", amount); } //------------------------------------------------------------------------------ case 5: { PlayerInfo[giveplayerid][pAccount] = amount; format(string, sizeof(string), "Банковский cчет игрока установлен %dр", amount); } //------------------------------------------------------------------------------ case 6: { PlayerInfo[giveplayerid][pDostupTune] = true; SendClientMessage(playerid,COLOR_YELLOW,"Теперь игрок может использовать тюнинг"); } //------------------------------------------------------------------------------ default: { format(string, sizeof(string), "Невозможное значение", amount); } } SendClientMessage(playerid, COLOR_YELLOW, string); } else { SendClientMessage(playerid, COLOR_YELLOW, "У Вас недостаточно прав для того, чтобы использовать эту команду !"); } } } } return true; } и последние создаем диалог //============================================================================== else if(dialogid == 689) { if(response) { new car = GetPlayerVehicleID(playerid); switch(listitem) { case 0: ShowPlayerDialog(playerid,670,DIALOG_STYLE_LIST,"????? ??????","ShadownMeganRimshinenWiresnClassicnTwistnCutternGrovenAtomicnWheelnImportnDollarnTrancenAccessnVirtualnAnabnOffiriadn ","?????","??????"); case 1: { AddVehicleComponent(car, 1087); CarInfo[GetRealID(car)][cHydraulics] = 1087; } case 2: { AddVehicleComponent(car, 1010); CarInfo[GetRealID(car)][cNitro] = 1010; } case 3: { AddVehicleComponent(car, 1010); CarInfo[GetRealID(car)][cNitro] = 1010; } case 4: { AddVehicleComponent(car, 1001); CarInfo[GetRealID(car)][cSpoiler] = 1001; } case 5: { AddVehicleComponent(car, 1003); CarInfo[GetRealID(car)][cSpoiler] = 1003; } case 6: { AddVehicleComponent(car, 1023); CarInfo[GetRealID(car)][cSpoiler] = 1023; } case 7: { AddVehicleComponent(car, 1014); CarInfo[GetRealID(car)][cSpoiler] = 1014; } case 9: { AddVehicleComponent(car, 0); CarInfo[GetRealID(car)][cSpoiler] = 0; } } if(listitem != 0) { SendClientMessage(playerid,COLOR_LIGHTBLUE,"?? ??????? ????????? ?????? ?? ????"); GivePlayerMoney(playerid, 0); } SaveCar(GetRealID(car)); } } //============================================================================== else if(dialogid == 670) { new car = GetPlayerVehicleID(playerid); if(response) { switch(listitem) { case 0: AddVehicleComponent(car, 1073); case 1: AddVehicleComponent(car, 1074); case 2: AddVehicleComponent(car, 1075); case 3: AddVehicleComponent(car, 1076); case 4: AddVehicleComponent(car, 1077); case 5: AddVehicleComponent(car, 1078); case 6: AddVehicleComponent(car, 1079); case 7: AddVehicleComponent(car, 1081); case 8: AddVehicleComponent(car, 1085); case 9: AddVehicleComponent(car, 1080); case 10: AddVehicleComponent(car, 1082); case 11: AddVehicleComponent(car, 1083); case 12: AddVehicleComponent(car, 1084); case 13: AddVehicleComponent(car, 1098); case 14: AddVehicleComponent(car, 1097); case 15: AddVehicleComponent(car, 1096); case 16: AddVehicleComponent(car, 1025); case 17: AddVehicleComponent(car, 0); } CarInfo[GetRealID(car)][cWheels] = GetVehicleComponentInSlot(car, CARMODTYPE_WHEELS); SendClientMessage(playerid,COLOR_LIGHTBLUE,"?? ?????????? ????? ?? ???? ????$"); GivePlayerMoney(playerid, 0); } SaveCar(GetRealID(car)); } //============================================================================== Вот и всё вроде если у вас будут проблемы пишите!
  6. Danil_Russkiy

    Объем....

    Здравствуйте дорогие пользователи данного портала! Хочу представить вам готовое решение: Объём бензобака Начнём: stock GetCarBak(vehicleid) { new model = GetVehicleModel(vehicleid); switch(model) { case 400:return 77; case 401:return 78; case 402:return 75; case 403:return 90; case 404:return 51; case 405:return 65; case 406..408:return 100; case 409:return 66; case 410:return 45; case 411:return 80; case 412:return 55; case 413:return 80; case 414:return 70; case 415:return 60; case 416:return 80; case 417:return 250; case 418:return 50; case 419:return 55; case 420:return 60; case 421:return 60; case 422:return 50; case 423:return 51; case 424:return 60; case 425:return 250; case 426:return 60; case 427..428:return 80; case 429:return 60; case 430:return 150; case 431:return 80; case 432:return 50; case 433:return 80; case 434:return 55; case 436:return 50; case 437:return 80; case 438:return 60; case 439:return 60; case 440:return 65; case 442:return 50; case 443:return 80; case 444:return 50; case 445:return 60; case 446:return 150; case 447:return 250; case 448:return 35; case 451:return 80; case 452..454:return 150; case 455..456:return 80; case 457:return 40; case 458:return 50; case 459:return 80; case 460:return 1; case 461..463:return 70; case 466..467: return 50; case 468:return 70; case 469:return 250; case 470:return 80; case 471:return 40; case 472..473:return 150; case 474..475:return 55; case 476:return 250; case 477:return 60; case 478:return 55; case 479:return 49; case 480:return 60; case 482..483:return 70; case 484:return 150; case 485:return 50; case 486:return 80; case 487..488:return 250; case 489..490:return 60; case 491..492:return 50; case 493:return 150; case 494..495:return 75; case 496:return 70; case 497:return 250; case 498..499:return 60; case 500:return 60; case 502..504:return 70; case 505:return 65; case 506:return 80; case 507:return 50; case 508:return 75; case 511..513:return 250; case 514..515:return 80; case 516..518:return 50; case 519..520:return 250; case 521..523:return 60; case 524:return 80; case 525:return 80; case 526..527:return 50; case 528:return 72; case 529:return 51; case 530:return 45; case 531:return 73; case 532:return 93; case 533:return 64; case 534:return 55; case 535..536:return 65; case 539:return 51; case 540:return 58; case 541:return 78; case 542:return 61; case 543:return 54; case 544:return 86; case 545:return 75; case 546:return 52; case 547:return 52; case 548:return 250; case 549..551:return 50; case 552:return 62; case 553:return 250; case 554:return 60; case 555:return 72; case 556..557:return 80; case 558:return 50; case 559..560:return 70; case 561:return 53; case 562:return 70; case 563:return 250; case 565:return 77; case 566:return 45; case 567:return 53; case 568:return 62; case 571:return 40; case 572:return 55; case 573:return 80; case 574:return 43; case 575:return 65; case 576:return 51; case 577:return 250; case 578:return 75; case 579:return 70; case 580:return 65; case 581:return 40; case 582:return 55; case 583:return 40; case 585:return 50; case 586:return 40; case 587:return 66; case 588:return 50; case 589:return 50; case 592..593:return 250; case 595:return 150; case 596..599:return 61; case 600:return 43; case 601:return 80; case 602..603:return 60; case 604..605:return 50; case 609:return 65; default:return 50; } return 0; } После return идёт объем бензобака автомобиля-мотоцикла. Как использовать и вызывать? Вызывается код очень просто : GetCarBak(vehicleid); Использовать можно в разных случаях, вот например при загрузке безнина, раньше у вас было что то такое: for(new c=0;c<MAX_VEHICLES;c++) { Gas[c] = 100; } Это значит что в каждое авто заправляет 100 литров, а если сделать так: for(new c=0;c<MAX_VEHICLES;c++) { Gas[c] = GetCarBak( c ); } Тогда в каждом авто-мото транспорте будет своё кол-во литров бензобака. Так же не забудьте поставить при заправке проверку ну и можно отобразить на спидометре. Автор: Mike
  7. Mr.DrYou97

    Костёр

    Вот выкладываю скрипт костра.Хорошо подойдёт для РП сервера. if(strcmp(cmd, "/fire", true) == 0) { ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.0,0,0,0,0,0);//Анимация new Float:Pos[3]; GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);//снимаем координаты игрока CreateObject(18689,Pos[0],Pos[1],Pos[2]-2.5,0.0,0.0,90);//создаем обьект - огонь new sendername[MAX_PLAYER_NAME]; GetPlayerName(playerid, sendername, sizeof(sendername));//получаем имя игрока format(string, sizeof(string), "* %s разжигает костер", sendername); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);//выводим в чат сообщение, как при команде /me return 1; }
  8. Вот выкладываю номера мож кому нить пригадится есле уж взяли ставте + if(strcmp(cmd, "/vipnomer", true) == 0) { new str[128]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "Ну бля, че нуб? Кмд: /vipnomer id [номер], еба"); new tmpp=ReturnUser(tmp); if(IsPlayerConnected(tmpp)) { if(!IsPlayerInAnyVehicle(tmpp)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "*Игрок не в автомобиле"); new carid = GetPlayerVehicleID(tmpp); if(GetRealID(carid) == -1) return SendClientMessage(playerid, COLOR_GRAD2, "Игрок должен быть в своём автомобиле"); if(strcmp(Name(tmpp),CarInfo[GetRealID(carid)][cOwner],true) != 0) return SendClientMessage(playerid, COLOR_ISPOLZUY, "Автомобиль не пренадлежит игроку"); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) idx++; new offset = idx, result[256]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result) && PlayerInfo[playerid][pAdmin] > 8) { if(!CarLabel[carid]) { } else Delete3DTextLabel(CarLabel[carid]); format(CarInfo[GetRealID(carid)][cNumber],64,"{FF0000}%s{FF0000}%d%d%d{FF0000}%s%s{2641FE}|RUS",randomchar(), random(9), random(9), random(9), randomchar(), randomchar());// CarLabel[carid] = Create3DTextLabel(CarInfo[GetRealID(carid)][cNumber],0xFFFF00FF,0.0,0.0,0.0,40.0,0,1); Attach3DTextLabelToVehicle(CarLabel[carid] , carid , 0.0, 0.0, 1.1); format(str,sizeof(str),"Вам выдали номер %s Админ %s",CarInfo[GetRealID(carid)][cNumber],Name(playerid)); SendClientMessage(tmpp,-1,str); GetPlayerName(playerid, sendername, sizeof(sendername)); SaveCar(GetRealID(carid)); return 1; } else if(PlayerInfo[playerid][pAdmin] > 8) { if(!CarLabel[carid]) { } else Delete3DTextLabel(CarLabel[carid]); format(CarInfo[GetRealID(carid)][cNumber],64,"{FF0000}%s {2641FE}|RUS",result); CarLabel[carid] = Create3DTextLabel(CarInfo[GetRealID(carid)][cNumber],0xFFFF00FF,0.0,0.0,0.0,40.0,0,1); Attach3DTextLabelToVehicle(CarLabel[carid] , carid , 0.0, 0.0, 1.1); format(str,sizeof(str),"Вам выдал блат номер %s Админ %s",CarInfo[GetRealID(carid)][cNumber],Name(playerid)); SendClientMessage(tmpp,-1,str); SaveCar(GetRealID(carid)); return 1; } else return SendClientMessage(playerid, COLOR_GRAD1, "Нет прав"); } else return SendClientMessage(playerid, COLOR_GRAD1, "Этого игрока нет в сети!"); } //============================================================================== if(strcmp(cmd, "/vipnomerua", true) == 0) { new str[128]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "Кмд: /vipnomerua id [номер]"); new tmpp=ReturnUser(tmp); if(IsPlayerConnected(tmpp)) { if(!IsPlayerInAnyVehicle(tmpp)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "*Игрок не в автомобиле"); new carid = GetPlayerVehicleID(tmpp); if(GetRealID(carid) == -1) return SendClientMessage(playerid, COLOR_GRAD2, "Игрок должен быть в своём автомобиле"); if(strcmp(Name(tmpp),CarInfo[GetRealID(carid)][cOwner],true) != 0) return SendClientMessage(playerid, COLOR_ISPOLZUY, "Автомобиль не пренадлежит игроку"); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) idx++; new offset = idx, result[256]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result) && PlayerInfo[playerid][pAdmin] > 8) { if(!CarLabel[carid]) { } else Delete3DTextLabel(CarLabel[carid]); format(CarInfo[GetRealID(carid)][cNumber],64,"{33CCFF}%s{33CCFF}%d%d%d{33CCFF}%s%s{FFFF00}|UA",randomchar(), random(9), random(9), random(9), randomchar(), randomchar());// CarLabel[carid] = Create3DTextLabel(CarInfo[GetRealID(carid)][cNumber],0xFFFF00FF,0.0,0.0,0.0,40.0,0,1); Attach3DTextLabelToVehicle(CarLabel[carid] , carid , 0.0, 0.0, 1.1); format(str,sizeof(str),"Вам выдали номер %s Админ %s",CarInfo[GetRealID(carid)][cNumber],Name(playerid)); SendClientMessage(tmpp,-1,str); GetPlayerName(playerid, sendername, sizeof(sendername)); SaveCar(GetRealID(carid)); return 1; } else if(PlayerInfo[playerid][pAdmin] > 8) { if(!CarLabel[carid]) { } else Delete3DTextLabel(CarLabel[carid]); format(CarInfo[GetRealID(carid)][cNumber],64,"{33CCFF}%s {FFFF00}|UA",result); CarLabel[carid] = Create3DTextLabel(CarInfo[GetRealID(carid)][cNumber],0xFFFF00FF,0.0,0.0,0.0,40.0,0,1); Attach3DTextLabelToVehicle(CarLabel[carid] , carid , 0.0, 0.0, 1.1); format(str,sizeof(str),"Вам выдал блат номер %s Админ %s",CarInfo[GetRealID(carid)][cNumber],Name(playerid)); SendClientMessage(tmpp,-1,str); SaveCar(GetRealID(carid)); return 1; } else return SendClientMessage(playerid, COLOR_GRAD1, "Нет прав"); } else return SendClientMessage(playerid, COLOR_GRAD1, "Этого игрока нет в сети!"); } if(strcmp(cmd, "/vipnomer", true) == 0) { new str[128]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "Ну бля, че нуб? Кмд: /vipnomer id [номер], еба"); new tmpp=ReturnUser(tmp); if(IsPlayerConnected(tmpp)) { if(!IsPlayerInAnyVehicle(tmpp)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "*Игрок не в автомобиле"); new carid = GetPlayerVehicleID(tmpp); if(GetRealID(carid) == -1) return SendClientMessage(playerid, COLOR_GRAD2, "Игрок должен быть в своём автомобиле"); if(strcmp(Name(tmpp),CarInfo[GetRealID(carid)][cOwner],true) != 0) return SendClientMessage(playerid, COLOR_ISPOLZUY, "Автомобиль не пренадлежит игроку"); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) idx++; new offset = idx, result[256]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result) && PlayerInfo[playerid][pAdmin] > 8) { if(!CarLabel[carid]) { } else Delete3DTextLabel(CarLabel[carid]); format(CarInfo[GetRealID(carid)][cNumber],64,"{FF0000}%s{FF0000}%d%d%d{FF0000}%s%s{2641FE}|RUS",randomchar(), random(9), random(9), random(9), randomchar(), randomchar());// CarLabel[carid] = Create3DTextLabel(CarInfo[GetRealID(carid)][cNumber],0xFFFF00FF,0.0,0.0,0.0,40.0,0,1); Attach3DTextLabelToVehicle(CarLabel[carid] , carid , 0.0, 0.0, 1.1); format(str,sizeof(str),"Вам выдали номер %s Админ %s",CarInfo[GetRealID(carid)][cNumber],Name(playerid)); SendClientMessage(tmpp,-1,str); GetPlayerName(playerid, sendername, sizeof(sendername)); SaveCar(GetRealID(carid)); return 1; } else if(PlayerInfo[playerid][pAdmin] > 8) { if(!CarLabel[carid]) { } else Delete3DTextLabel(CarLabel[carid]); format(CarInfo[GetRealID(carid)][cNumber],64,"{FF0000}%s {2641FE}|RUS",result); CarLabel[carid] = Create3DTextLabel(CarInfo[GetRealID(carid)][cNumber],0xFFFF00FF,0.0,0.0,0.0,40.0,0,1); Attach3DTextLabelToVehicle(CarLabel[carid] , carid , 0.0, 0.0, 1.1); format(str,sizeof(str),"Вам выдал блат номер %s Админ %s",CarInfo[GetRealID(carid)][cNumber],Name(playerid)); SendClientMessage(tmpp,-1,str); SaveCar(GetRealID(carid)); return 1; } else return SendClientMessage(playerid, COLOR_GRAD1, "Нет прав"); } else return SendClientMessage(playerid, COLOR_GRAD1, "Этого игрока нет в сети!"); } //============================================================================== if(strcmp(cmd, "/vipnomerua", true) == 0) { new str[128]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "Кмд: /vipnomerua id [номер]"); new tmpp=ReturnUser(tmp); if(IsPlayerConnected(tmpp)) { if(!IsPlayerInAnyVehicle(tmpp)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "*Игрок не в автомобиле"); new carid = GetPlayerVehicleID(tmpp); if(GetRealID(carid) == -1) return SendClientMessage(playerid, COLOR_GRAD2, "Игрок должен быть в своём автомобиле"); if(strcmp(Name(tmpp),CarInfo[GetRealID(carid)][cOwner],true) != 0) return SendClientMessage(playerid, COLOR_ISPOLZUY, "Автомобиль не пренадлежит игроку"); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) idx++; new offset = idx, result[256]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result) && PlayerInfo[playerid][pAdmin] > 8) { if(!CarLabel[carid]) { } else Delete3DTextLabel(CarLabel[carid]); format(CarInfo[GetRealID(carid)][cNumber],64,"{33CCFF}%s{33CCFF}%d%d%d{33CCFF}%s%s{FFFF00}|UA",randomchar(), random(9), random(9), random(9), randomchar(), randomchar());// CarLabel[carid] = Create3DTextLabel(CarInfo[GetRealID(carid)][cNumber],0xFFFF00FF,0.0,0.0,0.0,40.0,0,1); Attach3DTextLabelToVehicle(CarLabel[carid] , carid , 0.0, 0.0, 1.1); format(str,sizeof(str),"Вам выдали номер %s Админ %s",CarInfo[GetRealID(carid)][cNumber],Name(playerid)); SendClientMessage(tmpp,-1,str); GetPlayerName(playerid, sendername, sizeof(sendername)); SaveCar(GetRealID(carid)); return 1; } else if(PlayerInfo[playerid][pAdmin] > 8) { if(!CarLabel[carid]) { } else Delete3DTextLabel(CarLabel[carid]); format(CarInfo[GetRealID(carid)][cNumber],64,"{33CCFF}%s {FFFF00}|UA",result); CarLabel[carid] = Create3DTextLabel(CarInfo[GetRealID(carid)][cNumber],0xFFFF00FF,0.0,0.0,0.0,40.0,0,1); Attach3DTextLabelToVehicle(CarLabel[carid] , carid , 0.0, 0.0, 1.1); format(str,sizeof(str),"Вам выдал блат номер %s Админ %s",CarInfo[GetRealID(carid)][cNumber],Name(playerid)); SendClientMessage(tmpp,-1,str); SaveCar(GetRealID(carid)); return 1; } else return SendClientMessage(playerid, COLOR_GRAD1, "Нет прав"); } else return SendClientMessage(playerid, COLOR_GRAD1, "Этого игрока нет в сети!"); }
  9. Всем привет вот вам ремень безапосности и шлем! Добовляем ко всем командам! if (strcmp(cmd, "/bzp", true) == 0) { if(IsPlayerConnected(playerid)) { if(IsPlayerInAnyVehicle(playerid)) { if(bezopas[playerid] == 0) { GetPlayerName(playerid,sendername,sizeof(sendername)); new tmpcar = GetPlayerVehicleID(playerid); new carrr = GetVehicleModel(tmpcar); new skin = GetPlayerSkin(playerid); new rand = random(sizeof(MotoHelmet)); bezopas[playerid] = carrr; if(carrr >= 400 && carrr <= 447 || carrr >= 450 && carrr <= 460 || carrr == 466 || carrr == 467 || carrr == 469 || carrr == 470 || carrr >= 472 && carrr <= 480 || carrr >= 482 && carrr <= 508 || carrr >= 511 && carrr <= 520 || carrr >= 524 && carrr <= 580 || carrr >= 582 && carrr <= 585 || carrr >= 587 && carrr <= 611) { format(string, sizeof(string), " %s Пристегнул ремень безопасности", sendername); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,0,0); } else if(carrr == 448 || carrr >= 461 && carrr <= 463 || carrr == 468 || carrr == 471 || carrr == 481 || carrr == 501 || carrr == 510 || carrr >= 521 && carrr <= 523 || carrr == 581 || carrr == 586) { if (Helmet[playerid] == 0) { Helmet[playerid] = 1; SetPlayerAttachedObject(playerid, Head, MotoHelmet[rand], 2, HelmetPos[skin][0], HelmetPos[skin][1], HelmetPos[skin][2], HelmetPos[skin][3], HelmetPos[skin][4], HelmetPos[skin][5]); format(string, sizeof(string), " %s Надевает шлем", sendername); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,0,0); } } }
  10. Ничего писать не буду скачайте все увидете. Закрывает рот за мат. Не откажусь от + xAntiSwear.amx vokzalSF.pwn
  11. Вот вылаживаю кто автор не знаю?Но я там не много изменил. Прошу ставить + Radio.amx Radio.pwn
  12. Для начала вам нужно создать объекты открытых и закрытых ворот. Для этого используется функция 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
  13. #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); Подскажите как сделать чтобы жезлом могли пользоваться игроки определенной фракции
  14. 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
  15. Команда,для телепорта по координатам.Хорошо подойдёт,если хотите просмотреть,то или иное местоположение обьекта. 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; }
  16. 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. Все всем пока
  17. Уважаемые пользователи 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 Все всем спасибо.
  18. Итак начнём. Находим public OnPlayerConnect(playerid) И после скобок вставляем вот это : GameTextForPlayer(playerid, "~n~Welcome~n~ ~n~To ~r~ ~r~]RP]Ваш сервер]", 18000, 4); Вот скрин с приветсвием. Автор:Alvaro
  19. 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 мода
  20. 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
  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. Найдем паблик: 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
  23. Это моё первое готовое решение + оформлять темы я умею плохо так что...Пожалуй начнем.Ко всем дефайнам (#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
  24. Хочу выложить систему антибанихопа,она может оказаться полезной для вашего сервера. Как работает? - Когда игрок прыгает более 5и раз то он падает и замораживаеться на 6 секунд. Автор. Неизвестно AntiBannyhop.amx AntiBannyhop.pwn
  25. Господа, Вашему вниманию предлагается скрипт тюнинг-ателье "ГопКар". Реализованы следующие возможности: [*]Ремонт автомобиля; [*]Перекраска автомобиля (с выбором цвета практически как в сингл-плеере); [*]Установка баллонов с закисью азота; [*]Установка колесных дисков; [*]Установка неоновой подсветки; [*]Установка сабвуфера и гидравлической подвески. Скрипт полностью отлажен и работает. Сохранение тюнинга не реализовано ввиду того, что систем авто - очень много, однако могу предложить свои услуги по встраиванию скрипта в Ваш мод. Также ввиду индивидуальных особенностей моделей автомобилей не реализована установка корпусных деталей, дабы не вызывало крэшей у игроков. Автор скрипта - SHOROOP (Alexander Gordon), автор выбора цвета - OKStyle (огромное спасибо за его работу и за скрипт, послуживший частичной основой для выбора цвета). GopCar.rar
×

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

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