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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. 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; } Вот и все дорогие друзья если будут вопросы скайп:Скрины сделаю попозже.Но сделаю обязательно Тему закрываю команда не рабочая и скрипт надо поправлять сегодня поправлю и зново открою тему.
  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

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

    Здравствуйте уважаемые пользователи 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 Все всем спасибо.
  5. Всем привет! В этой теме, я хочу рассказать о скрипте FS GarSys (Динамическая система гаражей). А теперь по подробнее: Создавать гаражи может только RCON администратор Гаражи с вирт.мирами, так что мучений со спавном у вас не возникнет В гараж можно парковать несколько машин (в скрипте можно указать сколько) Спавн в гараже находится в Ангаре, напротив Клуба 8BIT (г.Южный) (его также можно переделать, в скрипте указано где) Всего можно создать 200 гаражей (кол-во также можно поменять на ваше усмотрение, в скрипте указано где) Все файлы с гаражами сохраняются в папку scriptfiles Я не стал его обустраивать, да бы дать разгуляться вашей фантазии. Скриншоты я выложил в архив со скрптом, т.к. их много. Автор скрипта: CidadeNovaRP Перевод и дополнение: Vlad_Dredd скачать
  6. Полазил в модах и нашёл команду на ограбление(если было ,то сорри) Она может подойти к фракции байкерымафиигопники. Приступим Создадим паблик 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); } Всё!Будут вопросы пишите,а если понравилось,то +
  7. Это просто скрипт подкрашивающий линию здоровья. Выложил два варианта, зелёная и синяя подсветка. Для тех кому надоели стандарты, хороший способ внести, бросающееся в глаза изменение, на своём сервере. В архиве сразу два варианта. Помог + с вам:) 1022_-fs-color_level.rar
  8. Скриптовый античит. Особенности: ? 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
  9. 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
  10. Здравствуйте дорогие пользователи 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# если хотите ставьте + Все всем спасибо за внимание. Я никогда не выкладываю уроки не проверив их,так что не говорите,что урок не рабочий.
  11. 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 Автор: Ахе
  12. Нормально написано. Ко всем дефайнам (#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; } Автор: не я!
  13. 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; }
  14. 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
  15. 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; }
  16. Вот выкладываю номера мож кому нить пригадится есле уж взяли ставте + 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, "Этого игрока нет в сети!"); }
  17. Egorcik

    [CMD]VIP Номера

    Держите не забываем ставить ! Ссылка http://rghost.ru/45585086 Помощь по установке: 1.Качаем архив 2.Открываем архив 3.Находим в архиве 2.pwn и открываем 4.Открываем свой мод 5.Добовляем команды которые в 2.pwn ко всем вашим Cкрин Белорусских неморов:
  18. Всем привет вот вам ремень безапосности и шлем! Добовляем ко всем командам! 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); } } }
  19. Ничего писать не буду скачайте все увидете. Закрывает рот за мат. Не откажусь от + xAntiSwear.amx vokzalSF.pwn
  20. Вот рабочий : Вид от руля!!! Если помог ставьте + Firstlook.amx Firstlook.pwn
  21. Вот вылаживаю кто автор не знаю?Но я там не много изменил. Прошу ставить + Radio.amx Radio.pwn
  22. 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)); } //============================================================================== Вот и всё вроде если у вас будут проблемы пишите!
  23. Для начала вам нужно создать объекты открытых и закрытых ворот. Для этого используется функция 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
  24. #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); Подскажите как сделать чтобы жезлом могли пользоваться игроки определенной фракции
  25. 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
×

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

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