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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

Найдено: 1,434 результата

  1. John_Smith

    Система доната.

    Решил выложить систему доната, так, как никто не выкладывал, думаю пригодиться. Автор: Alan_Waket Дата: 19.05.2013г Ко всем new PHP код: new DonateMoney1;В enum pInfoPHP код: pDonateRank, pDonateMoney1,В public OnPlayerRegister(playerid, password[])PHP код: ini_setInteger(File,"DonateMoney1",PlayerInfo[playerid][pDonateMoney1]); ini_setInteger(File,"DonateRank",PlayerInfo[playerid][pDonateRank]);В public OnPlayerLogin(playerid,password[])PHP код: ini_getInteger(File,"DonateMoney1",PlayerInfo[playerid][pDonateMoney1]); ini_getInteger(File,"DonateRank",PlayerInfo[playerid][pDonateRank]);В public OnPlayerConnect(playerid)PHP код: PlayerInfo[playerid][pDonateMoney1] = 0; PlayerInfo[playerid][pDonateRank] = 0;В public OnPlayerCommandText(playerid, cmdtext[])PHP код: else if(strcmp(cmd, "/givedonate", true) == 0) { if(PlayerInfo[playerid][pAdmin] > 9) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /givedon [ид] [рублей]"); new playa; playa = ReturnUser(tmp); tmp = strtok(cmdtext, idx); DonateMoney1 = strval(tmp); if (PlayerInfo[playerid][pAdmin] >= 9) { if(IsPlayerConnected(playa)) { if(playa != INVALID_PLAYER_ID) { format(string, sizeof(string), "- %d донат переведён на счёт игроку", DonateMoney1); SendClientMessage(playerid, COLOR_WHITE, string); PlayerInfo[playa][pDonateMoney1] += DonateMoney1; SendClientMessage(playa, COLOR_NEWS, "Пополнение доната аккаунта"); format(string, sizeof(string), "- Пополнение счёта на сумму: {d53e07}%d {33ccff}рублей", DonateMoney1); SendClientMessage(playa, COLOR_WHITE, string); format(string, sizeof(string), "- Ваш донатный счёт: {d53e07}%d {33ccff}рублей", PlayerInfo[playa][pDonateMoney1]); SendClientMessage(playa, COLOR_WHITE, string); } } } } return true; }PHP код: else if(strcmp(cmd, "/donate", true) == 0) { new lvlexp[80]; new listitems[] = "[1] Покупка скинаn[2] Снятие наказанийn[3] Прочие покупкиn[4] Покупка VIP статусаn[5] Игровые привилегии"; format(lvlexp,70,"Донат | Баланс: %d рублей",PlayerInfo[playerid][pDonateMoney1]); ShowPlayerDialog(playerid, 10055, DIALOG_STYLE_LIST, lvlexp, listitems, "Выбрать", "Отмена"); }В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])PHP код: case 10055: { if(response) { switch(listitem) { case 0: { new string3[512]; format(string3,sizeof(string3),"n{ffffff}Введите ID скина на который вы хотите сменить свой скин и нажмите {34c924}'Ок'nnn{ffffff}Стоимость любого скина составляет {34c924}50 {ffffff}DonateMoney"); ShowPlayerDialog(playerid,5563,DIALOG_STYLE_INPUT,"{ffffff}Введите ID скина",string3,"Ок","Выйти"); } case 1:ShowPlayerDialog(playerid, 10056, DIALOG_STYLE_LIST, "Cнятие наказаний", "[1] Снять бан чата (20р)n[2] Снятие варнов (50р)n[3] Выйти из тюрьмы (30р)", "Выбрать", "Назад"); case 2:ShowPlayerDialog(playerid, 10057, DIALOG_STYLE_LIST, "Прочее", "[1] Прибавить 1к наркозависимости (30р)n[2] Убавить 1к наркозависимости (30р)n[3] Купить 1кг наркотиков(15)n[4] Купить 1000 материалов (20р)n[5] Получить набор оружия(бесконечные патроны) (40р)n[6] Купить комплект лицензий (20р)n[7] Покупка скиллов (50р)n[8]Снятие розыска (20)n[9]Обнулить счет преступлений (100р)n[10] Купить 50 законопослушности (20р)", "Выбрать", "Назад"); case 3:ShowPlayerDialog(playerid, 10058, DIALOG_STYLE_LIST, "Покупка VIP", "[1] Bronze VIP (50р)n[2] Silver VIP(100р)n[3] Gold VIP(150р)", "Выбрать", "Назад"); case 4:ShowPlayerDialog(playerid, 10059, DIALOG_STYLE_LIST, "Игровые привелегии", "[1] 500.000$ (20р)n[2] 1.000.000$ (40р)n[3] 3.000.000$ (120р)n[4] 5.000.000$ (160р)n[5] 10.000.000$ (320р))", "Выбрать", "Назад"); } } } case 10056: { if(response) { switch(listitem) { case 0: { if(PlayerInfo[playerid][pDonateMoney1] < 20) return SendClientMessage(playerid, COLOR_GREY, "Не достатoчно денег"); PlayerInfo[playerid][pMuted] = 0; PlayerInfo[playerid][pMuteTime] = 0; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы разблокировали себе чат"); PlayerInfo[playerid][pDonateMoney1] -= 20; } case 1: { if(PlayerInfo[playerid][pDonateMoney1] < 50) return SendClientMessage(playerid, COLOR_GREY, "Не достатoчно денег"); PlayerInfo[playerid][pWarns] = 0; PlayerInfo[playerid][punWarnstime] = 0; PlayerInfo[playerid][punWarns] = 0; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Варны с данного аккаунта успешно сняты"); PlayerInfo[playerid][pDonateMoney1] -= 50; } case 2: { if(PlayerInfo[playerid][pDonateMoney1] < 30) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pJailTime] = 0; PlayerInfo[playerid][pCheat] = 0; PlayerInfo[playerid][pJailed] = 0; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы вышли из тюрьмы"); PlayerInfo[playerid][pDonateMoney1] -= 30; SpawnPlayer(playerid); } } } else { return true; } } case 10057: { if(response) { switch(listitem) { case 0: { if(PlayerInfo[playerid][pDonateMoney1] < 30) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pNarcoZavisimost] += 1000; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы прибавили 1к наркозависимости"); PlayerInfo[playerid][pDonateMoney1] -= 30; } case 1: { if(PlayerInfo[playerid][pDonateMoney1] < 30) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pNarcoZavisimost] -= 1000; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы уменьшили наркозависмость на 1к"); PlayerInfo[playerid][pDonateMoney1] -= 30; } case 2: { if(PlayerInfo[playerid][pDonateMoney1] < 15) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pDrugs] += 1000; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы купили 1кг наркотиков"); PlayerInfo[playerid][pDonateMoney1] -= 15; } case 3: { if(PlayerInfo[playerid][pDonateMoney1] < 20) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pMats] += 1000; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы купили 1к материалов"); PlayerInfo[playerid][pDonateMoney1] -= 20; } case 4: { if(PlayerInfo[playerid][pDonateMoney1] < 40) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); GivePlayerWeapon(playerid,24,9999); GivePlayerWeapon(playerid,25,9999); GivePlayerWeapon(playerid,29,9999); GivePlayerWeapon(playerid,31,9999); GivePlayerWeapon(playerid,43,9999); GivePlayerWeapon(playerid,46,9999); GivePlayerWeapon(playerid,41,9999); SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы приобрели комплект оружия, пропадает после смерти"); PlayerInfo[playerid][pDonateMoney1] -= 40; } case 5: { if(PlayerInfo[playerid][pDonateMoney1] < 20) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pVodPrava] = 1; PlayerInfo[playerid][pFishLic] = 1; PlayerInfo[playerid][pBoatLic] = 1; PlayerInfo[playerid][pFlyLic] = 1; PlayerInfo[playerid][pGunLic] = 1; PlayerInfo[playerid][pBizLic] = 1; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы купили комплект лицензий"); // PlayerInfo[playerid][pDonateMoney1] -= 20; } case 6: { if(PlayerInfo[playerid][pDonateMoney1] < 50) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pDesertEagle] = 100; PlayerInfo[playerid][pSDPistol] = 100; PlayerInfo[playerid][pMP5] = 100; PlayerInfo[playerid][pAK47] = 100; PlayerInfo[playerid][pM4] = 100; PlayerInfo[playerid][pShotGun] = 100; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы улучшили навыки владения оружия до максимума"); // PlayerInfo[playerid][pDonateMoney1] -= 50; } case 7: { if(PlayerInfo[playerid][pDonateMoney1] < 20) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pZvezdi]= 0; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы удалили себя из списка розыскиваемый"); // PlayerInfo[playerid][pDonateMoney1] -= 20; } case 8: { if(PlayerInfo[playerid][pDonateMoney1] < 100) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pKills] = 0; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы обнулили счетчик преступлений"); // PlayerInfo[playerid][pDonateMoney1] -= 100; } case 9: { if(PlayerInfo[playerid][pDonateMoney1] < 20) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pZakonp] += 50; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы стали законопослушным гражданином"); // PlayerInfo[playerid][pDonateMoney1] -= 20; } } } else { return true; } } case 10058: { if(response) { switch(listitem) { case 0: { if(PlayerInfo[playerid][pDonateMoney1] < 50) return SendClientMessage(playerid, COLOR_GREY, "Не достатoчно денег"); PlayerInfo[playerid][pDonateRank] = 1; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы купили Bronze VIP статус"); PlayerInfo[playerid][pDonateMoney1] -= 50; } case 1: { if(PlayerInfo[playerid][pDonateMoney1] < 100) return SendClientMessage(playerid, COLOR_GREY, "Не достатoчно денег"); PlayerInfo[playerid][pDonateRank] = 2; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы купили Silver VIP статус"); PlayerInfo[playerid][pDonateMoney1] -= 50; } case 2: { if(PlayerInfo[playerid][pDonateMoney1] < 150) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pDonateRank] = 3; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы купили Gold VIP статус"); PlayerInfo[playerid][pDonateMoney1] -= 150; } } } else { return true; } } case 10059: { if(response) { switch(listitem) { case 0: { if(PlayerInfo[playerid][pDonateMoney1] < 20) return SendClientMessage(playerid, COLOR_GREY, "Не достатoчно денег"); PlayerInfo[playerid][pCash] += 500000; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы купили 500к"); PlayerInfo[playerid][pDonateMoney1] -= 20; } case 1: { if(PlayerInfo[playerid][pDonateMoney1] < 40) return SendClientMessage(playerid, COLOR_GREY, "Не достатoчно денег"); PlayerInfo[playerid][pCash] += 1000000; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы купили 1кк"); PlayerInfo[playerid][pDonateMoney1] -= 40; } case 2: { if(PlayerInfo[playerid][pDonateMoney1] < 120) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pCash] += 3000000; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы купили 3кк"); PlayerInfo[playerid][pDonateMoney1] -= 120; } case 3: { if(PlayerInfo[playerid][pDonateMoney1] < 160) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pCash] += 5000000; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы купили 5кк"); PlayerInfo[playerid][pDonateMoney1] -= 160; } case 4: { if(PlayerInfo[playerid][pDonateMoney1] < 320) return SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег"); PlayerInfo[playerid][pCash] += 10000000; SendClientMessage(playerid, 0x6495EDFF, "{FFBF00}Вы купили 10кк"); PlayerInfo[playerid][pDonateMoney1] -= 320; } } } else { return true; } }Собственно все.
  2. Доброго времени суток, сейчас я расскажу вам о "Автоматическом рестарте". Я думаю многие видели на серверах в определенное время происходит рестарт сервера, при этом администрации не приходится вводить команду. Сервер делает это автоматически. Как это сделать? В Public OnPlayerUpdate: PHP код: new h, m, s; gettime(h, m, s); // Узнаем время if(h == 1 && m == 25 s == 0) // Если 1 час 25 минут (Можно заменить время на свое) { format(string, 128, "Уважаемые игроки, через 5 минут произойдет АвтоРестарт."); // Тест, отправляемый в чат SendClientMessageToAll(COLOR_WHITE, string);// Выводим сообщение в общий чат } if(h == 1 && m == 30 s == 0) // Если 1 час 30 минут и 0 секунд (Можно заменить время на свое) { SaveAccounts(); // Замените эту строчку на функции сохранения у вас в моде (С помощью вашей команды рестарта можно их найти (там они будут написаны)) format(string, 128, "Происходит автоматический рестарт сервера, подождите 10-15 секунд..."); // Тест, отправляемый в чат SendClientMessageToAll(COLOR_WHITE, string);// Выводим сообщение в общий чат SendRconCommand("gmx"); // Делаем рестарт }Автор: Я.Внимание! Секунды не убирать иначе каждую секунду будет рестарт.
  3. Начнём Ко всем forward'ам PHP код: forward LoadDip(); forward SaveDip(); Ко всем new PHP код: new TotalGzR;//rifa new TotalGzA;//actek new TotalGzB;//ballas new TotalGzG;//grove new TotalGzV;//vagos enum dInfo { dRGrove, dRAztec, dRVagos, dRBallas, // dBGrove, dBAztec, dBVagos, dBRifa, // dAGrove, dAVagos, dABallas, dARifa, // dGRifa, dGAztec, dGVagos, dGBallas, // dVGrove, dVAztec, dVBallas, dVRifa, };new Dip[1][dInfo]; PHP код: public LoadDip() { new iniFile = ini_openFile("logs/LoadDip.cfg"); ini_getInteger(iniFile,"Dip[0][dRGrove]",Dip[0][dRGrove]); ini_getInteger(iniFile,"Dip[0][dRAztec]",Dip[0][dRAztec]); ini_getInteger(iniFile,"Dip[0][dRVagos]",Dip[0][dRVagos]); ini_getInteger(iniFile,"Dip[0][dRBallas]",Dip[0][dRBallas]); // ini_getInteger(iniFile,"Dip[0][dBGrove]",Dip[0][dBGrove]); ini_getInteger(iniFile,"Dip[0][dBAztec]",Dip[0][dBAztec]); ini_getInteger(iniFile,"Dip[0][dBVagos]",Dip[0][dBVagos]); ini_getInteger(iniFile,"Dip[0][dBRifa]",Dip[0][dBRifa]); // ini_getInteger(iniFile,"Dip[0][dAGrove]",Dip[0][dAGrove]); ini_getInteger(iniFile,"Dip[0][dAVagos]",Dip[0][dAVagos]); ini_getInteger(iniFile,"Dip[0][dABallas]",Dip[0][dABallas]); ini_getInteger(iniFile,"Dip[0][dARifa]",Dip[0][dARifa]); // ini_getInteger(iniFile,"Dip[0][dGRifa]",Dip[0][dGRifa]); ini_getInteger(iniFile,"Dip[0][dGAztec]",Dip[0][dGAztec]); ini_getInteger(iniFile,"Dip[0][dGVagos]",Dip[0][dGVagos]); ini_getInteger(iniFile,"Dip[0][dGBallas]",Dip[0][dGBallas]); // ini_getInteger(iniFile,"Dip[0][dVGrove]",Dip[0][dVGrove]); ini_getInteger(iniFile,"Dip[0][dVAztec]",Dip[0][dVAztec]); ini_getInteger(iniFile,"Dip[0][dVBallas]",Dip[0][dVBallas]); ini_getInteger(iniFile,"Dip[0][dVRifa]",Dip[0][dVRifa]); ini_closeFile(iniFile); return 1; }PHP код: public SaveDip() { new iniFile = ini_openFile("logs/LoadDip.cfg"); ini_setInteger(iniFile, "Dip[0][dRGrove]",Dip[0][dRGrove]); ini_setInteger(iniFile, "Dip[0][dRAztec]",Dip[0][dRAztec]); ini_setInteger(iniFile, "Dip[0][dRVagos]",Dip[0][dRVagos]); ini_setInteger(iniFile, "Dip[0][dRBallas]",Dip[0][dRBallas]); // ini_setInteger(iniFile, "Dip[0][dBGrove]",Dip[0][dBGrove]); ini_setInteger(iniFile, "Dip[0][dBAztec]",Dip[0][dBAztec]); ini_setInteger(iniFile, "Dip[0][dBVagos]",Dip[0][dBVagos]); ini_setInteger(iniFile, "Dip[0][dBRifa]",Dip[0][dBRifa]); // ini_setInteger(iniFile, "Dip[0][dAGrove]",Dip[0][dAGrove]); ini_setInteger(iniFile, "Dip[0][dAVagos]",Dip[0][dAVagos]); ini_setInteger(iniFile, "Dip[0][dABallas]",Dip[0][dABallas]); ini_setInteger(iniFile, "Dip[0][dARifa]",Dip[0][dARifa]); // ini_setInteger(iniFile, "Dip[0][dGRifa]",Dip[0][dGRifa]); ini_setInteger(iniFile, "Dip[0][dGAztec]",Dip[0][dGAztec]); ini_setInteger(iniFile, "Dip[0][dGVagos]",Dip[0][dGVagos]); ini_setInteger(iniFile, "Dip[0][dGBallas]",Dip[0][dGBallas]); // ini_setInteger(iniFile, "Dip[0][dVGrove]",Dip[0][dVGrove]); ini_setInteger(iniFile, "Dip[0][dVAztec]",Dip[0][dVAztec]); ini_setInteger(iniFile, "Dip[0][dVBallas]",Dip[0][dVBallas]); ini_setInteger(iniFile, "Dip[0][dVRifa]",Dip[0][dVRifa]); ini_closeFile(iniFile); return 1; }В public OnGameModeInit() добавимPHP код: LoadDip(); В public PayDay() добавим PHP код: if(GZInfo[i][gFrakVlad] == 18) TotalGzR++; if(GZInfo[i][gFrakVlad] == 17) TotalGzA++; if(GZInfo[i][gFrakVlad] == 15) TotalGzG++; if(GZInfo[i][gFrakVlad] == 13) TotalGzV++; if(GZInfo[i][gFrakVlad] == 12) TotalGzB++; FracBank[0][fGrove] += TotalGzG*300; FracBank[0][fBallas] += TotalGzB*300; FracBank[0][fVagos] += TotalGzV*300; FracBank[0][fAztek] += TotalGzA*300; FracBank[0][fRifa] += TotalGzR*300; ClearTotalGz(); SaveBankFrac(); В конец мода PHP код: stock ClearTotalGz() { TotalGzR = 0;//rifa TotalGzA = 0;//actek TotalGzB = 0;//ballas TotalGzG = 0;//grove TotalGzV = 0;//vagos printr("ClearTotalGz"); } Добавим команду /ginfo PHP код: if(strcmp(cmd,"/ginfo", true)== 0) { if(IsPlayerConnected(playerid)) { if(IsAGang(playerid)) { ClearTotalGz(); for(new i =0;i<sizeof(GZInfo);i++) { if(GZInfo[i][gFrakVlad] == 18) TotalGzR++; if(GZInfo[i][gFrakVlad] == 17) TotalGzA++; if(GZInfo[i][gFrakVlad] == 15) TotalGzG++; if(GZInfo[i][gFrakVlad] == 13) TotalGzV++; if(GZInfo[i][gFrakVlad] == 12) TotalGzB++; } ////////////////////////Vagos///////////////////////////// new BallasDipV[32];//Ballas if(Dip[0][dVBallas] == 0) { BallasDipV = "{ffffff}Нейтрал"; } else if(Dip[0][dVBallas] == 1) { BallasDipV = "{00BF36}Союз"; } else if(Dip[0][dVBallas] == 2) { BallasDipV = "{C43E3E}Война"; } new GroveDipV[32];//Grove if(Dip[0][dVGrove] == 0) { GroveDipV = "{ffffff}Нейтрал"; } else if(Dip[0][dVGrove] == 1) { GroveDipV = "{00BF36}Союз"; } else if(Dip[0][dVGrove] == 2) { GroveDipV = "{C43E3E}Война"; } new AztecDipV[32];//Aztec if(Dip[0][dVAztec] == 0) { AztecDipV = "{ffffff}Нейтрал"; } else if(Dip[0][dVAztec] == 1) { AztecDipV = "{00BF36}Союз"; } else if(Dip[0][dVAztec] == 2) { AztecDipV = "{C43E3E}Война"; } new RifaDipV[32];//Rifa if(Dip[0][dVRifa] == 0) { RifaDipV = "{ffffff}Нейтрал"; } else if(Dip[0][dVRifa] == 1) { RifaDipV = "{00BF36}Союз"; } else if(Dip[0][dVRifa] == 2) { RifaDipV = "{C43E3E}Война"; } ////////////////////////Ballas////////////////////////////// new VagosDipB[32];//Vagos if(Dip[0][dBVagos] == 0) { VagosDipB = "{ffffff}Нейтрал"; } else if(Dip[0][dBVagos] == 1) { VagosDipB = "{00BF36}Союз"; } else if(Dip[0][dBVagos] == 2) { VagosDipB = "{C43E3E}Война"; } new GroveDipB[32];//Grove if(Dip[0][dBGrove] == 0) { GroveDipB = "{ffffff}Нейтрал"; } else if(Dip[0][dBGrove] == 1) { GroveDipB = "{00BF36}Союз"; } else if(Dip[0][dBGrove] == 2) { GroveDipB = "{C43E3E}Война"; } new AztecDipB[32];//Aztec if(Dip[0][dBAztec] == 0) { AztecDipB = "{ffffff}Нейтрал"; } else if(Dip[0][dBAztec] == 1) { AztecDipB = "{00BF36}Союз"; } else if(Dip[0][dBAztec] == 2) { AztecDipB = "{C43E3E}Война"; } new RifaDipB[32];//Rifa if(Dip[0][dBRifa] == 0) { RifaDipB = "{ffffff}Нейтрал"; } else if(Dip[0][dBRifa] == 1) { RifaDipB = "{00BF36}Союз"; } else if(Dip[0][dBRifa] == 2) { RifaDipB = "{C43E3E}Война"; } /////////////////////////Grove//////////////////////////// new VagosDipG[32];//Vagos if(Dip[0][dGVagos] == 0) { VagosDipG = "{ffffff}Нейтрал"; } else if(Dip[0][dGVagos] == 1) { VagosDipG = "{00BF36}Союз"; } else if(Dip[0][dGVagos] == 2) { VagosDipG = "{C43E3E}Война"; } new AztecDipG[32];//Aztec if(Dip[0][dGAztec] == 0) { AztecDipG = "{ffffff}Нейтрал"; } else if(Dip[0][dGAztec] == 1) { AztecDipG = "{00BF36}Союз"; } else if(Dip[0][dGAztec] == 2) { AztecDipG = "{C43E3E}Война"; } new BallasDipG[32];//Ballas if(Dip[0][dGBallas] == 0) { BallasDipG = "{ffffff}Нейтрал"; } else if(Dip[0][dGBallas] == 1) { BallasDipG = "{00BF36}Союз"; } else if(Dip[0][dGBallas] == 2) { BallasDipG = "{C43E3E}Война"; } new RifaDipG[32];//Rifa if(Dip[0][dGRifa] == 0) { RifaDipG = "{ffffff}Нейтрал"; } else if(Dip[0][dGRifa] == 1) { RifaDipG = "{00BF36}Союз"; } else if(Dip[0][dGRifa] == 2) { RifaDipG = "{C43E3E}Война"; } //////////////////////////Aztec////////////////////////// new BallasDipA[32];//Ballas if(Dip[0][dABallas] == 0) { BallasDipA = "{ffffff}Нейтрал"; } else if(Dip[0][dABallas] == 1) { BallasDipA = "{00BF36}Союз"; } else if(Dip[0][dABallas] == 2) { BallasDipA = "{C43E3E}Война"; } new VagosDipA[32];//Vagos if(Dip[0][dAVagos] == 0) { VagosDipA = "{ffffff}Нейтрал"; } else if(Dip[0][dAVagos] == 1) { VagosDipA = "{00BF36}Союз"; } else if(Dip[0][dAVagos] == 2) { VagosDipA = "{C43E3E}Война"; } new GroveDipA[32];//Grove if(Dip[0][dAGrove] == 0) { GroveDipA = "{ffffff}Нейтрал"; } else if(Dip[0][dAGrove] == 1) { GroveDipA = "{00BF36}Союз"; } else if(Dip[0][dAGrove] == 2) { GroveDipA = "{C43E3E}Война"; } new RifaDipA[32];//Rifa if(Dip[0][dARifa] == 0) { RifaDipA = "{ffffff}Нейтрал"; } else if(Dip[0][dARifa] == 1) { RifaDipA = "{00BF36}Союз"; } else if(Dip[0][dARifa] == 2) { RifaDipA = "{C43E3E}Война"; } /////////////////////////Rifa////////////////////////////// new BallasDipR[32];//Ballas if(Dip[0][dRBallas] == 0) { BallasDipR = "{ffffff}Нейтрал"; } else if(Dip[0][dRBallas] == 1) { BallasDipR = "{00BF36}Союз"; } else if(Dip[0][dRBallas] == 2) { BallasDipR = "{C43E3E}Война"; } new VagosDipR[32];//Vagos if(Dip[0][dRVagos] == 0) { VagosDipR = "{ffffff}Нейтрал"; } else if(Dip[0][dRVagos] == 1) { VagosDipR = "{00BF36}Союз"; } else if(Dip[0][dRVagos] == 2) { VagosDipR = "{C43E3E}Война"; } new GroveDipR[32];//Grove if(Dip[0][dRGrove] == 0) { GroveDipR = "{ffffff}Нейтрал"; } else if(Dip[0][dRGrove] == 1) { GroveDipR = "{00BF36}Союз"; } else if(Dip[0][dRGrove] == 2) { GroveDipR = "{C43E3E}Война"; } new AztecDipR[32];//Aztec if(Dip[0][dRAztec] == 0) { AztecDipR = "{ffffff}Нейтрал"; } else if(Dip[0][dRAztec] == 1) { AztecDipR = "{00BF36}Союз"; } else if(Dip[0][dRAztec] == 2) { AztecDipR = "{C43E3E}Война"; } /////////////////////////////////////////////////////// switch(PlayerInfo[playerid][pMember]) { case 13: { format(string, sizeof(string),"{ffffff}Количество контролируемых кварталов: {DBD604}%dn{ffffff}Ежедневный доход(в payday): {DBD604}$%dn{ffffff}Баланс банка банды: {DBD604}%dnn{0B9B17}Grove %sn{3582AE}Rifa %sn{A600C0}Ballas %sn{05DADA}Aztec %s",TotalGzV,TotalGzV*300,FracBank[0][fVagos],GroveDipV,RifaDipV,BallasDipV,AztecDipV); ShowPlayerDialog(playerid,1043,DIALOG_STYLE_MSGBOX,"The Vagos Gang",string, "X", ""); } case 12: { format(string, sizeof(string),"{ffffff}Количество контролируемых кварталов: {B313E7}%dn{ffffff}Ежедневный доход(в payday): {B313E7}$%dn{ffffff}Баланс банка банды: {B313E7}%dnn{0B9B17}Grove %sn{3582AE}Rifa %sn{05DADA}Aztec %sn{CCEB04}Vagos %s",TotalGzB,TotalGzB*300,FracBank[0][fBallas],GroveDipB,RifaDipB,AztecDipB,VagosDipB); ShowPlayerDialog(playerid,1042,DIALOG_STYLE_MSGBOX,"The Ballas Gang",string, "X", ""); } case 15: { format(string, sizeof(string),"{ffffff}Количество контролируемых кварталов: {009F00}%dn{ffffff}Ежедневный доход(в payday): {009F00}$%dn{ffffff}Баланс банка банды: {009F00}%dnn{05DADA}Aztec %sn{3582AE}Rifa %sn{A600C0}Ballas %sn{CCEB04}Vagos %s",TotalGzG,TotalGzG*300,FracBank[0][fGrove],AztecDipG,RifaDipG,BallasDipG,VagosDipG); ShowPlayerDialog(playerid,1045,DIALOG_STYLE_MSGBOX,"The Grove Street Gang",string, "X", ""); } case 17: { format(string, sizeof(string),"{ffffff}Количество контролируемых кварталов: {30d5c8}%dn{ffffff}Ежедневный доход(в payday): {30d5c8}$%dn{ffffff}Баланс банка банды: {30d5c8}%dnn{0B9B17}Grove %sn{3582AE}Rifa %sn{A600C0}Ballas %sn{CCEB04}Vagos %s",TotalGzA,TotalGzA*300,FracBank[0][fAztek],GroveDipA,RifaDipA,BallasDipA,VagosDipA); ShowPlayerDialog(playerid,1047,DIALOG_STYLE_MSGBOX,"The Aztecas Gang",string, "X", ""); } case 18: { format(string, sizeof(string),"{ffffff}Количество контролируемых кварталов: {2A9170}%dn{ffffff}Ежедневный доход(в payday): {2A9170}$%dn{ffffff}Баланс банка банды: {2A9170}%dnn{0B9B17}Grove %sn{05DADA}Aztec %sn{A600C0}Ballas %sn{CCEB04}Vagos %s",TotalGzR,TotalGzR*300,FracBank[0][fRifa],GroveDipR,AztecDipR,BallasDipR,VagosDipR); ShowPlayerDialog(playerid,1048,DIALOG_STYLE_MSGBOX,"The Rifa Gang Gang",string, "X", ""); } } ClearTotalGz(); } return true; } } И команду /diplomation PHP код: else if (strcmp("/diplomation", cmdtext, true) == 0){ new f = PlayerInfo[playerid][pLeader]; if(f == 12 || f == 13 || f == 15 || f == 17 || f == 18){ ShowPlayerDialog(playerid, 11100, DIALOG_STYLE_LIST, "Дипломатия","[1]-Войнаn[2]-Нейтралn[3]-Союз", "Далее", "Выход");} return true;} Далее в папке scriptfileslogs создаём документ LoadDip.cfg и вставляем в него PHP код: Dip[0][dGrove] = 0 Dip[0][dRifa] = 0 Dip[0][dBallas] = 0 Dip[0][dVagos] = 0 Dip[0][dRGrove] = 0 Dip[0][dRAztec] = 0 Dip[0][dRVagos] = 0 Dip[0][dRBallas] = 0 Dip[0][dBGrove] = 0 Dip[0][dBAztec] = 0 Dip[0][dBVagos] = 0 Dip[0][dBRifa] = 0 Dip[0][dAGrove] = 0 Dip[0][dAVagos] = 0 Dip[0][dABallas] = 0 Dip[0][dARifa] = 0 Dip[0][dGRifa] = 0 Dip[0][dGAztec] = 0 Dip[0][dGVagos] = 0 Dip[0][dGBallas] = 0 Dip[0][dVGrove] = 0 Dip[0][dVAztec] = 0 Dip[0][dVBallas] = 0 Dip[0][dVRifa] = 0Ну вот и всё! Автор: Nike_
  4. Этот скрипт создан для РП серверов, он добавит на ваш сервер немного реалистичности. Суть скрипта проста, при сильном столкновение автомобиля с каким либо объектов, водитель вылетает из "лобового стекла" автомобиля. При этом он теряет часть здоровья. Так же срабатывает анимация лежания и "шатание" экрана в течение 3 секунд. Скачать - http://rghost.ru/48989619 (PWN) Автор: не известен.
  5. John_Smith

    SMS System

    Вот написал простую систему отправки сообщений игрокам и назвал его: SMS System 1) Система полностью на диалогах. 2) Написана на zcmd и MySQL r8. 3) Возможность отправить сообщение оффлайн 4) Уведомление игрока о новом сообщении 5) Список входящих/отправленных сообщений 6) Удаление всех сообщений одним кликом Настройка: PHP код: #define host "127.0.0.1" //хост #define user "root" //пользователь #define base "sms" //база данных #define pass "" //пароль #define users_table "players" //таблица, на котором хранятся аккаунты игроков #define sms_table "sms" //таблица, на котором хранятся смс-сообщения #define pname_field "`name`" //столбец ников игроков (users_table)Таблица: PHP код: CREATE TABLE IF NOT EXISTS `sms` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(26) NOT NULL, `sender` varchar(26) NOT NULL, `message` varchar(64) NOT NULL, `status` tinyint(1) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; Автор: nurahmat007 Скачать FS: http://rghost.ru/46708892 Скачать MySQL R8: https://code.google.com/p/sa-mp-mysql-plugin/downloads/list
  6. PHP код: CREATE TABLE IF NOT EXISTS `Houses` ( `hID` int(11) NOT NULL AUTO_INCREMENT, `EnterX` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '0.0', `EnterY` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '0.0', `EnterZ` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '0.0', `ExitX` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '0.0', `ExitY` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '0.0', `ExitZ` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '0.0', `hOwner` varchar(32) CHARACTER SET utf8 NOT NULL DEFAULT 'None', `hPrice` int(11) NOT NULL DEFAULT '200000', `hInt` int(11) NOT NULL DEFAULT '0', `hVW` int(11) NOT NULL DEFAULT '0', `hLock` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`hID`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1; Автор: Exclusive http://rghost.ru/46092261
  7. John_Smith

    Потребность сна.

    К переменным: PHP код: new psleep[MAX_PLAYERS]; // Создаёт каждому игроку счётчик Энергитических очков... forward UpdateSleep(playerid); // Для паблика апдейта очков энергии... Далее создаём publik самого апдейта очков энергии (отбираем очки энергии): PHP код: public UpdateSleep(playerid) { // Паблик апдейта очков энергии psleep[playerid]++; switch(psleep[playerid]) { case 7 .. 9: { SendClientMessage(playerid, -1, "(( Вы устали, вам нужно поспать! ))"); } case 10: { SendClientMessage(playerid, -1, "(( Вы уснули. (Проснуться - /unsleep). ))"); TogglePlayerControllable(playerid, 0); SetPVarInt(playerid,"SLEEP",gettime()+120); ApplyAnimation(playerid,"CRACK","crckidle2",4.1,0,1,1,1,1); ApplyAnimation(playerid,"CRACK","crckidle2",4.1,0,1,1,1,1); } } return 1; }в public OnGameModeInit вставляем: PHP код: SetTimer("UpdateSleep",300000,1);Создаём команду что бы проснуться. Добавляем в public OnPlayerCommandText(playerid, cmdtext[]):PHP код: if (strcmp(cmd, "/unsleep", true) == 0) { if(GetPVarInt(playerid,"SLEEP") > gettime()) { SendClientMessage(playerid,-1,"(( Вы ещё не выспались... ))"); return 1; } TogglePlayerControllable(playerid, 1); SendClientMessage(playerid,-1,"(( Вы выспались... ))"); psleep[playerid] = 0; return 1; }И ко всем командамPHP код: if (strcmp(cmd, "/sleep", true) == 0) { if (!PlayerToPoint(3.0, playerid, X,Y,Z) { // X,Y,Z - Координаты кровати SendClientMessage(playerid,-1,"(( Вы не на кровати! ))"); return 1; } if (psleep[playerid] <= 3) { SendClientMessage(playerid,-1,"(( Вы не устали, что-бы спать! ))"); return 1; } TogglePlayerControllable(playerid, 0); SendClientMessage(playerid,-1,"(( Вы легли спать... (1 минута) (Что-бы проснуться /unsleep) ))"); SetPVarInt(playerid,"SLEEP",gettime()+60); ApplyAnimation(playerid,"CRACK","crckidle2",4.1,0,1,1,1,1); ApplyAnimation(playerid,"CRACK","crckidle2",4.1,0,1,1,1,1); return 1; }Автор:SanStar
  8. Rustyk

    Делаем диалог

    Для начала , делаем команду с помощью которой будет открываться сам диалог: if(!strcmp(cmdtext, "/ваша кмд", true)) { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Общее Название", "nНазвание1nНазвание2", "Ok", "Exit"); return 1; }((1 если что , меняем на своё , чтобы иды диалогов не совпали (выделено красным) ))Теперь делаем функцию (действие) для диалога: В public OnDialogResponse: if(dialogid == 1 && response) { switch(listitem) { case 0: { Здесь вставляем, действие Например: вы сделали команду для покупки алкоголя, здесь пишем, сколько с вас возьмут денег, анимацию, сообщение в чат. if(GetPlayerMoney(playerid) < 0) SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_WINE); SendClientMessage(playerid, 0xFFFFFF, "Вы купили алкоголь"); } } return 1; } Типы диалогов: ТИП1=DIALOG_STYLE_MSGBOX - тип диалога, для вывода сообщения. ТИП2=DIALOG_STYLE_INPUT - обычно используется в системе регистрации. ТИП3=DIALOG_STYLE_LIST - Лист функций Автор: не известен.
  9. Приветствую пользователей сайта, сегодня я вам представляю простую систему сонливости (Сна), которая включает в себя 5 уровней сонливости (Показывается с помощью прогресс бара): - 1-3 уровень: ничего не происходит - 4 уровень: экран начинает моргать (TextDraw), имитируя вид закрытия век от сонливости - 5 уровень: вы засыпайте на месте, на котором находитесь. После того как вы заснули от усталости (На 5 уровне), ваша сонливость немного снизится (До 3 уровня). Чтобы окончательно ее снять, нужно поспать на кровати. Уровень сонливости повышается каждые 12 минут, т.е. за час игры вы получите 5 уровней сонливости. Команда: * /sleep - переместится на кровать, чтобы поспать. СКАЧАТЬ : http://rghost.ru/49018428
  10. Доброго времени суток, сейчас я расскажу вам о "Автоматическом рестарте". Я думаю многие видели на серверах в определенное время происходит рестарт сервера, при этом администрации не приходится вводить команду. Сервер делает это автоматически. Как это сделать? В Public OnPlayerUpdate: PHP код: new h, m, s; gettime(h, m, s); // Узнаем время if(h == 1 && m == 25 s == 0) // Если 1 час 25 минут (Можно заменить время на свое) { format(string, 128, "Уважаемые игроки, через 5 минут произойдет АвтоРестарт."); // Тест, отправляемый в чат SendClientMessageToAll(COLOR_WHITE, string);// Выводим сообщение в общий чат } if(h == 1 && m == 30 s == 0) // Если 1 час 30 минут и 0 секунд (Можно заменить время на свое) { SaveAccounts(); // Замените эту строчку на функции сохранения у вас в моде (С помощью вашей команды рестарта можно их найти (там они будут написаны)) format(string, 128, "Происходит автоматический рестарт сервера, подождите 10-15 секунд..."); // Тест, отправляемый в чат SendClientMessageToAll(COLOR_WHITE, string);// Выводим сообщение в общий чат SendRconCommand("gmx"); // Делаем рестарт }Автор: Я.Внимание! Секунды не убирать иначе каждую секунду будет рестарт.
  11. >ТРЕБОВАНИЯ 1. Наличие сайте с FTP доступом. 2. Знание хотя бы самое маленькое php и MySQL. (не знаете вообще что это такое, не беритесь.) 1. Начнём с регистрации на сайте услуг биллинга. Заходим по адресу www.a1pay.ru В правом верхнем углу выбираем "Вход для клиентов" либо "Регистрация" войти можно через гугл, яндекс, майл... После входа выбираем "Инструменты" вверху. 2.Нажимаем "Добавить сервис" Открывается Далее указываем всё как на картинке (нажмите на неё, чтобы увеличить). "ваш_сайт" замените на адрес вашего сайта. Нажимаем добавить. 3. Теперь нажимаем "Создать кнопку" (выделено на картинке). Заполняем поля и нажимаем "Создать код кнопки" 4.Получаем код кнопки и пока оставим это. Идём в phpmyadmin вашего сайта и создаём таблицу, допустим "Donate" и создаём такие поля: 5.Теперь, непосредственно на вашем сайте создаём файлы script.php donate.php nodonate.php В файл script.php записываем следующий код (В коде изменяем Логины , Пароли , и Базу данных , больше нечего) (Эти файлы вы можете создать в программе Notepad++ и загрузить на свой сайт через FileZilla) PHP код: <? FUNCTION A1Lite_processor ($t,$secret) // не что вроде public (комментарии удали) { $params = array( 'tid' => $t['tid'], 'name' => $t['name'], 'comment' => $t['comment'], 'partner_id' => $t['partner_id'], 'service_id' => $t['service_id'], 'order_id' => $t['order_id'], 'type' => $t['type'], 'partner_income' => $t['partner_income'], 'system_income' => $t['system_income'] ); $params['check'] = md5(join('', array_values($params)) . $secret); if ($params['check'] === $t['check']) { // Действия по зачислению платежа. A1Lite - Ключи совпали. $ok=TRUE; } else { // Действия по ошибке. A1Lite - Ключи не совпали. $ok= FALSE; } return $ok; } $secret = 'KEY'; // секретный ключ который указали при регистрации на a1pay (ИЗМЕНЯЕМ ПОД СЕБЯ) if(A1Lite_processor($_POST,$secret) === TRUE) { $code = rand(1000000,10000000); //От этих чисел получаем кода $email = $_POST['email']; // получаем e-mail, указанный клиентом $text = "Здравствуйте!rnВот ваш донат код: '$code'rn Чтобы его использовать, введите в игре /donate в окошко, которое появится введите данный код."; // пишем письмо клиенту mail($email, "Пополнение средств на сервере ********", $text); // отправляем письмо клиенту $money = 100000; // Деньги которые игрок получает при вводе правильного кода (меняем под себя) $db = mysql_connect("localhost", "root", "") or die("Ошибка подключения к серверу."); //подключаемся к базе сайта (ДАННЫЕ ПИШЕМ СВОИ) mysql_select_db("SITE") or die("Не выбрана база!"); //выбираем базу mysql_query("INSERT INTO `Donate` (Code,Money,Status) VALUES ('$code','$money','1')"); // записываем всю эту конитель в базу (`Donate` 'это назавание таблицы ) } else { echo 'Not'; // здесь выведем сообщение, если игрок как попытался обмануть вас } ?> 6.Теперь заполняем файл donate.php (тут уже не только код, но и весь скелет сайта) В нужное место добавьте код: PHP код: FUNCTION A1Lite_processor ($t,$secret) { $params = array( 'tid' => $t['tid'], 'name' => $t['name'], 'comment' => $t['comment'], 'partner_id' => $t['partner_id'], 'service_id' => $t['service_id'], 'order_id' => $t['order_id'], 'type' => $t['type'], 'partner_income' => $t['partner_income'], 'system_income' => $t['system_income'], ); $params['check'] = md5(join('', array_values($params)) . $secret); if ($params['check'] === $t['check']) { $ok=TRUE; } else { // Действия по ошибке. A1Lite - Ключи не совпали. $ok= FALSE; } return $ok; } $secret = 'KEY'; // Изменяем ключ под себя if(A1Lite_processor($_GET,$secret) == TRUE) { echo 'На ваш e-mail выслан код. Введите в игре /donate в это окошко введите код, посланный вам на почту.'; // сообщение выдаваемое игроку, может быть любое, это не важно } else { echo 'Произошла ошибка.'; // игрок попытался вас надурить }7.Файл nodonate.php заполните сами, этот файл вызывается только когда на сервере произошла ошибка.Теперь идём в pawno. 8.В OnPlayerCommandText(playerid, cmdtext[]) PHP код: else if(strcmp(cmd, "/donate", true) == 0) { ShowPlayerDialog(playerid, 197, DIALOG_STYLE_INPUT, "Пополнение счёта.","Введите донат-код полученный вами на e-mail в поле ниже.", "Далее","Закрыть"); // выведем игроку окошко, куда он введёт код return 1; } В OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) PHP код: else if(dialogid == 197) { if(response) { if(!strlen(inputtext) || (!IsNumeric(inputtext))) { ShowPlayerDialog(playerid, 197, DIALOG_STYLE_INPUT, "Пополнение счёта.","Введите донат-код полученный вами на e-mail в поле ниже.", "Далее","Закрыть"); return 1; } new code = strval(inputtext); format(string, sizeof(string),"SELECT Money FROM Donate WHERE Code = '%d' AND Status = '1'",code); mysql_query(string); mysql_store_result(); if(mysql_num_rows()) { new name[24], money; mysql_fetch_row_format(name, "|"); sscanf(name, "p<|>d",money); PlayerInfo[playerid][pBankMoney] += money; // выдаем деньги в банк (как на SAMP-RP ) можно изменить типо под PlayerInfo[playerid][pDonateMoney] += dmoney format(string, sizeof(string),"Ваш счёт пополнен на %d рублей. Деньги лежат в банке.",money); SendClientMessage(playerid, COLOR_ORANGE, string); format(string, sizeof(string),"UPDATE Donate SET Status = '0' WHERE Code = '%d'",code); mysql_query(string); } else { ShowPlayerDialog(playerid, 19, DIALOG_STYLE_MSGBOX, "EROR", "Ошибка! Этот код либо не существует, либо не действителен.","Ок", "");//если код не правильный } } }Вот собственно и всё, код останется в базе данных, но не будет активен, а можно и удалять.
  12. Вот вам скрипт админ панели. http://rghost.ru/48362854
  13. Кирилл Сергеевич

    Помещаем IP в 4 ячейки

    stock ip2int(ip[]) { new ip[4]; unformat(ip, "p<.>a<i>[4]", ip); return (ip[0] << 24) | (ip[1] << 16) | (ip[2] << 8) | ip[3]; } stock int2ip(integer, ip[], size = sizeof ip) { format(ip, size, "%i.%i.%i.%i", ((integer >>> 24) & 255), ((integer >>> 16) & 255), ((integer >>> 8) & 255), (integer & 255)); } Автор:Владокс
  14. Я думаю название говорит само за себя. В public OnGameModeInit(): SetTimer("HS",2000,true); // раз в 2 сек. будем менять название/можно поменять! Потом создаём новый паблик: public HS(){ switch(random(3)) { case 1:SendRconCommand("hostname 1 ваше название сервера"); case 2:SendRconCommand("hostname 2 ваше название сервера"); Ко всем forward добовляем это: forward HS(); Создаём паблик public Timer(){ new var = random(5); switch (var) { case 0: SendRconCommand("mapname твоё"); // тут название Карты case 1: SendRconCommand("mapname твоё2");// тут название Карты case 2: SendRconCommand("mapname твоё3");// тут название Карты case 3: SendRconCommand("mapname твоё4");// тут название Карты case 4: SendRconCommand("mapname твоё5");// тут название Карты } new rend = random(2); switch (rend ) { case 0: SendRconCommand("gamemodetext Первое Название Мода"); case 1: SendRconCommand("gamemodetext Второе Название Мода"); }} Автор:
  15. В этом уроке я вам для примера расскажу, как сделать регистрацию в new.pwn моде и в процессе этого я Вам расскажу, что тут к чему, позже вы сможете использовать полученные знания для других целей, например для разных домов, системы банов, всякой фигни для ГФ мода и так дальше. Итак, для этого грязного мы будем использовать: 1. Denwer - через эту программу мы будем запускать и администрировать SQL сервер. Скачать 2. MySQL Plugin R6-2 - плагин для работы с базой данных. Это кинуть в папку Plugins Это кинуть в папку с сервером + в server.cfg добавить строку plugins mysql sscanf Это кинуть в папку PawnoIncludes 3. Sscanf Plugin - плагин, при помощи которого нам будет удобней и быстрей извлекать данные из результата при выборке из таблицы. Скачать! Начнём. > Устанавливаем Denwer, запускаем сервер (на рабочем столе будет ярлык "Start Denwer"). > Заходим в браузер и в адресной строке вводим "localhost" (без кавычек). > Спускаемся ниже и переходим по ссылке: http://localhost/Too...admin/index.php > Итак, вы видите phpmyadmin, сейчас мы можем управлять базой данных. > Создаём таблицу: >> Там примерно в центре есть "Create new database". >>> Я назвал свою БД "pawno", кодировку выбрал "cp1251_bin". >>> БД создана >>>> Теперь нам нужно создать таблицу для аккаунтов. Name - Название таблицы, Number of Fields - количество полей. Мы используем 3 поля, 1 - ID аккаунта, чтобы можно было его распознать в таблице, можно, конечно использовать ник, но с ИД удобней; 2 - Ник игрока, думаю тут всё ясно. 3 - Пароль игрока. >>>> Таблица создана, сейчас мы настроим наши поля. Нажимаем Save. Все нужное я выделил красным, теперь расскажу, что за что отвечает. Field - название поля; Type - тип данных, есть integer, string (VARCHAR, TEXT), float, DATE, DATETIME, TIME и т.д., в общем как в павно, тут я использую VARCHAR для стринга, и INT для ID. Length/Values - сколько "ячеек" мы выделяем для поля, для ника 24 (MAX_PLAYER_NAME), для пароля - 64. Collation - кодировка. AUTO_INCREMENT - генерирует значения для ID игрока в порядке возрастания (1, 2, 3...). >>>> Так будет выглядеть пустая, без аккаунтов таблица: > Базу данных и таблицу мы подготовили, теперь перейдем к моду. >> Сверху мода, где вы подключаете все инкдюлы добавляем эти строки: #include <a_mysql> // SQL функции. #include <sscanf2> // Извлечение данных. >> Чуть ниже задефайним парметры БД: #define SQL_HOST "localhost" // IP адресс БД. #define SQL_USER "root" // Login БД. #define SQL_DB "pawno" // Название БД. #define SQL_PASS "" // Пароль БД. >> Дефайны для ID'ов диалогов и цвета сообщений. #define DIALOG_LOGIN 1 #define DIALOG_REGISTER 2 #define DIALOG_WRONGPAS 3 #define COLOR_LIGHTRED 0xFF6347AA #define COLOR_YELLOW 0xFFFF00AA >> Создадим массив для хранения данных аккаунта. enum Variables { aID, aName[MAX_PLAYER_NAME], aPassword[64], bool: aLogged, aWrongPassword, }; new playerVariable[100][Variables]; // 100 - моё кол-во слотов для игроков на сервере. >> Создадим сток для подключения и отключения к БД. stock ConnectMySQL() { // В OnGameModeInIt вставьте ConnectMySQL(); mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS); // Тут мы используем все данные, которые мы дефайнили. switch(mysql_ping()) { // Проверка на то, что мы подключены к БД. case 1: print("MySQL connection: alive."); // Если подключена БД. case -1: print("MySQL connection: dead."); // Если не подключена БД. } return 1; }[/background][/size][/font][/color] [color=#1C2837][font=tahoma, arial, verdana, sans-serif][size=3][background=rgb(251, 253, 254)]stock DisconnectMySQL() { // Вставьте DisconnectMySQL(); в OnGameModeExit, отключаемся от БД. mysql_close(); print("MySQL connection closed."); }[/background][/size][/font][/color] [color=#1C2837][font=tahoma, arial, verdana, sans-serif][size=3][background=rgb(251, 253, 254)]stock CheckMySQLConnection() { // Этот сток мы будем использовать для проверки, подключена ли БД перед её использованием. if(mysql_ping() == -1) mysql_reconnect(); return 1; } >> Тут у нас стоки для регистрации и логина. stock CreateAccount(playerid, password[]) { new query[128], // Для запроса. sqlname[MAX_PLAYER_NAME], sqlpassword[32]; mysql_real_escape_string(playerVariable[playerid][aName], sqlname); // Защитит от sql inject mysql_real_escape_string(password, sqlpassword); // Защитит от sql inject format(query, sizeof(query), "INSERT INTO `Accounts` (`Nickname`, `Password`) VALUE ('%s', '%s')", sqlname, sqlpassword); // Добавляем в таблицу запись. // INSERT - добавление записи в таблицу, 1. () - поля. 2. VALUE - значения этих полей. mysql_query(query); // Отправляем запрос. GetAccountID(playerid); // Узнаём ИД аккаунта, будет использоваться для сохранения и прочих операций. strmid(playerVariable[playerid][aPassword], password, 0, 64, 255); // Внедряем в массив аккаунта введенный игроком пароль. playerVariable[playerid][aLogged] = true; // Мы авторизованы. return 1; } stock LoadAccount(playerid, password[]) { new query[128], sqlpass[32], result[5+24+64], dialog[128]; mysql_real_escape_string(password, sqlpass); // Защита от SQL Inject, шифрует кодировку. format(query, sizeof(query), "SELECT * FROM `Accounts` WHERE `Password` = '%s' AND `ID` = '%i'", sqlpass, playerVariable[playerid][aID]); // SELECT * - выбрать, FROM - с таблицы, WHERE - где, пароль равен введенному паролю и ID равен иду ника человека. mysql_query(query); // Отправляем запрос. mysql_store_result(); // Смотрим записи, которые мы выбрали запросом выше. if(mysql_num_rows() == 1) { // Если выбрало только 1 аккаунт с таким паролем и ИД - успех, пароль введен верно, загружаем данные в массив. mysql_fetch_row_format(result, "|"); // split, данные в результате записываются типо "1|Snoowker|parol" sscanf(result, "p<|>is[24]s[32]", // i - ид (int), s[размер] - string, ник и пароль. playerVariable[playerid][aID], playerVariable[playerid][aName], playerVariable[playerid][aPassword]); playerVariable[playerid][aLogged] = true; mysql_free_result(); // Очищаем память. return 1; } else { // Мы ввели неверный пароль. if(playerVariable[playerid][aWrongPassword] == 4) { SendClientMessage(playerid, COLOR_LIGHTRED, "Вы 3 раза ввели неверный пароль и были отключены от сервера."); Kick(playerid); return 1; } format(dialog, sizeof(dialog), "Вы ввели неверный пароль.n У Вас осталось %i/3 попыток ввода.", 3 - playerVariable[playerid][aWrongPassword]); ShowPlayerDialog(playerid, DIALOG_WRONGPAS, DIALOG_STYLE_MSGBOX, "Ошибка.", dialog, "Повтор", "Отмена"); } return 1; } stock GetAccountID(playerid) { new query[128]; format(query, sizeof(query),"SELECT `ID` FROM `Accounts` WHERE `Nickname` = '%s'", playerVariable[playerid][aName]); // Выбираем ID, с таблицы Accounts, где Ник равен нику игрока. mysql_query(query); // Отправляем запрос. mysql_store_result(); // Видим if(mysql_num_rows() == 1) { // Если у нас в результате выбрало 1 запись, т.е. аккаунт игрока. playerVariable[playerid][aID] = mysql_fetch_int(); // ИД игрока равен номеру записи. mysql_free_result(); // Очищаем память. return playerVariable[playerid][aID]; // Возвращаем ИД игрока. } return 0; }[/background][/size][/font][/color] [color=#1C2837][font=tahoma, arial, verdana, sans-serif][size=3][background=rgb(251, 253, 254)]stock SaveAccount(playerid) { // Сохранение аккаунта. if(playerVariable[playerid][aLogged] == true) { // Проверка, если аккаунт авторизован. CheckMySQLConnection(); // Проверяем, подключена ли БД. new query[186], sqlname[MAX_PLAYER_NAME], sqlpass[64]; mysql_real_escape_string(playerVariable[playerid][aName], sqlname); mysql_real_escape_string(playerVariable[playerid][aPassword], sqlpass); format(query, sizeof(query), "UPDATE `Accounts` SET `Nickname` = '%s', `Password` = '%s' WHERE `ID` = '%i'", sqlname, sqlpass, playerVariable[playerid][aID]); mysql_query(query); // Отправляем запрос } return 1; } Создадим сток для очистки массивов при коннекте/дисконнекте. stock RemovePlayerVariables(playerid) { playerVariable[playerid][aWrongPassword] = 0; playerVariable[playerid][aID] = 0; playerVariable[playerid][aLogged] = false; return 1; } Наши диалоги: public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case DIALOG_LOGIN: { // Диалог авторизации. if(!response) { // Если нажал "Отмена". SendClientMessage(playerid, COLOR_YELLOW, "* Введите /q(uit), чтобы выйти из игры."); Kick(playerid); return 1; } if(!strlen(inputtext)) { // Если поле ввода пустое. new dialog[134+MAX_PLAYER_NAME]; format(dialog, sizeof(dialog), "Добро пожаловать на Сервер!n Этот аккаунт зарегистрирован.nn Логин: %sn Введите пароль:", playerVariable[playerid][aName]); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Авторизация.", dialog, "Войти", "Отмена"); return 1; } LoadAccount(playerid, inputtext); // Пробуем его авторизовать. } case DIALOG_REGISTER: { // Диалог регистрации. if(!response) { // Если нажал "Отмена". SendClientMessage(playerid, COLOR_YELLOW, "* Введите /q(uit), чтобы выйти из игры."); Kick(playerid); return 1; } if(!strlen(inputtext) || strlen(inputtext) < 6 || strlen(inputtext) > 64) { // Если пустое поле ввода или пароль имеет меньше 6 или больше 64 символов new dialog[380+24+10]; format(dialog, sizeof(dialog), "Добро пожаловать на Сервер!n Этот аккаунт не зарегистрирован.nn Логин: %sn Введите пароль и нажмите "Далее".nn Примечания:n - Пароль чувствительный к регистру.n - Длина пароля от 6 до 32 символов.n - В пароле можно использовать символы на кириллице и латинице.n", playerVariable[playerid][aName]); ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация.", dialog, "Далее", "Отмена"); return 1; } CreateAccount(playerid, inputtext); // Создаём аккаунт. playerVariable[playerid][aLogged] = true; // Авторизуем игрока. } case DIALOG_WRONGPAS: { // Если неверный пароль. if(response) { new dialog[134+MAX_PLAYER_NAME]; format(dialog, sizeof(dialog), "Добро пожаловать на Сервер!n Этот аккаунт зарегистрирован.nn Логин: %sn Введите пароль:", playerVariable[playerid][aName]); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Авторизация.", dialog, "Войти", "Отмена"); return 1; } else { // Если нажал "Отмена". Kick(playerid); return 1; } } } return 1; } >> Отключаем возможность писать в чат неавторизованному. public OnPlayerText(playerid, text[]) { if(playerVariable[playerid][aLogged] == false) return 0; return 1; } >> Наш OnPlayerConnect. public OnPlayerConnect(playerid) { RemovePlayerVariables(playerid); //------------------------------------------------------------------------------ GetPlayerName(playerid, playerVariable[playerid][aName], MAX_PLAYER_NAME); //------------------------------------------------------------------------------ if(GetAccountID(playerid)) { // Аккаунт зарегистрирован new dialog[128+MAX_PLAYER_NAME]; format(dialog, sizeof(dialog), "Добро пожаловать на Сервер!n Этот аккаунт зарегистрирован.nn Логин: %sn Введите пароль:", playerVariable[playerid][aName]); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Авторизация.", dialog, "Войти", "Отмена"); } else { // Аккаунт не зарегистрирован (return 0, в функции GetAccountID, т.е. не нашло записи с аккаунтом). new dialog[344+MAX_PLAYER_NAME]; format(dialog, sizeof(dialog), "Добро пожаловать на Сервер!n Этот аккаунт не зарегистрирован.nn Логин: %sn Введите пароль и нажмите "Далее".nn Примечания:n - Пароль чувствительный к регистру.n - Длина пароля от 6 до 32 символов.n - В пароле можно использовать символы на кириллице и латинице.n", playerVariable[playerid][aName]); ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация.", dialog, "Далее", "Отмена"); } return 1; } Готово, у нас есть система регистрации. Вот так выглядит таблица с аккаунтами: Автор урока: snoowker
  16. MixaM393

    FS подарки

    Вот нашел хороший скрип для создания пикапов с подарками Подойдет для ДМ серверов и на рп пригодиться в праздники В нем вы можете создать: 1. Деньги 2. Жизни 3. Броня 4. Полные жизни 5. Полная броня 6. Одноразовая машина (После респавна удаляется) Команда для использования /подарок Вот скрин Автор:DrumYum ссылка на *FS* http://rghost.ru/48777184
  17. #Warface

    Radar

    Здравствуйте уважаемые пользователи GSG! Сегодня я выложу скрипт радара который следит за скоростью игроков, когда они превысили скорость. Автор не я и не знаю кто! команды радара. setradar-установить радар(на скринах всё видать) delradar-удалить радара(на скринах всё видать) http://rghost.ru/48781626 http://rghost.ru/48781640 http://rghost.ru/48781657 http://rghost.ru/48781677 http://rghost.ru/48781686 ccылка:http://rghost.ru/48781714 пароль 123
  18. У некоторых возникают проблемы с МТА 1.3 на GTA Криминальную Россию. Так вот, полазив по просторам интернета, вот какое решение я нашёл: Если нету МТА, то скачайте здесь Обновите DirectX, переу становитеMicrosoft Visual C++ 2008 Попробуйте установить C++ 2008 SP1 Redistributable package. Если помогло,ставьте +
  19. Amfy

    Tipster (Жучок)

    Описание: Данный скрипт позволит прицепить жучок к игроку и отслеживать данного игрока по этому самому жучку. При попытке прикрепить жучка, срабатывает рандом, т.е у вас может не получиться прикрепить жучок. В случае если рандом будет на вашей стороне, запускается таймер для вас на 1 секунду, если в течении этой секунды, игрок на которого вы пытается прицепить жучка не сменит свою позицию, то жучок будет успешно прикреплен. Если же в течении этой секунды игрок сменит свою позицию, у вас не получиться прикрепить на него жучок и ему будет написано мол на него пытались прикрепить жучок но, не напишет кто пытался. Далее.. если всё же жучок прикреплен успешно, у вас на радаре будет обновляется его месторасположение. Команды: /tipster [iD] - прикрепить жучок к указанному игроку. /tipsteroff - прекратить слежение за игроком. [spoiler=Скриншоты:] Скачать: RGHost: http://rghost.ru/48430383 Пароль: gsg P.S Тестил сам с собой, поэтому все тексты на скриншоте пишуться мне. После теста впилил проверку на то, что нельзя нацепить жучка на себя. P.S Для обновления используется public OnPlayerUpdate, это не есть хорошо. Вообщем, если у вас в моде есть секундный таймер, код из public OnPlayerUpdate вставьте в секундный таймер. Автор: Amfy
  20. У некоторых возникают проблемы с МТА 1.3 на GTA Криминальную Россию. Так вот, полазив по просторам интернета, вот какое решение я нашёл: Если нету МТА, то скачайте здесь Обновите DirectX, переустановите Microsoft Visual C++ 2008 Попробуйте установить C++ 2008 SP1 Redistributable package. Сделайте также, что и на скриншоте:
  21. Vladislav334

    cmd /admins

    Здраствуйте,вот команда /admins если ошибки пишите исправлю! if (strcmp(cmd, "/admins", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GRAD1, "{ffffff}-."); SendClientMessage(playerid, COLOR_GREY, "{6699FF} Администрация {FFFFFF}Online"); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(PlayerInfo[i][pAdmin] >= 0) { GetPlayerName(i, sendername, sizeof(sendername)); format(string, 256, "{6699FF}Администратор[%d]: {FFFFFF} %s {6699FF} [id: %d]",PlayerInfo[i][pAdmin], sendername, i); SendClientMessage(playerid, COLOR_GREY, string); } } } } return 1; }
  22. Egorcik

    Textdraw (By Egor4ik)

    Вот TextDraw делал себе но теперь он мне недао вот держите Ко всем new: new Text:Textdraw94; new Text:Textdraw93; В public OnPlayerConnect(playerid) TextDrawShowForPlayer(playerid,Textdraw94); TextDrawShowForPlayer(playerid,Textdraw93); В public OnGameModeInit() Textdraw94 = TextDrawCreate(500.000000, 8.000000, "Sailent RP"); TextDrawBackgroundColor(Textdraw94, -16776961); TextDrawFont(Textdraw94, 1); TextDrawLetterSize(Textdraw94, 0.800000, 1.700000); TextDrawColor(Textdraw94, -65281); TextDrawSetOutline(Textdraw94, 0); TextDrawSetProportional(Textdraw94, 1); TextDrawSetShadow(Textdraw94, 1); Textdraw93 = TextDrawCreate(0.000000, 424.000000, "Vk.Com/Sailentcrmp"); TextDrawBackgroundColor(Textdraw93, -16776961); TextDrawFont(Textdraw93, 1); TextDrawLetterSize(Textdraw93, 0.800000, 1.700000); TextDrawColor(Textdraw93, -65281); TextDrawSetOutline(Textdraw93, 0); TextDrawSetProportional(Textdraw93, 1); TextDrawSetShadow(Textdraw93, 1); Скрины
  23. ART 

    Respawn г.Южный [2] and Club 8-Bit

    Здравствуйте ув. юзеры портала GSG. Автора незнаю. Весь сабж указан в названии темы. См.Скриншоты ниже. Объекты: CreateDynamicObject(982,2532.3000500,-2169.6999500,21.6500000,0.0000000,0.0000000,90.0000000); //object(fenceshit) (3)CreateDynamicObject(982,2567.5000000,-2169.8000500,21.6500000,0.0000000,0.0000000,90.0000000); //object(fenceshit) (4)CreateDynamicObject(982,2554.6999500,-2169.6999500,21.6500000,0.0000000,0.0000000,90.0000000); //object(fenceshit) (5)CreateDynamicObject(984,2580.3000500,-2176.1999500,21.6100000,0.0000000,0.0000000,0.0000000); //object(fenceshit2) (10)CreateDynamicObject(984,2579.8999000,-2197.6001000,21.6500000,0.0000000,0.0000000,0.0000000); //object(fenceshit2) (11)CreateDynamicObject(982,2519.5000000,-2182.5000000,21.6500000,0.0000000,0.0000000,0.0000000); //object(fenceshit) (6)CreateDynamicObject(984,2519.5000000,-2200.1001000,21.6000000,0.0000000,0.0000000,0.0000000); //object(fenceshit2) (14)CreateDynamicObject(983,2522.6999500,-2206.5000000,21.6500000,0.0000000,0.0000000,90.0000000); //object(fenceshit3) (7)CreateDynamicObject(983,2576.6999500,-2204.0000000,21.7000000,0.0000000,0.0000000,90.0000000); //object(fenceshit3) (8)CreateDynamicObject(970,2518.6001000,-2130.8000500,21.5000000,0.0000000,0.0000000,90.0000000); //object(fencesmallb) (1)CreateDynamicObject(970,2518.6001000,-2134.8999000,21.5000000,0.0000000,0.0000000,90.0000000); //object(fencesmallb) (2)CreateDynamicObject(970,2516.5000000,-2137.0000000,21.5000000,0.0000000,0.0000000,0.0000000); //object(fencesmallb) (3)CreateDynamicObject(970,2518.6001000,-2122.6001000,21.5000000,0.0000000,0.0000000,90.0000000); //object(fencesmallb) (4)CreateDynamicObject(970,2518.6001000,-2118.5000000,21.5000000,0.0000000,0.0000000,90.0000000); //object(fencesmallb) (5)CreateDynamicObject(970,2516.5000000,-2116.3999000,21.5000000,0.0000000,0.0000000,0.0000000); //object(fencesmallb) (6)CreateDynamicObject(970,2514.5000000,-2118.5000000,21.5000000,0.0000000,0.0000000,90.0000000); //object(fencesmallb) (7)CreateDynamicObject(3508,2523.3999000,-2125.3999000,21.0000000,0.0000000,0.0000000,237.7500000); //object(vgsn_nitree_g02) (1)CreateDynamicObject(970,2518.6001000,-2114.3999000,21.5000000,0.0000000,0.0000000,90.0000000); //object(fencesmallb) (8)CreateDynamicObject(1223,2518.8999000,-2124.8999000,21.0000000,0.0000000,0.0000000,0.0000000); //object(lampost_coast) (1)CreateDynamicObject(1223,2518.8999000,-2128.4299300,21.0000000,0.0000000,0.0000000,0.0000000); //object(lampost_coast) (2)CreateDynamicObject(1215,2518.6001000,-2111.6999500,21.5000000,0.0000000,0.0000000,0.0000000); //object(bollardlight) (1)CreateDynamicObject(970,2521.3000500,-2111.6999500,21.5000000,0.0000000,0.0000000,0.0000000); //object(fencesmallb) (10)CreateDynamicObject(970,2525.3999000,-2111.6999500,21.5000000,0.0000000,0.0000000,0.0000000); //object(fencesmallb) (11)CreateDynamicObject(1215,2528.1999500,-2111.6999500,21.5000000,0.0000000,0.0000000,0.0000000); //object(bollardlight) (2)CreateDynamicObject(970,2528.1999500,-2114.3999000,21.5000000,0.0000000,0.0000000,90.0000000); //object(fencesmallb) (12)CreateDynamicObject(970,2528.1999500,-2118.5000000,21.5000000,0.0000000,0.0000000,90.0000000); //object(fencesmallb) (13)CreateDynamicObject(970,2528.1999500,-2122.6001000,21.5000000,0.0000000,0.0000000,90.0000000); //object(fencesmallb) (14)CreateDynamicObject(970,2528.1999500,-2126.6999500,21.5000000,0.0000000,0.0000000,90.0000000); //object(fencesmallb) (15)CreateDynamicObject(970,2528.1999500,-2130.8000500,21.5000000,0.0000000,0.0000000,90.0000000); //object(fencesmallb) (16)CreateDynamicObject(970,2528.1999500,-2134.8999000,21.5000000,0.0000000,0.0000000,90.0000000); //object(fencesmallb) (17)CreateDynamicObject(869,2516.3999000,-2130.6001000,21.4000000,0.0000000,0.0000000,0.0000000); //object(veg_pflowerswee) (1)CreateDynamicObject(869,2516.5000000,-2133.6001000,21.4000000,0.0000000,0.0000000,0.0000000); //object(veg_pflowerswee) (2)CreateDynamicObject(869,2516.5000000,-2135.0000000,21.4000000,0.0000000,0.0000000,180.0000000); //object(veg_pflowerswee) (3)CreateDynamicObject(869,2516.5000000,-2132.0000000,21.4000000,0.0000000,0.0000000,180.0000000); //object(veg_pflowerswee) (4)CreateDynamicObject(869,2516.5000000,-2123.3000500,21.4000000,0.0000000,0.0000000,180.0000000); //object(veg_pflowerswee) (5)CreateDynamicObject(869,2516.5000000,-2119.8999000,21.4000000,0.0000000,0.0000000,180.0000000); //object(veg_pflowerswee) (6)CreateDynamicObject(869,2516.6999500,-2118.5000000,21.4000000,0.0000000,0.0000000,276.0000000); //object(veg_pflowerswee) (7)CreateDynamicObject(869,2516.5000000,-2121.0000000,21.4000000,0.0000000,0.0000000,0.0000000); //object(veg_pflowerswee) (8)CreateDynamicObject(966,2520.8999000,-2136.8000500,21.0000000,0.0000000,0.0000000,180.0000000); //object(bar_gatebar01) (1)CreateDynamicObject(967,2519.6001000,-2136.3000500,21.0000000,0.0000000,0.0000000,270.0000000); //object(bar_gatebox01) (1)CreateDynamicObject(968,2520.8999000,-2136.8000500,21.8000000,0.0000000,0.0000000,180.0000000); //object(barrierturn) (1)
  24. artem13038

    Как установить MTA?

    Всем привет. Сегодня хочу рассказать об полной установке MTA. 1. Обновите на своём компьютере DirectX 2. Переустановите Microsoft Visual C++ 2008 3. Если нету C++ 2008 SP1 Redistributable package устанавливаем, если есть то тогда переустанавливаем. 4. MTA 1.3.2 - https://disk.yandex....z1Osbx6Gekt1J0= Разберёмся с GTA CR. Предупреждения: если вы хотите устанавливать MTA на свою GTA CR, то она должна быть без модов. 1. Установите вот эту GTA CR - http://www.torrentin...g=52:1191:22798 2. Установка MTA 1.3.2. Запускаем установочный файл. В первом выборе пути не чего не меняем. Во втором выборе пути, указываем папку с игрой. После того как MTA 1.3.2 установилась, заходим в неё. После того как она открылась заходим в Setting, в первом окне ставим везде галочки, и перезапускаим MTA. Потом нажимаем Map Editor и радуемся. Вот и всё, если будут какие то проблемы пишите в эту тему. Скачать CRMP клиент
×

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

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