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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. Smolin

    Добавляем объект в игру

    На этот раз решил записать видео о том, как правильно добавить объект в игру, для примера я использовал пакет модификации gta_int.img. [media=Исправляем Failed to set for "] [/media] P.S: возможно, в следующей версии выложу урок по созданию пакета модфикации клиентской части.
  2. В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) надо только вставить : if(newkeys & KEY_SPRINT && newkeys & KEY_JUMP && GetPlayerState(playerid) != 2) { ClearAnimations(playerid); ApplyAnimation(playerid, "GYMNASIUM", "gym_jog_falloff",4.1,0,1,1,0,0); } GYMNASIUM", "gym_jog_falloff это анимация , ее можна сменить на свою , у меня он падает , делайте как хотите Автор : kucklovod1998
  3. artem.sholohoff

    Система голода

    Здравствуйте! Приступим: Ко всем new: new FirstSpawn[MAX_PLAYERS]; new Float:spenHealth[MAX_PLAYERS]; К forward: forward NeedHP(playerid); К define: #define hp_time 100000 // время ставите своё #define hp_loss 3 В конец мода: public NeedHP(playerid) { new Float:health; GetPlayerHealth(playerid, health); if(spenHealth[playerid] >= health) { SendClientMessage(playerid,COLOR_RED,"Вы проголодались, Вам нужно поесть что-нибудь!"); SetPlayerHealth(playerid,health-hp_loss); spenHealth[playerid] = health; } else { spenHealth[playerid] = health; } } В OnPlayerSpawn: FirstSpawn[playerid] += 1; new Float:health; GetPlayerHealth(playerid, health); spenHealth[playerid] = health; if(FirstSpawn[playerid] == 1) SetTimerEx("NeedHP",hp_time,1,"i",playerid); Автор: Dimoxa Batler
  4. Хай пипл. Тут один (давно) интересовался, как сделать что бы было две модели авто, но с разными текстурами одновременно. И приводил пример эвакуатора с ОРМа. Ну собственно сам секрет. Используется покрасочная работа- файл с текстурой, которая заменяет только сам "корпус." Крч. Расскажу на примере того же самого эвакуатора (с ОРМ (думаю они не обидятся) ). Имеем 2 файла текстуры - towtruck1.txd & towtruck.txd . В одном все текстуры, а во втором только "корпус". Добавим в мод: new evrik; evrik = AddStaticVehicle(525,-374.4628,662.8626,12.0010,270.4307,3,3); ChangeVehiclePaintjob( evrik, 0 ); new evrik1; evrik1 = AddStaticVehicle(525,-374.3501,648.3397,12.1706,17.6243,3,3); ChangeVehiclePaintjob( evrik1, 1 ); Где ChangeVehiclePaintjob( evrik1, 1 ); ChangeVehiclePaintjob функция смены покраски. evrik1 - объявленная переменная (или хз как её). "1" - id покрасочной работы.
  5. Институт есть в Арзамасе. Автор: Artem_Bandit то есть я. Можно сделать лучше. В команду /invite проставить проверку на получение аттестата. В public OnPlayerCommandText(playerid, cmdtext[]) if(strcmp(cmd, "/testrp", true) == 0) { if(PlayerToPoint(10.0, playerid,Радиус свой)) ShowPlayerDialog(playerid, 2324, DIALOG_STYLE_LIST, "Ваши действия если вас остановит Сотрудник Полиции", "1)Избить\n2)Предоставить права\n3)Сказать:В чем дело\n4)Уехать с место КПК", "Выбрать", "Отмена");//2324 ?????? ?? ???? return 1; } if(strcmp(cmd, "/testmt", true) == 0) { if(PlayerToPoint(10.0, playerid,Радиус свой)) if(PlayerInfo[giveplayerid][pTest] != 1) return SendClientMessage(playerid, -1, "?? ?? ???????? ???????? ?? RolePlay"); ShowPlayerDialog(playerid, 7324, DIALOG_STYLE_LIST, "54X78", "1)8732\n2)4212\n3)4216\n4)2153", "???????", "??????");//2324 ?????? ?? ???? return 1; } В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  6. Donald_Record

    Система урона машины

    Всем привет, сегодня я вам покажу как сделать систему: Урона машины. Автор системы: Y.Jeen В начало мода, ко всем new добавляем: new zavodis[MAX_VEHICLES]; new engine,lights,alarm,doors,bonnet,boot,objective; Создаем public OnVehicleDamageStatusUpdate(vehicleid, playerid) и вставляем функцию: public OnVehicleDamageStatusUpdate(vehicleid, playerid) { { GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(vehicleid,false,lights,alarm,doors,bonnet,boot,objective); zavodis[GetPlayerVehicleID(playerid)] = 0; GameTextForPlayer(playerid, "~r~ENGINE OFF", 5000, 6); } return 1; } При столкновении машина вырубается
  7. Собственно сама тема с конкурсом. Что разыгрывается: 1-е место: Барная стойка, группа VIP и +70 очков к репутации. 2-е место: Группа VIP и +40 очков к репутации. 3-е место: +30 очков к репутации. Кто может участвовать: В конкурсе могу участвовать только зарегистрированные пользователи имеющие группу: Пользователь,Проверенный, Модератор. Пользователь должен иметь минимум 50 сообщений на форуме. В случае, если побеждает человек (первое место) уже имевший VIP статус, он получает: Барную стойку и +100 очков репутации. В случае, если побеждает человек (первое место) имевший группу "Модератор", он получает: Барную стойку и +90 очков репутации. Требования к конкурсу: - Рассказать о форуме себе на страничку ВКонтакте, с помощью кнопочек слева. - В дополнение описать форум своими словами, почему именно мы и чем мы вам интересны. - Далее скинуть в эту тему ссылку на готовый пост. После истечении времени конкурса мы выберем 3-х самых креативных людей. Конкурс продлиться до 01.06.2015 Всем удачи!
  8. #Bazuka

    Система Донат

    Параметры вставляйте свои. Го GO!!! Думаю расписывать нечего не нужно там всё понятно по диалогом Автор: by Artem_Bandit то есть я В public OnPlayerCommandText(playerid, cmdtext[]) if(strcmp(cmd, "/donate", true) == 0) { if(IsPlayerConnected(playerid)) { new co[40]; format(co,sizeof(co),"|Счёт| %d ДО",PlayerlogInfo[playerid][lRezerv]); ShowPlayerDialog(playerid,9000,DIALOG_STYLE_LIST,co,"Купить VIP[150]ДО\nКупить респект's[1]ДО\nКупить деньги[100]ДО\nПередать ДО\nКупить слот[70]ДО\nКупить level[45]ДО\nКупить военный билет[50]ДО\nСнять Warn's[20]ДО\nКупить медицинскую карту[20]ДО\nСнять розыск[15]ДО\nКупить Neon[100]ДО\n[ТС]Купить номер[100]\nКупить категорию B[60]ДО\nОБМЕН $ на ДО","Далее","Отмена"); } return 1; } Далее идет в диалоги,наш диалог 9000 вы можете заменить на свой В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) //============================================================================== if(dialogid == 9000)//админ доступ { if(response) { if(listitem == 0) { new ice[256]; format(ice, sizeof ice, "Вы уверены что хотите купить VIP за {57ff00}150 ДО"); return ShowPlayerDialog(playerid, 9001, DIALOG_STYLE_MSGBOX, "Покупка VIP", ice, "Отмена", "Купить"); } if(listitem == 1) { ShowPlayerDialog(playerid,9002,DIALOG_STYLE_INPUT,"Платёжная система","{ff00ae}2 ДО = 2 респектам,{7fffd4} за респекты можно купить левле\nВведи колличество ДО которые хочешь потратить на респект's","Ок","Отмена"); } if(listitem == 2) { ShowPlayerDialog(playerid,9003,DIALOG_STYLE_INPUT,"Платёжная система","{ff00ae}100 ДО = $100000,{7fffd4}\nВведи колличество ДО которые хочешь потратить на игровые деньги","Ок","Отмена"); } if(listitem == 3) { ShowPlayerDialog(playerid,9004,DIALOG_STYLE_INPUT,"Платёжная система","Введите ID игрока,которому хочешь передать ДО","Ок","Отмена"); return 1; } if(listitem == 4) { new ice[256]; format(ice, sizeof ice, "Вы уверены,что хотите купить 1 слот для бизнеса? {57ff00}За 70 ДО"); return ShowPlayerDialog(playerid, 9007, DIALOG_STYLE_MSGBOX, "Покупка слотов бизнеса", ice, "НЕТ", "Купить"); } if(listitem == 5) { if(PlayerlogInfo[playerid][lRezerv] <= 44) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО");//Если у человека нехватает донат монет то выводим ему сообщение PlayerInfo[playerid][pLevel]++;//Даём +1 к уровню игрока PlayerlogInfo[playerid][lRezerv]-= 45; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам выдали + level"); } if(listitem == 6) { if(PlayerlogInfo[playerid][lRezerv] <= 49) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО");//Если у человека нехватает донат монет то выводим ему сообщение PlayerInfo[playerid][pArmBil] = 1;//Даём +1 к уровню игрока PlayerlogInfo[playerid][lRezerv]-= 50; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам выдали военный билет"); } if(listitem == 7) { if(PlayerlogInfo[playerid][lRezerv] <= 19) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО");//Если у человека нехватает донат монет то выводим ему сообщение PlayerInfo[playerid][pWarns] -= 1;//Даём +1 к уровню игрока PlayerlogInfo[playerid][lRezerv]-= 20; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам сняли один Warn"); } if(listitem == 8) { if(PlayerlogInfo[playerid][lRezerv] <= 19) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО");//Если у человека нехватает донат монет то выводим ему сообщение PlayerInfo[playerid][pMedCard] = 1;//Даём +1 к уровню игрока PlayerlogInfo[playerid][lRezerv]-= 20; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам выдали медицинскую карту"); } if(listitem == 9) { if(PlayerlogInfo[playerid][lRezerv] <= 19) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО");//Если у человека нехватает донат монет то выводим ему сообщение WantedPoints[playerid] = 0; WantedLevel[playerid] = 0; ClearCrime(playerid); PlayerInfo[playerid][pWantedLevel] = 0; SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWantedLevel]); PlayerlogInfo[playerid][lRezerv]-= 20; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам сняли все звезды"); } if(listitem == 10) { SendClientMessage(playerid, COLOR_ORANGERED, "GPS: Покупка {ff0000}Neon показан на карте,езжайте на место за покупкой Neon"); SetPlayerCheckpoint(playerid, 2152.4531,-1852.2424,18.8309,8); CP[playerid] = 0; } if(listitem == 11) { if(PlayerlogInfo[playerid][lRezerv] <= 99) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО"); OnPlayerCommandText(playerid, "/donatenomer"); PlayerlogInfo[playerid][lRezerv]-= 100; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам выдали номер"); } if(listitem == 12) { if(PlayerlogInfo[playerid][lRezerv] <= 59) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО"); PlayerInfo[playerid][pCarLic] = 1; PlayerlogInfo[playerid][lRezerv]-= 60; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам выдали {FF0000}Категорию B"); } if(listitem == 13) { if(PlayerInfo[playerid][pCash] <= 99999) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}Денег"); PlayerlogInfo[playerid][lRezerv] = 5; PlayerInfo[playerid][pCash]-= 100000; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вы обменяли игровую валюту на ДО"); } } return 1; } //============================================================================== if(dialogid == 9001) { if(!response){ if(PlayerlogInfo[playerid][lRezerv] >= 150) { if(PlayerInfo[playerid][pDonateRank] <= 4) { PlayerlogInfo[playerid][lRezerv]-= 150; new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); PlayerInfo[playerid][pDonateRank] = 5; SendClientMessage(playerid, COLOR_GREEN, "Спасибо за покупку!"); if(PlayerInfo[playerid][pVaip] >= 30) { new hour,minuite,second; gettime(hour,minuite,second); new year, month,day; getdate(year, month, day); new ipplayer[32]; GetPlayerIp(playerid,ipplayer,sizeof(ipplayer)); if(!strcmp(PlayerlogInfo[playerid][lDonatper],"none",false)) { format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-150{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка VIP",day,month,year,hour,minuite,second,ipplayer); Savelogplayer(logid,playerid); } else { format(PlayerlogInfo[playerid][lDonatper10] ,512, PlayerlogInfo[playerid][lDonatper9]); format(PlayerlogInfo[playerid][lDonatper9] ,512, PlayerlogInfo[playerid][lDonatper8]); format(PlayerlogInfo[playerid][lDonatper8] ,512, PlayerlogInfo[playerid][lDonatper7]); format(PlayerlogInfo[playerid][lDonatper7] ,512, PlayerlogInfo[playerid][lDonatper6]); format(PlayerlogInfo[playerid][lDonatper6] ,512, PlayerlogInfo[playerid][lDonatper5]); format(PlayerlogInfo[playerid][lDonatper5] ,512, PlayerlogInfo[playerid][lDonatper4]); format(PlayerlogInfo[playerid][lDonatper4] ,512, PlayerlogInfo[playerid][lDonatper3]); format(PlayerlogInfo[playerid][lDonatper3] ,512, PlayerlogInfo[playerid][lDonatper2]); format(PlayerlogInfo[playerid][lDonatper2] ,512, PlayerlogInfo[playerid][lDonatper]); format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-150{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка VIP.",day,month,year,hour,minuite,second,ipplayer); Savelogplayer(logid,playerid); } } }else{SendClientMessage(playerid, COLOR_RED, "У вас уже есть VIP!");} }else{SendClientMessage(playerid, COLOR_RED, "У вас не достаточно денег для покупки!");} } return true; } //============================================================================== if(dialogid == 9002){ if(response){ if(!strlen(inputtext))return ShowPlayerDialog(playerid,9002,DIALOG_STYLE_INPUT,"Платёжная система","{ff00ae}2 ДО = 2 респектам,{7fffd4} за респекты можно купить левле\nВВеди колличество ДО которые хочешь потратить на респект's","Ок","Отмена"); if(strlen(inputtext) == 0)return ShowPlayerDialog(playerid,9002,DIALOG_STYLE_INPUT,"Платёжная система","{ff00ae}2 ДО = 2 респектам,{7fffd4} за респекты можно купить левле\nВВеди колличество ДО которые хочешь потратить на респект's","Ок","Отмена"); respectforplayer[playerid] = strval(inputtext); new ice[256]; format(ice, sizeof ice, "Вы уверены что хотите купить %d респект's\nЗа %d ДО\nС вас будет списано %d ДО",respectforplayer[playerid]*2,respectforplayer[playerid],respectforplayer[playerid]); return ShowPlayerDialog(playerid, 9906, DIALOG_STYLE_MSGBOX, "Покупка респектов", ice, "НЕТ", "ДА"); } return true; } //============================================================================== if(dialogid == 9003){ if(response){ if(!strlen(inputtext))return ShowPlayerDialog(playerid,9003,DIALOG_STYLE_INPUT,"Платёжная система","{ff00ae}1 ДО = $100000,{7fffd4}\nВВеди колличество ДО которые хочешь потратить на игровые деньги","Ок","Отмена"); if(strlen(inputtext) == 0)return ShowPlayerDialog(playerid,9003,DIALOG_STYLE_INPUT,"Платёжная система","{ff00ae}1 ДО = $100000,{7fffd4}\nВВеди колличество ДО которые хочешь потратить на игровые деньги","Ок","Отмена"); respectforplayer[playerid] = strval(inputtext); new ice[256]; format(ice, sizeof ice, "Вы уверены что хотите купить $%d\nЗа %d ДО\nС вас будет списано %d ДО",respectforplayer[playerid]*100000,respectforplayer[playerid],respectforplayer[playerid]); return ShowPlayerDialog(playerid, 9912, DIALOG_STYLE_MSGBOX, "Покупка денег", ice, "НЕТ", "ДА"); } return true; } //============================================================================== if(dialogid == 9004){ if(response){ if(!strlen(inputtext)) return ShowPlayerDialog(playerid,9004,DIALOG_STYLE_INPUT,"Платёжная система","ВВеди ид игрока которому хочешь передать ДО","Ок","Отмена"); ShowPlayerDialog(playerid,9005,DIALOG_STYLE_INPUT,"Платёжная система","ВВеди количество ДО которые хочешь передать","Ок","Отмена"); playeridooooo[playerid] = strval(inputtext); } return true; } //============================================================================== if(dialogid == 9005){ if(response){ if(!strlen(inputtext)) return ShowPlayerDialog(playerid,9005,DIALOG_STYLE_INPUT,"Платёжная система","ВВеди количество ДО которые хочешь передать","Ок","Отмена"); new ice[256]; moneyplayeridooooo[playerid] = strval(inputtext); format(ice, sizeof ice, "Вы уверены что хотите перевести [%d] ДО, на [%d]",strval(inputtext),playeridooooo[playerid]); return ShowPlayerDialog(playerid, 9006, DIALOG_STYLE_MSGBOX, "Перевод ДО", ice, "НЕТ", "ДА"); } return true; } if(dialogid == 9006) { if(!response) { if(moneyplayeridooooo[playerid] >= 1) { if(PlayerlogInfo[playerid][lRezerv] >= moneyplayeridooooo[playerid]) { new getplayerid = playeridooooo[playerid]; if(zagruzka[getplayerid] == 0){OnPlayerCommandText(playerid,"/перезагрузка");return 1;} if(PlayerInfo[playerid][pVaip] >= 30) { new sendernamer[MAX_PLAYER_NAME]; new giveplayer[MAX_PLAYER_NAME]; GetPlayerName(getplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendernamer, sizeof(sendernamer)); if(playeridooooo[playerid] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Игрок не найден!"); { new hour,minuite,second; gettime(hour,minuite,second); new year, month,day; getdate(year, month, day); new ipplayer[32]; GetPlayerIp(playerid,ipplayer,sizeof(ipplayer)); if(!strcmp(PlayerlogInfo[playerid][lDonatper],"none",false)) { format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-%d{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Перевод денег.На: %s",moneyplayeridooooo[playerid],day,month,year,hour,minuite,second,ipplayer,giveplayer); } else { format(PlayerlogInfo[playerid][lDonatper10] ,512, PlayerlogInfo[playerid][lDonatper9]); format(PlayerlogInfo[playerid][lDonatper9] ,512, PlayerlogInfo[playerid][lDonatper8]); format(PlayerlogInfo[playerid][lDonatper8] ,512, PlayerlogInfo[playerid][lDonatper7]); format(PlayerlogInfo[playerid][lDonatper7] ,512, PlayerlogInfo[playerid][lDonatper6]); format(PlayerlogInfo[playerid][lDonatper6] ,512, PlayerlogInfo[playerid][lDonatper5]); format(PlayerlogInfo[playerid][lDonatper5] ,512, PlayerlogInfo[playerid][lDonatper4]); format(PlayerlogInfo[playerid][lDonatper4] ,512, PlayerlogInfo[playerid][lDonatper3]); format(PlayerlogInfo[playerid][lDonatper3] ,512, PlayerlogInfo[playerid][lDonatper2]); format(PlayerlogInfo[playerid][lDonatper2] ,512, PlayerlogInfo[playerid][lDonatper]); format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-%d{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Перевод денег.На: %s",moneyplayeridooooo[playerid],day,month,year,hour,minuite,second,ipplayer,giveplayer); } if(PlayerInfo[getplayerid][pVaip] >= 30) { new ipplayers[32]; GetPlayerIp(getplayerid,ipplayers,sizeof(ipplayers)); if(!strcmp(PlayerlogInfo[getplayerid][lDonatper],"none",false)) { format(PlayerlogInfo[getplayerid][lDonatper] ,512, "{00ff00}+%d{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Перевод денег.От: %s",moneyplayeridooooo[playerid],day,month,year,hour,minuite,second,ipplayer,sendernamer); } else { format(PlayerlogInfo[getplayerid][lDonatper10] ,512, PlayerlogInfo[getplayerid][lDonatper9]); format(PlayerlogInfo[getplayerid][lDonatper9] ,512, PlayerlogInfo[getplayerid][lDonatper8]); format(PlayerlogInfo[getplayerid][lDonatper8] ,512, PlayerlogInfo[getplayerid][lDonatper7]); format(PlayerlogInfo[getplayerid][lDonatper7] ,512, PlayerlogInfo[getplayerid][lDonatper6]); format(PlayerlogInfo[getplayerid][lDonatper6] ,512, PlayerlogInfo[getplayerid][lDonatper5]); format(PlayerlogInfo[getplayerid][lDonatper5] ,512, PlayerlogInfo[getplayerid][lDonatper4]); format(PlayerlogInfo[getplayerid][lDonatper4] ,512, PlayerlogInfo[getplayerid][lDonatper3]); format(PlayerlogInfo[getplayerid][lDonatper3] ,512, PlayerlogInfo[getplayerid][lDonatper2]); format(PlayerlogInfo[getplayerid][lDonatper2] ,512, PlayerlogInfo[getplayerid][lDonatper]); format(PlayerlogInfo[getplayerid][lDonatper] ,512, "{00ff00}+%d{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Перевод денег.От: %s",moneyplayeridooooo[playerid],day,month,year,hour,minuite,second,ipplayer,sendernamer); } PlayerlogInfo[playerid][lRezerv]-= moneyplayeridooooo[playerid]; PlayerlogInfo[getplayerid][lRezerv]+= moneyplayeridooooo[playerid]; new tuce[256]; format(tuce, sizeof(tuce), "На ваш счёт было зачислино:%d ДО!",moneyplayeridooooo[playerid]); SendClientMessage(getplayerid, COLOR_BLUE, tuce); format(tuce, sizeof(tuce), "С вашего счёта было списано:%d ДО!",moneyplayeridooooo[playerid]); SendClientMessage(playerid, COLOR_BLUE, tuce); new logid2 = PlayerInfo[getplayerid][pLogsistembyan]; Savelogplayer(logid2,getplayerid); new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); return true; } } } SendClientMessage(playerid, COLOR_RED, "Ошибка! Данные аккаунта не найдены, и/или ида такого нету!"); return true; }else{SendClientMessage(playerid, COLOR_RED, "У вас нет такой суммы ДО!");} }else{SendClientMessage(playerid, COLOR_RED, "0 нельзя!");} } return true; } //============================================================================== if(dialogid == 9007){ if(!response){ if(PlayerlogInfo[playerid][lRezerv] >= 70) { if(PlayerInfo[playerid][pSlots] <= 8) { PlayerlogInfo[playerid][lRezerv]-= 70; new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); PlayerInfo[playerid][pSlots]++; SendClientMessage(playerid, COLOR_GREEN, "Спасибо за покупку!"); if(PlayerInfo[playerid][pVaip] >= 30) { new hour,minuite,second; gettime(hour,minuite,second); new year, month,day; getdate(year, month, day); new ipplayer[32]; GetPlayerIp(playerid,ipplayer,sizeof(ipplayer)); if(!strcmp(PlayerlogInfo[playerid][lDonatper],"none",false)) { format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-30{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка слота для бизнеса",day,month,year,hour,minuite,second,ipplayer); Savelogplayer(logid,playerid); } else { format(PlayerlogInfo[playerid][lDonatper10] ,512, PlayerlogInfo[playerid][lDonatper9]); format(PlayerlogInfo[playerid][lDonatper9] ,512, PlayerlogInfo[playerid][lDonatper8]); format(PlayerlogInfo[playerid][lDonatper8] ,512, PlayerlogInfo[playerid][lDonatper7]); format(PlayerlogInfo[playerid][lDonatper7] ,512, PlayerlogInfo[playerid][lDonatper6]); format(PlayerlogInfo[playerid][lDonatper6] ,512, PlayerlogInfo[playerid][lDonatper5]); format(PlayerlogInfo[playerid][lDonatper5] ,512, PlayerlogInfo[playerid][lDonatper4]); format(PlayerlogInfo[playerid][lDonatper4] ,512, PlayerlogInfo[playerid][lDonatper3]); format(PlayerlogInfo[playerid][lDonatper3] ,512, PlayerlogInfo[playerid][lDonatper2]); format(PlayerlogInfo[playerid][lDonatper2] ,512, PlayerlogInfo[playerid][lDonatper]); format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-30{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка слота для бизнеса",day,month,year,hour,minuite,second,ipplayer); Savelogplayer(logid,playerid); } } }else{SendClientMessage(playerid, COLOR_RED, "У вас уже 10 слотов, больше нельзя!");} }else{SendClientMessage(playerid, COLOR_RED, "У вас не достаточно денег для покупки!");} } return true; } if(dialogid == 9906){ if(!response){ if(respectforplayer[playerid] >= 2) { if(PlayerlogInfo[playerid][lRezerv] >= respectforplayer[playerid]) { new str[64]; PlayerInfo[playerid][pExp] += respectforplayer[playerid]*2; PlayerlogInfo[playerid][lRezerv] -= respectforplayer[playerid]; format(str, sizeof(str), "С вас было списано: [%d] ДО", respectforplayer[playerid]); SendClientMessage(playerid, COLOR_GREEN, str); if(PlayerInfo[playerid][pVaip] >= 30) { new hour,minuite,second; gettime(hour,minuite,second); new year, month,day; getdate(year, month, day); new ipplayer[32]; GetPlayerIp(playerid,ipplayer,sizeof(ipplayer)); if(!strcmp(PlayerlogInfo[playerid][lDonatper],"none",false)) { format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-[%d]{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка респектов.",respectforplayer[playerid],day,month,year,hour,minuite,second,ipplayer); new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); } else { format(PlayerlogInfo[playerid][lDonatper10] ,512, PlayerlogInfo[playerid][lDonatper9]); format(PlayerlogInfo[playerid][lDonatper9] ,512, PlayerlogInfo[playerid][lDonatper8]); format(PlayerlogInfo[playerid][lDonatper8] ,512, PlayerlogInfo[playerid][lDonatper7]); format(PlayerlogInfo[playerid][lDonatper7] ,512, PlayerlogInfo[playerid][lDonatper6]); format(PlayerlogInfo[playerid][lDonatper6] ,512, PlayerlogInfo[playerid][lDonatper5]); format(PlayerlogInfo[playerid][lDonatper5] ,512, PlayerlogInfo[playerid][lDonatper4]); format(PlayerlogInfo[playerid][lDonatper4] ,512, PlayerlogInfo[playerid][lDonatper3]); format(PlayerlogInfo[playerid][lDonatper3] ,512, PlayerlogInfo[playerid][lDonatper2]); format(PlayerlogInfo[playerid][lDonatper2] ,512, PlayerlogInfo[playerid][lDonatper]); format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-%d{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка респектов.",respectforplayer[playerid],day,month,year,hour,minuite,second,ipplayer); new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); } } return true; }else{SendClientMessage(playerid, COLOR_RED, "У вас не достаточно денег для покупки!");} }else{SendClientMessage(playerid, COLOR_RED, "0 нельзя!");} } return true; } if(dialogid == 9912){ if(!response){ if(respectforplayer[playerid] >= 100) { if(PlayerlogInfo[playerid][lRezerv] >= respectforplayer[playerid]) { new str[64]; PlayerlogInfo[playerid][lRezerv] -= respectforplayer[playerid]; GiveMoney(playerid, respectforplayer[playerid]*100000); format(str, sizeof(str), "С вас было списано: [%d] ДО", respectforplayer[playerid]); SendClientMessage(playerid, COLOR_GREEN, str); if(PlayerInfo[playerid][pVaip] >= 30) { new hour,minuite,second; gettime(hour,minuite,second); new year, month,day; getdate(year, month, day); new ipplayer[32]; GetPlayerIp(playerid,ipplayer,sizeof(ipplayer)); if(!strcmp(PlayerlogInfo[playerid][lDonatper],"none",false)) { format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-[%d]{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка игровых денег.",respectforplayer[playerid],day,month,year,hour,minuite,second,ipplayer); new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); } else { format(PlayerlogInfo[playerid][lDonatper10] ,512, PlayerlogInfo[playerid][lDonatper9]); format(PlayerlogInfo[playerid][lDonatper9] ,512, PlayerlogInfo[playerid][lDonatper8]); format(PlayerlogInfo[playerid][lDonatper8] ,512, PlayerlogInfo[playerid][lDonatper7]); format(PlayerlogInfo[playerid][lDonatper7] ,512, PlayerlogInfo[playerid][lDonatper6]); format(PlayerlogInfo[playerid][lDonatper6] ,512, PlayerlogInfo[playerid][lDonatper5]); format(PlayerlogInfo[playerid][lDonatper5] ,512, PlayerlogInfo[playerid][lDonatper4]); format(PlayerlogInfo[playerid][lDonatper4] ,512, PlayerlogInfo[playerid][lDonatper3]); format(PlayerlogInfo[playerid][lDonatper3] ,512, PlayerlogInfo[playerid][lDonatper2]); format(PlayerlogInfo[playerid][lDonatper2] ,512, PlayerlogInfo[playerid][lDonatper]); format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-[%d]{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка игровых денег.",respectforplayer[playerid],day,month,year,hour,minuite,second,ipplayer); new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); } } return true; }else{SendClientMessage(playerid, COLOR_RED, "У вас не достаточно денег для покупки!");} }else{SendClientMessage(playerid, COLOR_RED, "0 нельзя!");} } return true; }
  9. artem.sholohoff

    GPS

    Ко всем new new CP[MAX_PLAYERS]; В public OnPlayerConnect(playerid) CP[playerid] = 0; Ко всем #define, места вы можете добавить по своему, я указал диалог только для одного места! #define GPS_NAMES "[1] Важные места\n[2] Отключить GPS" Потом сама команда if(strcmp(cmd, "/gps", true) == 0) { if(IsPlayerConnected(playerid)) { ShowPlayerDialog(playerid, 10000, DIALOG_STYLE_LIST, "- GPS -", GPS_NAMES, "Выбрать", "Отмена"); return 1; } } ко всем диалогам if(dialogid == 10000) { if(response) { switch (listitem) { case 0: ShowPlayerDialog (playerid, 10001, DIALOG_STYLE_LIST, " Важные места", "[1] Автошкола\n", "Выбрать", "<< Назад"); case 1: { DisablePlayerCheckpoint(playerid); CP[playerid] = 0; SendClientMessage(playerid, COLOR_WHITE, "::: GPS навигатор отключен! ::: "); } } } else { return 1; } } else if(dialogid == 10001) { if(response) { switch (listitem) { case 0: DynamicGPSMarker(playerid, -2041.6616,-66.7263,35.1752); } } else ShowPlayerDialog(playerid, 10000, DIALOG_STYLE_LIST, "- GPS -", GPS_NAMES, "Выбрать", "Отмена"); return 1; } в конец мода stock DynamicGPSMarker(playerid, Float:x, Float:y, Float:z, Float:size = 5.0) { SendClientMessage(playerid,COLOR_LIGHTBLUE,"GPS активирован, ваша цель отмечена на карте маркером"); SetPlayerCheckpoint(playerid, x,y,z,size); CP[playerid] = 10; return true; } Открываем GPS Выбираем место Ваша точка указана на карте Отключаем GPS Автор системы Scooter
  10. Суть заключается в том что игроку присылается сообщение,вы приглашены во фракцию,и игрок может отказаться или принять приглашение Ко всем new добавим: new pInvite[MAX_PLAYERS]; в public OnPlayerConnect(playerid) добавим: pInvite[playerid] = 999; Заменяем свою команду /invite на эту: if(strcmp(cmd, "/invite", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "ИСПОЛЬЗОВАНИЕ: /invite [id_игрока/ЧастьИмени]"); new para1; new ftext[20]; para1 = ReturnUser(tmp); if (PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не лидер !"); if(IsPlayerConnected(para1)) { if(para1 != INVALID_PLAYER_ID) { if (PlayerInfo[para1][pMember] != 0) return SendClientMessage(playerid, COLOR_GREY, "Этот игрок состоит во фракции!"); if(PlayerInfo[playerid][pLeader] == 1) { ftext = "Ваше название фракции"; } else if(PlayerInfo[playerid][pLeader] == 2) { ftext = "Ваше название фракции и т.д."; } GetPlayerName(para1, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "[Администрация]: Вы были приглашены в %s, Лидером %s", ftext, sendername); SendClientMessage(para1, COLOR_WHITE, string); SendClientMessage(para1, COLOR_WHITE, "Введите /accept team чтобы принять приглашение"); SendClientMessage(para1, COLOR_WHITE, "Введите /cancel team чтобы отвергнуть приглашение"); format(string, sizeof(string), "Вы пригласили игрока %s в %s.", giveplayer,ftext); SendClientMessage(playerid, COLOR_WHITE, string); pInvite[para1] = playerid; } } } return 1; } Внимание если у вас не стандартная команда то добавьте pInvite[para1] = playerid; Код который отправляет на респавн убрать а также убрать смену скина,если у вас больше фракций чем в стандартном ГФ(да полюбому больше) то добавляем в команду /invite так else if(PlayerInfo[playerid][pLeader] == ID фраки) { ftext = "Название"; } в команду /accept добавить else if(strcmp(x_job,"team",true) == 0) { if(pInvite[playerid] < 999) { if(IsPlayerConnected(pInvite[playerid])) { if (gTeam[playerid]==TEAM_GREEN && PlayerInfo[playerid][pMember] == 0 && PlayerInfo[playerid][pFMember] == 255) { if(PlayerInfo[pInvite[playerid]][pLeader] == 1) { PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; ChosenSkin[playerid] = 280; SetPlayerSkin(playerid, 280); } else if(PlayerInfo[pInvite[playerid]][pLeader] == 2) { PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; ChosenSkin[playerid] = 286; SetPlayerSkin(playerid, 286); } PlayerInfo[playerid][pMember] = PlayerInfo[pInvite[playerid]][pLeader]; PlayerInfo[playerid][pRank] = 1; SetPlayerInterior(playerid,0); new rand = random(sizeof(gInviteSpawns)); SetPlayerPos(playerid, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player SetPlayerFacingAngle(playerid, gInviteSpawns[rand][3]); SetPlayerCameraPos(playerid,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]); SetPlayerCameraLookAt(playerid,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); TogglePlayerControllable(playerid, 0); SelectChar[playerid] = 255; SelectCharID[playerid] = PlayerInfo[playerid][pMember]; SelectCharPlace[playerid] = 1; PlayerInfo[playerid][pModel] = ChosenSkin[playerid]; PlayerInfo[playerid][pChar] = ChosenSkin[playerid]; new str[64]; GetPlayerName(pInvite[playerid], sendername, sizeof(sendername)); format(str,sizeof(str),"* %s принял ваше приглашение!",sendername); SendClientMessage(pInvite[playerid], COLOR_WHITE, str); SendClientMessage(playerid, COLOR_LIGHTRED, "Используйте next для выбора скина."); SendClientMessage(playerid, COLOR_LIGHTRED, "Если вы нашли скин, который хотите использовать введите done."); pInvite[playerid] = 999; return 1; } else { SendClientMessage(playerid, COLOR_GREY, "Вы состоите во фракции"); return 1; } } return 1; } else { SendClientMessage(playerid, COLOR_GREY, "Никто вас не приглашал вступить в Фракцию/Банду/Мафию"); return 1; } } в команду /cancel добавить: else if(strcmp(x_job,"team",true) == 0) { pInvite[playerid] = 999; new str[64]; GetPlayerName(pInvite[playerid], sendername, sizeof(sendername)); format(str,sizeof(str),"* %s не принял ваше приглашение!",sendername); SendClientMessage(pInvite[playerid], COLOR_WHITE, str); } Автор: Сергей68
  11. Доброго времени суток господа! Сейчас будем делать систему, которая показывает в паспорте прописку человека (можете подогнать под себя, например в статистику и т.д.). В начало мода добавляем: forward GetZonaName ( Float: x, Float: y ); forward GetCityName ( Float: x, Float: y ); enum SAZONE_MAIN { SAZONE_NAME[128], Float:SAZONE_AREA[6] }; new gSAZonesCity[][SAZONE_MAIN] = { {"Los Santos", {44.60, -2892.90, -242.90, 2997.00, -768.00, 900.00}}, {"Whetstone", {-2997.40, -2892.90, -242.90, -1213.90, -1115.50, 900.00}} }; new gSAZones[][SAZONE_MAIN] = { // название ( Xmin, Ymin, Zmin, Xmax, Ymax, Zmax) {"The Big Ear", {-410.00, 1403.30, -3.00, -137.90, 1681.20, 200.00}}, {"Yellow Bell Station", {1377.40, 2600.40, -21.90, 1492.40, 2687.30, 78.00}} }; Далее добавим паблики: // районы public GetZonaName ( Float: x, Float: y ) { for ( new i = 0; i != sizeof ( gSAZones ); i++ ) { if ( x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4]) { return i; } } return 1; } // города public GetCityName ( Float: x, Float: y) { for ( new i = 0; i != sizeof ( gSAZonesCity ); i++ ) { if ( x >= gSAZonesCity[i][SAZONE_AREA][0] && x <= gSAZonesCity[i][SAZONE_AREA][3] && y >= gSAZonesCity[i][SAZONE_AREA][1] && y <= gSAZonesCity[i][SAZONE_AREA][4] ) { return i; } } return 1; } Теперь добавляем в /showpass: if ( PlayerInfo[playerid][pPhousekey] != 999) { new Float: x, Float: y; new h = PlayerInfo[playerid][pPhousekey]; // Заменяем на свой HouseInfo при необходимости ( есть ли дом у игрока ) x = HouseInfo[h][hEntrancex]; // Заменяем на свой HouseInfo при необходимости ( координаты входа в дом по оси X ) y = HouseInfo[h][hEntrancey]; // Заменяем на свой HouseInfo при необходимости ( координаты входа в дом по оси Y ) new ids = GetCityName ( x, y ); new id = GetZonaName ( x, y ); format ( string, sizeof ( string), "Место прописки: г. %s, р-он %s, д. %d", gSAZonesCity[ids][SAZONE_NAME], gSAZones[id][SAZONE_NAME], PlayerInfo[playerid][pPhousekey] ); // Добавляем свое вместо PlayerInfo[playerid][pPhousekey] SendClientMessage ( giveplayerid, COLOR_YELLOW2, string ); } Автор: lonin P.S: координаты менять на свои!!!
  12. Здравствуйте форумчане выкладываю мануал который может быть полезен для каждого проекта Для начала создадим define и enum #define GARAGE_X 2315.6699//координаты появления в гаражей по оси X#define GARAGE_Y -198.7284//координаты появления в гаражей по оси Y #define GARAGE_Z 2.0088//координаты появления в гаражей по оси Z #define GARAGE_A 180.0000//координаты появления в гаражей по оси A #define GARAGE_INT 15//интерьер в гараже,можете не менять enum gInfo { gOwner[32],//владелец gPrice,//цена gLock,//открыть или закрыт Float:gX,//координаты пикапа по оси X Float:gY,//координаты пикапа по оси Y Float:gZ,//координаты пикапа по оси Z Float:gA//координаты пикапа по оси A }; new Garage[200][gInfo];//200 максимальное кол-во гаражей new AllGarage;//всего гаражей new Text3D:Text3DCar[200];//3д текст над гаражами далее в конце мода создадим 2 стока(загрузки и сохранение гаражей) stock LoadGarage(){ new ids[32],str[64]; new iniOpens = ini_openFile("garage/garage.cfg"); ini_getInteger(iniOpens, "AllGarage", AllGarage); ini_closeFile(iniOpens); if(AllGarage != 0) { for(new garage = 1; garage <= AllGarage; garage++) { format(ids,sizeof(ids),"garage/%d.ini",garage); new inigOpen = ini_openFile(ids); ini_getFloat(inigOpen, "gX", Garage[garage][gX]); ini_getFloat(inigOpen, "gY", Garage[garage][gY]); ini_getFloat(inigOpen, "gZ", Garage[garage][gZ]); ini_getFloat(inigOpen, "gA", Garage[garage][gA]); ini_getString(inigOpen, "gOwner", str); format(Garage[garage][gOwner],24,"%s",str); ini_getInteger(inigOpen, "gPrice", Garage[garage][gPrice]); ini_getInteger(inigOpen, "gLock", Garage[garage][gLock]); ini_closeFile(inigOpen); if(!strcmp("None", Garage[garage][gOwner], true)) { format(str,sizeof(str),"Гараж номер %d]\nПродаётся цена %d]",garage,Garage[garage][gPrice]); CreatePickup(1274, 1, Garage[garage][gX], Garage[garage][gY], Garage[garage][gZ]); } else { format(str,sizeof(str),"Гараж номер %d]\nВладелец %s]",garage,Garage[garage][gOwner]); CreatePickup(1239, 1, Garage[garage][gX], Garage[garage][gY], Garage[garage][gZ]); } Text3DCar[garage] = CreateDynamic3DTextLabel(str, 0xCE9A00FF, Garage[garage][gX], Garage[garage][gY], Garage[garage][gZ],15.0); } } return 1; } stock SaveGarage(garage) { new ids[32]; format(ids,sizeof(ids),"garage/%d.ini",garage); new iniggOpen; iniggOpen = ini_openFile(ids); if(iniggOpen == -1 || iniggOpen == -2) iniggOpen = ini_createFile(ids); ini_setFloat(iniggOpen, "gZ", Garage[garage][gZ]); ini_setFloat(iniggOpen, "gX", Garage[garage][gX]); ini_setFloat(iniggOpen, "gY", Garage[garage][gY]); ini_setFloat(iniggOpen, "gA", Garage[garage][gA]); ini_setString(iniggOpen, "gOwner", Garage[garage][gOwner]); ini_setInteger(iniggOpen, "gPrice", Garage[garage][gPrice]); ini_setInteger(iniggOpen, "gLock", Garage[garage][gLock]); ini_closeFile(iniggOpen); return 1; } теперь в public OnGameModeInit() LoadGarage();//загрузка гаражей ну и осталось только команды,в public OnPlayerCommandText(playerid, cmdtext[]) if(strcmp(cmd,"/ga",true)==0){ new temp[256]; temp = strcharsplit(cmdtext, idx); if(!strlen(temp)) return SendClientMessage(playerid,COLOR_WHITE," Используйте: /ga [buy(купить) sell(продать) lock(закрыть) enter(войти) exit(выйти)"); if(strcmp(temp,"buy",true)==0) { for(new gar = 1; gar <= AllGarage;gar++) { if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ])) { if(!strcmp("None", Garage[gar][gOwner], true)) { if(GetPlayerMoney(playerid) > Garage[gar][gPrice]) { strmid(Garage[gar][gOwner], GN(playerid), 0, strlen(GN(playerid)), 255); GivePlayerMoney(playerid,-Garage[gar][gPrice]); format(temp,sizeof(temp),"Гараж номер:[%d]\nВладелец:[%s]",gar,Garage[gar][gOwner]); UpdateDynamic3DTextLabelText(Text3DCar[gar], 0xCE9A00FF, temp); SaveGarage(gar); return SendClientMessage(playerid,COLOR_WHITE," Вы успешно купили гараж"); } else return SendClientMessage(playerid,COLOR_WHITE," У вас нету денег на покупку"); } else return SendClientMessage(playerid,COLOR_WHITE," Гараж уже кем то куплен"); } } } else if(strcmp(temp,"sell",true)==0) { for(new gar = 1; gar <= AllGarage;gar++) { if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ])) { if(!strcmp(GN(playerid), Garage[gar][gOwner], true)) { strmid(Garage[gar][gOwner], "None", 0, strlen("None"), 255); GivePlayerMoney(playerid,Garage[gar][gPrice]/2); Garage[gar][gLock] = 1; SaveGarage(gar); format(temp,sizeof(temp),"Гараж номер:[%d]\nПродаеться Цена:[%d$]",gar,Garage[gar][gPrice]); UpdateDynamic3DTextLabelText(Text3DCar[gar], 0xCE9A00FF, temp); return SendClientMessage(playerid,COLOR_WHITE," Вы успешно продали свой гараж"); } else return SendClientMessage(playerid,COLOR_WHITE," Гараж не принадледит вам"); } } } else if(strcmp(temp,"lock",true)==0) { for(new gar = 1; gar <= AllGarage;gar++) { if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]) || (IsPlayerInRangeOfPoint(playerid, 20.0,GARAGE_X,GARAGE_Y,GARAGE_Z) && gar == GetPlayerVirtualWorld(playerid))) { if(!strcmp(GN(playerid), Garage[gar][gOwner], true)) { if(Garage[gar][gLock] == 1) { Garage[gar][gLock] = 0; SaveGarage(gar); return SendClientMessage(playerid,COLOR_WHITE," Гараж открыт"); } else { Garage[gar][gLock] = 1; SaveGarage(gar); return SendClientMessage(playerid,COLOR_WHITE," Гараж закрыт"); } } else return SendClientMessage(playerid,COLOR_WHITE," Гараж не принадлежит вам"); } } } else if(strcmp(temp,"enter",true)==0) { for(new gar = 1; gar <= AllGarage;gar++) { if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ])) { if(Garage[gar][gLock] == 1) return SendClientMessage(playerid,COLOR_WHITE," Гараж закрыт"); if(IsPlayerInAnyVehicle(playerid)) { new carid = GetPlayerVehicleID(playerid); SetVehiclePos(carid, GARAGE_X,GARAGE_Y,GARAGE_Z+1.0); SetPlayerPos(playerid,GARAGE_X,GARAGE_Y,GARAGE_Z+1.0); LinkVehicleToInterior(carid, GARAGE_INT); SetVehicleVirtualWorld(carid, gar); SetVehicleZAngle(carid, GARAGE_A); SetPlayerInterior(playerid,GARAGE_INT); SetPlayerVirtualWorld(playerid,gar); PutPlayerInVehicle(playerid,carid,0); } else { SetPlayerPos(playerid,GARAGE_X,GARAGE_Y,GARAGE_Z+1.0); SetPlayerInterior(playerid,GARAGE_INT); SetPlayerVirtualWorld(playerid,gar); } break; } } } else if(strcmp(temp,"exit",true)==0) { if(GetPlayerVirtualWorld(playerid) == 0) return SendClientMessage(playerid,COLOR_WHITE," Вы не находитесь в гараже "); for(new gar = 1; gar <= AllGarage;gar++) { if(IsPlayerInRangeOfPoint(playerid, 20.0,GARAGE_X,GARAGE_Y,GARAGE_Z) && gar == GetPlayerVirtualWorld(playerid)) { if(IsPlayerInAnyVehicle(playerid)) { new carid = GetPlayerVehicleID(playerid); LinkVehicleToInterior(carid, 0); SetVehicleVirtualWorld(carid, 0); SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0); SetVehiclePos(carid, Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+5.0); SetVehicleZAngle(carid, Garage[gar][gA]); SetPlayerPos(playerid,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0); PutPlayerInVehicle(playerid,carid,0); } else { SetPlayerPos(playerid,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0); SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0); } break; } } } return true; } if(strcmp(cmd,"/newga",true)==0) { if(Player[playerid][pAdmin] <= 4) return SendClientMessage(playerid, -1, "У вас нет прав на использование этой команды!"); tmp = strcharsplit(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /newga [Сумма]"); new money = strval(tmp); tmp = strcharsplit(cmdtext, idx); AllGarage++; new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid, X,Y,Z); format(Garage[AllGarage][gOwner],24,"None"); Garage[AllGarage][gPrice] = money; Garage[AllGarage][gLock] = 1; Garage[AllGarage][gX] = X; Garage[AllGarage][gY] = Y; Garage[AllGarage][gZ] = Z; Garage[AllGarage][gA] = 90; if(!strcmp("None", Garage[AllGarage][gOwner], true)) { format(string,sizeof(string),"Гараж номер %d\nПродаеться цена %d]",AllGarage,Garage[AllGarage][gPrice]); CreatePickup(1274, 1, Garage[AllGarage][gX], Garage[AllGarage][gY], Garage[AllGarage][gZ]); } Text3DCar[AllGarage] = CreateDynamic3DTextLabel(string, 0xCE9A00FF, Garage[AllGarage][gX], Garage[AllGarage][gY], Garage[AllGarage][gZ],10.0); SaveGarage(AllGarage); return 1; } поясню по командам,чтобы создать гараж введите /newga цена,все действия с гаражом проходят через команду /ga то есть если мы хотим купить гараж вводим /ga buy и т.д. Координаты появления в гараже меняйте на свои,так как они поставлены под мой маппинг гаража Осталось только в папке scriptfiles создать папку и в папке файлик,ссылку я оставлю ниже garage.rar Автор вырезки : Basis
  13. Vlad_Miroshnicov

    Команда /bag ZCMD

    Здравствуйте всем С вами Я Vlad_Andreev. Сегодня я хочу показать вам свою команду /bag. Ну так начнём) Данная команда предназначена для #include Команда CMD:bag(playerid,params[])//Команда можете заменить на своё { new string[100];//переменная if(IsPlayerConnected(playerid))//Зашли вы на сервер или нет { if(sscanf(params,"s[128]", params[0])) return SendClientMessage(playerid, 0xFF0000AA, "Используй Команду /bag [Текст].");//Проверка { format(string, sizeof(string), "[ID:%d] %s Заметил Баг: %s",playerid, sendername(playerid), params[0]);//Пишите Администрации что вы нашли баг SendClientMessage(playerid, COLOR_LIGHTBLUE, string);//цвет SendClientMessage(playerid, COLOR_RED, "Спасибо вам за оказанную услугу сервера, Администрация, её обязательно рассмотрят. Ожидайте ответа.");//функция после того как вы напишите что нашли баг log("bag", string);//Название текстового документа куда будут поступать от пользователя текст } } return 1; } Функция Сохранения+Дата время log(filename[],string[]) { new year, month,day; new hour,minuite,second; new stringer[100]; new str[500]; gettime(hour,minuite,second); getdate(year, month, day); format(stringer,sizeof(stringer), "Files/Logs/%s.log",filename);//Поток куда будут сохранятся new File:file = fopen(stringer, io_append); format(str,sizeof(str), "[LOG/BAG]: %s [%i/%i/%i][%i:%i:%i]\r\n",string,day,month,year,hour,minuite,second);//Дата время минуты секунды и т д for(new io=0; io { fputchar(file, str[io], false); } fclose(file); } Автор данной команды я Vlad_Andreev Ссылка чтобы скачать куда будут сохраняться ТЕКСТ, закинуть в scriptfiles
  14. #Bazuka

    Спидометр

    К new. new Text:Textdraw0[MAX_PLAYERS]; new Text:Textdraw1[MAX_PLAYERS]; new Text:Textdraw2[MAX_PLAYERS]; new Text:Textdraw3[MAX_PLAYERS]; new Text:Textdraw4[MAX_PLAYERS]; new Text:Textdraw5[MAX_PLAYERS]; В public OnPlayerStateChange(playerid, newstate, oldstate) OnPlayerStateChange']if(oldstate == PLAYER_STATE_DRIVER) { TextDrawHideForPlayer(playerid, Textdraw0[playerid]); TextDrawHideForPlayer(playerid, Textdraw1[playerid]); TextDrawHideForPlayer(playerid, Textdraw2[playerid]); TextDrawHideForPlayer(playerid, Textdraw3[playerid]); TextDrawHideForPlayer(playerid, Textdraw4[playerid]); TextDrawHideForPlayer(playerid, Textdraw5[playerid]); } Ко всем forward forward LoadTextdraws(); В public OnGameModeInit() LoadTextdraws(); В конец мода.
  15. Драсте Нашёл на просторах этот замечательный скрипт который добавит на ваш сервер наверно самую известную тюрьму под названием "Алькатрас". Этот маппинг тюрьмы под названием "Алькатрас". Тюрьма находится на острове и связи с этим фактором, на территории тюрьмы присутствует свой собственный пирс и вертолетная площадка. На острове находится несколько строений, одно из них, это здание в котором и находятся заключенные. В работе так же присутствует интерьер тюрьмы. Особенностью тюрьмы, является возможность сбежать из нее... (Подсказка: канализация) Команды: /sm - телепортироватся к тюрьме /sm2 - телепортироватся в канализацию тюрьмы P.S: Автор скрипта не я. Автор: Buggy B 1382093176_alkatraz.zip
  16. Тема надобна для тех, кто не умеет импортировать базу данных на локальный хост (denwer). Следуйте инструкцией по скринам: 1. В адресную строку вписываем localhost 2. Жмем localhost/Tools/phpMyAdmin 3. Далее, заходим в Базы данных 4. Вводите имя вашей БД (любое) 5. База данных создана, заходим в неё и нажимаем ИМПОРТ 6. Выбираем файл, после того, как вы выбрали свою БД, нажимайте ОК Ваша база данных импортирована. Не забудьте прописать имя вашей базы данных в ГМ. Имя пользователя - root. Пароль отсутствует. Имя хоста "localhost"
  17. Вы можете создавать дом где вы хотите используя команду /createhouse • Дома сохраняются автоматически и нет угрозы слёта • Вы можете хранить деньги в сейфе используя /storecash и /takecash • Каждый может войти в ваш дом, но можно его закрыть командой /lockhouse • Вы можете арендовать дом используя /renthouse и /unrenthouse • Несколько интерьеров для дома • Вы можете улучшать свой дом командой /houseupgrade • Каждый игрок может себе построить дом где ему надо, но администратор должен одобрить это командой /approvehouse или /denyhouse чтобы отменить стройку • Каждый игрок может иметь машину, которую может припарковать в любом угодном месте командой /park • Сделаны иконки на карте • Для того чтобы одобрить дом, вам нужно быть залогиненым под RCON администратора house.zip
  18. Создание банды. Команды посмотрите в самом скрипте. banda.zip
  19. Выкладываю поворотники. Автор: Morino_Reigan povor.zip
  20. CRMP1

    Работа!

    Всем привет , выкладываю работу! Нужно собирать золото и грузить фургон. rabota.zip
  21. Всем привет , вот решил выложить скрипт мангала с огнем , и бутылку вина. Что представляет из себя скрипт. 1. Выдавать в руки бутылку пива (/pivo) 2. Выдавать в руки бутылку вина (/vino) 3. Ставить/убирать мангал (/mangal) Основа для скипта послужила FS Костер - by SHOROOP Автор скрипта - Vlad_Dredd. mangal.zip
  22. Trateus

    Бензин под Gamer

    Доброго времени суток. Короче говоря ,решил помочь Артёму с его проблемой, не может найти и написать систему бензина. Ну тут понятно ,к переменным : new Fuel[MAX_VEHICLES], FuelTime = 1000; В OnGameMode : SetTimer("uFuel", FuelTime, true); В конец мода : forward uFuel(); public uFuel() { for(new i = GetMaxPlayers()-1; i != -1; --i) { new v = GetPlayerVehicleID(i); if(!IsPlayerInVehicle(i, v)) return true; new engine, lights, alarm, doors, bonnet, boot, objective; GetVehicleParamsEx(v, engine, lights, alarm, doors, bonnet, boot, objective); if(Fuel[v] == 0) return SendClientMessage(i, -1, "Бензин закончился."), SetVehicleParamsEx(v,false,false,alarm,doors,bonnet,boot,objective); Fuel[v] -= 1; } return true; } Автор тут я
  23. #Bazuka

    Спидометр

    Первая моя работа с чего.то начинают люди вот потом будет очень подробно расписано о диалогах и с чем их будет Pawno осознаю уже Спидометр первый,думаю пойдет Автор: Лично я
  24. Anatoliy

    fatal error 100: cannot read from file

    Вот error в моде пишет fatal error 100: cannot read from file: "utils" fatal error 100: cannot read from file: "morphinc" fatal error 100: cannot read from file: "crp" Скажите где найти их или что мне зделать! Очень нужна помощь
  25. CRMP1

    error 017: undefined symbol "UpdateZonaPlayer" "

    Вышла вот такая ошибка не знаю как исправить. " (15769) : error 017: undefined symbol "UpdateZonaPlayer" "
×

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

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