Поиск сообщества
Показаны результаты для тегов 'cr:Mp'.
Найдено: 19 результатов
-
У меня токая проблема мне нужна помощь исправить баг быстро уходит здаровия и в больнице когда мала жизни пишет что вы здоровы здоровы но пешите мне вк паж https://vk.com/id357601866
-
Всем привет, столкнулся с такой проблемой, в игре стала пиксельная/зернистая графика очень стало неудобно играть, если кто-то сталкивался и решил эту проблему, помогите пожалуйста.
-
Вы можете создавать дом где вы хотите используя команду /createhouse • Дома сохраняются автоматически и нет угрозы слёта • Вы можете хранить деньги в сейфе используя /storecash и /takecash • Каждый может войти в ваш дом, но можно его закрыть командой /lockhouse • Вы можете арендовать дом используя /renthouse и /unrenthouse • Несколько интерьеров для дома • Вы можете улучшать свой дом командой /houseupgrade • Каждый игрок может себе построить дом где ему надо, но администратор должен одобрить это командой /approvehouse или /denyhouse чтобы отменить стройку • Каждый игрок может иметь машину, которую может припарковать в любом угодном месте командой /park • Сделаны иконки на карте • Для того чтобы одобрить дом, вам нужно быть залогиненым под RCON администратора house.zip
-
Привет, поможете в чем может быть проблема? Стреляю но скиллы не прибавляются, может вы знаете в чем проблема? tock SetPlayerSkills(playerid) { SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, pInfo[playerid][pGunSkill][0]*10); SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, pInfo[playerid][pGunSkill][1]*10); SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, pInfo[playerid][pGunSkill][2]*10); SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, pInfo[playerid][pGunSkill][3]*10); SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, pInfo[playerid][pGunSkill][4]*10); SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, pInfo[playerid][pGunSkill][5]*10); SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, pInfo[playerid][pGunSkill][6]*10); SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, pInfo[playerid][pGunSkill][7]*10); return 1; } stock OnPlayerGiveWeaponSkill(playerid, weaponid) { switch(weaponid) { case 22: { Shot[playerid][6]++; if(Shot[playerid][6] >= AMMO_PISTOL && pInfo[playerid][pGunSkill][6] < 100 && (!pInfo[playerid][pVip] && !doubling_skills)) { pInfo[playerid][pGunSkill][6]++; if(pInfo[playerid][pGunSkill][6] == 100) SetPlayerSkills(playerid); Shot[playerid][6] = 0; } else if(Shot[playerid][6] >= AMMO_PISTOL_VIP && pInfo[playerid][pGunSkill][6] < 100 && (pInfo[playerid][pVip] || doubling_skills)) { pInfo[playerid][pGunSkill][6]++; if(pInfo[playerid][pGunSkill][6] == 100) SetPlayerSkills(playerid); Shot[playerid][6] = 0; } } case 23: { Shot[playerid][0]++; if(Shot[playerid][0] >= AMMO_SDPISTOL && pInfo[playerid][pGunSkill][0] < 100 && (!pInfo[playerid][pVip] && !doubling_skills)) { pInfo[playerid][pGunSkill][0]++; if(pInfo[playerid][pGunSkill][0] == 100) SetPlayerSkills(playerid); Shot[playerid][0] = 0; } else if(Shot[playerid][0] >= AMMO_SDPISTOL_VIP && pInfo[playerid][pGunSkill][0] < 100 && (pInfo[playerid][pVip] || doubling_skills)) { pInfo[playerid][pGunSkill][0]++; if(pInfo[playerid][pGunSkill][0] == 100) SetPlayerSkills(playerid); Shot[playerid][0] = 0; } } case 24: { Shot[playerid][1]++; if(Shot[playerid][1] >= AMMO_DEAGLE && pInfo[playerid][pGunSkill][1] < 100 && (!pInfo[playerid][pVip] && !doubling_skills)) { pInfo[playerid][pGunSkill][1]++; if(pInfo[playerid][pGunSkill][1] == 100) SetPlayerSkills(playerid); Shot[playerid][1] = 0; } else if(Shot[playerid][1] >= AMMO_DEAGLE_VIP && pInfo[playerid][pGunSkill][1] < 100 && (pInfo[playerid][pVip] || doubling_skills)) { pInfo[playerid][pGunSkill][1]++; if(pInfo[playerid][pGunSkill][1] == 100) SetPlayerSkills(playerid); Shot[playerid][1] = 0; } } case 25: { Shot[playerid][2]++; if(Shot[playerid][2] >= AMMO_SHOTGUN && pInfo[playerid][pGunSkill][2] < 100 && (!pInfo[playerid][pVip] && !doubling_skills)) { pInfo[playerid][pGunSkill][2]++; if(pInfo[playerid][pGunSkill][2] == 100) SetPlayerSkills(playerid); Shot[playerid][2] = 0; } else if(Shot[playerid][2] >= AMMO_SHOTGUN_VIP && pInfo[playerid][pGunSkill][2] < 100 && (pInfo[playerid][pVip] || doubling_skills)) { pInfo[playerid][pGunSkill][2]++; if(pInfo[playerid][pGunSkill][2] == 100) SetPlayerSkills(playerid); Shot[playerid][2] = 0; } } case 28: { Shot[playerid][7]++; if(Shot[playerid][7] >= AMMO_MICROUZI && pInfo[playerid][pGunSkill][7] < 100 && (!pInfo[playerid][pVip] && !doubling_skills)) { pInfo[playerid][pGunSkill][7]++; if(pInfo[playerid][pGunSkill][7] == 100) SetPlayerSkills(playerid); Shot[playerid][7] = 0; } else if(Shot[playerid][7] >= AMMO_MICROUZI_VIP && pInfo[playerid][pGunSkill][7] < 100 && (pInfo[playerid][pVip] || doubling_skills)) { pInfo[playerid][pGunSkill][7]++; if(pInfo[playerid][pGunSkill][7] == 100) SetPlayerSkills(playerid); Shot[playerid][7] = 0; } } case 29: { Shot[playerid][3]++; if(Shot[playerid][3] >= AMMO_MP5 && pInfo[playerid][pGunSkill][3] < 100 && (!pInfo[playerid][pVip] && !doubling_skills)) { pInfo[playerid][pGunSkill][3]++; if(pInfo[playerid][pGunSkill][3] == 100) SetPlayerSkills(playerid); Shot[playerid][3] = 0; } else if(Shot[playerid][3] >= AMMO_MP5_VIP && pInfo[playerid][pGunSkill][3] < 100 && (pInfo[playerid][pVip] || doubling_skills)) { pInfo[playerid][pGunSkill][3]++; if(pInfo[playerid][pGunSkill][3] == 100) SetPlayerSkills(playerid); Shot[playerid][3] = 0; } } case 30: { Shot[playerid][4]++; if(Shot[playerid][4] >= AMMO_AK47 && pInfo[playerid][pGunSkill][4] < 100 && (!pInfo[playerid][pVip] && !doubling_skills)) { pInfo[playerid][pGunSkill][4]++; if(pInfo[playerid][pGunSkill][4] == 100) SetPlayerSkills(playerid); Shot[playerid][4] = 0; } else if(Shot[playerid][4] >= AMMO_AK47_VIP && pInfo[playerid][pGunSkill][4] < 100 && (pInfo[playerid][pVip] || doubling_skills)) { pInfo[playerid][pGunSkill][4]++; if(pInfo[playerid][pGunSkill][4] == 100) SetPlayerSkills(playerid); Shot[playerid][4] = 0; } } case 31: { Shot[playerid][5]++; if(Shot[playerid][5] >= AMMO_M4A1 && pInfo[playerid][pGunSkill][5] < 100 && (!pInfo[playerid][pVip] && !doubling_skills)) { pInfo[playerid][pGunSkill][5]++; if(pInfo[playerid][pGunSkill][5] == 100) SetPlayerSkills(playerid); Shot[playerid][5] = 0; } else if(Shot[playerid][5] >= AMMO_M4A1_VIP && pInfo[playerid][pGunSkill][5] < 100 && (pInfo[playerid][pVip] || doubling_skills)) { pInfo[playerid][pGunSkill][5]++; if(pInfo[playerid][pGunSkill][5] == 100) SetPlayerSkills(playerid); Shot[playerid][5] = 0; } } } return 1; } #define AMMO_PISTOL (12) #define AMMO_SDPISTOL (12) #define AMMO_DEAGLE (14) #define AMMO_SHOTGUN (8) #define AMMO_MICROUZI (25) #define AMMO_MP5 (25) #define AMMO_AK47 (30) #define AMMO_M4A1 (30) #define AMMO_PISTOL_VIP (6) #define AMMO_SDPISTOL_VIP (6) #define AMMO_DEAGLE_VIP (7) #define AMMO_SHOTGUN_VIP (4) #define AMMO_MICROUZI_VIP (13) #define AMMO_MP5_VIP (13) #define AMMO_AK47_VIP (15) #define AMMO_M4A1_VIP (15)
-
Привет. Кто может помочь, у меня если зайдет новый игрок то у него просто не появляется диалог и появляется варн в логах mysql, я не понял из-за чего это, хостинг менял. Лог mysql [23:41:54] >> mysql_query_callback(Connection handle: 1) [23:41:54] ProcessQueryThread(RegisterCallback) - Executing query INSERT INTO `users` (`pName`, `pKey`, `pRegIP`, `pRegData`) VALUE ('ByhaIIIka_Offensive', 'скрыт', 'скрыт', '04.09.20... [23:41:54] ProcessQueryThread(RegisterCallback) - Error will be triggered to OnQueryError(). [23:41:54] OnQueryError() - Callback has been called. [23:42:32] >> mysql_query_callback(Connection handle: 1) [23:42:32] ProcessQueryThread(OnPlayerRegCheck) - Executing query SELECT `pName` FROM `users` WHERE `pName` = 'ByhaIIIka_Offensive'... [23:42:32] ProcessQueryThread(OnPlayerRegCheck) - Query was successful. [23:42:32] ProcessQueryThread(OnPlayerRegCheck) - Data caching enabled. [23:42:32] CMySQLHandler::StoreResult() - Result was stored. [23:42:32] CMySQLHandler::FreeResult() - Result was successfully freed. [23:42:32] ProcessQueryThread(OnPlayerRegCheck) - Data being passed to ProcessTick(). [23:42:32] OnPlayerRegCheck(d) - Callback has been called. [23:42:32] >> cache_get_data(Connection handle: 1) [23:42:32] ProcessTick() - The cache has been cleared. [23:42:35] >> mysql_query_callback(Connection handle: 1) [23:42:35] ProcessQueryThread(RegisterCallback) - Executing query INSERT INTO `users` (`pName`, `pKey`, `pRegIP`, `pRegData`) VALUE ('ByhaIIIka_Offensive', 'скрыт', 'скрыт', '04.09.20... [23:42:35] ProcessQueryThread(RegisterCallback) - Error will be triggered to OnQueryError(). [23:42:35] OnQueryError() - Callback has been called. Код stock OnPlayerRegister(playerid, password[]) { new str[128], data[16]; format(data, sizeof(data), "%s", date("%dd.%mm.%yyyy", gettime())); format(str, sizeof(str), "INSERT INTO `users` (`pName`, `pKey`, `pRegIP`, `pRegData`) VALUE ('%s', '%s', '%s', '%s')", PInfo[playerid][pName], password, PInfo[playerid][pIP], data); mysql_function_query(ConnectBD, str, false, "RegisterCallback","d", playerid); return true; } -- ConnectMySQL() { ConnectBD = mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS); switch(mysql_ping()) { case 1: print(" БД MySQL успешно подключена."),SendRconCommand("mapname Criminal Russia"); case -1: print(" БД MySQL не подключена. "),SendRconCommand("mapname нет коннекта"), SetGameModeText("Зомби | ZDM (N.C)"); } return true; }
-
Ввожу при регистрации свою почту, пишет что "Адрес электронной почты введен неверно". Почту я ввожу правильно, в чем проблема может быть? if(!IsValidEmail(inputtext)) { PlayerPlaySound(playerid, 1053, 0.0, 0.0, 0.0); return Dialog ( playerid, DIALOG_REG_EMAIL_ERROR, DIALOG_STYLE_MSGBOX, "{FF9900}Ошибка", "{FFFFFF}Адрес электронной почты введен неверно", "Повтор", "" ); } - stock IsValidEmail(const mail[]) // by Games (код немного переделал) { new count[2], len = strlen(mail); if(!(7 <= len <= 60)) return 0; for(new i; i != len; i++) { if(mail[i] == '@') { count[0]++; if(count[0] != 1 || i == len - 1 || i == 0) return 0; } else if(count[0] == 1 && mail[i] == '.' && count[1] == 0 && i != len - 1) count[1] = 1; else if(!(('0' <= mail[i] <= '9') ^ ('a' <= mail[i] <= 'z') ^ ('A' <= mail[i] <= 'Z') ^ (mail[i] == '_' || mail[i] == '-'))) return 0; } if(count[1] == 0) return 0; return 1; }
-
Всем привет. Помогите пожалуйста, иногда при использования конвоя начинает флудить текст типо: "Ваш конвой ушел слишком далеко, вы свободны!", и так очень часто, только рестарт помогает. Код: forward ConvoyTimer(playerid, playerID); public ConvoyTimer(playerid, playerID) { if(!IsPlayerConnected(playerID)) { SendClientMessage(playerid, -1, "Игрок которого вы конвоировали покинул сервер!"); ClearValue(playerid); return 1; } if(IsPlayerInAnyVehicle(playerID)) { SendClientMessage(playerid, -1, "Ваш заключенный в машине, конвой остановлен!"); TogglePlayerControllable(playerID, 1); ClearValue(playerid); return 1; } if(GetPlayerVirtualWorld(playerID) != GetPlayerVirtualWorld(playerid) || GetPlayerInterior(playerID) != GetPlayerInterior(playerid)) { new Float:xp, Float:yp, Float:zp, Float:ap; GetPlayerPos(playerid, xp,yp,zp); GetPlayerFacingAngle(playerid, ap); SetPlayerPos(playerID, xp,yp,zp); SetPlayerInterior(playerID, GetPlayerInterior(playerid)); SetPlayerVirtualWorld(playerID, GetPlayerVirtualWorld(playerid)); TogglePlayerControllable(playerID, 0); return 1; } new Float:dis = GetDistancePlayer(playerID, playerid); if(dis < 0.95) { TogglePlayerControllable(playerID, 0); TurnPlayerFaceToPlayer(playerID, playerid); } else if(dis > 10.0) { SendClientMessage(playerID, -1, "Ваш конвой ушел слишком далеко, вы свободны!"); SendClientMessage(playerid, -1, "Вы ушли слишком далеко, конвой отпущен!"); TogglePlayerControllable(playerID, 1); ClearAnimations(playerID); ClearValue(playerid); return 1; } else { TogglePlayerControllable(playerID, 1); TurnPlayerFaceToPlayer(playerID, playerid); ApplyAnimation(playerID,"ped","WALK_civi",6.0,1,1,1,1,0,1); } return 1; } stock GetPlayerConvoy(playerid) { return (convoy[playerid] > -1) ? 1 : 0; }
-
Здрасте) По какой-то причине не хотят появляються метки сдачи прав на вертолётё, может вы знаете в чём проблема? [spoiler=Метки]static const stock Float:FlyTest[][6] = { {2117.8059,-2197.0645,46.8366,2220.5791,-2001.5558,90.2004}, {2220.5791,-2001.5558,90.2004,2428.0085,-1535.6353,110.6502}, {2428.0085,-1535.6353,110.6502,2742.9377,-1404.1401,88.9030}, {2742.9377,-1404.1401,88.9030,2753.7927,-1186.1125,111.4717}, {2753.7927,-1186.1125,111.4717,2536.2297,-744.4689,77.6813}, {2536.2297,-744.4689,77.6813,2510.2568,-806.8907,84.3602}, {2510.2568,-806.8907,84.3602,2754.4998,-1089.1328,90.5159}, {2754.4998,-1089.1328,90.5159,2544.1528,-1515.7018,99.3237}, {2544.1528,-1515.7018,99.3237,2289.2915,-1639.9757,87.4175}, {2289.2915,-1639.9757,87.4175,2284.7976,-1892.8512,89.7638}, {2284.7976,-1892.8512,89.7638,2257.4663,-2031.6531,80.0876}, {2257.4663,-2031.6531,80.0876,2111.3643,-2182.1758,54.0649}, {2111.3643,-2182.1758,54.0649,2067.0957,-2215.2388,21.3314}, {2067.0957,-2215.2388,21.3314,0.0,0.0,0.0} }; [spoiler=место где должны появляться метки] if(vehicleid >= aAutoschool[0] && vehicleid <= aAutoschool[3]) { if((vehicleid >= aAutoschool[0] && vehicleid <= aAutoschool[3]) && GetPVarInt(playerid, "DrivingTest")) { if(UseGPS[playerid]) { DisablePlayerRaceCheckpoint(playerid); UseGPS[playerid] = false; for(new i; i < 2; i++) TextDrawHideForPlayer(playerid, enable_gps_TD); } SendClientMessage(playerid, COLOR_BLUE, "Следуйте по чекпоинтам, соблюдая правила дорожного движения"); ShowPlayerDialog(playerid, dNull, 0, " ", "\n\n{ffffff}Ваша задача следовать по чекпоинтам. Вперед\n\n", "Закрыть", ""); new i = pPressed[playerid]; SetPlayerRaceCheckpoint(playerid,0,DrivingTest[0],DrivingTest[1],DrivingTest[2],DrivingTest[3],DrivingTest[4],DrivingTest[5],2.0); return 1; } else if((vehicleid >= aAutoschool[4] && vehicleid <= aAutoschool[6]) && GetPVarInt(playerid, "FlyTest")) { if(UseGPS[playerid]) { DisablePlayerRaceCheckpoint(playerid); UseGPS[playerid] = false; for(new i; i < 2; i++) TextDrawHideForPlayer(playerid, enable_gps_TD); } SendClientMessage(playerid, COLOR_BLUE, "Следуйте по чекпоинтам, соблюдая правила полёта"); ShowPlayerDialog(playerid, dNull, 0, " ", "\n\n{ffffff}Ваша задача следовать по чекпоинтам. Вперед\n\n", "Закрыть", ""); new i = pPressed[playerid]; SetPlayerRaceCheckpoint(playerid,3,FlyTest[0],FlyTest[1],FlyTest[2],FlyTest[3],FlyTest[4],FlyTest[5],5.0); return 1; } /*else if((vehicleid >= aAutoschool[10] && vehicleid <= aAutoschool[13]) && GetPVarInt(playerid, "WaterTest")) { if(UseGPS[playerid]) { DisablePlayerRaceCheckpoint(playerid); UseGPS[playerid] = false; for(new i; i < 2; i++) TextDrawHideForPlayer(playerid, enable_gps_TD); } SendClientMessage(playerid, COLOR_BLUE, "Следуйте по чекпоинтам, соблюдая правила движения"); ShowPlayerDialog(playerid, dNull, 0, " ", "\n\n{ffffff}Ваша задача следовать по чекпоинтам. Вперед\n\n", "Закрыть", ""); new i = pPressed[playerid]; if(!GetPVarInt(playerid, "WaterTestTimeOn")) SetPVarInt(playerid, "WaterTestTimeOn", 1); SetPlayerRaceCheckpoint(playerid,0,WaterTest[0],WaterTest[1],WaterTest[2],WaterTest[3],WaterTest[4],WaterTest[5],5.0); return 1; }*/ if(pInfo[playerid][pMember] == TEAM_AUTOSCHOOL || (GetPVarInt(playerid, "DrivingTest") || GetPVarInt(playerid, "FlyTest") || GetPVarInt(playerid, "WaterTest"))) { } else { SendClientMessage(playerid, COLOR_GREY, "Транспорт доступен только {FFCC00}экзаменуемым {AFAFAF}или {FFCC00}лицензерам{AFAFAF}!"); RemovePlayerFromVehicle(playerid); return 1; } }
-
Вопрос Как сделать название семьи над головой
Zishka опубликовал теме в Архив Вопросов/Проблем/Ошибок
Всем привет . Кто может помочь или подсказать в каком моде можно вырезать, чтобы над головой всех игроков показывало в какой семье он находится, а если его нет в семье то ничего не писало. -
Всем привет Кто может помочь, у меня крч если листаешь машины в автосалоне то снимается хп. И скажите, какой код надо вам дать
-
Всем привет :) Проблема такая. Если игрок введет команду /setleader, без ид то он сможет выдать любому игроку лидерку. У меня в команде /setleader доступна только тем кого я записал в мод, но почему-то всеравно игроки могут писать. А вот и сама команда: CMD:setleader(playerid, params[]) { if(GetString(GetName(playerid), NAME_FULL_ACCESS_1) || GetString(GetName(playerid), NAME_FULL_ACCESS_2) || GetString(GetName(playerid), NAME_FULL_ACCESS_3)) if(!gAdminLogged[playerid]) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin); else if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /setleader [id игрока]"); else if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline); else if(!gPlayerLogged[params[0]]) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized); else if(IsPlayerInAnyVehicle(params[0])) return SendClientMessage(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!"); else if(pInfo[params[0]][pLevel] < 3) return SendClientMessage(playerid, COLOR_GREY, "У игрока нету 3 уровня!"); else if((pInfo[params[0]][pAdmin] >= ADM_HELPER && pInfo[params[0]][pAdmin] <= ADM_CHIEF) && pInfo[playerid][pAdmin] != ADM_FOUNDER) return SendClientMessage(playerid, COLOR_GREY, "Администратора нельзя ставить на пост лидера!"); else if(pInfo[playerid][pAdmin] != ADM_FOUNDER && pInfo[params[0]][pAdmin] == ADM_FOUNDER) return SendClientMessage(playerid, COLOR_GREY, "Администратора нельзя ставить на пост лидера!"); else if(pInfo[params[0]][pTempLeader]) return SendClientMessage(playerid, COLOR_GREY, "Сначала снимите с себя права временного лидера!"); if(pInfo[params[0]][pLeader]) { LeaveFractionPlayer(params[0]); SendMes(playerid, COLOR_BLUE, "Вы сняли %s с должности лидера организации",GetName(params[0])); SendMes(params[0], COLOR_BLUE, "Администратор %s снял Вас с должности лидера организации", GetName(playerid)); SendClientMessage(params[0], COLOR_GREEN, "[Подсказка] {FFFFFF}Местом спавна автоматически назначен вокзал. Изменить место спавна {AFAFAF}/setspawn"); } else { if(pInfo[params[0]][pLeader] > 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок лидер другой организации!"); if(pInfo[params[0]][pMember] > 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не состоит в Вашей организации!"); stringer[0] = EOS; for(new i = 1; i < MAX_FRACTIONS; i++) format(stringer, 1000, "%s№%i - %s\n", stringer, i, Fraction_Name[i]); SetPVarInt(playerid, "actplayerid", params[0]); ShowPlayerDialog(playerid, dFracMenu, 2, "{FFCC00}Выберите организацию", stringer, "Принять", "Отмена"); } return 1; }
-
Создание банды. Команды посмотрите в самом скрипте. banda.zip
-
Игрок после смерти не спавнится в болнице. static const stock Float:MedicSpawn[4][3] = { {1622.8694,1222.5065,2513.4299}, {1622.3442,1206.8600,2513.4299}, {1624.6713,1213.9592,2513.4299}, {1624.9022,1203.8031,2513.4299} }; else if(PlayerDied[playerid] == true) { InHospital[playerid] = true; SetHealth(playerid, 10+random(40)); SetPlayerFacingAngle(playerid, 270); switch(PI[playerid][pCity]) { case 1: { SetPlayerVirtualWorld(playerid,4); SetPlayerInterior(playerid,0); } case 2: { SetPlayerVirtualWorld(playerid,4); SetPlayerInterior(playerid,0); } default: { SetPlayerVirtualWorld(playerid,4); SetPlayerInterior(playerid,0); } } FreezePlayer(playerid, 2000); new Random = random(sizeof(MedicSpawn)); SetPlayerPos(playerid, MedicSpawn[Random][0], MedicSpawn[Random][1], MedicSpawn[Random][2]); SendClientMessage(playerid,COLOR_WHITE,"Вам придется пройти курс лечения или вылечиться у медика. Войдите в палату и делайте процедуру."); }
-
Нет маркеров при сдачи на права. new DrivingTestTime[MAX_PLAYERS]; ==================================== static const stock Float:DrivingTest[][] = { //??????? ????????? {2518.3521,-943.0078,1.5473}, {2530.6912,-951.1514,1.5648}, {2530.6284,-980.3601,1.5648}, {2539.3662,-987.0689,1.5648}, {2546.7700,-978.8175,1.5648}, {2538.1462,-970.8574,1.5648}, {2546.5083,-965.0141,1.5648}, {2543.1570,-953.0804,1.6003}, {2543.5869,-933.9211,1.5643}, {2519.6567,-932.3250,1.5521}, {2440.2710,-969.5776,1.6911}, {2402.0623,-957.2614,1.6986}, {2401.9036,-809.1680,11.9104}, {2617.1260,-801.5764,11.8587}, {2829.0303,-804.8586,12.0126}, {2881.9363,-877.1386,12.9502}, {2771.3201,-906.3696,23.3435}, {2754.9229,-788.1655,23.3494}, {2775.2251,-676.7038,23.0283}, {2879.6682,-702.0443,12.9838}, {2797.8477,-784.8743,11.8354}, {2364.7886,-787.0987,12.3175}, {2054.1025,-832.2196,15.3488}, {1725.9747,-875.8348,27.4830}, {1583.7145,-706.0786,40.9403}, {1393.3134,-601.9888,40.8304}, {1399.5229,-401.5157,3.8574}, {1405.7042,-242.8828,3.8403}, {1420.1896,-223.1886,3.8581}, {1770.6417,-223.3907,3.8522}, {1792.6815,-250.1992,3.8206}, {1831.4423,-306.7342,6.1373}, {2118.2024,-499.9554,16.5656}, {2138.9604,-803.2497,14.4131}, {2184.6172,-816.4596,14.2913}, {2386.7168,-801.8486,12.2070}, {2396.0981,-853.6970,7.0027}, {2396.5745,-958.5002,1.6927}, {2384.9424,-970.9503,2.1115}, {2303.9861,-970.2287,2.0958}, {2290.3962,-983.5339,2.0686}, {2292.4207,-1108.5098,2.4205}, {2297.8481,-1098.3212,2.4545}, {2298.9441,-1035.9512,2.4320}, {2298.6299,-983.1883,2.0704}, {2227.0259,-971.6880,2.1294}, {2159.6226,-971.7393,2.1293}, {2094.3320,-964.7982,2.0513}, {2086.5649,-973.6376,2.0493}, {2114.1008,-974.5452,2.1446}, {2152.0205,-974.9900,2.1298}, {2332.3323,-976.1116,2.1076}, {2420.5447,-976.5681,2.2213}, {2452.7170,-1005.1452,2.1600}, {2468.4470,-1018.7527,2.0337}, {0.0,0.0,0.0} }; ==================================== static const stock Float:FlyTest[][] = { {2513.2139,-1000.0962,117.0660}, {2680.7329,-1085.0205,105.9101}, {2908.2346,-1126.7103,21.2477}, {2736.8682,-1200.3679,14.8405}, {2528.1045,-1203.1923,40.4371}, {2269.3281,-1132.1639,2.7305}, {2400.2324,-1109.5310,31.7281}, {2458.8047,-1000.4865,2.3861}, {0.0,0.0,0.0} }; ============================================ static const stock Float:WaterTest[][] = { {2522.4609,-1092.4988,0.0825}, {2702.9272,-1100.7075,0.2249}, {2807.8630,-1104.4086,0.0990}, {2935.7297,-1239.4073,0.1528}, {3010.7986,-1217.1238,0.3958}, {3071.2795,-1234.1112,0.7060}, {3029.9722,-1241.5240,-0.2974}, {2959.0789,-1216.1912,-0.2271}, {2901.2136,-1246.0934,0.1416}, {2818.0613,-1208.9335,0.0154}, {2656.1953,-1208.0315,0.0814}, {2567.8455,-1233.3177,-0.0046}, {2358.7080,-1232.1560,-0.0214}, {2106.8176,-1249.7622,0.1163}, {1961.7560,-1209.2106,-0.0071}, {2153.0806,-1143.3785,-0.0745}, {2331.6938,-1149.5795,0.0940}, {2460.1182,-1094.0985,0.1123}, {0.0,0.0,0.0} }; ======================================================= if(GetPVarInt(playerid, "DrivingTest")) { SetVehicleToRespawn(GetPVarInt(playerid,"DrivingTestCARID")); DeletePVar(playerid, "DrivingTestCARID"); DeletePVar(playerid, "DrivingTest"); DeletePVar(playerid, "DrivingTestHealth"); DeletePVar(playerid, "DrivingTestError"); SCM(playerid, COLOR_RED, "Вы провалили экзамен на управление наземным транспортом"); } if(GetPVarInt(playerid, "FlyTest")) { SetVehicleToRespawn(GetPVarInt(playerid,"FlyTestCARID")); DeletePVar(playerid, "FlyTestCARID"); DeletePVar(playerid, "FlyTest"); DeletePVar(playerid, "FlyTestHealth"); DeletePVar(playerid, "FlyTestError"); SCM(playerid, COLOR_RED, "Вы провалили экзамен на управление воздушным транспортом"); } if(GetPVarInt(playerid, "WaterTest")) { SetVehicleToRespawn(GetPVarInt(playerid,"WaterTestCARID")); DeletePVar(playerid, "WaterTestCARID"); DeletePVar(playerid, "WaterTest"); DeletePVar(playerid, "WaterTestTimeOn"); DeletePVar(playerid, "WaterTestHealth"); DeletePVar(playerid, "WaterTestError"); SCM(playerid, COLOR_RED, "Вы провалили экзамен на управление водным транспортом"); ==================================================================================== } switch(newstate) { case 1: //Игрок пешком (можно писать PLAYER_STATE_ONFOOT) { KillTimer(STimer[playerid]),KillTimer(update_speed[playerid]); for(new i; i < 9; i++) PlayerTextDrawHide(playerid,SpeedMetr[playerid][i]); for(new i; i < 7; i++) TextDrawHideForPlayer(playerid,SpeedBox[i]); if(GetPVarInt(playerid, "DrivingTest")) { SCM(playerid, COLOR_RED, "У вас есть 15 секунд, чтобы вернуться"); DisablePlayerRaceCheckpoint(playerid); DrivingTestTime[playerid] = 15; } if(PI[playerid][TruckerCarID] != INVALID_VEHICLE_ID) { SCM(playerid, COLOR_RED, "У вас есть 15 секунд, чтобы вернуться"); //DisablePlayerRaceCheckpoint(playerid); TruckWorkTime[playerid] = 15; } if(GetPVarInt(playerid, "FlyTest")) { SCM(playerid, COLOR_RED, "У вас есть 15 секунд, чтобы вернуться"); DisablePlayerRaceCheckpoint(playerid); FlyTestTime[playerid] = 15; } if(GetPVarInt(playerid, "WaterTest") && GetPVarInt(playerid, "WaterTestTimeOn")) { SCM(playerid, COLOR_RED, "У вас есть 15 секунд, чтобы вернуться"); DisablePlayerRaceCheckpoint(playerid); WaterTestTime[playerid] = 15; } if(GetPVarInt(playerid, "PriceBus")) { SCM(playerid, COLOR_RED, "У вас есть 15 секунд, чтобы вернуться"); DisablePlayerRaceCheckpoint(playerid); SetPVarInt(playerid, "BusTime", 15); DeletePVar(playerid, "TimeBus"); } } =============================================================================== for(new v = 0; v <= TOTALVEH; v++) { if(vehicleid == VehInfo[v][vVehicle]) { if(GetPVarInt(playerid, "DrivingTest") > 0 && (vehicleid >= 117 && vehicleid <= 126)) { if(UseGPS[playerid]) { DisablePlayerRaceCheckpoint(playerid); UseGPS[playerid] = false; for(new i; i < 4; i++) TextDrawHideForPlayer(playerid, GPSEnabled[i]); } SCM(playerid, COLOR_BLUE, "Следуйте по чекпоинтам, соблюдая правила дорожного движения"); ShowPlayerDialog(playerid, D_NULL, 0, " ", "\n\n{ffffff}Ваша задача следовать по чекпоинтам. Вперед\n\n", "Закрыть", ""); new i = pPressed[playerid]; SetPVarInt(playerid,"DrivingTestCARID",GetPlayerVehicleID(playerid)); SetPlayerRaceCheckpoint(playerid,0,DrivingTest[i][0],DrivingTest[i][1],DrivingTest[i][2],DrivingTest[i+1][0],DrivingTest[i+1][1],DrivingTest[i+1][2],5.0); } else if(GetPVarInt(playerid, "DrivingTest") == 0 && (vehicleid >= 117 && vehicleid <= 126)) SCM(playerid,COLOR_RED,"Транспорт доступен только для сдачи экзаменов."),RemoveFromVehicle(playerid); if(GetPVarInt(playerid, "FlyTest") == 1 && (vehicleid >= 183 && vehicleid <= 184)) { if(UseGPS[playerid]) { DisablePlayerRaceCheckpoint(playerid); UseGPS[playerid] = false; for(new i; i < 4; i++) TextDrawHideForPlayer(playerid, GPSEnabled[i]); } SCM(playerid, COLOR_BLUE, "Следуйте по чекпоинтам, соблюдая правила полёта"); ShowPlayerDialog(playerid, D_NULL, 0, " ", "\n\n{ffffff}Ваша задача следовать по чекпоинтам. Взлетайте\n\n", "Закрыть", ""); new i = pPressed[playerid]; SetPVarInt(playerid,"FlyTestCARID",GetPlayerVehicleID(playerid)); SetPlayerRaceCheckpoint(playerid,3,FlyTest[i][0],FlyTest[i][1],FlyTest[i][2],FlyTest[i+1][0],FlyTest[i+1][1],FlyTest[i+1][2],5.0); } else if(GetPVarInt(playerid, "FlyTest") == 0 && (vehicleid >= 183 && vehicleid <= 184)) SCM(playerid,COLOR_RED,"Транспорт доступен только для сдачи экзаменов."),RemoveFromVehicle(playerid); if(GetPVarInt(playerid, "WaterTest") == 1 && (vehicleid >= 185 && vehicleid <= 186)) { if(UseGPS[playerid]) { DisablePlayerRaceCheckpoint(playerid); UseGPS[playerid] = false; for(new i; i < 4; i++) TextDrawHideForPlayer(playerid, GPSEnabled[i]); } SCM(playerid, COLOR_BLUE, "Следуйте по чекпоинтам, соблюдая правила движения"); ShowPlayerDialog(playerid, D_NULL, 0, " ", "\n\n{ffffff}Ваша задача следовать по чекпоинтам. Вперед\n\n", "Закрыть", ""); new i = pPressed[playerid]; if(!GetPVarInt(playerid, "WaterTestTimeOn")) SetPVarInt(playerid, "WaterTestTimeOn", 1); SetPVarInt(playerid,"WaterTestCARID",GetPlayerVehicleID(playerid)); SetPlayerRaceCheckpoint(playerid,0,WaterTest[i][0],WaterTest[i][1],WaterTest[i][2],WaterTest[i+1][0],WaterTest[i+1][1],WaterTest[i+1][2],5.0); } else if(GetPVarInt(playerid, "WaterTest") == 0 && (vehicleid >= 185 && vehicleid <= 186)) SCM(playerid,COLOR_RED,"Транспорт доступен только для сдачи экзаменов."),RemoveFromVehicle(playerid); if(VehInfo[v][vFraction] != PI[playerid][pMember]) { if(VehInfo[v][vFraction] == TEAM_AUTOSCHOOL && (GetPVarInt(playerid, "DrivingTest") > 0 || GetPVarInt(playerid, "FlyTest") > 0 || GetPVarInt(playerid, "WaterTest") > 0)) { } else { SCM(playerid, COLOR_GREY, "Этот транспорт вам недоступен!"); RemoveFromVehicle(playerid); return 1; } } else break; } } if(cars == 0) { if(PI[playerid][pLic][0] == 0) { if(GetPVarInt(playerid, "DrivingTest") > 0) { } else { if(!IsAMoped(vehicleid) && !IsAVel(vehicleid) && !IsAPlane(vehicleid) && !IsABoat(vehicleid)) { SCM(playerid, COLOR_GREY, "У вас нет водительских прав!"); RemoveFromVehicle(playerid); return 1; } } } if(Engine[vehicleid] == false) update_speed[playerid] = SetTimerEx("UpdateSpeedometr", 1000, true, "d", playerid);//KillTimer(update_speed); { if(IsAVel(vehicleid)) { GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(vehicleid,true,lights,alarm,doors,bonnet,boot,objective); } else { if(!InShop[playerid]) { SCM(playerid, COLOR_BLUE, "Нажмите клавишу '{FF6600}2{0099FF}', чтобы завести двигатель, фары '{FF6600}W + ЛКМ{0099FF}'"); if(IsAPlane(vehicleid) == 0 && IsABoat(vehicleid) == 0 && IsAVel(vehicleid) == 0) { for(new c; c < 9; c++) PlayerTextDrawShow(playerid,SpeedMetr[playerid][c]); for(new c; c < 7; c++) TextDrawShowForPlayer(playerid,SpeedBox[c]); } } } } if(GetPVarInt(playerid, "DrivingTest") > 0) { if(GetPlayerState(playerid) != 2) return SCM(playerid, COLOR_GREY, "Вы должны находиться за рулем!"); if(pPressed[playerid] == 54) { if(GetPVarInt(playerid, "DrivingTestError") > 2) { SCM(playerid, COLOR_RED, "Вы провалили экзамен на управление наземным транспортом"); ShowPlayerDialog(playerid, D_NULL, 0, " ", "\n\n{F04245}К сожалению вы не сдали экзамен на управление наземным транспортом\n\n", "Закрыть", ""); } else { SCM(playerid, COLOR_GREEN, "Поздравляем! Вы сдали экзамен на управление наземным транспортом"); ShowPlayerDialog(playerid, D_NULL, 0, " ", "\n\n{ffffff}Поздравляем, вы сдали экзамен на управление наземным транспортом\n\n", "Закрыть", ""); PI[playerid][pLic][0] = 1; }
-
Всем привет. Заинтересовался переводом мода из SA:MP в CR:MP, а точнее о "подводных камнях" перевода. И интересуют ответы на следующие вопросы: нужно ли переделывать маппинг? правда что необходимо брать версию SA:MP мода 0.3e? сможет ли осилить перевод мода который уверенно читает код и пишет/переписывает небольшие системы? сколько по времени у вас занимал перевод мода с SA:MP на CR:MP в среднем? есть ли смысл переводить мод? P.S.: Заранее благодарю за ответы, и напоминаю, напишите, пожалуйста, о подводных камнях перевода. Еще раз спасибо.
-
Здравствуйте дорогие форумчане, вот решил выложить интерьер ДПС , думаю он кому-то пригодится. Что сделано: - Дежурная часть - Оружейная(выход на дежурство) - Кабинет начальника ОГИБДД - Тюрьма(КПЗ) - Смотровой кабинет(камеры где смотрят за заключенными) - Туалет
-
Специально для паблика сделал интерьр. Думаю вам понравиться! Так-же координаты у двери: X - 2202.0002 Y - 2323.4146 Z - 20.9200
- 10 ответов
-
- 6
-
- CR:MP
- map construction
- (и ещё 6 )