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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

Найдено: 2,041 результат

  1. Интерьер для Квартиры (Одна комната) CreateDynamicObject(19378, -2301.47, 357.37, -87.54, 0.00, 90.00, 0.00); CreateDynamicObject(19358, -2306.12, 354.31, -85.73, 0.00, 0.00, 0.00); CreateDynamicObject(19358, -2304.43, 352.85, -85.73, 0.00, 0.00, 90.00); CreateDynamicObject(19358, -2306.12, 357.43, -85.73, 0.00, 0.00, 0.00); CreateDynamicObject(19358, -2306.12, 360.63, -85.73, 0.00, 0.00, 0.00); CreateDynamicObject(19358, -2304.60, 362.07, -85.73, 0.00, 0.00, 90.00); CreateDynamicObject(19358, -2301.40, 362.04, -85.73, 0.00, 0.00, 90.00); CreateDynamicObject(19358, -2299.71, 360.48, -85.73, 0.00, 0.00, 0.00); CreateDynamicObject(19358, -2296.53, 357.46, -85.73, 0.00, 0.00, 0.00); CreateDynamicObject(19358, -2296.53, 354.34, -85.73, 0.00, 0.00, 0.00); CreateDynamicObject(19358, -2298.13, 352.83, -85.73, 0.00, 0.00, 90.00); CreateDynamicObject(19358, -2301.26, 352.85, -85.72, 0.00, 0.00, 90.00); CreateDynamicObject(10165, -2304.11, 360.68, -86.66, 0.00, 0.00, 90.00); CreateDynamicObject(10178, -2300.81, 361.48, -86.21, 0.00, 0.00, 270.00); CreateDynamicObject(19173, -2304.14, 361.97, -85.35, 0.00, 0.00, 0.00); CreateDynamicObject(10266, -2305.55, 353.45, -87.07, 0.00, 0.00, 0.00); CreateDynamicObject(10267, -2305.52, 354.53, -86.95, 0.00, 0.00, 90.00); CreateDynamicObject(10200, -2303.99, 353.28, -87.45, 0.00, 0.00, 180.00); CreateDynamicObject(10206, -2302.98, 353.31, -87.45, 0.00, 0.00, 180.00); CreateDynamicObject(10204, -2302.87, 353.34, -85.14, 90.00, 0.00, 0.00); CreateDynamicObject(10271, -2297.09, 353.27, -86.86, 0.00, 0.00, 270.00); CreateDynamicObject(10256, -2296.93, 354.19, -86.26, 0.00, 0.00, 270.00); CreateDynamicObject(19377, -2301.54, 357.37, -84.05, 0.00, 90.00, 0.00); CreateDynamicObject(19358, -2298.01, 358.96, -85.73, 0.00, 0.00, 90.00); CreateDynamicObject(3172, -2305.43, 357.29, -86.98, 0.00, 0.00, 90.00); CreateDynamicObject(1744, -2305.64, 357.24, -86.19, 0.00, 0.00, 180.00); CreateDynamicObject(1738, -2305.22, 357.25, -86.47, 0.00, 0.00, 180.00); CreateDynamicObject(1748, -2305.26, 357.75, -86.47, 0.00, 0.00, 180.00); CreateDynamicObject(1743, -2305.39, 356.60, -86.25, 0.00, 0.00, 180.00); CreateDynamicObject(1747, -2305.57, 357.84, -86.34, 0.00, 0.00, 180.00); CreateDynamicObject(1747, -2305.57, 358.24, -86.34, 0.00, 0.00, 180.00); CreateDynamicObject(1742, -2304.35, 357.32, -86.94, 0.00, 0.00, 180.00); CreateDynamicObject(1491, -2296.84, 357.74, -87.45, 0.00, 0.00, 135.00); CreateDynamicObject(19358, -2297.06, 358.02, -85.73, 0.00, 0.00, 45.00); CreateDynamicObject(1416, -2297.32, 355.00, -86.97, 0.00, 0.00, 0.00); CreateDynamicObject(19172, -2306.03, 356.87, -85.19, 0.00, 0.00, 90.00); CreateDynamicObject(1748, -2291.63, 330.30, -86.54, 0.00, 0.00, 0.00);
  2. Здравствуйте ув. пользователи сайта gs-games , сегодня я вам расскажу о оптимизации игровых модов. Посмотрим как будет выгледеть обычная команда: if(strcmp(cmd,"/tskill",true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pTskill] > 1000){ PlayerInfo[playerid][pTskill] = 1000; } if(PlayerInfo[playerid][pTskill] < 0){ PlayerInfo[playerid][pTskill] = 0; } format(string,sizeof(string),"Ваш скилл : %d / 1000",PlayerInfo[playerid][pTskill]); SendClientMessage(playerid,COLOR_BLUE,string); return 1; } return 1; } Теперь посмотрите команду более оптимизированую: CMD:tskill(playerid, params[]) { if(!IsPlayerConnected(playerid)) return true; if(PlayerInfo[playerid][pTskill]>999) return PlayerInfo[playerid][pTskill]=1000; if(PlayerInfo[playerid][pTskill]<0) return PlayerInfo[playerid][pTskill]=0; format(string,sizeof(string),"Ваш скилл : %d / 1000",PlayerInfo[playerid][pTskill]); SendClientMessage(playerid,COLOR_BLUE,string); return true; } 1) Комманды станут короче и более оптимизированы. Диалоги: Диалог до оптимизации: if(dialogid == 99) { olololo=1; } if(dialogid == 88) { olololo=2; } После switch(dialogid) { case 99: olololo=1; case 88: olololo=2; return true; } Чем же это оптимизирует? А тем, что при сравнении сервер тоже использует память, и в итоге если этих диалогов будет не 2 как в примере, а 20000. То при поиске диалога сервер просто-напросто повиснет, а в случае со свичем он просто ищет диалог. То-есть он не проверяет каждую возможность, а просто берет число и ищет кейс с ним. На этом наш урок закончен Автор урока : [Ega29]
  3. Aleksey_Dolgov

    Падающий снег.

    Здраствуйте уважаемые пользователи Gs-Games. К вашему вниманию. Были скрипты Падающего снега. Но выглядело не очень. Я Сделал другой выход. Чтобы добавить снег в мод, нужно В public OnGameModeInit добавить: for(new x=-3000; x < 3000; x+=100) for(new y=-3000; y < 3000; y+=100) CreateDynamicObject(18864, x, y, 0.0, 0.0, 0.0, 0.0); Спасибо за внимание.
  4. #Pawno

    CRMP|RP v7.0.9

    Здраствуйте уважаемые пользыватели форума. Почему я решил мод выложить старой версий? да потому что задолбали все его продовать. Вообщем что есть в моде: Фракций. 1. Дпс 2.Фсб 3.Армия 4.Здравохранение 5. La costra nosta 6. РЖд 7. Правительство 8. Смотра 9. Репортеры 10. такси 11. Лицензеры 12. Итальянская мафий 13. непомню 14. Пожарная 15. русская мафия 16. Гопники 17. Уличные гонщики 18. Прокуратура 19. Батыревская братва 20. спецназ 21. южная братва 22. Атп 23. ППС 2. система бизнесов 3. Система авто - gamer 4. система домов - gamer 5. Система Обучение 6. Много команд :D 7. система подездов ну и другие системы. p.s чтоб удалить все дома /asellhousedom вроде. CRMP RP v7.0.9.zip
  5. Добрый День Форумчане... Вот решил выложить интерьер который не понадобился в моем моде... Он хорошо подойдет для Respawna или же Гостиницы... Вообщем смотрим фото: CreateDynamicObject(19450, 2516.09, -2134.89, 10.91, 0.00, 0.00, 0.00); CreateDynamicObject(19450, 2516.09, -2125.29, 10.91, 0.00, 0.00, 0.00); CreateDynamicObject(19450, 2520.79, -2139.73, 10.91, 0.00, 0.00, 90.00); CreateDynamicObject(19450, 2530.29, -2139.72, 10.91, 0.00, 0.00, 90.00); CreateDynamicObject(19450, 2535.11, -2136.44, 10.91, 0.00, 0.00, 0.00); CreateDynamicObject(19450, 2535.17, -2122.50, 10.91, 0.00, 0.00, 0.00); CreateDynamicObject(19450, 2520.97, -2120.59, 10.91, 0.00, 0.00, 90.00); CreateDynamicObject(19450, 2530.57, -2120.59, 10.91, 0.00, 0.00, 90.00); CreateDynamicObject(19378, 2528.53, -2135.27, 9.11, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2518.92, -2135.22, 9.11, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2518.94, -2124.80, 9.11, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2528.52, -2124.82, 9.11, 0.00, -90.00, 90.00); CreateDynamicObject(19377, 2530.27, -2135.39, 12.57, 0.00, -90.00, 90.00); CreateDynamicObject(19377, 2530.29, -2124.91, 12.57, 0.00, -90.00, 90.00); CreateDynamicObject(19377, 2520.58, -2135.35, 12.57, 0.00, -90.00, 90.00); CreateDynamicObject(19377, 2520.75, -2124.89, 12.57, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2529.34, -2136.65, 9.24, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2529.34, -2126.17, 9.24, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2529.65, -2126.07, 9.42, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2529.66, -2136.52, 9.42, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2529.89, -2136.50, 9.60, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2529.89, -2126.03, 9.60, 0.00, -90.00, 90.00); CreateDynamicObject(18755, 2537.07, -2129.47, 11.36, 0.00, 0.00, 0.00); CreateDynamicObject(18756, 2537.05, -2129.42, 11.36, 0.00, 0.00, 0.00); CreateDynamicObject(18757, 2537.07, -2129.40, 11.36, 0.00, 0.00, 0.00); CreateDynamicObject(1504, 2535.05, -2134.26, 9.50, 0.00, 0.00, 90.00); CreateDynamicObject(1504, 2535.04, -2138.31, 9.50, 0.00, 0.00, 90.00); CreateDynamicObject(1504, 2535.13, -2126.47, 9.50, 0.00, 0.00, 90.00); CreateDynamicObject(1504, 2535.12, -2122.87, 9.50, 0.00, 0.00, 90.00); CreateDynamicObject(1504, 2530.87, -2139.66, 9.50, 0.00, 0.00, 0.00); CreateDynamicObject(1504, 2525.19, -2139.68, 9.50, 0.00, 0.00, 0.00); CreateDynamicObject(1504, 2525.20, -2120.70, 9.50, 0.00, 0.00, 0.00); CreateDynamicObject(1504, 2531.09, -2120.68, 9.50, 0.00, 0.00, 0.00); CreateDynamicObject(1504, 2521.68, -2120.68, 9.18, 0.00, 0.00, 0.00); CreateDynamicObject(1504, 2521.82, -2139.69, 9.18, 0.00, 0.00, 0.00); CreateDynamicObject(1504, 2518.11, -2139.68, 9.18, 0.00, 0.00, 0.00); CreateDynamicObject(19404, 2517.60, -2123.78, 10.91, 0.00, 0.00, -90.00); CreateDynamicObject(19450, 2519.13, -2119.03, 10.91, 0.00, 0.00, 0.00); CreateDynamicObject(19466, 2517.74, -2123.72, 12.01, 0.00, 0.00, 90.00); CreateDynamicObject(1504, 2519.20, -2122.78, 9.18, 0.00, 0.00, 90.00); CreateDynamicObject(1504, 2519.08, -2122.80, 9.18, 0.00, 0.00, 90.00); CreateDynamicObject(1749, 2517.57, -2123.19, 9.66, 0.00, 0.00, -90.00); CreateDynamicObject(1744, 2517.56, -2123.11, 10.44, 0.00, 0.00, -90.00); CreateDynamicObject(1742, 2517.57, -2121.90, 9.77, 0.00, 0.00, -90.00); CreateDynamicObject(1746, 2516.67, -2137.51, 9.66, 0.00, 0.00, -180.00); CreateDynamicObject(1746, 2516.71, -2133.82, 9.66, 0.00, 0.00, -180.00); CreateDynamicObject(19174, 2516.19, -2133.78, 11.29, 0.00, 0.00, 90.00); CreateDynamicObject(19175, 2516.15, -2125.59, 11.29, 0.00, 0.00, 90.00); CreateDynamicObject(19173, 2516.20, -2137.65, 11.29, 0.00, 0.00, 90.00); CreateDynamicObject(1536, 2516.16, -2131.24, 9.19, 0.00, 0.00, 90.00); CreateDynamicObject(1536, 2516.12, -2128.30, 9.19, 0.00, 0.00, 270.00); CreateDynamicObject(19378, 2518.92, -2135.22, 9.05, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2518.94, -2124.80, 9.05, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2528.52, -2124.82, 9.08, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2528.53, -2135.27, 9.04, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2539.50, -2125.57, 9.60, 0.00, -90.00, 90.00); CreateDynamicObject(19378, 2539.51, -2136.05, 9.60, 0.00, -90.00, 90.00);
  6. Здраствуйте уважаемые пользователи форума. Хочу вам предоставить свой урок КПП на мосту. Я делал его для своего сервера что бы серверу придать больше РП. Пост Расположен на начале моста со стороны Южного. Этот пост могут открывать только 2 фракции. Когда сотрудников ПО нету на сервере пост открыт. Скрин как это выглядит:
  7. 1. Забыли скомпилировать мод Заходи в папку gamemodes и открывай .pwn файл и нажимай клавишу F5 2.Мод не до конца скомпилировался, или amx. файл поврежден Проверяем размер amx. файла, если 0 кб, значит ошибка компиляции. Проблема в исходном коде, или ошибка запуска компилятора. Запускайте pawncc.exe от имени администратора. 3.У вас нету в моде "точки входа" (функция main) Открываем мод и добавляем в любое место: ( не в stock и не public естественно ) main(){} 4.У вас не установлена программы на компьютере NET Framework или Microsoft Visual C++ Гуглим то и другое, качаем. 5.Не прописаны в server.cfg плагины (нужно проверить используются в моде они или нет для начала) Заходим в папку с сервером и находим файл server.cfg и если у вас нету строки plugins, то добавляем в конце plugins Имя плагина Если у вас стоит Linux то после имя плагина должно быть написано так Имя плагина.so И мой способ: 6).Качаем Streamer: https://code.google.com/p/samp-streamer-plugin/downloads/detail?name=streamer_plugin_v2_6_1_r84.zip&can=2&q= Заменяем всё в папке с модом. И компилируйте мод. И Запускаем мод. (Лично мне это помогло!)
  8. Этот скрипт позволит вам приглашать игрока на дуэль Выбрать оружие и ставку P.S.Координаты меняйте на свои! И так приступаем... Открываем new.pwn удаляем оттуда все и вставляем это: new StartingDuel[MAX_PLAYERS]; new CountDuelTimer[MAX_PLAYERS]; new WeaponDuel = 24; new MoneyDuel = 1000; new bool:DuelPlaceVisit = false; new Float:duelspawn[12][3] = { {-1129.8909,1057.5424,1346.4141}, {-1103.7913,1086.7838,1341.9036}, {-1082.0232,1043.7269,1343.7159}, {-1053.5138,1023.3488,1343.1503}, {-1048.3635,1058.6753,1343.9337}, {-1060.6057,1092.9423,1342.9473}, {-1036.6921,1088.7567,1343.1466}, {-1015.7525,1069.8811,1344.1016}, {-1020.4619,1034.2771,1342.4492}, {-992.12230,1036.9589,1341.8861}, {-973.94290,1061.5148,1345.6714}, {-992.10420,1090.4716,1342.8617} }; forward DuelStarting(playerid); //============================================================================== public OnPlayerConnect(playerid) { PlayerInDuel[playerid] = 0; GetDuelCreate[playerid] = INVALID_PLAYER_ID; return 1; } //============================================================================== public OnPlayerDisconnect(playerid, reason) { KillTimer(CountDuelTimer[playerid]); for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(PlayerInDuel[i] == 1) { PlayerInDuel[i] = 0; DuelPlaceVisit = false; SendClientMessage(i, -1, "Твой противник покинул дуэль!"); OnPlayerSpawn(i); } } } return 1; } //============================================================================== public OnPlayerSpawn(playerid) { return 1; } //============================================================================== public OnPlayerCommandText(playerid, cmdtext[]) { new string[1024], cmd[256], tmp[256], giveplayerid, idx; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/duel", true) == 0) { if(PlayerInDuel[playerid] == 1) return SendClientMessage(playerid, -1, "Ты уже участвуешь в дуэли."); if(DuelPlaceVisit) return SendClientMessage(playerid, -1, "Подождите пока место для дуэли освободится."); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, -1, "Использование: /duel [ id игрока ] [ id оружия ] [ ставка ]"); giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, -1, "Использование: /duel [ id игрока ] [ id оружия ] [ ставка ]"); WeaponDuel = strval(tmp); if(WeaponDuel < 0 || WeaponDuel > 42) return SendClientMessage(playerid, -1, "Ты ввёл не верный id оружия. Используй id от 0 до 42"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, -1, "Использование: /duel [ id игрока ] [ id оружия ] [ ставка ]"); MoneyDuel = strval(tmp); if(MoneyDuel < 1 || MoneyDuel > 100000) return SendClientMessage(playerid, -1, "Ты ввёл не верную сумму ставки. Используй сумму от 1$ до 100000$"); if(MoneyDuel > GetPlayerMoney(playerid)) return SendClientMessage(playerid, -1, "Тебе не хватает на ставку. Укажи другую сумму!"); if(MoneyDuel > GetPlayerMoney(giveplayerid)) return SendClientMessage(playerid, -1, "Твоему противнику не хватает на ставку. Укажи другую сумму!"); if(IsPlayerConnected(giveplayerid)) { new Float:POS[3]; GetPlayerPos(giveplayerid, POS[0], POS[1], POS[2]); if(playerid == giveplayerid) return SendClientMessage(playerid, -1, "Ты не можешь применить это действие к самому себе."); if(!IsPlayerInRangeOfPoint(playerid, 5, POS[0], POS[1], POS[2])) return SendClientMessage(playerid, -1, "Ты находишься слишком далеко от этого игрока."); if(PlayerInDuel[giveplayerid] == 1) return SendClientMessage(playerid, -1, "Этот игрок уже участвует в дуэли."); GetDuelCreate[giveplayerid] = playerid; format(string, sizeof(string), "Ты успешно пригласил игрока {9DDAF2}%s{FFFFFF} на дуэль! Дождись ответа.", pNick(giveplayerid)); SendClientMessage(playerid, -1, string); format(string, sizeof(string), "Игрок %s приглашает тебя на дуэль.\n\nОружие: %d\nСтавка: %d$", pNick(playerid), WeaponDuel, MoneyDuel); ShowPlayerDialog(giveplayerid, DUEL_ID, DIALOG_STYLE_MSGBOX, "Приглашение на дуэль", string, "Да", "Нет"); } else { SendClientMessage(playerid, -1, "Игрок с указанным тобой id не найден!"); } return 1; } return 0; } //============================================================================== public DuelStarting(playerid) { new string[256]; StartingDuel[playerid] -= 1; format(string, sizeof(string), "~y~STARTING: ~w~%d", StartingDuel[playerid]); GameTextForPlayer(playerid, string, 999, 3); SetPlayerHealth(playerid, 100); if(StartingDuel[playerid] == 0) { GameTextForPlayer(playerid, "~g~DUEL START", 3000, 3); TogglePlayerControllable(playerid, true); KillTimer(CountDuelTimer[playerid]); } return 1; } //============================================================================== public OnPlayerDeath(playerid, killerid, reason) { if(PlayerInDuel[killerid] == 1 && PlayerInDuel[playerid] == 1) { new string[256]; DuelPlaceVisit = false; PlayerInDuel[killerid] = 0; PlayerInDuel[playerid] = 0; GetDuelCreate[killerid] = INVALID_PLAYER_ID; GetDuelCreate[playerid] = INVALID_PLAYER_ID; GivePlayerMoney(killerid, MoneyDuel); GivePlayerMoney(playerid, -MoneyDuel); format(string, sizeof(string), "~g~+%d$", MoneyDuel); GameTextForPlayer(killerid, string, 1000, 1); format(string, sizeof(string), "~r~-%d$", MoneyDuel); GameTextForPlayer(playerid, string, 1000, 1); format(string, sizeof(string), ">>> В дуэли между игроками {FFFFFF}%s{00FF00} и {FFFFFF}%s{00FF00} победил игрок {FFFFFF}%s", pNick(killerid), pNick(playerid), pNick(killerid)); SendClientMessageToAll(0x00FF00FF, string); SetTimerEx("OnPlayerSpawn", 1000, false, "i", killerid); return 1; } return 1; } //============================================================================== public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new string[1024]; new dueledid = GetDuelCreate[playerid]; if(dialogid == DUEL_ID) { if(response) { if(PlayerInDuel[playerid] == 1) { SendClientMessage(playerid, -1, "Ты уже участвуешь в дуэли."); SendClientMessage(dueledid, -1, "При соглашении на участие в дуэли произошла ошибка!"); GetDuelCreate[playerid] = INVALID_PLAYER_ID; return 1; } if(PlayerInDuel[dueledid] == 1) { SendClientMessage(playerid, -1, "Игрок, отославший тебе приглашение, уже участвует в дуэли."); SendClientMessage(dueledid, -1, "При соглашении на участие в дуэли произошла ошибка!"); GetDuelCreate[playerid] = INVALID_PLAYER_ID; return 1; } if(DuelPlaceVisit) { SendClientMessage(playerid, -1, "Подожди пока место для дуэли освободится."); SendClientMessage(dueledid, -1, "Подожди пока место для дуэли освободится."); GetDuelCreate[playerid] = INVALID_PLAYER_ID; return 1; } if(IsPlayerConnected(dueledid)) { PlayerInDuel[playerid] = 1; PlayerInDuel[dueledid] = 1; DuelPlaceVisit = true; new rand1 = random(sizeof(duelspawn)); SetPlayerPos(playerid, duelspawn[rand1][0], duelspawn[rand1][1], duelspawn[rand1][2]); new rand2 = random(sizeof(duelspawn)); SetPlayerPos(dueledid, duelspawn[rand2][0], duelspawn[rand2][1], duelspawn[rand2][2]); SetCameraBehindPlayer(playerid); SetCameraBehindPlayer(dueledid); SetPlayerInterior(playerid, 10); SetPlayerInterior(dueledid, 10); SetPlayerHealth(dueledid, 100); SetPlayerHealth(playerid, 100); SetPlayerVirtualWorld(playerid, DUEL_MIR); SetPlayerVirtualWorld(dueledid, DUEL_MIR); TogglePlayerControllable(playerid, false); TogglePlayerControllable(dueledid, false); StartingDuel[playerid] = 6; StartingDuel[dueledid] = 6; CountDuelTimer[playerid] = SetTimerEx("DuelStarting", 1000, true, "i", playerid); CountDuelTimer[dueledid] = SetTimerEx("DuelStarting", 1000, true, "i", dueledid); ResetPlayerWeapons(playerid); ResetPlayerWeapons(dueledid); GivePlayerWeapon(playerid, WeaponDuel, 99999); GivePlayerWeapon(dueledid, WeaponDuel, 99999); GetDuelCreate[playerid] = INVALID_PLAYER_ID; } else { SendClientMessage(playerid, -1, "Игрок, отославший тебе приглашение, отсоеденился!"); GetDuelCreate[playerid] = INVALID_PLAYER_ID; } } else { format(string, sizeof(string), "Ты отказался на участие в дуэли с игроком {9DDAF2}%s", pNick(dueledid)); SendClientMessage(playerid, -1, string); format(string, sizeof(string), "Игрок {9DDAF2}%s{FFFFFF} отказался на участие в дуэли с тобой!", pNick(playerid)); SendClientMessage(GetDuelCreate[playerid], -1, string); GetDuelCreate[playerid] = INVALID_PLAYER_ID; } return 1; } return 1; } //============================================================================== stock pNick(playerid) { new nick[MAX_PLAYER_NAME]; GetPlayerName(playerid, nick, MAX_PLAYER_NAME); return nick; } //============================================================================== strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } Вот и всё! Если будут ошибки пишите
  9. PROMO_4ka!™

    Въезд в Аэропорт "Мирный"

    Всем привет! Выкладываю самую мою первую работу в MTA Въезд в Аэропорт "Мирный". Не судите строго=)
  10. jaD^

    Сцена и праздничная елка.

    CreateDynamicObject(5464, 2147.48, -2071.09, 20.33, 0.00, 0.00, 90.24); CreateDynamicObject(5468, 2147.39, -2071.07, 20.38, 0.00, 0.00, 90.18); CreateDynamicObject(5466, 2146.91, -2071.48, 20.32, 0.00, 0.00, 90.24); CreateDynamicObject(5465, 2147.00, -2071.42, 20.29, 0.00, 0.00, 90.18); CreateDynamicObject(5463, 2147.34, -2071.06, 20.34, 0.00, 0.00, 90.12); CreateDynamicObject(5467, 2147.67, -2071.00, 20.27, 0.00, 0.00, 90.54); CreateDynamicObject(19054, 2139.66, -2069.94, 20.58, 0.00, 0.00, 0.00); CreateDynamicObject(19057, 2137.76, -2069.81, 20.48, 0.00, 0.00, 0.00); CreateDynamicObject(19054, 2138.61, -2071.15, 20.34, -1.80, -90.48, 2.94); CreateDynamicObject(4344, 2168.41, -2074.36, 19.68, 0.00, 0.00, 0.00); CreateDynamicObject(19076, 2136.90, -2061.89, 17.78, 0.00, 0.00, -23.88); CreateDynamicObject(19054, 2138.41, -2061.20, 18.43, 0.00, 0.00, 0.00); CreateDynamicObject(10236, 2133.07, -2061.04, 17.79, 0.00, 0.00, -41.10); CreateDynamicObject(10236, 2134.54, -2059.50, 17.79, 0.00, 0.00, -54.54); CreateDynamicObject(10236, 2136.33, -2058.45, 17.79, 0.00, 0.00, -75.48); CreateDynamicObject(10236, 2138.45, -2058.07, 17.79, 0.00, 0.00, -96.96); CreateDynamicObject(10236, 2140.23, -2058.60, 17.79, 0.00, 0.00, -145.80); CreateDynamicObject(10236, 2141.42, -2060.41, 17.79, 0.00, 0.00, -149.70); CreateDynamicObject(10236, 2142.32, -2062.26, 17.79, 0.00, 0.00, -169.62); CreateDynamicObject(10236, 2142.45, -2066.46, 17.79, 0.00, 0.00, -183.84); CreateDynamicObject(10236, 2132.45, -2062.93, 17.79, 0.00, 0.00, -12.72); CreateDynamicObject(10236, 2132.88, -2064.90, 17.79, 0.00, 0.00, 17.52); CreateDynamicObject(10236, 2133.93, -2066.73, 17.79, 0.00, 0.00, 33.60); CreateDynamicObject(10236, 2135.76, -2067.07, 17.79, 0.00, 0.00, 86.70); CreateDynamicObject(19057, 2137.76, -2069.81, 20.48, 0.00, 0.00, 0.00); CreateDynamicObject(19057, 2136.95, -2063.02, 18.48, 0.00, 0.00, 36.12); CreateDynamicObject(19058, 2136.28, -2061.17, 18.44, 0.00, 0.00, -47.58); CreateDynamicObject(4430, 2163.08, -2047.78, 19.70, 0.00, 0.00, 0.00); CreateDynamicObject(4430, 2128.28, -2030.37, 19.70, 0.00, 0.00, 0.00); CreateDynamicObject(982, 2189.78, -2041.10, 18.70, 0.00, 0.00, 0.00); CreateDynamicObject(982, 2189.79, -2066.73, 18.70, 0.00, 0.00, 0.00); CreateDynamicObject(982, 2176.94, -2079.54, 18.70, 0.00, 0.00, 90.06); CreateDynamicObject(982, 2151.32, -2079.56, 18.70, 0.00, 0.00, 90.06); CreateDynamicObject(982, 2125.70, -2079.57, 18.70, 0.00, 0.00, 90.12); CreateDynamicObject(19064, 2140.68, -2068.47, 21.10, 2.58, 34.80, 0.00); CreateDynamicObject(19064, 2141.07, -2068.56, 21.10, 2.58, 34.80, -269.58); CreateDynamicObject(4259, 2148.46, -2032.12, 18.31, 0.00, 0.00, 0.00); CreateDynamicObject(1232, 2136.28, -2025.63, 20.33, 0.00, 0.00, 0.00); CreateDynamicObject(1232, 2136.19, -2038.69, 20.33, 0.00, 0.00, 0.00); CreateDynamicObject(1232, 2160.26, -2026.03, 20.33, 0.00, 0.00, 0.00); CreateDynamicObject(1232, 2160.26, -2038.83, 20.33, 0.00, 0.00, 0.00); CreateDynamicObject(1232, 2160.20, -2050.34, 20.33, 0.00, 0.00, 0.00); CreateDynamicObject(1232, 2136.64, -2050.34, 20.33, 0.00, 0.00, 0.00); CreateDynamicObject(1232, 2160.14, -2015.33, 20.33, 0.00, 0.00, 0.00); CreateDynamicObject(1232, 2136.06, -2015.50, 20.33, 0.00, 0.00, 0.00); CreateDynamicObject(19129, 2148.77, -2032.30, 17.79, 0.00, 0.00, 0.00); CreateDynamicObject(1256, 2155.75, -2028.84, 18.38, 0.00, 0.00, 180.00); CreateDynamicObject(1256, 2155.73, -2035.94, 18.38, 0.00, 0.00, 180.00); CreateDynamicObject(1256, 2151.89, -2039.38, 18.38, 0.00, 0.00, 90.30); CreateDynamicObject(1256, 2144.54, -2039.40, 18.38, 0.00, 0.00, 90.30); CreateDynamicObject(616, 2170.05, -2087.81, 17.86, 0.00, 0.00, 0.00); CreateDynamicObject(616, 2146.56, -2102.68, 17.86, 0.00, 0.00, 0.00); CreateDynamicObject(616, 2119.52, -2093.45, 17.86, 0.00, 0.00, 0.00); CreateDynamicObject(616, 2089.07, -2109.59, 17.86, 0.00, 0.00, 0.00); CreateDynamicObject(616, 2200.26, -2059.19, 17.86, 0.00, 0.00, 0.00); CreateDynamicObject(615, 2177.93, -2088.09, 18.50, 0.00, 0.00, 0.00); CreateDynamicObject(615, 2196.28, -2061.43, 18.50, 0.00, 0.00, 0.00);
  11. Данная модификация с полными повреждениями, на что заменять смотрите сами, я заменил Admiral. ;-)
  12. #L9mon

    Спортивный зал. | by L9mon

    Простенький спортивный зал, сделанный в "минимализме" Скриншоты: http://cs409326.vk.me/v409326524/36fa/VqTpFeypp0Y.jpg http://cs409326.vk.me/v409326524/3703/dv4kEoSkmZA.jpg http://cs409326.vk.me/v409326524/370c/HyTMlqg3NhY.jpg http://cs409326.vk.me/v409326524/3715/VwLsmj7-MUc.jpg
  13. Здраствуйте дорогие пользователи сайта gsgames.ru. Хочу вам продемонстрировать гудок для поезда. Итак,перейдём к самой модификации: Основные характеристики: 1.Гудок может слышать любой игрок находящийся не дальше 30-50 метров от объекта. 2.Звучание гудка не очень реалистичное и на мой взгляд скорей похоже на звучание гудка ЭД4М выпуска 2001 года. 3.Гудок подходит не только для сервера crmp но и для samp.(Сам не проверял,но как гласят слухи это правда) Вот и всё! Ссылка: http://rghost.ru/51117187 Пароль: gsgames Автор: SHOROOP
  14. Приветствую всех. Выкладываю скрипт анти-реклама,дабы не заметил такого на форуме. Принцип работы:если в сообщение будет содержаться "формат" ip,команда просто не сработает(работает на всех командах чата). Автор:Slim Ссылка:http://rghost.ru/51287002 VT:https://www.virustotal.com/ru/file/a0d48e4d7649f3b0ceeedc6be6c78a8412e80a74eafd390c14144af4735c1770/analysis/
  15. Egorcik

    Мапинг г.Арзамас + Деревня

    Маппинг делал для своего сервера но сервер забросил. Не пропадать добру!
  16. Всем привет! Вот было нечего сделать сделал базу полиции, оценивайте.
  17. azon099

    Аэропорт...

    Вот делал аэропорт для одного проекта(как спавн), проект закрылся выкладываю в паблик
  18. Находим И после скобок вставляем вот это : Строго не судите это моя первая работа :)
  19. Sumrak

    Alarm система

    По просьбе выкладываю снова скрипт сигнализации "Alarm" Команды: /BuyAlarm - купить сигнализацию. /TurnAlarm - вкл/выкл сигнализацию. http://rghost.ru/50942348
  20. Это FS поможет вам прикреплять объекты к машине и узнавать точные координаты !
  21. Доброго дня. Итак, сегодня речь пойдет о контроле нанесенного игроку урона. SA:MP (а значит - и адаптации) при получении игроком урона незамедлительно запускает коллбэк OnPlayerTakeDamage, у которого есть несколько входных параметров: [*]playerid - ID игрока, которому был нанесен урон. [*]issuerid - ID игрока, который нанес урон. Если игрок пострадал от падения, взрыва и т.п. - в данный параметр будет передано значение INVALID_PLAYER_ID. [*]amount - количество нанесенного урона в виде числа с плавающей точкой. [*]weaponid - ID оружия, которым был нанесен урон, либо ID причины нанесения урона. Более подробно об этом можно прочитать в статье на SA:MP Wiki. Разбирать, как же все это работает, я предлагаю на конкретном примере. И примером таким станет написание системы нанесения ранений. Собственно, в обобщенном виде алгоритм действий будет таков: [*]Если игрок получает урон - с шансом 1 к 2 он упадет в обморок. [*]Если игрок падает в обморок - заморозить его любым доступным способом на определенное время. В примере время обморока будет выбрано случайно. [*]Если время обморока закончилось - разморозить игрока. Итак, приступим. Подключаем библиотеку a_samp. Работы в других коллбэках нам практически не нужны. Для собственной страховки в OnPlayerSpawn можно вызвать функцию ClearAnimations. Итак, первоначально - определяем время и шанс обморока. Минимальное время в моем примере - 15 секунд, максимальное - 1 минута. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) { new ObmorokTime = random(45)+15; new Obmorok = random (3); И в этом месте на момент написания скрипта я задумался. Есть шанс, что нанесенного урона хватит, чтобы убить игрока, однако для него уже будет вызвана анимация, что может привести к отсутствию вызова OnPlayerDeath. Проблема решилась просто и изящно - если у игрока будет менее 10 HP, скрипт просто не будет вызван. Точно также анимация будет вызвана и для водителя, что нам не нужно - такую проверку мы тоже поставим. new Float:HP; GetPlayerHealth(playerid, HP); if (HP >=10 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { Далее через switch проверяем, упал все-таки в обморок игрок или нет. Если упал - очищаем ему текущую анимацию, на время ObmorokTime применяем к нему анимацию и таймер для сброса этой анимации в указанное время. switch (Obmorok) { case 2: { ClearAnimations(playerid); ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.1, 0, 1, 1, 1, ObmorokTime*1000, 1); SetTimerEx ("ClearAnimation", ObmorokTime*1000, false, "d", playerid); Ну, и для большей информативности - добавим информацию ранившему и раненному. Если же раненный сам виноват - следует ввести проверку и на это. Резервируем три переменные, проверяем ID атаковавшего и в зависимости от этого выводим сообщения о ранении. new string[128], victim[MAX_PLAYER_NAME], attacker[MAX_PLAYER_NAME]; GetPlayerName(playerid, victim, sizeof (victim)); if (issuerid != INVALID_PLAYER_ID) { GetPlayerName(issuerid, attacker, sizeof (attacker)); format(string, sizeof(string), "%s ранил Вас!", attacker); SendClientMessage(playerid, 0xFF110000, string); format(string, sizeof(string), "Вы ранили %s!", victim); SendClientMessage(issuerid, 0xFF110000, string); } else { SendClientMessage(playerid, 0xFF110000, "Вы ранены!"); } } } } return 1; } За этим все! Больше от программиста не требуется ничего, скрипт будет успешно работать, что уже доказано использованием его на нашем проекте уже больше года.
  22. И снова здравствуйте! Эта тема для тех, кто не знает как перевести сервер с SAMP на CRMP. 1) Скачиваем стандартный мод с офф.сайта адаптации SAMP. [*]Windows Server [*]Linux Server 2) Разархивируем архив на рабочий стол и откроем папку. 3) В папке видим 3 файла: adap-npc, announcr, samp-server-cr.
  23. Выложите пожалуйста систему пожаров, поставлю +
  24. Evgeniy_Stark

    Cкрипт снегопада

    Здравствуйте уважаемые пользователи сайта gsgames Хочу с вами поделиться скриптом снегопада Я его нашёл,лазия по форумам Автор не я
×

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

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