Поиск сообщества
Показаны результаты для тегов 'pawno'.
Найдено: 1,487 результатов
-
В создании ворот участвует инклуд moveobject который и придает движение объекту с помощью координат,в этом уроке мы рассмотрим один пример... Вот сам пример скрипта ворот: #include <a_samp> new gate; public OnGameModeInit() { gate = CreateObject(modelid,x,y,z); } public OnPlayerCommandText(playerid,cmdtext[]) { if(strcmp(cmdtext,"/open",true) == 0) { MoveObject(gate,x,y,z-1000,10.0); } if(strcmp(cmdtext,"/close",true) == 0) { MoveObject(gate,x,y,z,10.0); } return 1; } Этот скрипт предназначен для FS(FilterScripta) Ну и конечно для того чтобы скрипт работал нужно поменять x y z на свои координаты Координаты можно найти с samp_debug , для этого надо встать вам на нужное место и написать /save , затем найти в папке с игрой текстовый документ saveposition Для того чтобы ворота находились в моде нужно 1.Поставить в начало : #include 2.Затем с помощью переменной new создать новые ворота : new gate 3.Поместить этот код со своими координатами в public OnGameModeInit: gate = CreateObject(modelid,x,y,z); И добавить в public OnPlayerCommandText(playerid,cmdtext[]) вот это: if(strcmp(cmdtext,"/open",true) == 0) { MoveObject(gate,x,y,z-1000,10.0); } if(strcmp(cmdtext,"/close",true) == 0) { MoveObject(gate,x,y,z,10.0); } Ну вот и всё,всё что не понятно пишите сюда....
- 3 ответа
-
- 1
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Сейчас я раскаду вам как зделать свой тюн я зделал эту команду из того что на крмп нету тюнов дажэ неона не видел но в этой команде есть 1 - не сохраняются колёса Сначало вставляем это enum gGarageGInfo { gModel, Float:gHP, gMod0, gMod1, gMod2, gMod3, gMod4, gMod5, gMod6, gMod7, gMod8, gMod9 }; new GarageGInfo[2222][gGarageGInfo]; enum cInfo { cModel, Float:cLocationx, Float:cLocationy, Float:cLocationz, Float:cAngle, cColorOne, cColorTwo, cOwner[MAX_PLAYER_NAME], cDescription[MAX_PLAYER_NAME], cValue, cLicense, cOwned, cLock, cNumbercar, cTeh, cWheel, cSpoiler, cPaintJob, cHood, cRoof, cSideskirt, cLamps, cNitro, cExhaust, cStereo, cHydraulics, cFrontbumper, cRearbumper, cVentright, cVentleft, cDate, }; не обращайте внимания на второй ENUM вырезал из мода где сохранялся тюнинг дальше в public OnPlayerCommandText(playerid, cmdtext[]) вставляем } if (strcmp(cmd, "/whels", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerToPoint(4.0, playerid, 2157.818,-1838.433,20.469)) { //меняйте на свои tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Вводите: /whels [1-13]! "); return 1; } new wh = strval(tmp); if(wh==0 || wh>13) { SendClientMessage(playerid, COLOR_GRAD1, "Вводите: /whels [1-13]! "); return 1; } if(!IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid, COLOR_GRAD1, " Приедте на машине, чтобы было куда ставить колёса!"); return 1; } new v = GetPlayerVehicleID(playerid); if( IsAPlane(v) || IsABoat(v)) { return 1; } AddVehicleComponent(v, wh+1072); new componentid = wh+1072; new vehicleid = v; if(GarageGInfo[vehicleid][gMod0]==0) { GarageGInfo[vehicleid][gMod0]=componentid; } else if(GarageGInfo[vehicleid][gMod1]==0) { GarageGInfo[vehicleid][gMod1]=componentid; } else if(GarageGInfo[vehicleid][gMod2]==0) { GarageGInfo[vehicleid][gMod2]=componentid; } else if(GarageGInfo[vehicleid][gMod3]==0) { GarageGInfo[vehicleid][gMod3]=componentid; } else if(GarageGInfo[vehicleid][gMod4]==0) { GarageGInfo[vehicleid][gMod4]=componentid; } else if(GarageGInfo[vehicleid][gMod5]==0) { GarageGInfo[vehicleid][gMod5]=componentid; } else if(GarageGInfo[vehicleid][gMod6]==0) { GarageGInfo[vehicleid][gMod6]=componentid; } else if(GarageGInfo[vehicleid][gMod7]==0) { GarageGInfo[vehicleid][gMod7]=componentid; } else if(GarageGInfo[vehicleid][gMod8]==0) { GarageGInfo[vehicleid][gMod8]=componentid; } else if(GarageGInfo[vehicleid][gMod9]==0) { GarageGInfo[vehicleid][gMod9]=componentid; } } else { SendClientMessage(playerid, COLOR_GRAD1, " Вы не в Авто мастерской! "); return 1; } } return 1; }команда готова комплитируем мод
- 2 ответа
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Здравствуйте дорогие пользователи сайта! Итак, начнём. 1)Для начала мы скачаем МТА, пройдя по ссылке. 2)Установим, думаю, с установкой не у кого проблем не будет 3)Запустим МТА и выберем режим Map Editor 4)Жмём Skip Tutorial (когда загрузится карта) 5)Летим в нужное место, с помощбю кнопок "W, A, S, D" 6)Когда долетели, жмите "F" и в нижнем левом углу у вас должен быть значок коробки. 7)Жмём на коробку 8)Перед вами появится весь перечень объектов GTA, проще знать ID объектов или их названия на Английском языке 9)Итак, мы нашли объект, щёлкаем по нему два раза. 10)Теперь ставим его в нужное место и снова кликаем (для того, чтобы поставить) 11)Если вам нужно сделать копию объекта, то на карте два раза щёлкнем по объекту и нажмём на кнопку "С" 12)Перетаскивать объект можно, удерживая "левую кнопку мыши" 13)Теперь, когда мы добавили всё, что нужно, ищем кнопку "Save as" (она должна быть в левом верхнем углу, в виде дискетки) 14)Теперь идём в папку с МТА: MTA San Andreas -> server -> mods -> deathmatch -> resources Дальше там будут паки и архивы, но чтобы найти все наши объекты, мы должны увидеть папку с названием, под которым вы сохранили добавленные объекты.15)Ищем в папке файл с расширением .map 16)Открываем его с помощью блокнота и копируем всё, что там есть 17)Идём на сайти вставляем наш текст, скопированный ранее, жмём Convert и получаем код для PAWNO 18)Открываем PAWNO и ищем public OnGameModeInit() , после вставляем в конец всех CreateObject наш полученный код! 19)Компилим и проверяем!
- 5 ответов
-
- 1
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Для начала нужно найти эти строки например спавн якудзы } if (PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6)//Yakuza spawn { SetPlayerToTeamColor(playerid); SetPlayerInterior(playerid,0);Это интерьер в котором будут спавнутся если 0 то на улице SetPlayerPos(playerid,2795.361,-2572.560,11.233);это координаты спавна PlayerInfo[playerid][pInt] = 0; return 1; } Всё урок закончен.
-
- 2
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Итак в этом уроке я хочу научить ставить ворота в любом месте, у меня на сервере они установлены у донатных домов. Для начала создадим: new vorota[25]; new timer[25]; forward Luisclose(); Задать можно любое число так как сдесь мы указываем количество ворот на сервере.Далее нам нужно создать сам обьект в закрытом состоянии, а тоесть ворота, . Для этого будет легче возпользоваться MTA. У меня получилось так: vorota[1] = CreateObject(2990,1281.4332275391,-614.78466796875,105.92295074463,0,0,206); Далее мы направляемся в public OnPlayerCommandText и там прописываем команду к воротам, надпись при открытии. Указываем номер ворот, и таймер, вообщем то таймер можно всегда указывать 1. И координаты открытых ворот. if (strcmp(cmdtext, "/Luisopenh", true) == 0) { MoveObject(vorota[1],1272.2739257813,-618.95599365234,106.35810852051, 2.0); timer[1] = SetTimer("LuisClose", 10000, 0); SendClientMessage(playerid,0x15AAEAAA,"* Ворота Luisa открыты"); return 1; } Далее направляемся в самый конец мода и ставим паблик, при этом не забываем указать координаты снова закрытых ворот: public LuisClose() { MoveObject(vorota[1], 1281.4332275391,-614.78466796875,105.92295074463, 3.0); KillTimer(vorota[1]); return 1; }
- 1 ответ
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Сейчас расскажу как создать ограбление банка. P.S. автор не я, я лишь это сделал по просьбе. Начнем: 1. Добавь цвет: #define COLOR_ME 0xC2A2DAAA2.Затем переменные: new redver; new hrandver; new vzlomvopros; new vzlomvopror; new bankpasword; new sig; new banksistem; new elektrosignal; new Lom[MAX_PLAYERS]; new chitpaword[MAX_PLAYERS]; new BankRobbed[MAX_PLAYERS]; new BankProbel; new Rcr; new Stopenrob[MAX_PLAYERS]; new stopanim[MAX_PLAYERS];3.Далее добавляем в магазин новый товар(в /buy" тоже не забудьте!): else if (item == 19 && GetPlayerMoney(playerid) >= 5000) { Lom[playerid] = 1; GivePlayerMoney(playerid, - 5000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Вы купили набор для взлома ячейки банка"); SendClientMessage(playerid, COLOR_WHITE, "*Подсказка: теперь ты можешь /grabbank!"); SavePlayer(playerid); } //------------------------------------------------------------------------------ else if (item == 20 && GetPlayerMoney(playerid) >= 3000) { chitpaword[playerid] = 1; GivePlayerMoney(playerid, - 3000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Вы купили устройство подбора паролей"); SendClientMessage(playerid, COLOR_WHITE, "*Подсказка: не разглошается!"); SavePlayer(playerid); } else if(item != 0 && item != 21) { SendClientMessage(playerid,COLOR_RED,"** У Вас не хватает денег для этого!"); }4.Потом добавляем 4 команды: if(strcmp(cmdtext,"/vzlomr",true) == 0) { if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1||PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2||PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3||PlayerInfo[playerid][pMember]==7||PlayerInfo[playerid][pLeader]==7) { SetTimer("rehclose",120000,false); MoveObject(redver,1435.1789550781,-1009.7760009766,10.696892738342,8.0);//10.696892738342 return 1; } if(PlayerToPoint(10.0, playerid,1435.5254,-1007.5117,9.0600)) { if(chitpaword[playerid] == 1) { vzlomvopros = SetTimerEx("timervzlomr",10,true,"d",playerid); ApplyAnimation(playerid,"GANGS","hndshkda",4.1,0,1,1,1,1); SetTimerEx("stopamin",30000,false,"d",playerid); //vzlomvopros = SetTimer("timervzlomr",10,true); } } else { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* У вас нет устройства для взло электронного замка!!!"); } return 1; } //================================================= if(strcmp(cmdtext,"/vzloms",true) == 0) { SetTimer("bankclose",30000,false); if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1||PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2||PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3||PlayerInfo[playerid][pMember]==7||PlayerInfo[playerid][pLeader]==7) { MoveObject(hrandver,1412.7796630859,-1014.91796875,1.3489612340927,0.1);//1.3489612340927 return 1; } if(banksistem == 0) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Тут сильная система защиты от взлома, ее нужно отключить!!"); return 1; } if(PlayerToPoint(10.0, playerid,1413.3344,-1013.9662,0.7805)) { if(chitpaword[playerid] != 1) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* У вас нет устройства для взло электронного замка!!!"); return 1; } vzlomvopror = SetTimerEx("timervzloms",10,true,"d",playerid); ApplyAnimation(playerid,"GANGS","hndshkda",4.1,0,1,1,1,1); SetTimerEx("stopamin",120000,false,"d",playerid); //vzlomvopror = SetTimer("timervzloms",10,true); } //MoveObject(hrandver,1412.7796630859,-1014.91796875,1.3489612340927,1.0);//1.3489612340927 return 1; } //================================================= if(strcmp(cmdtext,"/elektro",true) == 0) { if(PlayerToPoint(10.0, playerid,1419.6614,-1012.0810,8.0611)) { if(banksistem == 0) { SetTimerEx("zvezda",1000,false,"d",playerid); banksistem = 1; elektrosignal = SetTimer("elektrosig",120000,false); SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Система защиты от влома хранилища отключуна!"); // SetPlayerCriminal(playerid,255, "Отключение системы защиты! Сработала сигнализяция!!! "); //WantedPoints[playerid] += 2; WantedPoints[playerid]+=2; SetPlayerCriminal(playerid,255, "Отключение системы защиты! Сработала сигнализяция!!! "); ProxDetector(30.0, playerid, string,COLOR_ME,COLOR_ME,COLOR_ME,COLOR_ME,COLOR_ME); sig = SetTimer("banksignal",30000,true); ApplyAnimation(playerid,"CAR_CHAT","car_talkm_out",4.1,0,1,1,1,1); SetTimerEx("stopamin",6000,false,"d",playerid); format(string, sizeof(string), "Сигнализация: Всем оставаться на своих местах, ближайшие патрули закона уже выехали!!!"); ProxDetector(5.0, playerid, string,COLOR_ME,COLOR_ME,COLOR_ME,COLOR_ME,COLOR_ME); } } return 1; } //================================================= { if(BankProbel == 0) { BankProbel = 1; if(BankRobbed[playerid] == 0) { if(PlayerInfo[playerid][pLevel] >= 3) { if(PlayerToPoint(10.0, playerid,1402.6705,-1010.2061,0.6685)) { if(Lom[playerid] == 1) { if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1||PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2||PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3||PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3||PlayerInfo[playerid][pMember]==4||PlayerInfo[playerid][pLeader]==4||PlayerInfo[playerid][pMember]==7||PlayerInfo[playerid][pLeader]==7||PlayerInfo[playerid][pMember]==11||PlayerInfo[playerid][pLeader]==11) { SendClientMessage(playerid, COLOR_WHITE, " Cовсеть не позволяет вам совершить преступрение! !"); BankProbel = 0; return 1; } if(PlayerInfo[playerid][pMember]==0&&PlayerInfo[playerid][pLeader]==0) { SendClientMessage(playerid, COLOR_WHITE, "Грабить могут только банды!"); BankProbel = 0; return 1; } if(IsACop(playerid) < 2) { SendClientMessage(playerid, COLOR_WHITE, "Запрещенно грабить если на сервере меньше двух законнпиков!!!"); BankProbel = 0; return 1; } //SetTimer("StopGrab",10000,false); SetTimerEx("StopGrab",2000,0,"d",playerid); ApplyAnimation(playerid,"ROB_BANK","CAT_Safe_Rob",4.1,1,1,1,1,1); TogglePlayerControllable(playerid,0); Stopenrob[playerid] = 1; if(Rcr == 0) { Rcr = 1; } else { SendClientMessage(playerid, COLOR_WHITE, " Банк уже грабят!!!"); BankProbel = 0; } } else { SendClientMessage(playerid, COLOR_WHITE, " Вы не можете ломать банк руками, вам нужен лом"); BankProbel = 0; } } else { SendClientMessage(playerid, COLOR_WHITE, " Вы находитесь не в банке"); BankProbel = 0; } } else { SendClientMessage(playerid, COLOR_WHITE, " У вас должен быть уровень 3!"); BankProbel = 0; } } else { SendClientMessage(playerid, COLOR_WHITE, " Вы не можете грабить банк так часто, подождите часок"); BankProbel = 0; } } return 1; }
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Просто увидел что кто то спрашивал в теме Вопрос | Ответ. И вчера парень заплатил 100 руб за то что я ему это зделаю... И так начнём: ко всем new new MedicTime[MAX_PLAYERS]; // если есть то не добавляйте new NeedMedicTime[MAX_PLAYERS]; // если есть то не добавляйте new MedicBill[MAX_PLAYERS]; // если есть то не добавляйте new JustDied[MAX_PLAYERS]; // если есть то не добавляйте и чуть ниже: new Float:gMedicSpawns[3][3] = {//кровати в больнице... {348.9868,165.0690,1014.6947}, {348.8042,162.5563,1014.6947}, {348.8767,159.9840,1014.6947} }; в public OnPlayerConnect(playerid) JustDied[playerid] = 0; MedicTime[playerid] = 0; NeedMedicTime[playerid] = 0; MedicBill[playerid] = 0; // если есть то не добавляйте В public SetPlayerSpawn(playerid) if(MedicBill[playerid] == 1 && PlayerInfo[playerid][pJailed] == 0 && PlayerPaintballing[playerid] == 0)//эсли в тюрме или в ПБ { if(FirstSpawn[playerid] != 1) { PlayerInfo[playerid][pDeaths] += 1; SetPlayerHealth(playerid, 50.0); SetPlayerInterior(playerid, 3); PlayerInfo[playerid][pInt] = 3; rand = random(sizeof(gMedicSpawns)); SetPlayerPos(playerid, gMedicSpawns[rand][0], gMedicSpawns[rand][1], gMedicSpawns[rand][2]); SetPlayerFacingAngle(playerid, 0); TogglePlayerControllable(playerid, 0); GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~›?…?E CBOE‚O BO??APOB‡E?…• ...", 30000, 3); JustDied[playerid] = 1; MedicTime[playerid] = 1; ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0); if(PlayerInfo[playerid][pDonateRank] > 0) { NeedMedicTime[playerid] = 30; // время скок деражать будут.. } else { NeedMedicTime[playerid] = 40; // время скок деражать будут в больнице } PlayerPlaySound(playerid, 1062, 0.0, 0.0, 0.0); return 1; } } if(JustDied[playerid] == 1) { if(GetPlayerVirtualWorld(playerid) != 0 || PlayerInfo[playerid][pVirWorld] != 0) { SetPlayerVirtualWorld(playerid, 0);//вирт мир PlayerInfo[playerid][pVirWorld] = 0; } SetPlayerPos(playerid, 826.4158,-1369.9487,-0.5015);//куда выйдут SetPlayerFacingAngle(playerid, 270.0);//поворот угла SetPlayerInterior(playerid,0);//интерьер PlayerInfo[playerid][pInt] = 0;//интерьер return 1; } И в public SetPlayerUnjail() if(MedicTime[i] > 0) { if(MedicTime[i] == 3) { SetPlayerInterior(i, 3); PlayerInfo[i][pInt] = 3; new Float:X, Float:Y, Float:Z; GetPlayerPos(i, X,Y,Z); SetPlayerCameraPos(i, X - 3, Y, Z); SetPlayerCameraLookAt(i,X,Y,Z); } MedicTime[i] ++; if(MedicTime[i] >= NeedMedicTime[i]) { new cut = deathcost; //PlayerInfo[playerid][pLevel]*deathcost; //GivePlayerMoney(i, -cut); format(string, sizeof(string), " Доктор: Ваш медицинский счёт составляет $%d, Удачного дня. ", cut); SendClientMessage(i, COLOR_YELLOW, string); TogglePlayerControllable(i, 1); MedicBill[i] = 0; MedicTime[i] = 0; NeedMedicTime[i] = 0; PlayerInfo[i][pDeaths] += 1; PlayerFixRadio(i); ClearAnimations(i); SetPlayerInterior(i, 0); PlayerInfo[i][pInt] = 0; SetPlayerPos(i, 1176.7842,-1323.8354,14.0384)//координаты выхода с больницы SetCameraBehindPlayer(i); SetPlayerHealth(i, 100); } }
- 2 ответа
-
- 3
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Чтобы показывало иконкой в правой стороне экрана что игрок подключается к серверу, то добавляйте в начало мода вот это: #define ICON_CONNECT 200 и ещё в public OnPlayerConnect(playerid) вот это: SendDeathMessage(INVALID_PLAYER_ID, playerid, ICON_CONNECT); Чтобы показывало в правой стороне экрана что игрок выходит с сервера, то добавляйте в начало мода вот это: #define ICON_DISCONNECT 201и в public OnPlayerDisconnect(playerid) вот это: SendDeathMessage(killerid, playerid, reason); Чтобы показывало иконкой в правой стороне экрана что игрок убил кого то или сам умер, то добавляйте в public OnPlayerDeath(playerid, killerid, reason) SendDeathMessage(killerid, playerid, reason); На этом урок закончился http://forum.gs-games.ru/public/style_emoticons/default/mellow.gif Автор урока: [D]em[O]n
- 5 ответов
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
C помощью этой мини функции вы сможете узнать ID любой клавиши доступной в SAMP. Достаточно зайди в игру и нажать на нужную вам клавишу. Паблик OnPlayerKeyStateChange new str[30]; format(str,sizeof(str),"%d - newkeys, %d - oldkeys",newkeys,oldkeys); SendClientMessage(playerid,COLOR,str); Автор: E1edge
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Данная система похожа на систему из САМП-РП. Версия:v.1.2 объясню подробнее:законники должны на авианосце привезти материалы на склад в зону 51...там есть пекапы по которым банды могут воровать материалы...в общак банд можно так же воровать маты теперь...когда подходишь к пекапу набираешь команду /materials get - взять 1к матов садишься в свой фургон (обязательно в фургон от банды) вводишь /materials put положить маты в фургон...команда /unloding разгрузить маты у себя на базе(не доработано еще) (скажу сразу будет обновляться) Если заметили ошибку или хотите предложить что либо пишите(отзывы очень важны) Ко всем new добавим new mats1; new mats2; new colmats; new matscar1; new matscar2; new objakgro; new objakbal; new objakcor; new objakvag; new objakrif; new furgon[5]; new matso;в пабликpublic OnPlayerPickUpPickup вставляем else if(pickupid == mats1) { new l = PlayerInfo[playerid][pLeader]; new m = PlayerInfo[playerid][pMember]; if(l==14 || l==1 ||l==2||l==3||l==8||l==12||l==20 || l==15 || l==16 || l==17 || l==18 || m==14 || m==15 || m==16 || m==17 || m==18|| m==1 ||m==2||m==3||m==8||m==12||m==20) { if(colmats < 20) { SendClientMessage(playerid, COLOR_RED, "На складе нет материалов"); } else { PlayerInfo[playerid][pMats]+=20; SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы взяли несколько комплектов"); colmats=colmats-20; } } else { SendClientMessage(playerid, COLOR_GREEN, "Вы не состоите в преступных группировках или вы не законник"); } return 1; } else if(pickupid == mats2) { new l = PlayerInfo[playerid][pLeader]; new m = PlayerInfo[playerid][pMember]; if(l==14 || l==1 ||l==2||l==3||l==8||l==12||l==20 || l==15 || l==16 || l==17 || l==18 || m==14 || m==15 || m==16 || m==17 || m==18|| m==1 ||m==2||m==3||m==8||m==12||m==20) { if(colmats < 20) { SendClientMessage(playerid, COLOR_RED, "На складе нет материалов"); } else { PlayerInfo[playerid][pMats]+=20; SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы взяли несколько комплектов"); colmats=colmats-20; } } else { SendClientMessage(playerid, COLOR_GREEN, "Вы не состоите в преступных группировках или вы не законник"); } return 1; }в пабликpublic OnGameModeInit() пикапы и авиносцы objakgro = CreatePickup(1239,2,2505.8123,-1694.6447,13.5579); objakcor = CreatePickup(1239,2,1663.2285,-2113.6067,13.5469); objakbal = CreatePickup(1239,2,2644.9167,-2033.7373,13.5540); objakrif = CreatePickup(1239,2,2184.0181,-1812.2617,13.5469); objakvag = CreatePickup(1239,2,2767.7549,-1616.6736,10.9219); mats1 = CreatePickup(1239,2,129.8493,1875.6160,17.8359); mats2 = CreatePickup(1239,2,124.8786,1876.2286,17.8359); matscar1 = AddStaticVehicleEx(548,-1287.83801270,447.79321289,9.08756161,0.00000000,-1,-1,30000); //Cargobob matscar2 = AddStaticVehicleEx(470,-1349.24914551,456.36822510,7.29751158,0.00000000,-1,-1,30000); //Patriot CreatePickup(1239,2,275.2503,1829.7740,17.6406); Create3DTextLabel("/materials",0xBFF600FF,275.2503,1829.7740,17.6406,20.0,0); furgon[3]=AddStaticVehicleEx(418,2649.13476562,-2009.16430664,13.49035358,268.69067383,85,85,30000); furgon[2]=AddStaticVehicleEx(418,2505.81274414,-1672.85095215,13.26896763,67.48950195,16,16,30000); furgon[4]=AddStaticVehicleEx(418,2187.64599609,-1797.88012695,13.11032677,49.62463379,108,108,30000); furgon[1]=AddStaticVehicleEx(418,2771.26904297,-1609.55798340,10.67187500,272.66064453,6,6,30000); furgon[0]=AddStaticVehicleEx(418,1694.37329102,-2118.54394531,13.52521706,326.25524902,2,2,30000);в паблик public CarEnter(playerid,carid) if(carid >= matscar1 && carid <= matscar2) { if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3||PlayerInfo[playerid][pMember] == 1|| PlayerInfo[playerid][pLeader] == 1||PlayerInfo[playerid][pMember] == 2|| PlayerInfo[playerid][pLeader] == 2||PlayerInfo[playerid][pMember] == 8|| PlayerInfo[playerid][pLeader] == 8||PlayerInfo[playerid][pMember] == 12|| PlayerInfo[playerid][pLeader] == 12||PlayerInfo[playerid][pMember] == 20|| PlayerInfo[playerid][pLeader] == 20)//фракции ставим свои...это законники { ShowPlayerDialog(playerid,5551,DIALOG_STYLE_MSGBOX,"Система материалов","{FF0000}Вы хотете отвезти материалы на военную базу?","Да","Отмена"); } else { SendClientMessage(playerid,COLOR_LIGHTRED2,"Вы законник!"); RemovePlayerFromVehicle(playerid); } }в public OnDialogResponseвставляем if(dialogid == 5551) { if(response) { SetPlayerCheckpoint(playerid,136.7081,1875.6571,22.4375,5.0); } }в public OnPlayerEnterCheckpointвставляем if(PlayerToPoint(2.0, playerid,136.7081,1875.6571,22.4375)) { colmats+=5000; DisablePlayerCheckpoint(playerid); }в public OnPlayerCommandTextвставляем if(strcmp(cmd,"/materials",true)==0) { if(IsPlayerConnected(playerid)) { new l = PlayerInfo[playerid][pLeader]; new m = PlayerInfo[playerid][pMember]; new ran = PlayerInfo[playerid][pRank]; if(l==14|| l==15 || l==16 || l==17 || l==18 || (m==14&&ran>=4) || (m==15&&ran>=4) || (m==16&&ran>=4) || (m==17&&ran>=4) || (m==18&&ran>=4)) { new x_nr[256]; x_nr = strtok(cmdtext, idx); if(!strlen(x_nr)) { SendClientMessage(playerid, COLOR_WHITE, " Используйте: /materials [name]"); SendClientMessage(playerid, COLOR_WHITE, "Доступные названия: Get, Put."); return 1; } if(strcmp(x_nr,"get",true) == 0) { if(PlayerToPoint(3.0,playerid,275.2503,1829.7740,17.6406)) { if( matso >= 1000) { SendClientMessage(playerid, COLOR_GREY, "У вас уже есть на руках большой комплект материалов!"); } else { matso = 1000; SendClientMessage(playerid, COLOR_GREY, "Вы взяли один большой комплект материалов!"); SendClientMessage(playerid, COLOR_GREY, "Отнесите его в ваш фургон и отвезите на базу!"); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); SetPlayerAttachedObject(playerid, 1 , 2060, 1,0.11,0.36,0.0,0.0,90.0); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); } } } else if(strcmp(x_nr,"put",true) == 0) { new caridi = GetPlayerVehicleID(playerid); if(caridi == furgon[0] || caridi == furgon[1]|| caridi == furgon[2]|| caridi == furgon[3]|| caridi == furgon[4]) { if(mater[caridi] > 3000) { SendClientMessage(playerid,COLOR_GREY,"Больше 3-х больших комплектов материалов возить нельзя!"); return 1; } else { if (matso==1000) { mater[caridi] += 1000; matso-=1000; SendClientMessage(playerid, COLOR_GREY, "Вы положили большой комплект материалов фургон!"); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); } } } else { SendClientMessage(playerid, COLOR_GREY, "Вы должны сидеть в фургоне чтоб положить комплект материалов!"); } } } else { SendClientMessage(playerid,COLOR_GREY,"Вы не состоите в преступных группировках либо у вас маленький ранг"); return 1; } } return 1; } if(strcmp(cmd, "/unloding", true) == 0) { if(IsPlayerConnected(playerid)) { new l = PlayerInfo[playerid][pLeader]; new m = PlayerInfo[playerid][pMember]; new ran = PlayerInfo[playerid][pRank]; new caridi = GetPlayerVehicleID(playerid); if(l==14|| (m==14&&ran>=4)) { format(string, sizeof(string), "*Вы положили в общак банды Grove Street %d материалов.",mater[caridi]); SendClientMessage(playerid,COLOR_LIGHTBLUE,string); objakgro+=mater[caridi]; } else if(l==15||m==15&&ran>=4) { format(string, sizeof(string), "*Вы положили в общак банды El Coronas %d материалов.",mater[caridi]); SendClientMessage(playerid,COLOR_LIGHTBLUE,string); objakcor+=mater[caridi]; } else if(l==16||m==16&&ran>=4) { format(string, sizeof(string), "*Вы положили в общак банды Ballas gang %d материалов.",mater[caridi]); SendClientMessage(playerid,COLOR_LIGHTBLUE,string); objakbal+=mater[caridi]; } else if(l==17||m==17&&ran>=4) { format(string, sizeof(string), "*Вы положили в общак банды Rifa gang %d материалов.",mater[caridi]); SendClientMessage(playerid,COLOR_LIGHTBLUE,string); objakrif+=mater[caridi]; } else if(l==18||m==18&&ran>=4) { format(string, sizeof(string), "*Вы положили в общак банды Vagos gang %d материалов.",mater[caridi]); SendClientMessage(playerid,COLOR_LIGHTBLUE,string); objakvag+=mater[caridi]; } } return 1; } Автор: 9GYAR
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Для начало ко всем forward'aм добавляем forward SetRandomWeather();Далее вставляем массив с ID'ами погоды ко всем new new gRandomWeatherIDs[] = {17,18,3,10,5,6,11,1,14,0,13,2,4,9,12,15,7,8,21,22,16,20,19};Ко всем пабликам добавляемpublic SetRandomWeather() { new rand = random(sizeof(gRandomWeatherIDs)); SetWeather(gRandomWeatherIDs[rand]); }И на последок добавляем в OnGameModeInit таймер SetTimer("SetRandomWeather", 1000*60*30, 1); (Раз в 30 минут)
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Когда вы работаете с МТА или же скачиваете какие либо постройки то зачастую они имеют расширение .map это формат Map Editor после чего перед вами встает вопрос "Мля а как мне этот код втыкнуть в мод?" Сейчас я и расскажу как вам это сделать! После того как вы расставили обьекты в МТА и сохранили их идем в следущую папку: C:\Program Files\MTA San Andreas\server\mods\deathmatch\resources\ папка по стандарту! Далее выбираем нужную папку и видим файл с расширение ваше_название.map Открываем этот файл любым текстовым редактором и переходим в онлайн конвертер Он-лайн конвертер карт .map Как им пользоваться? 1. Ищем слово Convert - это то из какого формата нужно конвертировать! Если у Вас новая МТа то выбирайте MTA 1.0 MAP если старая то MTA Race Map 2. Далей ищем слово INTO - тоесть в какой формат конвертировать(в данном случае выбираем SA-MP CreateObject 3. Жмем Continue (Продолжить) и видим окно 4. В это окно вставляем тест из блокнота которым мы открыли файл .map заранее. 5. Жмем Convert my object и получаем код обьектов для павно! Второй способ более простой и удобный: 1.Качаем конвертер обьектов 2.Устанавливаем его и запускаем 3.Жмем "Импорт из файла" выбираем файл с расширением .map и нажимаем "Конвертировать" и получаем код для павно! Скачать конвертер Все! Урок закончен!
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом: