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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. Эта система сможет менять название сервера командой прямо в игре! Начнём! Добавляем переменную new strcmd[50]; Создаём саму команду CMD:hostname(playerid, params[]) { // Проверка на администратора if(sscanf(params,"s[100]",params[0])) return SendClientMessage(playerid, -1, " /hostname [Название]"); format(strcmd, sizeof(strcmd), "hostname %s", params[0]); SendRconCommand(strcmd); return 1; }
  2. Na'Vi

    Система Фар

    Система фар для транспорта Включение и Отключение Начнём! Создаём переменную new LightsStatus[MAX_PLAYERS]; Теперь приступаем к добавлению команды if(strcmp(cmdtext, "/lights", true) == 0) // Фары { if(IsPlayerInAnyVehicle(playerid)) { new veh = GetPlayerVehicleID(playerid); if(veh != INVALID_VEHICLE_ID) { if(LightsStatus[playerid] == 0) { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective); LightsStatus[playerid] = 1; } else if(LightsStatus[playerid] == 1) { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective); LightsStatus[playerid] = 0; } } } } В public OnPlayerKeyStateChange добавляем включение фар по нажатию клавише "2" if(newkeys == 512) // Sub Mission { OnPlayerCommandText(playerid,"/lights"); } Готово!
  3. Для работы команды вам потребуется: MySQL R39-4 Командный процессор DC_CMD
  4. При 15 xp персонаж падает на землю и лежит в судорогах. 1.В начало мода добовляем ко всем new: new Death[MAX_PLAYERS]; DeathAnimation(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp) { Death[playerid] = 1; ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp); } 2. Далее идем в public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) и вставляем: if(Death[playerid] == 1) { RemovePlayerFromVehicle(playerid); } 3. Добaвляем в public OnPlayerUpdate(playerid): new Float:deathcrack; GetPlayerHealth(playerid,deathcrack); if (deathcrack < 15.0) { Death[playerid] = 1; DeathAnimation(playerid,"CRACK","crckdeth2", 4.0, 1, 0, 0, 0, 0); return 1; } if (deathcrack > 15.0 && Death[playerid] == 1) { Death[playerid] = 0; ClearAnimations(playerid); return 1; } Автор: Не известен.
  5. TextDraw при смерти как в GTA V. Подойдет как для Crmp так и для Samp Ко всем new добавить: new Text:Wasted[MAX_PLAYERS], Text:Wasted1[MAX_PLAYERS], Text:Wasted2[MAX_PLAYERS], Text:Wasted3[MAX_PLAYERS]; В public OnPlayerConnect(playerid) //Wasted Wasted[playerid] = TextDrawCreate(720.243469, -122.166549, "usebox"); TextDrawLetterSize(Wasted[playerid], 0.306881, 116.333961); TextDrawTextSize(Wasted[playerid], -1222.372070, 0.000000); TextDrawAlignment(Wasted[playerid], 1); TextDrawColor(Wasted[playerid], 0); TextDrawUseBox(Wasted[playerid], true); TextDrawBoxColor(Wasted[playerid], 102); TextDrawSetShadow(Wasted[playerid], 0); TextDrawSetOutline(Wasted[playerid], 0); TextDrawFont(Wasted[playerid], 0); Wasted1[playerid] = TextDrawCreate(1369.141845, 148.499908, "usebox"); TextDrawLetterSize(Wasted1[playerid], -0.071681, 12.002384); TextDrawTextSize(Wasted1[playerid], -1287.496459, 48.416664); TextDrawAlignment(Wasted1[playerid], 1); TextDrawColor(Wasted1[playerid], 0); TextDrawUseBox(Wasted1[playerid], true); TextDrawBoxColor(Wasted1[playerid], 102); TextDrawSetShadow(Wasted1[playerid], 0); TextDrawSetOutline(Wasted1[playerid], 0); TextDrawFont(Wasted1[playerid], 0); Wasted2[playerid] = TextDrawCreate(248.316223, 182.583267, "WASTED"); TextDrawLetterSize(Wasted2[playerid], 1.045490, 4.079166); TextDrawAlignment(Wasted2[playerid], 1); TextDrawColor(Wasted2[playerid], -16776961); TextDrawSetShadow(Wasted2[playerid], 0); TextDrawSetOutline(Wasted2[playerid], 1); TextDrawBackgroundColor(Wasted2[playerid], 51); TextDrawFont(Wasted2[playerid], 3); TextDrawSetProportional(Wasted2[playerid], 1); Wasted3[playerid] = TextDrawCreate(295.168579, 218.750000, "Ваш сервер"); TextDrawLetterSize(Wasted3[playerid], 0.320686, 0.934997); TextDrawAlignment(Wasted3[playerid], 1); TextDrawColor(Wasted3[playerid], -1); TextDrawSetShadow(Wasted3[playerid], 0); TextDrawSetOutline(Wasted3[playerid], 1); TextDrawBackgroundColor(Wasted3[playerid], 51); TextDrawFont(Wasted3[playerid], 1); TextDrawSetProportional(Wasted3[playerid], 1); В public OnPlayerDisconnect(playerid,reason) TextDrawDestroy(Wasted[playerid]); TextDrawDestroy(Wasted1[playerid]); TextDrawDestroy(Wasted2[playerid]); TextDrawDestroy(Wasted3[playerid]); В public OnPlayerDeath(playerid, killerid, reason) TextDrawShowForPlayer(playerid, Wasted[playerid]); TextDrawShowForPlayer(playerid, Wasted1[playerid]); TextDrawShowForPlayer(playerid, Wasted2[playerid]); TextDrawShowForPlayer(playerid, Wasted3[playerid]); В public OnPlayerSpawn(playerid) TextDrawHideForPlayer(playerid, Wasted[playerid]); TextDrawHideForPlayer(playerid, Wasted1[playerid]); TextDrawHideForPlayer(playerid, Wasted2[playerid]); TextDrawHideForPlayer(playerid, Wasted3[playerid]); Автор:неизвестный
  6. Всем привет. Сегодня я вам расскажу, как подключить TextDraw, а именно логотип сервера. Для начала нам нужен сам TextDraw и мод. 1. Открываем мод. 2. Открываем TextDraw 3. Видим в TextDraw'e "new TextDraw0;" и так далее. Меняете их имя(Можно не менять). Я буду менять на "new Logotip0;" и так далее. 4. Заходим в мод и нажимаем на Бинокль(Поиск), вводим new и ищем до тех пор, пока не увидим сплошные "new", а точнее "new" одна за одной. 5. Можно разделить //, но я не буду. Вставляем наши переменные, у меня их 6. 6. Идём снова в TextDraw видим там к примеру "NameServer" - меняем на название своего сервера. Обычно идут сразу "NameServer RP". Но могут и так, сначала "NameServer", а потом уже "RP". Если 1 вариант, меняем только название на ваш сервер, в принципе и во 2-м варианте так. Теперь копируем это. 7. Заходим в мод и ищем "OnGameModeInit", после "{" отступаем на новую строку, нажимаем 1 раз кнопку TAB и вставляем наш код, если код вставился не ровно, корректируем его. 8. Переходим в "OnPlayerConnect"(Когда игрок подключается к серверу), снова видим "{" отступаем 1 строку жмём 1 раз TAB и пишем так: TextDrawShowForPlayer(playerid, NameServer0);//Пишем имя вашей переменной, если у вас 1 так и оставляем, если у вас больше то ещё делаем, у меня их 6. Значит я делаю так: TextDrawShowForPlayer(playerid, NameServer1); TextDrawShowForPlayer(playerid, NameServer2); TextDrawShowForPlayer(playerid, NameServer3); TextDrawShowForPlayer(playerid, NameServer4); TextDrawShowForPlayer(playerid, NameServer5); Компилируем мод и всё. У нас всё готов! Если возникнут какие-то проблемы при компилировании пишите сюда! Ах, да Можно ещё в "OnPlayerDisconnect" Добавить это: TextDrawDestory(playerid, Logotip0);//Убираем наш TextDraw, когда игрок вышел с сервера. TextDrawDestory(playerid, Logotip1); TextDrawDestory(playerid, Logotip2); TextDrawDestory(playerid, Logotip3); TextDrawDestory(playerid, Logotip4); TextDrawDestory(playerid, Logotip5); Но это необязательно. Надеюсь урок вам помог. Хотя это не так трудно, как кажется. Автор урока: Дмитрий Кнороз(Т.е я)
  7. KOSМOS

    TextDraw by #HappyMan

    Здравствуйте уважаемые пользователи портала cr-mp.ru ... Сегодня я хочу предложить вам, готовые TextDraw'ы для ваших модов ... А именно это TextDraw автосалона, TextDraw приборной панели, TextDraw Выбора скина ... Все TD выполнены в одинаковом стиле ... ( В один мод так сказать можно засунуть ) ... Делал для себя, но потом сделал получше ... Вроде ровно ))) И так начнем с TextDraw'а автосалона :
  8. Здравствуйте,уважаемые пользователи форума http://cr-mp.ru От нечего делать,решил сделать TextDraw автосалона. В архива 2 файла | .pwn и .itd
  9. Здравствуйте гости и пользователи cr-mp.ru. В этой теме, я расскажу как сделать статистику администраторов за всё проведенное время. Знаю что уже есть множество похожих тем, но может кому-нибудь пригодится и мой вариант. Именно я пытался сделать по примерам, которые 'висят в всемирной паутине', но почему-то вечно были варнинги и ошибки (видимо руки были кривые, т.к давно пытался ). Так вот недавно вспомнил и решил сделать. Приступим. К enum pInfo в самый конец добавляем pPayDayAdmin, // сколько отыграл часов администратор pAreport, // сколько раз администратор ответил на репорт (/pm) pAban, // сколько раз администратор забанил (/ban) pAwarn, // сколько раз администратор заварнил (/warn) pAkick, // сколько раз администратор кикнул (/kick) pAmute, // сколько раз администратор заткнул (/mute) Теперь ищем public OnPlayerConnect(playerid), в нём находим что то вроде этого PlayerInfo[playerid][pSex] = 1; и после его вставляем эти строки: PlayerInfo[playerid][pPayDayAdmin] = 0; // при спавне, администратору присваивается 0 часов отыгровки. PlayerInfo[playerid][pAreport] = 0; // при спавне, администратору присваивается 0 ответов на репорт. PlayerInfo[playerid][pAban] = 0; // при спавне, администратору присваивается 0 банов. PlayerInfo[playerid][pAwarn] = 0; // при спавне, администратору присваивается 0 варнов. PlayerInfo[playerid][pAkick] = 0; // при спавне, администратору присваивается 0 киков. PlayerInfo[playerid][pAmute] = 0; // при спавне, администратору присваивается 0 мутов. Теперь нужно чтобы наше значение сохранялось, для этого нажимаем сочетание клавиш CTRL+F и ищем эти строки(проще говоря, сис-му сохранения аккаунтов): ini_setInteger(File," ini_getInteger(File," и дописываем в конец строк с ini_setInteger это: ini_setInteger(File,"pPayDayAdmin",PlayerInfo[playerid][pPayDayAdmin]); ini_setInteger(File,"pAreport",PlayerInfo[playerid][pAreport]); ini_setInteger(File,"pAban",PlayerInfo[playerid][pAban]); ini_setInteger(File,"pAwarn",PlayerInfo[playerid][pAwarn]); ini_setInteger(File,"pAkick",PlayerInfo[playerid][pAkick]); ini_setInteger(File,"pAmute",PlayerInfo[playerid][pAmute]); и в конец строк с ini_getInteger это: ini_getInteger(File,"pPayDayAdmin",PlayerInfo[playerid][pPayDayAdmin]); ini_getInteger(File,"pAreport",PlayerInfo[playerid][pAreport]); ini_getInteger(File,"pAban",PlayerInfo[playerid][pAban]); ini_getInteger(File,"pAwarn",PlayerInfo[playerid][pAwarn]); ini_getInteger(File,"pAkick",PlayerInfo[playerid][pAkick]); ini_getInteger(File,"pAmute",PlayerInfo[playerid][pAmute]); Так.. Теперь вам нужно найти 'систему' вашего payday. Т.к в модах разные сис-мы payday, советую тупо подождать payday на вашем сервере(моде), найти какую-нибудь строку, и найти её в моде через CTRL+F, к примеру "Чек банка SA" и где нибудь впихнуть это: PlayerInfo[playerid][pPayDayAdmin] += 1; // когда наступает payday, администратору начисляется 1 час отыгровки Теперь ищем команду /pm (ответа на репорт), и в нее добавляем это: PlayerInfo[playerid][pAreport] += 1; Теперь ищем команду /ban (бан игрока), и в нее добавляем это: PlayerInfo[playerid][pAban] += 1; Теперь ищем команду /warn (варн игрока), и в нее добавляем это: PlayerInfo[playerid][pAwarn] += 1; Теперь ищем команду /kick (кик игрока), и в нее добавляем это: PlayerInfo[playerid][pAkick] += 1; Теперь ищем команду /mute (мут игрока), и в нее добавляем это: (если у вас одной командой давать мут [/mute] и ей же снимать мут, не бойтесь, засчитываться будет только тогда, когда администратор дал мут) PlayerInfo[playerid][pAmute] += 1; Ну и последним действием будет сама команда. Добавляем ее ко всем командам: if(strcmp(cmd, "/as", true) == 0 || strcmp(cmd, "/adminstats", true) == 0) { if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_WHITE, "Вы не администратор"); { new str[1500],sctring[1500]; GetPlayerName(playerid, sendername, sizeof(sendername)); format(str,sizeof(str),"{73B461}<< {FFFFFF} Статистика администратора - {B22222}%s {73B461}>>\n\n",sendername); strcat(sctring,str); format(str,sizeof(str),"{FFFFFF}Проиграно: {B83434}[%d час(ов)]\n",PlayerInfo[playerid][pPayDayAdmin]); strcat(sctring,str); format(str,sizeof(str),"{FFFFFF}Ответил на репорт: {B83434}[%d раз]\n",PlayerInfo[playerid][pAreport]); strcat(sctring,str); format(str,sizeof(str),"{FFFFFF}Забанил: {B83434}[%d раз]\n",PlayerInfo[playerid][pAban]); strcat(sctring,str); format(str,sizeof(str),"{FFFFFF}Заварнил: {B83434}[%d раз]\n",PlayerInfo[playerid][pAwarn]); strcat(sctring,str); format(str,sizeof(str),"{FFFFFF}Кикнул: {B83434}[%d раз]\n",PlayerInfo[playerid][pAkick]); strcat(sctring,str); format(str,sizeof(str),"{FFFFFF}Заткнул: {B83434}[%d раз]\n",PlayerInfo[playerid][pAmute]); strcat(sctring,str); SPD(playerid,5052,0,"Статистика",sctring, "Ок", ""); } return true; } Вот и всё. Надеюсь кому-нибудь это пригодится.
  10. ArtemLOL12

    TextDraw Спидометра

    Думал сделать спидометр себе на сервер но не знаю как его оживить. И сливаю вам. Сделал немного похож на CRRP но я не копировал :) Вот вам скрины данного чуда(убожества) так скажем.
  11. Доброго времени суток. Написал простейшую функцию получения подсети игрока. Решил поделиться с Вами. Сам использую для дополнительной защиты аккаунтов. Код: stock GetSubNet(playerid) { new network[16]; GetPlayerIp(playerid, network, sizeof(network)); strdel(network, strfind(network, ".", true, 5), 16); return network; } Функция возвращает string значение. Пример использования: В массив с данными игрока: SubNetwork[16], При регистрации: format(pData[playerid][SubNetwork], 16, GetSubNet(playerid)); После того, как игрок залогинился: if(strcmp(pData[playerid][SubNetwork], GetSubNet(playerid))) ShowPlayerDialog(playerid, 1488, DIALOG_STYLE_INPUT, "Введите код доступа", "Вы подключились со стороннего IP-адреса.\nДля получения доступа к аккаунту Вы должны ввести код в поле ниже:", "Далее", "Отмена"); Ко всем диалогам: if(dialogid == 1488) { if(!response) return Kick(playerid);//Кикаем игрока при отказе ввода //Здесь уже сами обрабатываете введенный код, как Вам нужно return true; } Публикация на других ресурсах запрещена.
  12. Один из способов управления автомобилем на расстоянии. При желании можно доработать и сделать RP-шную вещицу. 1. К define добавить: #define DIST_MENU 10101 2. в OnDialogResponse добавить: if(dialogid == DIST_MENU) { new veh = GetPVarInt(playerid, "AVTOS"); if(!response) return false; switch(listitem) { case 0: { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); } case 1: { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); } case 2: { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,engine,true,alarm,doors,bonnet,boot,objective); } case 3: { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,engine,false,alarm,doors,bonnet,boot,objective); } } } 3. Ко всем командам: if(strcmp(cmd, "/amenu", true) == 0) { new Float: pos[3], Float: radius = 5.0; for(new v = 0; v < MAX_VEHICLES; v++) { GetVehiclePos(v, pos[0], pos[1], pos[2]); if(IsPlayerInRangeOfPoint(playerid, radius, pos[0], pos[1], pos[2])) { SetPVarInt(playerid, "AVTOS", v); ShowPlayerDialog(playerid, DIST_MENU, DIALOG_STYLE_LIST, "{F4ED0D}Дистанционное управление Т/С", "{FA0B0B}1. {FFFFFF}Завести двигатель\n{FA0B0B}2. {FFFFFF}Заглушить двигатель\n{FA0B0B}3. {FFFFFF}Включить фары\n{FA0B0B}4. {FFFFFF}Выключить фары", "Выбрать", ""); break; } } return true; }
  13. Здравствуйте пользователи форума CR-MP. И так начнем. 1.Создадим TextDraw самих денег. Ко всем new добавим: new Text:GameMoney[2]; А также ко всем #define добавим: #define callback%0(%1) forward%0(%1); public%0(%1) Это нужно для того чтобы можно было создавать public без forward. 2.В public OnGameModeInit() добавим: GameMoney[0] = TextDrawCreate(497.000000, 76.000000, "_"); TextDrawBackgroundColor(GameMoney[0], 255); TextDrawFont(GameMoney[0], 3); TextDrawLetterSize(GameMoney[0], 0.589999, 2.499999); TextDrawColor(GameMoney[0], -1); TextDrawSetOutline(GameMoney[0], 1); TextDrawSetProportional(GameMoney[0], 0); GameMoney[1] = TextDrawCreate(610.470947, 80.833328, "usebox"); TextDrawLetterSize(GameMoney[1], 0.000000, 1.414705); TextDrawTextSize(GameMoney[1], 495.882537, 0.000000); TextDrawAlignment(GameMoney[1], 1); TextDrawColor(GameMoney[1], 0); TextDrawUseBox(GameMoney[1], true); TextDrawBoxColor(GameMoney[1], 255); TextDrawSetShadow(GameMoney[1], 0); TextDrawSetOutline(GameMoney[1], 0); TextDrawFont(GameMoney[1], 0); SetTimer("TimerMoney", 1000, true);//Таймер для обновления TextDraw раз в 1 сек.3.Теперь сделаем чтобы при конекте убирались стандартный счетчик денег($): В public OnPlayerConnect(playerid) добавим: TextDrawShowForPlayer(playerid, GameMoney[1]); 4.И последнее делаем сам public чтобы обновлять TextDraw. В любое место добавляем: callback TimerMoney(i) { new newtext[41]; format(newtext, sizeof(newtext), "R%08d", Player[i][pMoney]); TextDrawSetString(GameMoney[0], newtext); TextDrawShowForPlayer(i, GameMoney[0]); } P.S:Player[pMoney] в callback TimerMoney(i) замените на свое!
  14. Denisz

    Система /radio

    Начну с того, что написал всё через DC_CMD и switch, это не так сложно Начинаем с команды непосредственно /radio. CMD:radio(playerid,params[]) { ShowPlayerDialog(playerid,150,DIALOG_STYLE_LIST,"Включить радио","[1] Europa Plus\n[2] Radio Record\n[3] Radio PremiuM\n[4] Radio ZaycevFM\n","Выбрать","Отмена"); } Этим действием мы: Создаём команду, и при её вводе показываем игроку (playerid) диалог в стиле "LIST" и ID диалога, после называем диалог "Включить радио" и расписываем все радио, которые хотим видеть в нашем диалоге.(В моём случае это: "[1] Europa Plus\n[2] Radio Record\n[3] Radio PremiuM\n[4] Radio ZaycevFM\n") P.S.\n - разделяет наши радио.Последнее кнопки, у меня "Выбрать" и "Отмена".С этим разобрались, идём далее. В OnDialogResponse пишем: switch(dialogid) { case 150: { switch(listitem) { case 1: PlayAudioStreamForPlayer(playerid,"http://www.europaplus.ru/online/player.php?q=128"); case 2: PlayAudioStreamForPlayer(playerid,"http://radiorecord.ru:9000/record.ogg.m3u"); case 3: PlayAudioStreamForPlayer(playerid,"http://listen.rpfm.ru:9000/premium128"); case 4: PlayAudioStreamForPlayer(playerid,"http://radio.zaycev.fm:9002/ZaycevFM"); } SendClientMessage(playerid,COLOR_LIGHT,"Вы включили радио и надели наушники.Для выключения используйте команду /stopradio"); SetPlayerAttachedObject(playerid, 3, 19424, 2,0.05,0.0,0.0,90.0,360.0,270.0); return 1; } } Я думаю вы сможете найти про "Switch" и "Case" в другом уроке... В общем: Мы создаём case: и вводим в него все действия, которые хотим сделать, по тому же принципу я писал /anim. После мы пишем игроку что он включил радио, и накидываем на него наушники(Их координаты взял от куда то, это не сам к сожалению...). И ещё одна команда: CMD:radiostop(playerid,params[]) { if(!IsValidObject(3)) return SendClientMessage(playerid,COLOR_LIGHT,"Вы не включали радио"); RemovePlayerAttachedObject(playerid, 3); StopAudioStreamForPlayer(playerid); SendClientMessage(playerid,COLOR_LIGHT,"Вы сняли наушники и выключил плеер."); return 1; } Автор:Daniel Shormus
  15. Ко всем #define: #define MAX_MONEY 500 К enum: enum DMONEY_INFO { dID, // ID Float:dPos[3], // Позиция dMoney, // Сколько денег dVirtualWorld, // Виртуальный мир dInterior, // Интерьер Text3D:dLabel // 3D текст }; new Dmoney[MAX_MONEY][DMONEY_INFO]; Добавим команды: /drop CMD:drop(playerid) { if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, 0xAFAFAFAA, "Вы находитесь в транспорте."); ShowPlayerDialog(playerid, 18, DIALOG_STYLE_INPUT, "{FAFAD2}Деньги", "{FFFFFF}Сколько денег вы хотите выбросить?", "Выбросить", "Отмена"); return 1; } /take CMD:take(playerid) { if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, 0xAFAFAFAA, "Вы находитесь в транспорте."); for(new g; g != MAX_MONEY; g++) { if(!IsPlayerInRangeOfPoint(playerid, 1.0, Dmoney[g][dPos][0], Dmoney[g][dPos][1], Dmoney[g][dPos][2])) continue; if(g > MAX_MONEY) return SendClientMessage(playerid, 0xAFAFAFAA, "Вы не можете подобрать деньги. Превышен максимальный лимит."); ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); DestroyDynamicObject(Dmoney[g][dID]); DestroyDynamic3DTextLabel(Dmoney[g][dLabel]); GivePlayerMoney(playerid, Dmoney[g][dMoney]); new m_string[256]; format(m_string, sizeof(m_string), "Вы подобрали %d$.", Dmoney[g][dMoney]); SendClientMessage(playerid, 0xFFA500AA, m_string); format(m_string, sizeof(m_string), "Подобрал %d$", Dmoney[g][dMoney]); SetPlayerChatBubble(playerid, m_string, 0xFF9900AA, 5.0, 3000); Dmoney[g][dID] = -1; Dmoney[g][dPos][0] = 0.0; Dmoney[g][dPos][1] = 0.0; Dmoney[g][dPos][2] = 0.0; Dmoney[g][dMoney] = -1; Dmoney[g][dVirtualWorld] = -1; Dmoney[g][dInterior] = -1; break; } return 1; } В public OnDialogResponse добавить следующее: case 18: { if(!response) return true; if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 18, DIALOG_STYLE_INPUT, "{FAFAD2}Деньги", "{FFFFFF}Сколько денег вы хотите выбросить?", "Выбросить", "Отмена"); if(strval(inputtext) < 1 || strval(inputtext) > 100000) return ShowPlayerDialog(playerid, 18, DIALOG_STYLE_MSGBOX, "{FAFAD2}Ошибка", "{FF0000}Минимально 1$, максимально 100000$.", "Повтор", ""); if(GetPlayerMoney(playerid) < strval(inputtext)) return SendClientMessage(playerid, 0xAFAFAFAA, "Вы не имеете при себе столько денег."); for(new m; m != MAX_MONEY; m++) { if(m > MAX_MONEY) return SendClientMessage(playerid, 0xAFAFAFAA, "Вы не можете выбросить деньги. Превышен максимальный лимит."); GivePlayerMoney(playerid, -strval(inputtext)); ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); GetPlayerPos(playerid, Dmoney[m][dPos][0], Dmoney[m][dPos][1], Dmoney[m][dPos][2]); Dmoney[m][dMoney] = strval(inputtext); Dmoney[m][dVirtualWorld] = GetPlayerVirtualWorld(playerid); Dmoney[m][dInterior] = GetPlayerInterior(playerid); new m_string[256]; Dmoney[m][dID] = CreateDynamicObject(1212, Dmoney[m][dPos][0], Dmoney[m][dPos][1], Dmoney[m][dPos][2]-1, 93.7, 120.0, 120.0, Dmoney[m][dVirtualWorld], Dmoney[m][dInterior], -1, 300.0); format(m_string, sizeof(m_string), "%d$.\n{00A86B}Введите: /take", Dmoney[m][dMoney]); Dmoney[m][dLabel] = CreateDynamic3DTextLabel(m_string, 0xFFFF00AA, Dmoney[m][dPos][0], Dmoney[m][dPos][1], Dmoney[m][dPos][2], 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, Dmoney[m][dVirtualWorld], Dmoney[m][dInterior], -1, 100.0); format(m_string, sizeof(m_string), "Вы выбросили %d$.", Dmoney[m][dMoney]); SendClientMessage(playerid, 0xFFA500AA, m_string); format(m_string, sizeof(m_string), "Выбросил %d$", Dmoney[m][dMoney]); SetPlayerChatBubble(playerid, m_string, 0xFF9900AA, 5.0, 3000); break; } } Внимание! 1. Чтобы редактировать количество объектов, измените число MAX_MONEY. 2. Измените ID диалога (18) на свой пустой. Автор: Botan().
  16. #Bazuka

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

    Привет всем ИНФОРМАЦИЯ!: Хочу предоставить систему голода,но можно делать не на include... И не надо говорить,что у меня нечего не получается (Я ЛИЧНО проверил на трех модах и работает всё отлично проверял на сервере Домик в деревне,Gamer и еще какой-то там) Система для RolePlay(25%) and Drift и.т.д Для новичков нормально,для профи/любителя простая и не очень нужная,но можно сделать и лучше Автор: Неизвестно (Не было указано),но работу выложил 'Dmitriy' Автор доработки: Я (Artem_Balaxnin) Суть доработки: 1.Player использовал данный пользователь,но у многих стоит 'PlayerInfo' 2.Скриншот (Просто для удобство как бы обновил,что данная система или же мануал в рабочем состоянии) 3.Добавил полностью сохранение 4.Оптимизировал код ================== Скоро сделаю новую,но уже мою без include,более нормальный TexDraw,без всяких таймеров + готовое к примеру в ресторане для пополнение HP и лайки. Начнем: Сначала качаем сам Include https://yadi.sk/d/k50H6sIsqMphD Ко всем #include #include <progress> Ко всем #define #define W "{f9d968}" Цвет можно и заменить на свой Цвета: http://chatpages.ru/chat/color/color.html Ко всем fowrad forward Golodtime(); Ко всем переменным ( new ) new golods[MAX_PLAYERS]; new Bar:GolodBar[MAX_PLAYERS]; К массивом pinfo добавляем (Лучше всего добавляйте в самый конец): Потом объясню как нибудь pGolod, В public OnPlayerConnect(playerid) или просто OnPlayerConnect (Смотря какой мод) PlayerInfo[playerid][pGolod] = 100; GolodBar[playerid] = CreateProgressBar(499.00, 103.00, 106.50, 4.19, -10079233, 100.0); ShowProgressBarForPlayer(playerid, GolodBar[playerid]); В public OnPlayerDeath(playerid, killerid, reason) PlayerInfo[playerid][pGolod] = 50; SetProgressBarValue(GolodBar[playerid], PlayerInfo[playerid][pGolod]); UpdateProgressBar(GolodBar[playerid], playerid); В public OnGameModeInit() (Время на -1 единицу можно изменить если хотите) SetTimer("Golodtime",1000*60,true); В конец мода public Golodtime() { for(new i = 0; i < MAX_PLAYERS; i++) { if(golods[i] == 30) { switch(PlayerInfo[i][pGolod]) { case 30: SendClientMessage(i, COLOR_WHITE, ""W"[Предупреждение]{FFFFFF}Ваш голод состовляет "W"30{ffffff} процентов.Перекусите или вы попадете в больницу."); case 15: SendClientMessage(i, COLOR_WHITE, ""W"[Предупреждение]{FFFFFF}Ваш голод состовляет "W"15{ffffff} процентов.Перекусите или вы попадете в больницу."); case 10: SendClientMessage(i, COLOR_WHITE, ""W"[Предупреждение]{FFFFFF}Ваш голод состовляет "W"10{ffffff} процентов.Перекусите или вы попадете в больницу."); case 5: SendClientMessage(i, COLOR_WHITE, ""W"[Предупреждение]{FFFFFF}Ваш голод состовляет "W"5{ffffff} процентов.Перекусите или вы попадете в больницу."); } if(PlayerInfo[i][pGolod] <= 0) SetPlayerHealth(i, 0); PlayerInfo[i][pGolod] -= 1; SetProgressBarValue(GolodBar[i], PlayerInfo[i][pGolod]); UpdateProgressBar(GolodBar[i], i); golods[i] = 0; } else golods[i]++; } return true; } В public OnPlayerRename(name[],string[],playerid) format(var, 32, "GOLOD=%d\n",PlayerInfo[playerid][pGolod]);fwrite(hFile, var); или ini_getInteger(GetFile, "GOLOD", PlayerInfo[playerid][pGolod]); В public OnPlayerRegister(playerid, password[]) ini_getInteger(GetFile, "GOLOD", PlayerInfo[playerid][pGolod]); ИЛИ format(var, 32, "GOLOD=%d\n",PlayerInfo[playerid][pGolod]);fwrite(hFile, var); В public OnPlayerUpdate_GF() или public OnPlayerUpdate ini_getInteger(GetFile, "GOLOD", PlayerInfo[playerid][pGolod]); Или format(var, 32, "GOLOD=%d\n",PlayerInfo[playerid][pGolod]);fwrite(hFile, var); В public OnPlayerLoginer(playerid) ini_getInteger(GetFile, "GOLOD", PlayerInfo[playerid][pGolod]); Или if( strcmp( key , "GOLOD" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGolod] = strval( val ); } В public OnPlayerLogin(playerid,password[]) ini_getInteger(GetFile, "GOLOD", PlayerInfo[playerid][pGolod]); Или if( strcmp( key , "GOLOD" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGolod] = strval( val ); } P.S: Отредактируйте и добавьте сюда скриншот,если не трудно
  17. Всем привет выкладываю свою работу TextDraw menu ко всем new new Text:Textdraw0; new Text:Textdraw1; new Text:Textdraw2; new Text:Textdraw3; new Text:Textdraw4; new Text:Textdraw5; new Text:Textdraw6; new Text:Textdraw7; new Text:Textdraw8; new Text:Textdraw9; new Text:Textdraw10; new Text:Textdraw11; new Text:Textdraw12; new Text:Textdraw13; new Text:Textdraw14; new Text:Textdraw15; new Text:Textdraw16; new Text:Textdraw17; new Text:Textdraw18; new Text:Textdraw19; new Text:Textdraw20; new Text:Textdraw21; new Text:Textdraw22; new Text:Textdraw23; new Text:Textdraw24; new Text:Textdraw25; public OnGameModeInit() Textdraw0 = TextDrawCreate(121.941436, 126.916664, "usebox"); TextDrawLetterSize(Textdraw0, 0.000000, 25.285184); TextDrawTextSize(Textdraw0, 9.244508, 0.000000); TextDrawAlignment(Textdraw0, 1); TextDrawColor(Textdraw0, 0); TextDrawUseBox(Textdraw0, true); TextDrawBoxColor(Textdraw0, 102); TextDrawSetShadow(Textdraw0, 0); TextDrawSetOutline(Textdraw0, 0); TextDrawFont(Textdraw0, 0); Textdraw1 = TextDrawCreate(121.472915, 126.916664, "usebox"); TextDrawLetterSize(Textdraw1, 0.000000, -0.122222); TextDrawTextSize(Textdraw1, 9.713029, 0.000000); TextDrawAlignment(Textdraw1, 1); TextDrawColor(Textdraw1, 0); TextDrawUseBox(Textdraw1, true); TextDrawBoxColor(Textdraw1, 65535); TextDrawSetShadow(Textdraw1, 0); TextDrawSetOutline(Textdraw1, 0); TextDrawFont(Textdraw1, 0); Textdraw2 = TextDrawCreate(12.775987, 126.916664, "usebox"); TextDrawLetterSize(Textdraw2, 0.000000, 25.285184); TextDrawTextSize(Textdraw2, 12.992679, 0.000000); TextDrawAlignment(Textdraw2, 1); TextDrawColor(Textdraw2, 0); TextDrawUseBox(Textdraw2, true); TextDrawBoxColor(Textdraw2, 65535); TextDrawSetShadow(Textdraw2, 0); TextDrawSetOutline(Textdraw2, 0); TextDrawFont(Textdraw2, 0); Textdraw3 = TextDrawCreate(121.941436, 126.916664, "usebox"); TextDrawLetterSize(Textdraw3, 0.000000, 25.285184); TextDrawTextSize(Textdraw3, 114.661788, 0.000000); TextDrawAlignment(Textdraw3, 1); TextDrawColor(Textdraw3, 0); TextDrawUseBox(Textdraw3, true); TextDrawBoxColor(Textdraw3, 65535); TextDrawSetShadow(Textdraw3, 0); TextDrawSetOutline(Textdraw3, 0); TextDrawFont(Textdraw3, 0); Textdraw4 = TextDrawCreate(121.472915, 353.833312, "usebox"); TextDrawLetterSize(Textdraw4, 0.000000, 0.007409); TextDrawTextSize(Textdraw4, 9.244508, 0.000000); TextDrawAlignment(Textdraw4, 1); TextDrawColor(Textdraw4, 0); TextDrawUseBox(Textdraw4, true); TextDrawBoxColor(Textdraw4, 65535); TextDrawSetShadow(Textdraw4, 0); TextDrawSetOutline(Textdraw4, 0); TextDrawFont(Textdraw4, 0); Textdraw5 = TextDrawCreate(118.193267, 130.416656, "usebox"); TextDrawLetterSize(Textdraw5, 0.000000, 1.951854); TextDrawTextSize(Textdraw5, 12.992679, 0.000000); TextDrawAlignment(Textdraw5, 1); TextDrawColor(Textdraw5, 0); TextDrawUseBox(Textdraw5, true); TextDrawBoxColor(Textdraw5, -1378294017); TextDrawSetShadow(Textdraw5, 0); TextDrawSetOutline(Textdraw5, 0); TextDrawFont(Textdraw5, 0); Textdraw6 = TextDrawCreate(118.193267, 152.583343, "usebox"); TextDrawLetterSize(Textdraw6, 0.000000, 2.729628); TextDrawTextSize(Textdraw6, 12.992679, 0.000000); TextDrawAlignment(Textdraw6, 1); TextDrawColor(Textdraw6, 0); TextDrawUseBox(Textdraw6, true); TextDrawBoxColor(Textdraw6, -1); TextDrawSetShadow(Textdraw6, 0); TextDrawSetOutline(Textdraw6, 0); TextDrawFont(Textdraw6, 0); Textdraw7 = TextDrawCreate(118.193267, 152.000000, "usebox"); TextDrawLetterSize(Textdraw7, 0.000000, -0.187038); TextDrawTextSize(Textdraw7, 12.992679, 0.000000); TextDrawAlignment(Textdraw7, 1); TextDrawColor(Textdraw7, 0); TextDrawUseBox(Textdraw7, true); TextDrawBoxColor(Textdraw7, 255); TextDrawSetShadow(Textdraw7, 0); TextDrawSetOutline(Textdraw7, 0); TextDrawFont(Textdraw7, 0); Textdraw8 = TextDrawCreate(118.193267, 181.750000, "usebox"); TextDrawLetterSize(Textdraw8, 0.000000, -0.187038); TextDrawTextSize(Textdraw8, 12.992679, 0.000000); TextDrawAlignment(Textdraw8, 1); TextDrawColor(Textdraw8, 0); TextDrawUseBox(Textdraw8, true); TextDrawBoxColor(Textdraw8, 255); TextDrawSetShadow(Textdraw8, 0); TextDrawSetOutline(Textdraw8, 0); TextDrawFont(Textdraw8, 0); Textdraw9 = TextDrawCreate(118.193267, 184.666656, "usebox"); TextDrawLetterSize(Textdraw9, 0.000000, 2.340742); TextDrawTextSize(Textdraw9, 12.992679, 0.000000); TextDrawAlignment(Textdraw9, 1); TextDrawColor(Textdraw9, 0); TextDrawUseBox(Textdraw9, true); TextDrawBoxColor(Textdraw9, -1); TextDrawSetShadow(Textdraw9, 0); TextDrawSetOutline(Textdraw9, 0); TextDrawFont(Textdraw9, 0); Textdraw10 = TextDrawCreate(118.193267, 210.333343, "usebox"); TextDrawLetterSize(Textdraw10, 0.000000, -0.187038); TextDrawTextSize(Textdraw10, 12.992679, 0.000000); TextDrawAlignment(Textdraw10, 1); TextDrawColor(Textdraw10, 0); TextDrawUseBox(Textdraw10, true); TextDrawBoxColor(Textdraw10, 255); TextDrawSetShadow(Textdraw10, 0); TextDrawSetOutline(Textdraw10, 0); TextDrawFont(Textdraw10, 0); Textdraw11 = TextDrawCreate(118.193267, 213.250000, "usebox"); TextDrawLetterSize(Textdraw11, 0.000000, 11.674077); TextDrawTextSize(Textdraw11, 12.992679, 0.000000); TextDrawAlignment(Textdraw11, 1); TextDrawColor(Textdraw11, 0); TextDrawUseBox(Textdraw11, true); TextDrawBoxColor(Textdraw11, -1); TextDrawSetShadow(Textdraw11, 0); TextDrawSetOutline(Textdraw11, 0); TextDrawFont(Textdraw11, 0); Textdraw12 = TextDrawCreate(118.193267, 238.333328, "usebox"); TextDrawLetterSize(Textdraw12, 0.000000, -0.187036); TextDrawTextSize(Textdraw12, 12.992679, 0.000000); TextDrawAlignment(Textdraw12, 1); TextDrawColor(Textdraw12, 0); TextDrawUseBox(Textdraw12, true); TextDrawBoxColor(Textdraw12, 255); TextDrawSetShadow(Textdraw12, 0); TextDrawSetOutline(Textdraw12, 0); TextDrawFont(Textdraw12, 0); Textdraw13 = TextDrawCreate(118.193267, 265.166687, "usebox"); TextDrawLetterSize(Textdraw13, 0.000000, -0.187041); TextDrawTextSize(Textdraw13, 12.992679, 0.000000); TextDrawAlignment(Textdraw13, 1); TextDrawColor(Textdraw13, 0); TextDrawUseBox(Textdraw13, true); TextDrawBoxColor(Textdraw13, 255); TextDrawSetShadow(Textdraw13, 0); TextDrawSetOutline(Textdraw13, 0); TextDrawFont(Textdraw13, 3); Textdraw14 = TextDrawCreate(118.193267, 295.500000, "usebox"); TextDrawLetterSize(Textdraw14, 0.000000, -0.187034); TextDrawTextSize(Textdraw14, 12.524158, 0.000000); TextDrawAlignment(Textdraw14, 1); TextDrawColor(Textdraw14, 0); TextDrawUseBox(Textdraw14, true); TextDrawBoxColor(Textdraw14, 255); TextDrawSetShadow(Textdraw14, 0); TextDrawSetOutline(Textdraw14, 0); TextDrawFont(Textdraw14, 0); Textdraw15 = TextDrawCreate(118.193267, 322.916687, "usebox"); TextDrawLetterSize(Textdraw15, 0.000000, -0.187041); TextDrawTextSize(Textdraw15, 12.992679, 0.000000); TextDrawAlignment(Textdraw15, 1); TextDrawColor(Textdraw15, 0); TextDrawUseBox(Textdraw15, true); TextDrawBoxColor(Textdraw15, -1); TextDrawSetShadow(Textdraw15, 0); TextDrawSetOutline(Textdraw15, 0); TextDrawFont(Textdraw15, 0); Textdraw16 = TextDrawCreate(118.193267, 325.250000, "usebox"); TextDrawLetterSize(Textdraw16, 0.000000, -0.122222); TextDrawTextSize(Textdraw16, 12.992679, 0.000000); TextDrawAlignment(Textdraw16, 1); TextDrawColor(Textdraw16, 0); TextDrawUseBox(Textdraw16, true); TextDrawBoxColor(Textdraw16, 255); TextDrawSetShadow(Textdraw16, 0); TextDrawSetOutline(Textdraw16, 0); TextDrawFont(Textdraw16, 0); Textdraw17 = TextDrawCreate(118.193267, 328.750000, "usebox"); TextDrawLetterSize(Textdraw17, 0.000000, 2.211111); TextDrawTextSize(Textdraw17, 12.992679, 0.000000); TextDrawAlignment(Textdraw17, 1); TextDrawColor(Textdraw17, 0); TextDrawUseBox(Textdraw17, true); TextDrawBoxColor(Textdraw17, -16776961); TextDrawSetShadow(Textdraw17, 0); TextDrawSetOutline(Textdraw17, 0); TextDrawFont(Textdraw17, 0); Textdraw18 = TextDrawCreate(43.103946, 130.666656, "Menu"); TextDrawLetterSize(Textdraw18, 0.449999, 1.600000); TextDrawAlignment(Textdraw18, 1); TextDrawColor(Textdraw18, -1); TextDrawSetShadow(Textdraw18, 0); TextDrawSetOutline(Textdraw18, 1); TextDrawBackgroundColor(Textdraw18, 51); TextDrawFont(Textdraw18, 1); TextDrawSetProportional(Textdraw18, 1); Textdraw19 = TextDrawCreate(29.516838, 158.083328, "Statistics"); TextDrawLetterSize(Textdraw19, 0.449999, 1.600000); TextDrawAlignment(Textdraw19, 1); TextDrawColor(Textdraw19, -65281); TextDrawSetShadow(Textdraw19, 0); TextDrawSetOutline(Textdraw19, 1); TextDrawBackgroundColor(Textdraw19, 51); TextDrawFont(Textdraw19, 1); TextDrawSetProportional(Textdraw19, 1); Textdraw20 = TextDrawCreate(25.768665, 185.500000, "Commands"); TextDrawLetterSize(Textdraw20, 0.449999, 1.600000); TextDrawAlignment(Textdraw20, 1); TextDrawColor(Textdraw20, -65281); TextDrawSetShadow(Textdraw20, 0); TextDrawSetOutline(Textdraw20, 1); TextDrawBackgroundColor(Textdraw20, 51); TextDrawFont(Textdraw20, 1); TextDrawSetProportional(Textdraw20, 1); Textdraw21 = TextDrawCreate(33.265003, 214.666671, "Support"); TextDrawLetterSize(Textdraw21, 0.449999, 1.600000); TextDrawAlignment(Textdraw21, 1); TextDrawColor(Textdraw21, -65281); TextDrawSetShadow(Textdraw21, 0); TextDrawSetOutline(Textdraw21, 1); TextDrawBackgroundColor(Textdraw21, 51); TextDrawFont(Textdraw21, 1); TextDrawSetProportional(Textdraw21, 1); Textdraw22 = TextDrawCreate(31.859443, 242.083358, "Settings"); TextDrawLetterSize(Textdraw22, 0.449999, 1.600000); TextDrawAlignment(Textdraw22, 1); TextDrawColor(Textdraw22, -65281); TextDrawSetShadow(Textdraw22, 0); TextDrawSetOutline(Textdraw22, 1); TextDrawBackgroundColor(Textdraw22, 51); TextDrawFont(Textdraw22, 1); TextDrawSetProportional(Textdraw22, 1); Textdraw23 = TextDrawCreate(43.103946, 270.666595, "Rules"); TextDrawLetterSize(Textdraw23, 0.449999, 1.600000); TextDrawAlignment(Textdraw23, 1); TextDrawColor(Textdraw23, -65281); TextDrawSetShadow(Textdraw23, 0); TextDrawSetOutline(Textdraw23, 1); TextDrawBackgroundColor(Textdraw23, 51); TextDrawFont(Textdraw23, 1); TextDrawSetProportional(Textdraw23, 1); Textdraw24 = TextDrawCreate(43.572471, 302.166748, "Donat"); TextDrawLetterSize(Textdraw24, 0.449999, 1.600000); TextDrawAlignment(Textdraw24, 1); TextDrawColor(Textdraw24, -65281); TextDrawSetShadow(Textdraw24, 0); TextDrawSetOutline(Textdraw24, 1); TextDrawBackgroundColor(Textdraw24, 51); TextDrawFont(Textdraw24, 1); TextDrawSetProportional(Textdraw24, 1); Textdraw25 = TextDrawCreate(51.537258, 330.749969, "Exit"); TextDrawLetterSize(Textdraw25, 0.449999, 1.600000); TextDrawAlignment(Textdraw25, 1); TextDrawColor(Textdraw25, -1); TextDrawSetShadow(Textdraw25, 0); TextDrawSetOutline(Textdraw25, 1); TextDrawBackgroundColor(Textdraw25, 51); TextDrawFont(Textdraw25, 1); TextDrawSetProportional(Textdraw25, 1); Автор Alexey_Zapekin(То есть я)?
  18. И так начнем. в начало мода. forward Timer(); new grob; new Text3D: new3Dtext; дальше будем работать с public OnPlayerDeath(playerid,killerid,reason) вставьте в этот паблик следущий код: new Float:x,Float:y,Float:z,Float:r,str[256],pname[MAX_PLAYER_NAME];//все наши переменные GetPlayerPos(playerid,x,y,z);//узнаём координаты трупа SetPlayerFacingAngle(playerid,r);//узнаём угол поворота трупа grob = CreateObject(2896,x,y,z-0.5,r,0.0,0.0);//создаём гроб SetTimer("Timer",180000,false);//запускаем таймер GetPlayerName(playerid,pname,sizeof(pname));//узнаём ник трупа format(str,sizeof(str),"%s",pname); new3Dtext = Create3DTextLabel(str,0xF60000FF,x,y,z+1,40.0,0);//создаём 3D текст и в самый конец мода: public Timer() { DestroyObject(grob);//удаляем гроб Delete3DTextLabel(new3Dtext);//удаляем 3D текст return 1; } Автор: Astemir.
  19. tw1x

    Красивый TextDraw

    Всем привет!Вот сделал TextDraw для своего сервера,но он мне не пригодился.Скидаю исходник и .pwn файл.
  20. Всем привет Сегодня на Amazing rp сделали новый логотип сервера но там были косяки с боксами( не ровно ) Я решил сделать копию. Вроде получилось не больно похоже так как на точно все детали я не запоминал. ========================================================================================== Ко всем new new Text:Textdraw0; new Text:Textdraw1; new Text:Textdraw2; new Text:Textdraw3; new Text:Textdraw4; new Text:Textdraw5; Ко всем TextDraw Textdraw0 = TextDrawCreate(629.349914, 3.833333, "usebox"); TextDrawLetterSize(Textdraw0, 0.000000, 0.979629); TextDrawTextSize(Textdraw0, 552.729125, 0.000000); TextDrawAlignment(Textdraw0, 1); TextDrawColor(Textdraw0, 0); TextDrawUseBox(Textdraw0, true); TextDrawBoxColor(Textdraw0, 102); TextDrawSetShadow(Textdraw0, 0); TextDrawSetOutline(Textdraw0, 0); TextDrawFont(Textdraw0, 0); Textdraw1 = TextDrawCreate(629.349914, 16.083332, "usebox"); TextDrawLetterSize(Textdraw1, 0.000000, 1.044444); TextDrawTextSize(Textdraw1, 552.729125, 0.000000); TextDrawAlignment(Textdraw1, 1); TextDrawColor(Textdraw1, 0); TextDrawUseBox(Textdraw1, true); TextDrawBoxColor(Textdraw1, 102); TextDrawSetShadow(Textdraw1, 0); TextDrawSetOutline(Textdraw1, 0); TextDrawFont(Textdraw1, 0); Textdraw2 = TextDrawCreate(533.771606, 3.833333, "usebox"); TextDrawLetterSize(Textdraw2, 0.000000, 2.405555); TextDrawTextSize(Textdraw2, 553.197631, 0.000000); TextDrawAlignment(Textdraw2, 1); TextDrawColor(Textdraw2, 65535); TextDrawUseBox(Textdraw2, true); TextDrawBoxColor(Textdraw2, 65535); TextDrawSetShadow(Textdraw2, 0); TextDrawSetOutline(Textdraw2, 0); TextDrawBackgroundColor(Textdraw2, 65535); TextDrawFont(Textdraw2, 0); Textdraw3 = TextDrawCreate(567.378906, 1.166667, "Amazing"); TextDrawLetterSize(Textdraw3, 0.309912, 1.500833); TextDrawAlignment(Textdraw3, 1); TextDrawColor(Textdraw3, -1); TextDrawSetShadow(Textdraw3, 0); TextDrawSetOutline(Textdraw3, 1); TextDrawBackgroundColor(Textdraw3, 51); TextDrawFont(Textdraw3, 1); TextDrawSetProportional(Textdraw3, 1); Textdraw4 = TextDrawCreate(568.316162, 12.833328, "Server-3"); TextDrawLetterSize(Textdraw4, 0.298199, 1.500832); TextDrawAlignment(Textdraw4, 1); TextDrawColor(Textdraw4, -1); TextDrawSetShadow(Textdraw4, 0); TextDrawSetOutline(Textdraw4, 1); TextDrawBackgroundColor(Textdraw4, 51); TextDrawFont(Textdraw4, 1); TextDrawSetProportional(Textdraw4, 1); Textdraw5 = TextDrawCreate(538.330871, 2.916666, "A"); TextDrawLetterSize(Textdraw5, 0.550731, 2.515832); TextDrawAlignment(Textdraw5, 1); TextDrawColor(Textdraw5, -1); TextDrawSetShadow(Textdraw5, 0); TextDrawSetOutline(Textdraw5, 1); TextDrawBackgroundColor(Textdraw5, 51); TextDrawFont(Textdraw5, 1); TextDrawSetProportional(Textdraw5, 1); В public OnPlayerConnect(playerid) TextDrawShowForPlayer(playerid,Textdraw0); TextDrawShowForPlayer(playerid,Textdraw1); TextDrawShowForPlayer(playerid,Textdraw2); TextDrawShowForPlayer(playerid,Textdraw3); TextDrawShowForPlayer(playerid,Textdraw4); TextDrawShowForPlayer(playerid,Textdraw5);
  21. Нашел в просторах интернета неплохой мануал по созданию табличек на сервер. SetObjectMaterialText добавили в 0.3e Скрин из SAMP new ctable[MAX_PLAYERS][21]; // кол-во слотов CMD:dtable(playerid, params[]) { //проверка на адм if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, CGREY, "Введите: /dtable [id слота [0-20]]"); if(ctable[playerid][params[0]] == 0) return SendClientMessage(playerid,CGREY,"Вы не создавали табличку"); DestroyObject(ctable[playerid][params[0]]); ctable[playerid][params[0]] = 0; SendMes(playerid,COLOR_ORANGE,"Вы удалил табличку из слота #%i",params[0]); return true; } CMD:ctable(playerid, params[]) { //проверка на адм new slot,raz; if(sscanf(params, "iis[100]", slot,raz,params)) return SendClientMessage(playerid, CGREY, "Введите: /ctable [id слота [0-20]] [id объекта] [текст]"); if(ctable[playerid][slot] > 0) return SendClientMessage(playerid,CGREY,"Сначала удалите старую табличку"); new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); ctable[playerid][slot] = CreateObject(raz, x+1, y+1, z+1, 0, 0, 0, 300.0); new buffer[256]; format(buffer,sizeof(buffer),"%s",params); SetObjectMaterialText(ctable[playerid][slot],buffer,0,OBJECT_MATERIAL_SIZE_256x128,"Arial",25,0,0xFF0000FF,0xFFFFFFFF,OBJECT_MATERIAL_TEXT_ALIGN_CENTER); EditObject(playerid,ctable[playerid][slot]); SendMes(playerid,COLOR_ORANGE,"Вы создали табличку и записали её в слот #%i. Удалить табличку /dtable",slot); return true; } Автор: Неизвестно
  22. Для начала ко всем new new arendacar[2]; в public OnGameModeInit() добавим мопеды arendacar [0] = AddStaticVehicle(462,2518.3452,-2119.8315,21.8363,271.3925,39,39); // moped AddStaticVehicle(462,2518.1514,-2122.5017,21.8473,270.9276,39,39); // moped1 AddStaticVehicle(462,2518.1309,-2131.2449,21.8394,270.4301,39,39); // moped2 arendacar [1] = AddStaticVehicle(462,2518.1438,-2135.3059,21.8383,269.1830,39,39); // moped3 в public OnPlayerStateChange(playerid, newstate, oldstate) new tacha = GetPlayerVehicleID(playerid); if(tacha >= arendacar[0] && tacha <= arendacar[1]) { if(GetPVarInt(playerid,"arendaskut") == 1) return 1; { ShowPlayerDialog(playerid,33,DIALOG_STYLE_MSGBOX, " ", "{e49b0f}Прокат скутеров\n{ffffff}Цена проката составляет: 650{34c924}$\n{ffffff}Вы действительно хотите взять напрокат?", "Да", "Нет"); TogglePlayerControllable(playerid, 0); } } в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) добавим диалог if(dialogid == 33) { if(response) { if(Player[playerid][pMoney] <= 649) { SendClientMessage(playerid, COLOR_GREY, "У вас нет столько денег"); RemovePlayerFromVehicle(playerid); TogglePlayerControllable(playerid, 1); return true; } Player[playerid][pMoney] -= 650; GivePlayerMoney(playerid,-650); SetPVarInt(playerid,"arendaskut",1); TogglePlayerControllable(playerid, 1); format(string, sizeof(string), "~g~You rented a scooter"); GameTextForPlayer(playerid, string, 5000, 3); SendClientMessage(playerid, COLOR_GREEN, "Цена проката составило 650$"); return true; } else { RemovePlayerFromVehicle(playerid); TogglePlayerControllable(playerid, 1); return true; } } вот и всё,можно конечно сделать и на время
  23. Ко всем глобальным переменным (где все new) new Meduzaplus[MAX_PLAYERS]; new meduza[26]; В public OnPlayerConnect Meduzaplus[playerid] = 0; В public OnGameModeInit meduza[0] = CreatePickup(1603,2,-797.6761,2485.2246,32.5267);//Медуза meduza[1] = CreatePickup(1603,2,-802.1709,2496.2864,32.2646);//Медуза meduza[2] = CreatePickup(1603,2,-811.7155,2504.5500,29.3333);//Медуза meduza[3] = CreatePickup(1603,2,-820.8770,2522.7083,32.4429);//Медуза meduza[4] = CreatePickup(1603,2,-804.4385,2527.2566,31.0371);//Медуза meduza[5] = CreatePickup(1603,2,-788.5790,2557.8230,33.0156);//Медуза meduza[6] = CreatePickup(1603,2,-769.9031,2566.3306,32.6665);//Медуза meduza[7] = CreatePickup(1603,2,-744.6867,2560.0764,32.3637);//Медуза meduza[8] = CreatePickup(1603,2,-731.7302,2576.7629,35.0796);//Медуза meduza[9] = CreatePickup(1603,2,-722.5411,2565.9683,33.0782);//Медуза meduza[10] = CreatePickup(1603,2,-709.9573,2564.5527,29.7683);//Медуза meduza[11] = CreatePickup(1603,2,-705.8895,2592.2661,35.4615);//Медуза meduza[12] = CreatePickup(1603,2,-694.2102,2588.3513,35.5619);//Медуза meduza[13] = CreatePickup(1603,2,-686.1837,2575.5193,31.9613);//Медуза meduza[14] = CreatePickup(1603,2,-685.3367,2551.4385,35.2500);//Медуза meduza[15] = CreatePickup(1603,2,-671.1393,2529.3293,35.3994);//Медуза meduza[16] = CreatePickup(1603,2,-682.1143,2499.5496,28.6526);//Медуза meduza[17] = CreatePickup(1603,2,-687.4024,2463.8342,32.5824);//Медуза meduza[18] = CreatePickup(1603,2,-724.5478,2439.0942,35.6000);//Медуза meduza[19] = CreatePickup(1603,2,-730.4103,2421.3210,35.5692);//Медуза meduza[20] = CreatePickup(1603,2,-730.5324,2383.6465,30.3319);//Медуза meduza[21] = CreatePickup(1603,2,-754.1667,2372.8894,35.4304);//Медуза meduza[22] = CreatePickup(1603,2,-777.0073,2394.1023,35.4765);//Медуза meduza[23] = CreatePickup(1603,2,-792.0909,2403.5374,29.1317);//Медуза meduza[24] = CreatePickup(1603,2,-795.7236,2435.5022,25.5704);//Медуза meduza[25] = CreatePickup(1603,2,-804.7744,2445.7029,34.2445);//Медуза В public OnPlayerPickUpPickup for(new i; i != 26; i++) { if(pickupid == meduza[i] && GPVI(playerid, "AKVALANG")) { GameTextForPlayer(playerid, "~g~~h~+1 meduza", 1000, 3); Meduzaplus[playerid] += 1; break; } } В public OnPlayerCommandText if(strcmp(cmd, "/akvalang", true) == 0) { if(!PlayerToPoint(2.0,playerid,-768.9856,2467.7817,39.9330)) return 1; new s[35]; if(!GPVI(playerid, "AKVALANG")) { format(s, sizeof(s), "%s надевает акваланг", gn(playerid)); ProxDetector(15.0, playerid, s, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); SetPlayerAttachedObject(playerid, 5, 1010, 1, 0.053070, -0.083673, -0.004646, 86.6, 354.2, 180.0, 1.0, 1.0, 1.0); SPVI(playerid, "AKVALANG", 1); } else if(GPVI(playerid, "AKVALANG")) { format(s, sizeof(s), "%s снимает акваланг", gn(playerid)); ProxDetector(15.0, playerid, s, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); SetPlayerSkin(playerid, Account[playerid][pSkin]); RemovePlayerAttachedObject(playerid, 5); DPVR(playerid, "AKVALANG"); } return 1; } if(strcmp(cmd, "/sellmeduz", true) == 0) { if(!PlayerToPoint(1.0, playerid, -767.5917,2465.5391,41.0703)) return 1; if(Meduzaplus[playerid] <= 0) return SCM(playerid, COLOR_GREY, "У вас нет ни одной медузы!"); if(GPVI(playerid, "AKVALANG")) return SCM(playerid, COLOR_GREY, "Сначало сдайте обратно акваланг!"); new money = Meduzaplus[playerid] * 50; GivePlayerMoney(playerid, money); format(ss, 30, "Вы продали своих медуз за %dр", money); SCM(playerid,COLOR_LIGHTBLUE,ss); Meduzaplus[playerid] = 0; return 1; } Вырезано с Astera RolePlay. Автор вырезки: Roman
  24. Smolin

    Ретекстур объекта

    Доброго времени суток. В этом примере я расскажу, как сделать ретекстур объектов. Для начала скачиваем программу Map Editor Цель работы: Научиться пользоваться функцией SetObjectMaterial. Прямая ссылка на источник на wiki SetObjectMaterial Переходим к практике. Открываем Map Editor, ставите объект, куда захотите и какой хотите, в моем случае - киоск (ID: 4638). Помечено галочками - что собрался ретекстурить. Текстура в моем случае будет ID: 4442 (гараж). Жмем на киоск 2 раза и откроется окно: Видим Model Textures Где написано Material: ... - индексы у нас их 10, придется подбирать индекс/ы, я уже подобрал - 10 (Material: 10 split: 10 Tex: brusch). Открываем .txd объекта, у которого будем брать текстуру и копируем название текстуры. В моем случае - будет самая первая текстура (gar_wall1) объекта гаража (4442): Для того, чтобы открыть текстуры объекта, скачиваем эту программу TXD Workshop Теперь всё основное у нас есть. Переходим к заключению. Открываем ваш GM (gamemode) и переходим в паблик OnGameModeInit. В любое место этого коллбэка вставляем: new- переменная объекта (назвать можно по-разному) переменная = CreateDynamicObject(4638, -343.51, 433.54, 11.70, 0.00, 0.00, 0.00); - объект киоска SetDynamicObjectMaterial(вставляем переменную, индекс (в моем случае это 10-ый), ид объекта у которого брали текстуру (в моем случае - гараж), "название текстуры гаража (gen_garages)", "название текстуры (в моем случае (gar_wall1)", по умолчанию здесь оставляем значение - 0); Выходит у нас так: new kiosk; kiosk = CreateDynamicObject(4638, -343.51, 433.54, 11.70, 0.00, 0.00, 0.00); SetDynamicObjectMaterial(kiosk, 10, 4442, "gen_garages", "gar_wall1", 0); Наглядный пример работоспособности: На этом всё, Господа, советую почитать сабж от SHOROOP'a - Почему не стоит злоупотре######ть изменением материалов (нюансы SetObjectMaterial) (http://cr-mp.ru/forum/topic/15110-pochemu-ne-stoit-zloupotrebliat-izmeneniem-mat/) P.S: на крышу киоска не обращайте внимание - стоит мод - зима SHOROOP'a. Остальные вопросы, касающиеся этому сабжу - задавайте здесь.
  25. Удаляем переменные: new Text:pare[MAX_PLAYERS]; new Text:pare1[MAX_PLAYERS]; new Text:pare2[MAX_PLAYERS]; new CosakTimer[MAX_PLAYERS]; Находим следующий код и УДАЛЯЕМ его: pare1[playerid] = TextDrawCreate(610.800048, 78.406669, "usebox"); TextDrawLetterSize(pare1[playerid], 0.000000, 1.757406); TextDrawTextSize(pare1[playerid], 495.599975, 0.000000); TextDrawAlignment(pare1[playerid], 1); TextDrawColor(pare1[playerid], 0); TextDrawUseBox(pare1[playerid], true); TextDrawBoxColor(pare1[playerid], 102); TextDrawSetShadow(pare1[playerid], 0); TextDrawSetOutline(pare1[playerid], 0); TextDrawFont(pare1[playerid], 0); pare2[playerid] = TextDrawCreate(610.000061, 79.153335, "usebox"); TextDrawLetterSize(pare2[playerid], 0.000000, 1.674443); TextDrawTextSize(pare2[playerid], 496.400115, 0.000000); TextDrawAlignment(pare2[playerid], 1); TextDrawColor(pare2[playerid], 0); TextDrawUseBox(pare2[playerid], true); TextDrawBoxColor(pare2[playerid], 102); TextDrawSetShadow(pare2[playerid], 0); TextDrawSetOutline(pare2[playerid], 0); TextDrawFont(pare2[playerid], 0); pare[playerid] = TextDrawCreate(500.000152, 75.413314, "P_00000000"); TextDrawLetterSize(pare[playerid], 0.511600, 2.376532); TextDrawTextSize(pare[playerid], 122.399986, 25.386663); TextDrawAlignment(pare[playerid], 1); TextDrawColor(pare[playerid], 8388863); TextDrawSetShadow(pare[playerid], 0); TextDrawSetOutline(pare[playerid], 1); TextDrawBackgroundColor(pare[playerid], 255); TextDrawFont(pare[playerid], 3); TextDrawSetProportional(pare[playerid], 1); Находим следующую строку и УДАЛЯЕМ ее: CosakTimer[playerid]=SetTimerEx("Cosak", 800,1,"i", playerid);Находим еще одну строку и УДАЛЯЕМ ее: KillTimer(CosakTimer[playerid]); Находим следующий код и тоже УДАЛЯЕМ его: CALLBACK: Cosak(playerid) { new acc = PlayerInfo[playerid][pMoney]; new string[128]; if(acc > 0) { format(string, sizeof(string), "P_%d", acc); TextDrawSetString(pare[playerid], string); TextDrawShowForPlayer(playerid, pare[playerid]); TextDrawShowForPlayer(playerid, pare1[playerid]); TextDrawShowForPlayer(playerid, pare2[playerid]); } else if(acc < 0) { format(string, sizeof(string), "~r~-P_%d", acc); TextDrawSetString(pare[playerid], string); TextDrawShowForPlayer(playerid, pare[playerid]); TextDrawShowForPlayer(playerid, pare1[playerid]); TextDrawShowForPlayer(playerid, pare2[playerid]); } else if(acc == 0) { format(string, sizeof(string), "P_0"); TextDrawSetString(pare[playerid], string); TextDrawShowForPlayer(playerid, pare[playerid]); TextDrawShowForPlayer(playerid, pare1[playerid]); TextDrawShowForPlayer(playerid, pare2[playerid]); } return 1; } Автор: Amfy Если что-то забыл - дополняйте,пишите в комментарии.
×

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

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