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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. Здраствуйте сегодня я вам покажу как сделать красивый эфект фильма при входе. И так приступим , для начало объявим переменые наших полосок new PlayerText:Vxods1[MAX_PLAYERS]; //полоска new PlayerText:Vxods2[MAX_PLAYERS]; //полоска дальше добавим в OnPlayerConnect сам textdraw Vxods1[playerid] = CreatePlayerTextDraw(playerid,0.000000,2.000000,"-");// расположение полоски Vxods2[playerid] = CreatePlayerTextDraw(playerid,1.000000,384.000000,"-");// расположение полоски PlayerTextDrawUseBox(playerid,Vxods1[playerid],1);//бокс PlayerTextDrawBoxColor(playerid,Vxods1[playerid],0x000000ff);// цвет бокса в нашем случий черный PlayerTextDrawTextSize(playerid,Vxods1[playerid],640.000000,7.000000);//размер полоски PlayerTextDrawUseBox(playerid,Vxods2[playerid],1);//бокс PlayerTextDrawBoxColor(playerid,Vxods2[playerid],0x000000ff);// цвет бокса PlayerTextDrawTextSize(playerid,Vxods2[playerid],640.000000,8.000000);//размер полоски PlayerTextDrawAlignment(playerid,Vxods1[playerid],0);// выравнивание текста PlayerTextDrawAlignment(playerid,Vxods2[playerid],0);//выравнивание текста PlayerTextDrawBackgroundColor(playerid,Vxods1[playerid],0x000000ff);// цвет обводки PlayerTextDrawBackgroundColor(playerid,Vxods2[playerid],0x000000ff);// цвет обводки PlayerTextDrawFont(playerid,Vxods1[playerid],3);// Стиль полоски PlayerTextDrawLetterSize(playerid,Vxods1[playerid],2.000000,7.899999);// высота вроде PlayerTextDrawFont(playerid,Vxods2[playerid],3);/ Стиль полоски PlayerTextDrawLetterSize(playerid,Vxods2[playerid],1.000000,8.100000);// высота вроде PlayerTextDrawColor(playerid,Vxods1[playerid],0x000000ff);// цвет PlayerTextDrawColor(playerid,Vxods2[playerid],0x000000ff);// цвет PlayerTextDrawSetOutline(playerid,Vxods1[playerid],1);// *** PlayerTextDrawSetOutline(playerid,Vxods2[playerid],1);// *** PlayerTextDrawSetProportional(playerid,Vxods1[playerid],1);// пропорциональность PlayerTextDrawSetProportional(playerid,Vxods2[playerid],1);//пропорциональность PlayerTextDrawSetShadow(playerid,Vxods1[playerid],1); // === PlayerTextDrawSetShadow(playerid,Vxods2[playerid],1);//==== PlayerTextDrawShow(playerid,Vxods1[playerid]);// показуем техдрайв игроку PlayerTextDrawShow(playerid,Vxods2[playerid]);// показуем техдрайв игроку теперь в public OnPlayerSpawn засунем скрытие полосок PlayerTextDrawHide(playerid,Vxods1[playerid]); PlayerTextDrawHide(playerid,Vxods2[playerid]); Вот собственно и всеСкрин вам Автор: Komendant(банан) Время работы: 5 минут Примечание: данный textdraw не пропадет даже с онлайном 100 - 200 спасибо за внимание! Ставьте + если не жалко!
  2. Здравсвуйте уважаемые пользователи gs games я так думаю многие хотят чтобы при регистарции были черные полосы сверху и снизу,как будто эффект фильма.И в этом уроке вы узнаете,как это сделать. Начнем! Ко всем new добавим: new Text:Polosa1; //это- Полоса сверху new Text:Polosa2; //это- полоса снизу Далее в public OnGameModeint добавим вот это: Polosa1 = TextDrawCreate(0.000000,2.000000,"-"); Polosa2 = TextDrawCreate(1.000000,384.000000,"-"); TextDrawUseBox(Polosa1,1); TextDrawBoxColor(Polosa1,0x000000ff); TextDrawTextSize(Polosa1,640.000000,7.000000); TextDrawUseBox(Polosa2,1); TextDrawBoxColor(Polosa2,0x000000ff); TextDrawTextSize(Polosa2,640.000000,8.000000); TextDrawAlignment(Polosa1,0); TextDrawAlignment(Polosa2,0); TextDrawBackgroundColor(Polosa1,0x000000ff); TextDrawBackgroundColor(Polosa2,0x000000ff); TextDrawFont(Polosa1,3); TextDrawLetterSize(Polosa1,2.000000,7.899999); TextDrawFont(Polosa2,3); TextDrawLetterSize(Polosa2,1.000000,8.100000); TextDrawColor(Polosa1,0x000000ff); TextDrawColor(Polosa2,0x000000ff); TextDrawSetOutline(Polosa1,1); TextDrawSetOutline(Polosa2,1); TextDrawSetProportional(Polosa1,1); TextDrawSetProportional(Polosa2,1); TextDrawSetShadow(Polosa1,1); TextDrawSetShadow(Polosa2,1); И последнее в public OnPlayerSpawn добавим TextDrawShowForPlayer(playerid,Polosa1); // показывает верхнюю полосу указанному игроку TextDrawShowForPlayer(playerid,Polosa2); // показывает нижнюю полосу указанному игроку Ну вот и все дорогие друзья. У кого не получается скайп вот вам скрины работы скрипта. Ну вот доказательство я вам представил,что он работает так,что не говорим,что скрипт не работает.
  3. Здравсвуйте Уважаемые пользователи Gs games сегодня я вам покажу,как добавить команду,которая позволяет,заводить дело для законников. Начнем! Ко всем new добавим: new PlayerDelo[MAX_PLAYERS]; new PlayerDeloStr[MAX_PLAYERS]; Потом в public OnPlayerConnect добавим PlayerDelo[playerid]=999; PlayerDeloStr[playerid]=0; Просто добавим ко всем командам вот это: if (strcmp(cmd, "/delo", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1) { if (!PlayerToPoint(3.0, playerid, 234.6752,77.2745,1005.0391)) PlayerInfo[playerid][pLocal] != 255 || PlayerToPoint(3,playerid, 2745.4392,-2453.8701,13.8623)) { SendClientMessage(playerid, COLOR_GRAD2, " Вы не в полицейском участке!"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_GRAD1, "Используйте: /delo [playerid] [действие]"); return 1; } new pl = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)){ SendClientMessage(playerid, COLOR_GRAD1, "Используйте: /delo [playerid] [действие]"); SendClientMessage(playerid, COLOR_GRAD1, "* Действия: открыть / записать / удалить"); return 1; } new nam[32]; GetPlayerName(pl, nam, 32); format(string, 256, "%s.delo", nam); if(strcmp(tmp, "открыть", true)==0) { [color=#ff0000]new str[5][128]; new strii[666]; if(fexist(string)) { new File:f = fopen(string, io_read); if(f) { fread(f, strii); } fclose(f); new ln = strlen(strii); if(ln<=125) { strmid(str[0], strii, 0, ln); } if(ln<=250) { strmid(str[0], strii, 0, 125); strmid(str[1], strii, 125, ln); } if(ln<=375) { strmid(str[0], strii, 0, 125); strmid(str[2], strii, 125, 250); strmid(str[3], strii, 250, ln); } if(ln<=500) { strmid(str[0], strii, 0, 125); strmid(str[3], strii, 125, 250); strmid(str[3], strii, 250, 375); strmid(str[4], strii, 375, ln); } if(ln<=615) { strmid(str[0], strii, 0, 125); strmid(str[4], strii, 125, 250); strmid(str[3], strii, 250, 375); strmid(str[4], strii, 375, 500); strmid(str[4], strii, 500, ln); } format(string, 256, "________ Дело %s ________", nam); SendClientMessage(playerid, COLOR_WHITE, string); format(string, 256, "%s", str[0]); SendClientMessage(playerid, COLOR_WHITE, string); format(string, 256, "* %s", str[1]); SendClientMessage(playerid, COLOR_WHITE, string); format(string, 256, "* %s", str[2]); SendClientMessage(playerid, COLOR_WHITE, string); format(string, 256, "* %s", str[3]); SendClientMessage(playerid, COLOR_WHITE, string); format(string, 256, "* %s", str[4]); SendClientMessage(playerid, COLOR_WHITE, string); format(string, 256, "__________________________________"); SendClientMessage(playerid, COLOR_WHITE, string); } else { SendClientMessage(playerid, COLOR_GRAD1, " Дело не найдено."); return 1; } } else if(strcmp(tmp, "записать", true)==0) { if(fexist(string)) { SendClientMessage(playerid, COLOR_GRAD1, " Дело уже существует, вы будите до записывать его..."); } PlayerDelo[playerid]=pl; SendClientMessage(playerid, COLOR_GRAD1, " Для записи используйте /delow [запись] "); } else if(strcmp(tmp, "удалить", true)==0) { if(!fexist(string)) { SendClientMessage(playerid, COLOR_GRAD1, " Дело не существует."); return 1; } fremove(string); SendClientMessage(playerid, COLOR_GRAD1, " Дело удалено... "); PlayerDelo[playerid]=0; PlayerDeloStr[playerid]=0; } } else { SendClientMessage(playerid, COLOR_GRAD1, " Вы не коп "); } } return 1; } координаты поменяте,там,где у вас находится полицейский учаток в г.Южный ну или где хотите. if (!PlayerToPoint(3.0, playerid, 234.6752,77.2745,1005.0391)) Далее добавим 2 ую команду. if (strcmp(cmd, "/delow", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pMember]==1 || PlayerInfo[playerid][pLeader]==1 && PlayerDelo[playerid]!=999) { PlayerInfo[playerid][pLocal] != 255 || PlayerToPoint(3,playerid, 2745.4392,-2453.8701,13.8623)) if (!PlayerToPoint(3.0, playerid, 236.3610,71.7131,1005.0391)) { SendClientMessage(playerid, COLOR_GRAD2, " Вы не в полицейском участке!"); return 1; } new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[666]; 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, "Используйте: /delow [запись]"); return 1; } new namee[32]; new stri[256]; GetPlayerName(PlayerDelo[playerid], namee, 32); format(string, 256, "%s.delo", namee); if(!fexist(string)) { new File:f = fopen(string, io_write); format(stri, 1024, "* %s", result); fwrite(f, stri); fclose(f); PlayerDelo[playerid]=999; } else { new File:f = fopen(string, io_append); format(stri, 1024, " %s", result); fwrite(f, stri); fclose(f); PlayerDelo[playerid]=999; } SendClientMessage(playerid, COLOR_GRAD1, " Строка записана "); } else { SendClientMessage(playerid, COLOR_GRAD1, " Вы не коп "); } } return 1; }[/color] [color=#ff0000] Ну в этой команде тоже надо поменять координаты.А именно вот тут. if (!PlayerToPoint(3.0, playerid, 236.3610,71.7131,1005.0391)) Ну вот и все дорогие друзья.Все все спасибо за просмотр. А чуть не забыл в scriptfiles сздайте папку delo.ini У кого не получается в скайп respect123321123321 Вот даже не поленился сделал для вас скрины работы этого скрипта: Для полной удобности сделайте пикап и 3d текст завести /delo так что не говорите,что скрипт не рабочий. Еще раз у кого не получается звоните мне в скайп - respect123321123321
  4. Alexey_Ovchinnickov

    Техосмотр для машин()

    Сег8одня я вас научу делать техосмотр для машин. Начнем! Ко всем forwardam добавим: forward Tehocmotp(playerid); forward Tehosmotr(playerid); Далее ко всем new добавим: new tehosmotr; Далее добавим в public GameModeExitFunc вот это: KillTimer(tehosmotr); далее в public OnGameModeInit добавим: tehosmotr = SetTimer("Tehosmotr",700000,1); Create3DTextLabel("ТехОсмотр /teh что бы пройти его",COLOR_BLUE,1541.4419,-1611.5258,14.7806,40.0,0,1);// координаты на свои меняем Create3DTextLabel("{ff0000}_______________________________",COLOR_WHITE,1541.4419,-1611.5258,14.7806,40.0,0,1);//координаты меняем на свои. В enum pInfo добавим: pTeh, Далее делаем сохранение: В public OnPlayerRegister добавим: ini_setInteger(File,"Teh",PlayerInfo[playerid][pTeh]); Далее добавим в OnPlayerSave ini_setInteger(File,"Teh",PlayerInfo[playerid][pTeh]); И добавим в public OnPlayerLogin вот это ini_getInteger(File,"Teh",PlayerInfo[playerid][pTeh]); в команду /carpass что бы копы видели пройден или нет format(textcar,sizeof(textcar),"ТехОсмотр: %d",PlayerInfo[playerid][pTeh]); SendClientMessage(playerid,0xC0E1EEFF, textcar); Теперь ко всем командам добавим вот это: if(strcmp(cmd, "/teh", true) == 0) { if(IsPlayerConnected(playerid)) { if(gPlayerLogged[playerid] == true) { if(!PlayerToPoint(3.0, playerid,1541.4419,-1611.5258,14.7806)) return SendClientMessage(playerid,COLOR_WHITE,"{03c03c}Вы не можите пройти техосмотр тут!"); if(caridhouse[ChosenPlayer[playerid]] == 0) return SendClientMessage(playerid, COLOR_GREY, "Вы должны быть на своей машине!"); if(PlayerInfo[playerid][pCash] < 1000) return SendClientMessage(playerid, COLOR_WHITE," У вас нету денег чтобы пройти техосмотр!"); if(PlayerInfo[playerid][pTeh] == 1) return SendClientMessage(playerid, COLOR_GREY, "Вы уже прошли техосмотр!"); SendClientMessage(playerid, COLOR_WHITE, " Пожалуйста подождите идёт техосмотр! "); SetTimerEx("Tehocmotp",11000,false, "i", playerid); TogglePlayerControllable(playerid, 0); GiveMoney(playerid,-1000); GameTextForPlayer(playerid, "~r~-1000$", 5000, 1); } } return 1; } И в конец мода: public Tehocmotp(playerid) { if(IsPlayerConnected(playerid)) { new Float:x,Float:y,Float:z,Float:ang; new v = GetPlayerVehicleID(playerid); SendClientMessage(playerid, COLOR_WHITE, " Вы успешно прошли технический осмотр транспорта! "); PlayerInfo[playerid][pTeh] = 1; GetVehiclePos(v,x,y,z); GetVehicleZAngle(v,ang); SetVehicleToRespawn(v); SetVehiclePos(v,x,y,z); PutPlayerInVehicle(playerid,v,0); SetVehicleZAngle(v,ang); TogglePlayerControllable(playerid, 1); } return 1; } public Tehosmotr(playerid) { SendClientMessage(playerid, COLOR_GREEN, "Пройдите ТехОсмотр!"); PlayerInfo[playerid][pTeh] = 0; } Вот и все дорогие друзья если будут вопросы скайп:Скрины сделаю попозже.Но сделаю обязательно Тему закрываю команда не рабочая и скрипт надо поправлять сегодня поправлю и зново открою тему.
  5. Alexey_Ovchinnickov

    Анимации в диологе

    Здравствуйте уважаемые пользователи gs games решил выложить список анимаций в диологе и так начнем! Сначало добавим ко всем командам вот это: if(strcmp("/animList", cmdtext, true, 10) == 0) { ShowPlayerDialog(playerid, 2008, DIALOG_STYLE_LIST, "Анимации", "[1] Заводной\n[2] Медленный\n[3] Стриптиз\n[4] Руки вверх\n[5] Сесть\n[6] Встать\n[7- Замереть\n[8] Смирно\n[9] Рукопожатие\n[10] Привет кулаками\n[11] Пузом в пузо\n[12] Стоять\n[13] Читать рэп\n[14] Facepalm\n[15] Встать на колени\n[16] Крэк (сидеть)\n[17] Спать\n[18] Сидеть\n[19] Стоять на руках\n[20] Dealer\n[21] Гопник\n[22] Лежать", "Выбрать", "Отмена"); return 1; } Ну а далее создадим диолог с анимацией: if(dialogid == 1) { if(response) { if(listitem == 0) { SetPlayerSpecialAction(playerid, 5); PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0); return 1; } else if(listitem == 1) { ApplyAnimation(playerid, "DANCING", "DAN_Loop_A", 4.0999, 0, 1, 1, 1, 1, 1); PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0); return 1; } else if(listitem == 2) { SetPlayerSpecialAction (playerid, SPECIAL_ACTION_DANCE4); PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0); return 1; } else if(listitem == 3) { SetPlayerSpecialAction(playerid, 10); return 1; } else if(listitem == 4) { ApplyAnimation(playerid, "Attractors", "Stepsit_in", 4.0999, 0, 1, 1, 1, 1, 0); PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0); return 1; } else if(listitem == 5) { ApplyAnimation(playerid, "Attractors", "Stepsit_out", 4.0999, 0, 1, 1, 1, 1, 0); PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0); return 1; } else if(listitem == 6) { ApplyAnimation(playerid, "FOOD", "SHP_Tray_Lift_Out", 4.0999, 0, 1, 1, 1, 1, 0); PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0); return 1; } else if(listitem == 7) { ApplyAnimation(playerid, "FOOD", "SHP_Tray_Out", 4.0999, 0, 1, 1, 1, 1, 0); PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0); return 1; } else if(listitem == 8) { ApplyAnimation(playerid, "GANGS", "hndshkca", 4.0999, 0, 1, 1, 1, 1, 0); PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0); return 1; } else if(listitem == 9) { ApplyAnimation(playerid, "GANGS", "hndshkda", 4.0999, 0, 1, 1, 1, 1, 0); PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0); return 1; } else if(listitem == 10) { ApplyAnimation(playerid, "GANGS", "hndshkea", 4.0999, 0, 1, 1, 1, 1, 0); return 1; } else if(listitem == 11) { ApplyAnimation(playerid, "GANGS", "leanIN", 4.0999, 0, 1, 1, 1, 1, 0); SetPlayerChatBubble(playerid,"зивает",COLOR_PURPLE,30.0,10000); return 1; } else if(listitem == 12) { ApplyAnimation(playerid, "GANGS", "prtial_gngtlkB", 4.0999, 0, 1, 1, 1, 1, 0); return 1; } else if(listitem == 13) { ApplyAnimation(playerid, "OTB", "wtchrace_lose", 4.0999, 0, 1, 1, 1, 1, 0); return 1; } else if(listitem == 14) { ApplyAnimation(playerid, "COP_AMBIENT", "Copbrowse_shake", 4.0999, 0, 1, 1, 1, 1, 0); return 1; } else if(listitem == 15) { ApplyAnimation(playerid, "CRACK", "crckidle1", 4.0999, 0, 1, 1, 1, 1, 0); return 1; } else if(listitem == 16) { ApplyAnimation(playerid, "CRACK", "crckidle2", 4.0999, 0, 1, 1, 1, 1, 0); return 1; } else if(listitem == 17) { ApplyAnimation(playerid, "JST_BUISNESS", "girl_02", 4.0999, 0, 1, 1, 1, 1, 0); return 1; } else if(listitem == 18) { ApplyAnimation(playerid, "DAM_JUMP", "DAM_Dive_Loop", 4.0999, 0, 1, 1, 1, 1, 0); return 1; } else if(listitem == 19) { ApplyAnimation(playerid, "DEALER", "DEALER_IDLE", 4.0999, 0, 1, 1, 1, 1, 0); } else if(listitem == 20) { ApplyAnimation(playerid, "TATTOOS", "TAT_ArmL_Out_T", 4.0999, 0, 1, 1, 1, 1, 0); return 1; } else if(listitem == 21) { ApplyAnimation(playerid,"BEACH","Lay_Bac_Loop",4.1,0,1,1,1,1); return 1; } else if(listitem == 22) { ApplyAnimation( playerid, "DEALER", "DRUGS_BUY", 4.1, 1, 1, 1, 1, 1 ,1); return 1; } else if(listitem == 23) { ApplyAnimation( playerid, "RYDER", "RYD_Die_PT1", 4.1, 1, 1, 1, 1, 1 ,1); return 1; } else if(listitem == 24) { ApplyAnimation(playerid,"PED","SEAT_down", 4.1, 0, 0, 0, 0, 0 ,1); return 1; } } else { return 1; } } Ну вот и все дорогие друзья если помог ставьте +Автор:Kyller Отредактировал: LiMOH Все всем спасибо.
  6. Egorcik

    [CMD]VIP Номера

    Держите не забываем ставить ! Ссылка http://rghost.ru/45585086 Помощь по установке: 1.Качаем архив 2.Открываем архив 3.Находим в архиве 2.pwn и открываем 4.Открываем свой мод 5.Добовляем команды которые в 2.pwn ко всем вашим Cкрин Белорусских неморов:
  7. Здравствуйте дорогие пользователи gs games,сегодня я вам покажу,как сделать систему ранений для rp серверов. Начнем! Ко всем forward-ам добавим: forward Injured(playerid); Далее создаем public конечно его можно создать,где угодно,но я рекомендую создавать новые public-и в конце gamemod-а public Injured(playerid) //Таймер { if(IsPlayerConnected(playerid)) { ClearAnimations(playerid); TogglePlayerControllable(playerid, 1); } return 1; } Далее идем в public OnPlayerKeyStateChange:и вставляем туда вот это: public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if( ((oldkeys & KEY_FIRE) && !(newkeys & KEY_FIRE)) || ((newkeys & KEY_FIRE) && !(oldkeys & KEY_FIRE)) || (newkeys & KEY_FIRE) ) { for(new target = 0; target < GetMaxPlayers(); target++) { if(IsPlayerConnected(target) && playerid != target && !IsPlayerNPC(target)) { if(IsPlayerAiming(playerid, target)) { if(GetPlayerWeapon(playerid) >= 22 && GetPlayerWeapon(playerid) != 43) { if(IsPlayerInAnyVehicle(target) ) return 0; new rand = random(2); switch(rand) { case 1: { TogglePlayerControllable(target, 0); ApplyAnimation(target,"PED","KO_shot_stom",4.1,0,0,0,1,0); SetTimerEx("Injured", 5000 , 0, "d",target); } } } return 1; } } } } return 1; } Если нету public-а,то создайте сами. Далее вставим вот это в конец мода. stock IsPlayerAiming(playerid, aimid) { new Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2; GetPlayerPos(playerid, X1, Y1, Z1); GetPlayerPos(aimid, X2, Y2, Z2); new Float:Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2)); if(Distance < 500) { new Float:A; GetPlayerFacingAngle(playerid, A); X1 += (Distance * floatsin(-A, degrees)); Y1 += (Distance * floatcos(-A, degrees)); Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2)); if(Distance < 0.5) return true; } return false; } Ну вот и все.Урок закончен. Автора- я незнаю. А кто вырезал систему мне известно это - ^P.a.N.a.M.a# если хотите ставьте + Все всем спасибо за внимание. Я никогда не выкладываю уроки не проверив их,так что не говорите,что урок не рабочий.
  8. Всем привет! В этой теме, я хочу рассказать о скрипте FS GarSys (Динамическая система гаражей). А теперь по подробнее: Создавать гаражи может только RCON администратор Гаражи с вирт.мирами, так что мучений со спавном у вас не возникнет В гараж можно парковать несколько машин (в скрипте можно указать сколько) Спавн в гараже находится в Ангаре, напротив Клуба 8BIT (г.Южный) (его также можно переделать, в скрипте указано где) Всего можно создать 200 гаражей (кол-во также можно поменять на ваше усмотрение, в скрипте указано где) Все файлы с гаражами сохраняются в папку scriptfiles Я не стал его обустраивать, да бы дать разгуляться вашей фантазии. Скриншоты я выложил в архив со скрптом, т.к. их много. Автор скрипта: CidadeNovaRP Перевод и дополнение: Vlad_Dredd скачать
  9. Вот рабочий : Вид от руля!!! Если помог ставьте + Firstlook.amx Firstlook.pwn
  10. Полазил в модах и нашёл команду на ограбление(если было ,то сорри) Она может подойти к фракции байкерымафиигопники. Приступим Создадим паблик forward Pay(string[]); Далее в public OnPlayerCommandText добавим саму команду else if(strcmp(cmd, "/ograb", true) == 0) { if(PlayerInfo[playerid][pJailed] { if (PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pLeader] == 17) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /ograb [id] [сумма]"); giveplayerid = ReturnUser(tmp); tmp = strtok(cmdtext, idx); new Float:health; GetPlayerHealth(giveplayerid,health); if(health { if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD1, "::: Введите: /ograb [id] [сумма]"); moneys = strval(tmp); if(moneys > 0 && PlayerInfo[playerid][pLevel] if(moneys 100000) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя передать меньше $1 и больше $99999."); if (IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if (ProxDetectorS(1.0, playerid, giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); playermoney = GetPlayerMoney(giveplayerid); if (moneys > 0 && playermoney >= moneys) { PlayerInfo[giveplayerid][pCash] -= moneys; PlayerInfo[playerid][pCash] += moneys; format(string, sizeof(string), "Вы ограбили %s[%d], %d вирт.", giveplayer,giveplayerid, moneys); PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); SendClientMessage(playerid, COLOR_GRAD1, string); format(string, sizeof(string), "Вы были ограблены на %d вирт байкером %s[%d].", moneys, sendername, playerid); SendClientMessage(giveplayerid, COLOR_GRAD1, string); format(string, sizeof(string), " - [1] Nick %s Ograbik = %d | [2] Nick: %s Ograbili na =%dn", sendername, moneys, giveplayer,moneys); Pay(string); if(moneys >= 1000000) { ABroadCast(COLOR_YELLOW,string,1); } PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0); format(string,sizeof(string), "Ограбил %s",giveplayer); SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000); } else { SendClientMessage(playerid, COLOR_GRAD1, "У игрока нет столько денег"); } } else { SendClientMessage(playerid, COLOR_GRAD1, "Вы слишком далеко."); } }//invalid id } else { SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Человек не найден!"); } } else { SendClientMessage(playerid, COLOR_GRAD1, "Вы должны избить игрока до полусмерти"); } } else { SendClientMessage(playerid, COLOR_GRAD1, "Вы не байкер!"); } } return 1; } И в конец мода паблик,который мы создавали public Pay(string[]) { new entry[256]; format(entry, sizeof(entry), "%sn",string); new File:hFile; hFile = fopen("logs/logi.log", io_append); fwrite(hFile, entry); fclose(hFile); } Всё!Будут вопросы пишите,а если понравилось,то +
  11. Представляю вашему вниманию систему гаражей,создаётся она по команде.Есть интерьер гаража,гараж конечно же можно покупать. Автор: Exclusive :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: http://rghost.ru/41391739 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  12. BroKlays

    Поворотники

    Сегодня я расскажу вам о создании поворотников 1)Для начала заведём переменную для объектов наших поворотников Ко всем new new Blink[MAX_VEHICLES][4]; // Обьекты для поворотников 2)Теперь сделаем конструкцию enum для поворотников enum VehControl { vLeftBlink, vRightBlink, } new VehInfo[MAX_VEHICLES][VehControl]; 3)Теперь надо сделать "убивание" поворотников на случай, если авто зафиксятВ public OnVehicleSpawn(vehicleid) DestroyObject(Blink[vehicleid][0]); DestroyObject(Blink[vehicleid][1]); VehInfo[vehicleid][vRightBlink] = 0; DestroyObject(Blink[vehicleid][2]); DestroyObject(Blink[vehicleid][3]); VehInfo[vehicleid][vLeftBlink] = 0; 4)Теперь делаем поворотники по нажатию клавиш Q и EВ public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) if(newkeys&64) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if(VehInfo[v][vRightBlink] == 0) { Blink[v][0] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0,0.0,100.0);//правый передний Blink[v][1] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,100.0);//правый задний AttachObjectToVehicle(Blink[v][0], v, 0.9, 2.5, 0.1, 0.0, 0.0, 0.0);//правый передний AttachObjectToVehicle(Blink[v][1], v, 0.9, -2.7, 0.1, 0.0, 0.0, 0.0);//правый задний VehInfo[v][vRightBlink] = 1; } else if(VehInfo[v][vRightBlink] == 1) { DestroyObject(Blink[v][0]); DestroyObject(Blink[v][1]); VehInfo[v][vRightBlink] = 0; } } } if(newkeys&256) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if(VehInfo[v][vLeftBlink] == 0) { Blink[v][2] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0,0.0, 0.0,100.0);//левыый передний Blink[v][3] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0,0.0, 0.0,100.0);//левыый задний AttachObjectToVehicle(Blink[v][2], v, -0.9, 2.5, 0.1, 0.0, 0.0, 0.0);//левыый передний AttachObjectToVehicle(Blink[v][3], v, -0.9, -2.7, 0.1, 0.0, 0.0, 0.0);//левыый задний VehInfo[v][vLeftBlink] = 1; } else if(VehInfo[v][vLeftBlink] == 1) { DestroyObject(Blink[v][2]); DestroyObject(Blink[v][3]); VehInfo[v][vLeftBlink] = 0; } } } Вот и всё.
  13. Alexey_Ovchinnickov

    Cистема пенсии.

    Здравствуйте уважаемые пользователи gs games. Cегодня мы с вами попытаемся сделать систему пенсии. Описание системы: Вот вам свеженькая система пенсии. Человек получает пенсию при PayDay, если работает в организации и проживание в штате более 10 лет. Пенсия начисляется и сохраняется, снять ее можно в банке на кассе получения пенсии Начнем! В enum pInfo добавим pPensiya, pCash, Далее добавим в public OnGameModeInit Create3DTextLabel("{F7FF00}КАССА ПОЛУЧЕНИЯ ПЕНСИИnn{00D900}Нажмите: "ALT"n{FFFFFF}илиn{6495ED}Введите: /pensiya",0xFFFFFFFF,2317.1506,-7.3224,27.8161,15.0,0,0);//Координаты поменяйте на банк г.Южного далее добавим в public PayDay if(PlayerInfo[i][pMember] != 0 && PlayerInfo[i][pLevel] >= 10) { SendClientMessage(i, 0xFF8C37AA, "Вам начислена пенсия. Получить ее можно в банке"); PlayerInfo[i][pPensiya] += 1; } Далее в public OnPlayerRegister добавим ini_setInteger(File,"Pensiya",PlayerInfo[playerid][pPensiya]); Еще добавим в public OnPlayerUpdate ini_setInteger(File,"Pensiya",PlayerInfo[playerid][pPensiya]); Теперь в public OnPlayerLogin добавим: ini_getInteger(File,"Pensiya",PlayerInfo[playerid][pPensiya]); Ну а теперь добавим команду ее кидаем в public OnPlayerCommandText: if(strcmp(cmdtext, "/pensiya", true) == 0) { if(!PlayerToPoint(2.0,playerid,2316.6023,-7.2965,26.7422)) return true;//Координаты поменяйте на банк г.Южный if(PlayerInfo[playerid][pPensiya] == 0) return ShowPlayerDialog(playerid,6703,DIALOG_STYLE_MSGBOX ,"{15FF00}БАНК","{FF0000}На вашем пенсионном счете нет пенсии!","ОК",""); ApplyAnimation(playerid,"CRIB","CRIB_Use_Switch",4.0,0,0,0,0,0); PlayerInfo[playerid][pCash] += PlayerInfo[playerid][pPensiya]*350; format(string, sizeof(string), "Вы получили пенсию: {F7FF00}%d вирт", PlayerInfo[playerid][pPensiya]*350); ShowPlayerDialog(playerid,6703,DIALOG_STYLE_MSGBOX ,"{15FF00}БАНК",string,"ОК",""); PlayerInfo[playerid][pPensiya] = 0; } Далее добавим в public OnPlayerKeyStateChange: if(newkeys == 1024) OnPlayerCommandText(playerid, "/pensiya"); Для сохранение пенсии нужен инклуд MxIni Все всем спасибо.Урок закончен Будут проблемы обращяйтесь в скайп respect123321123321
  14. Alexey_Ovchinnickov

    Вести за собой.

    Этот урок по добавлению конвоя на сервер.Я уже видел команды тянуть за собой ну он как бы телепортирует к себе.А здесь человек взятый под коновой будет идти следом. Не забываем ставить + Начнем! Ко всем new добавляем: new FollowBy[MAX_PLAYERSS]; new TimerForPlayer[MAX_PLAYERSS]; Ко всем define добавим: #define MAX_PLAYERSS 330 В public OnPlayerConnect добавим: TimerForPlayer[playerid] = MAX_PLAYERSS; FollowBy[playerid] = MAX_PLAYERSS; SetPVarInt(playerid, "TempFollowBy", -1); В public OnPlayerDeath добавим: new GotPVar = GetPVarInt(playerid, "TempFollowBy"); if(FollowBy[playerid] != MAX_PLAYERSS) { SetPVarInt(FollowBy[playerid], "TempFollowBy", -1); KillTimer(TimerForPlayer[playerid]); SendClientMessage(FollowBy[playerid], COLOR_LIGHTBLUE, "Aao caee??aiiue i??o"); TimerForPlayer[playerid] = MAX_PLAYERSS; FollowBy[playerid] = MAX_PLAYERSS; } else if(GotPVar != -1) { SetPVarInt(playerid, "TempFollowBy", -1); KillTimer(TimerForPlayer[GotPVar]); SendClientMessage(FollowBy[playerid], COLOR_LIGHTBLUE, "Aao eiiaie i??oa. Au naiaiaiu!"); TimerForPlayer[GotPVar] = MAX_PLAYERSS; FollowBy[GotPVar] = MAX_PLAYERSS; } В public OnPlayerSpawn добавим: new GotPVar = GetPVarInt(playerid, "TempFollowBy"); if(FollowBy[playerid] != MAX_PLAYERSS) { SetPVarInt(FollowBy[playerid], "TempFollowBy", -1); KillTimer(TimerForPlayer[playerid]); SendClientMessage(FollowBy[playerid], COLOR_LIGHTBLUE, "Aao caee??aiiue i??o"); TimerForPlayer[playerid] = MAX_PLAYERSS; FollowBy[playerid] = MAX_PLAYERSS; } else if(GotPVar != -1) { SetPVarInt(playerid, "TempFollowBy", -1); KillTimer(TimerForPlayer[GotPVar]); SendClientMessage(FollowBy[playerid], COLOR_LIGHTBLUE, "Aao eiiaie i??oa. Au naiaiaiu!"); TimerForPlayer[GotPVar] = MAX_PLAYERSS; FollowBy[GotPVar] = MAX_PLAYERSS; } В public OnPlayerCommandText добавим: if(strcmp(cmd, "/drag", true) == 0) { new var[255]; var = strtok(cmdtext, idx); if(!strlen(var)) return SendClientMessage(playerid, 0xAA3333AA, "Вы не ввели имя игрока"); new gotplayer = strval(var); if(IsACop(playerid) || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pMember] == 7) { if(playerid == gotplayer) return SendClientMessage(playerid, 0xAA3333AA, "Вы не можите сопровождать самого себя "); else if(!IsPlayerConnected(gotplayer)) return SendClientMessage(playerid, 0xAA3333AA, "Такого игрока нет на сервере"); else if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xAA3333AA, "Вы не можете вести канвой с машины!"); else if(FollowBy[playerid] != MAX_PLAYERSS) return SendClientMessage(playerid, 0xAA3333AA, "Вы не можете взять игрока под канвой, когда сами конвоируетесь!"); else if(IsPlayerInAnyVehicle(gotplayer)) return SendClientMessage(playerid, 0xAA3333AA, "Вы не можете взять под канвой когда игрок в машине!"); new Float: X, Float: Y, Float: Z; GetPlayerPos(gotplayer, X, Y, Z); if(!IsPlayerInRangeOfPoint(playerid, 1.5, X, Y, Z)) return SendClientMessage(playerid, 0xAA3333AA, "Игрок далеко от вас!"); else if(FollowBy[gotplayer] != MAX_PLAYERSS) { //if(FollowBy[gotplayer] != playerid) SetPVarInt(playerid, "TempFollowBy", -1); FollowBy[gotplayer] = MAX_PLAYERSS; KillTimer(TimerForPlayer[gotplayer]); TimerForPlayer[gotplayer] = MAX_PLAYERSS; ClearAnimations(playerid); TogglePlayerControllable(gotplayer, 1); SendClientMessage(playerid, 0x33AA33AA, "Вы успешно установили канвой за игроком!"); return SendClientMessage(gotplayer, 0xFFFF00AA, "С вас был снят канвой!"); } if(GetPVarInt(playerid, "TempFollowBy") != -1) return SendClientMessage(playerid, 0xAA3333AA, "Вы не можете сопровождать больше 2х игроков одновременно!"); FollowBy[gotplayer] = playerid; SetPVarInt(playerid, "TempFollowBy", gotplayer); TimerForPlayer[gotplayer] = SetTimerEx("FollowToPlayer", 1000, 1, "i", gotplayer); SendClientMessage(playerid, 0x33AA33AA, "Вы успешно начали сопровождение этого игрока!"); return SendClientMessage(gotplayer, 0xFFFF00AA, "вас взяли под канвой"); } } И в конец мода вне пабликов вставим: stock SetPlayerToFacePlayer(playerid, targetid) { new Float:pX, Float:pY, Float:pZ, Float:X, Float:Y, Float:Z, Float:ang; if(!IsPlayerConnected(playerid) || !IsPlayerConnected(targetid)) return 0; GetPlayerPos(targetid, X, Y, Z); GetPlayerPos(playerid, pX, pY, pZ); if( Y > pY ) ang = (-acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0); else if( Y < pY && X < pX ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 450.0); else if( Y < pY ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0); if(X > pX) ang = (floatabs(floatabs(ang) + 180.0)); else ang = (floatabs(ang) - 180.0); SetPlayerFacingAngle(playerid, ang); return 0; } forward FollowToPlayer(playerid); public FollowToPlayer(playerid) { static AnimShot[MAX_PLAYERSS]; if(!IsPlayerConnected(FollowBy[playerid])) { KillTimer(TimerForPlayer[playerid]); TimerForPlayer[playerid] = MAX_PLAYERSS; FollowBy[playerid] = MAX_PLAYERSS; TogglePlayerControllable(playerid, 1); ClearAnimations(playerid); AnimShot[playerid] = false; SendClientMessage(playerid, 0xFFFF00AA, "Au naiaiaiu, eiiaie iieeioe na?aa?!"); return 1; } else if(!IsPlayerConnected(playerid)) { SetPVarInt(FollowBy[playerid], "TempFollowBy", -1); KillTimer(TimerForPlayer[playerid]); TimerForPlayer[playerid] = MAX_PLAYERSS; AnimShot[playerid] = false; SendClientMessage(FollowBy[playerid], 0xFFFF00AA, "A?anoiaaiiue iieeioe na?aa?!"); FollowBy[playerid] = MAX_PLAYERSS; return 1; } else if(FollowBy[playerid] == MAX_PLAYERSS) { KillTimer(TimerForPlayer[playerid]); TimerForPlayer[playerid] = MAX_PLAYERSS; AnimShot[playerid] = false; SendClientMessage(playerid, 0xFFFF00AA, "N aaoei eiiaiai i?iecioea aaaa, Au naiaiaiu!"); TogglePlayerControllable(playerid, 1); ClearAnimations(playerid); return 1; } else if(IsPlayerInAnyVehicle(playerid)) { SetPVarInt(FollowBy[playerid], "TempFollowBy", -1); KillTimer(TimerForPlayer[playerid]); TimerForPlayer[playerid] = MAX_PLAYERSS; AnimShot[playerid] = false; SendClientMessage(FollowBy[playerid], 0xFFFF00AA, "Aao caee??aiiue a iaoeia! Eiiaie inoaiiaeai!"); FollowBy[playerid] = MAX_PLAYERSS; return 1; } else if(GetPlayerVirtualWorld(FollowBy[playerid]) != GetPlayerVirtualWorld(playerid) || GetPlayerInterior(FollowBy[playerid]) != GetPlayerInterior(playerid)) { new Float: X, Float: Y, Float: Z; GetPlayerPos(FollowBy[playerid], X, Y, Z); SetPlayerPos(playerid, X, Y, Z); SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(FollowBy[playerid])); SetPlayerInterior(playerid, GetPlayerInterior(FollowBy[playerid])); TogglePlayerControllable(playerid, 0); AnimShot[playerid] = false; return 1; } new Float: GotDistance = GetDistanceBetweenPlayers(playerid, FollowBy[playerid]); if(GotDistance < 0.95) { TogglePlayerControllable(playerid, 0); SetPlayerToFacePlayer(playerid, FollowBy[playerid]); AnimShot[playerid] = false; return 1; } else if(GotDistance > 10.0) { SetPVarInt(FollowBy[playerid], "TempFollowBy", -1); SendClientMessage(FollowBy[playerid], 0xFFFF00AA, "Au ooee neeoeii aaeaei io a?anoiaaiiiai! Eiiaie caeii?ai!"); SendClientMessage(playerid, 0xFFFF00AA, "Aao eiiaie oo?e neeoeii aaeaei, au naiaiaiu!"); TogglePlayerControllable(playerid, 1); ClearAnimations(playerid); KillTimer(TimerForPlayer[playerid]); TimerForPlayer[playerid] = MAX_PLAYERSS; FollowBy[playerid] = MAX_PLAYERSS; return 1; } else { TogglePlayerControllable(playerid, 1); SetPlayerToFacePlayer(playerid, FollowBy[playerid]); ApplyAnimation(playerid, "ped", "WALK_civi", 6.0, 1, 1, 1, 1, 0, 1); } return 1; } Все всем спасибо у кого не получается добавляйтесь в скайп respect123321123321 Автора не знаю Вырезал из мода. Все работает я сам проверял.
  15. Добрый день дорогие пользователи форума! Хотел бы вам представить FS Работы шахтёра,на данный момент очень популярная работа.Багов нету,проверял лично.Всё на 3d текстах,имеются пикапы,ворота на склад автоматические. Автор доработки: DimaCC :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: http://rghost.ru/38675135 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  16. Это просто скрипт подкрашивающий линию здоровья. Выложил два варианта, зелёная и синяя подсветка. Для тех кому надоели стандарты, хороший способ внести, бросающееся в глаза изменение, на своём сервере. В архиве сразу два варианта. Помог + с вам:) 1022_-fs-color_level.rar
  17. Скриптовый античит. Особенности: ? Anti Health Cheat - Античит на жизни ? Anti Money Cheat - Античит на деньги ? Anti Weapon Cheat - Античит не оружие ? Anti Spoofing Cheat - Запрет оружия ? Anti Driveby Cheat - Анти драйвбай ? Anti Fly Cheat - Античит на полёты ? Anti Spawn Killing - Защита от убийств на спауне ? Idle Kicker - Защита от идлов (игроки которые долго стоят на esc) Файл конфигурации (katrina.txt): //если 0 - отключено, если 1 - Кик, если 2 - Бан A-Health 1 A-Cash 0 A-DriveBy 1 A-Inactivity 1 A-BWeapons 1 A-InteriorKill 1 A-SpawnKill 1 A-Spoofing 1 Max-Cash-Increase 20000 DB-Kills 3 Inactive-Period 30 hCheck-Time 15 cCheck-Time 10 Spawn-Kill-Time 10 Max-Spawn-kills 2 //Запрещенное оружие, нужно поставить ИД оружия (-1 = отключено): Weapon1 24 Weapon2 26 Weapon3 32 Weapon4 -1 Weapon5 -1 Weapon6 -1 Weapon7 -1 Weapon8 -1 Команды: ? / khealth - Чтобы запускать и останавливать здоровья анти-чит. ? / kdriveby - Чтобы запускать и останавливать дравбай анти-чит. ? / kcash - Чтобы запускать и останавливать на деньги анти-чит. ? / kweapons - Чтобы запускать и останавливать на оружие анти-чит. ? / kskill – Для кика аз команду /kill ? / kinactive - Для начала и прекращения деятельности "Катрина". ? / krestart - Чтобы перезапустить "Катрина" Анти-чит. ? / kshutdown - Для остановки "Катрина" Анти-Чит. Помог дай + ! :) http://rghost.ru/46125875 пароль 163093
  18. Описание: Эта система зарплаты для модов с 0. Она пойдет как на DM, TDM так и на RP. Ко всем forward's: forward PayDay(); forward UpdateTime(); В public OnGameModeInit(): SetTimer("UpdateTime",1000*60,1);//Таймер.[/b] [b] В конце мода создаем два новых public: public PayDay() { for(new i=0;i<MAX_PLAYERS;i++) //Цыкл проверяет всех игроков { GivePlayerMoney(i,5000); //Выдаем деньги(проверку поставить свою.) SendClientMessage(i,0xFFFFFFAA,"Вы получили зарплату. 5000 вирт."); //Выводим сообщения при зарплате. } return 1; } public UpdateTime() { new hour,minute,second; gettime(hour,minute,second); if(minute == 0) //Зарплата выдается каждый час в 0 минут. { PayDay(); //Вызываем паблик с зарплатой. } return 1; } Вот и все. Автор: Romzes
  19. Представляю вашему вниманию скрипт который добавит к вам на сервер планшетный компьютер. Предупреждаю скрипт написан на иностранном языке. Особенности планшета: - Выглядит реалистично и красиво - Можно сидеть в чате - Можно посмотреть время и дату - Можно посмотреть фотографии - Можно посмотреть погоду и температуру - Можно поиграть в игру - Можно послушать музыку - Есть камера - Есть карта Штата Команда: - /tablet http://rghost.ru/41697589 НЕ ЗАБЫВАЙТЕ СТАВИТЬ +
  20. cars9787

    Команда /autopass

    Не откажусь от +. Автор не я.Но многое изменил. if(strcmp(cmd,"/autopass",true)==0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ISPOLZUY, "Используйте: /autopass [ID/Имя]"); return 1; } if(!IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid, COLOR_GREY, "Вы должны быть в транспортном средстве!"); return 1; } giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if (ProxDetectorS(8.0, playerid, giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); new text1[64]; //============================================================================== GetInitials(playerid); //new carid = GetVID(PlayerInfo[playerid][pCKey]); if(VehicleSystem[GetVID(PlayerInfo[playerid][pCKey])][teh] == 1) { text1 = "Пройден"; } else { text1 = "Не пройден"; } new straxovka[32]; if(VehicleSystem[GetVID(PlayerInfo[playerid][pCKey])][strah] == 1) { straxovka = "Есть"; } else { straxovka = "Нету"; } new toplivo[32]; if(IsADiesel(GetVID(PlayerInfo[playerid][pCKey]))) { toplivo = "Дизельный двигатель"; } else if(IsARegular(GetVID(PlayerInfo[playerid][pCKey]))) { toplivo = "Топливо 92"; } else if(IsAPlus(GetVID(PlayerInfo[playerid][pCKey]))) { toplivo = "Топливо 93"; } else if(IsAPremium(GetVID(PlayerInfo[playerid][pCKey]))) { toplivo = "Топливо 95"; } format(string, sizeof(string), "_________________________________________________"); SendClientMessage(giveplayerid, COLOR_WHITE, string); format(string, sizeof(string), " Паспорт транспортного средства"); SendClientMessage(giveplayerid, COLOR_WHITE, string); format(string, sizeof(string), "{ffffff}Имя владельца: {ee8033}%s {ffffff}.", sendername); SendClientMessage(giveplayerid, COLOR_GREY, string); format(string, sizeof(string), "{ffffff}Тех.осмотр: {ee8033}%s {ffffff}.", text1); SendClientMessage(giveplayerid, COLOR_GREY, string); format(string, sizeof(string), "{ffffff}Страховка: {ee8033}%s {ffffff}.", straxovka); SendClientMessage(giveplayerid, COLOR_GREY, string); format(string, sizeof(string), "{ffffff}Вид топлива(двигателя): {ee8033}%s {ffffff}.", toplivo); SendClientMessage(giveplayerid, COLOR_GREY, string); format(string, sizeof(string), "________________________________________________"); SendClientMessage(giveplayerid, COLOR_WHITE, string); format(string, sizeof(string), "{ee8033}%s {ffffff}пpeдъявляeт вaм паспорт транспортного средства.", sendername); SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "{ffffff}Вы показали паспорт транспортного средства {ee8033}%s {ffffff}.", giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "{ffffff}* {ee8033}%s {ffffff}показывает {ee8033}%s {ffffff}паспорт транспортного средства.", sendername ,giveplayer); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); } else { SendClientMessage(playerid, COLOR_GREY, "Игрок далеко от вас!"); return 1; } } } else { SendClientMessage(playerid, COLOR_GREY, "Игрок не в сети!"); return 1; } } return 1; }
  21. 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; }
  22. 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 - функция выдачи денег } Все урок закончен.Всем спасибо.
  23. 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 Автор: Ахе
  24. Нормально написано. Ко всем дефайнам (#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; } Автор: не я!
  25. 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)); } //============================================================================== Вот и всё вроде если у вас будут проблемы пишите!
×

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

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