Поиск сообщества
Показаны результаты для тегов 'форум crmp'.
Найдено: 837 результатов
-
На этот раз решил записать видео о том, как правильно добавить объект в игру, для примера я использовал пакет модификации gta_int.img. [media=Исправляем Failed to set for "] [/media] P.S: возможно, в следующей версии выложу урок по созданию пакета модфикации клиентской части.
- 16 ответов
-
- 9
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) надо только вставить : if(newkeys & KEY_SPRINT && newkeys & KEY_JUMP && GetPlayerState(playerid) != 2) { ClearAnimations(playerid); ApplyAnimation(playerid, "GYMNASIUM", "gym_jog_falloff",4.1,0,1,1,0,0); } GYMNASIUM", "gym_jog_falloff это анимация , ее можна сменить на свою , у меня он падает , делайте как хотите Автор : kucklovod1998
- 3 ответа
-
- 1
-
- всё для crmp
- pawn
-
(и ещё 5 )
C тегом:
-
Здравствуйте! Приступим: Ко всем new: new FirstSpawn[MAX_PLAYERS]; new Float:spenHealth[MAX_PLAYERS]; К forward: forward NeedHP(playerid); К define: #define hp_time 100000 // время ставите своё #define hp_loss 3 В конец мода: public NeedHP(playerid) { new Float:health; GetPlayerHealth(playerid, health); if(spenHealth[playerid] >= health) { SendClientMessage(playerid,COLOR_RED,"Вы проголодались, Вам нужно поесть что-нибудь!"); SetPlayerHealth(playerid,health-hp_loss); spenHealth[playerid] = health; } else { spenHealth[playerid] = health; } } В OnPlayerSpawn: FirstSpawn[playerid] += 1; new Float:health; GetPlayerHealth(playerid, health); spenHealth[playerid] = health; if(FirstSpawn[playerid] == 1) SetTimerEx("NeedHP",hp_time,1,"i",playerid); Автор: Dimoxa Batler
-
- всё для crmp
- pawn
-
(и ещё 5 )
C тегом:
-
Хай пипл. Тут один (давно) интересовался, как сделать что бы было две модели авто, но с разными текстурами одновременно. И приводил пример эвакуатора с ОРМа. Ну собственно сам секрет. Используется покрасочная работа- файл с текстурой, которая заменяет только сам "корпус." Крч. Расскажу на примере того же самого эвакуатора (с ОРМ (думаю они не обидятся) ). Имеем 2 файла текстуры - towtruck1.txd & towtruck.txd . В одном все текстуры, а во втором только "корпус". Добавим в мод: new evrik; evrik = AddStaticVehicle(525,-374.4628,662.8626,12.0010,270.4307,3,3); ChangeVehiclePaintjob( evrik, 0 ); new evrik1; evrik1 = AddStaticVehicle(525,-374.3501,648.3397,12.1706,17.6243,3,3); ChangeVehiclePaintjob( evrik1, 1 ); Где ChangeVehiclePaintjob( evrik1, 1 ); ChangeVehiclePaintjob функция смены покраски. evrik1 - объявленная переменная (или хз как её). "1" - id покрасочной работы.
- 26 ответов
-
- 19
-
- всё для crmp
- pawn
-
(и ещё 5 )
C тегом:
-
Институт есть в Арзамасе. Автор: Artem_Bandit то есть я. Можно сделать лучше. В команду /invite проставить проверку на получение аттестата. В public OnPlayerCommandText(playerid, cmdtext[]) if(strcmp(cmd, "/testrp", true) == 0) { if(PlayerToPoint(10.0, playerid,Радиус свой)) ShowPlayerDialog(playerid, 2324, DIALOG_STYLE_LIST, "Ваши действия если вас остановит Сотрудник Полиции", "1)Избить\n2)Предоставить права\n3)Сказать:В чем дело\n4)Уехать с место КПК", "Выбрать", "Отмена");//2324 ?????? ?? ???? return 1; } if(strcmp(cmd, "/testmt", true) == 0) { if(PlayerToPoint(10.0, playerid,Радиус свой)) if(PlayerInfo[giveplayerid][pTest] != 1) return SendClientMessage(playerid, -1, "?? ?? ???????? ???????? ?? RolePlay"); ShowPlayerDialog(playerid, 7324, DIALOG_STYLE_LIST, "54X78", "1)8732\n2)4212\n3)4216\n4)2153", "???????", "??????");//2324 ?????? ?? ???? return 1; } В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- 14 ответов
-
- всё для crmp
- pawn
- (и ещё 6 )
-
Всем привет, сегодня я вам покажу как сделать систему: Урона машины. Автор системы: Y.Jeen В начало мода, ко всем new добавляем: new zavodis[MAX_VEHICLES]; new engine,lights,alarm,doors,bonnet,boot,objective; Создаем public OnVehicleDamageStatusUpdate(vehicleid, playerid) и вставляем функцию: public OnVehicleDamageStatusUpdate(vehicleid, playerid) { { GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(vehicleid,false,lights,alarm,doors,bonnet,boot,objective); zavodis[GetPlayerVehicleID(playerid)] = 0; GameTextForPlayer(playerid, "~r~ENGINE OFF", 5000, 6); } return 1; } При столкновении машина вырубается
- 12 ответов
-
- 4
-
- всё для crmp
- pawn
-
(и ещё 5 )
C тегом:
-
Собственно сама тема с конкурсом. Что разыгрывается: 1-е место: Барная стойка, группа VIP и +70 очков к репутации. 2-е место: Группа VIP и +40 очков к репутации. 3-е место: +30 очков к репутации. Кто может участвовать: В конкурсе могу участвовать только зарегистрированные пользователи имеющие группу: Пользователь,Проверенный, Модератор. Пользователь должен иметь минимум 50 сообщений на форуме. В случае, если побеждает человек (первое место) уже имевший VIP статус, он получает: Барную стойку и +100 очков репутации. В случае, если побеждает человек (первое место) имевший группу "Модератор", он получает: Барную стойку и +90 очков репутации. Требования к конкурсу: - Рассказать о форуме себе на страничку ВКонтакте, с помощью кнопочек слева. - В дополнение описать форум своими словами, почему именно мы и чем мы вам интересны. - Далее скинуть в эту тему ссылку на готовый пост. После истечении времени конкурса мы выберем 3-х самых креативных людей. Конкурс продлиться до 01.06.2015 Всем удачи!
- 11 ответов
-
- 2
-
- новости форума
- форум crmp
- (и ещё 2 )
-
Параметры вставляйте свои. Го GO!!! Думаю расписывать нечего не нужно там всё понятно по диалогом Автор: by Artem_Bandit то есть я В public OnPlayerCommandText(playerid, cmdtext[]) if(strcmp(cmd, "/donate", true) == 0) { if(IsPlayerConnected(playerid)) { new co[40]; format(co,sizeof(co),"|Счёт| %d ДО",PlayerlogInfo[playerid][lRezerv]); ShowPlayerDialog(playerid,9000,DIALOG_STYLE_LIST,co,"Купить VIP[150]ДО\nКупить респект's[1]ДО\nКупить деньги[100]ДО\nПередать ДО\nКупить слот[70]ДО\nКупить level[45]ДО\nКупить военный билет[50]ДО\nСнять Warn's[20]ДО\nКупить медицинскую карту[20]ДО\nСнять розыск[15]ДО\nКупить Neon[100]ДО\n[ТС]Купить номер[100]\nКупить категорию B[60]ДО\nОБМЕН $ на ДО","Далее","Отмена"); } return 1; } Далее идет в диалоги,наш диалог 9000 вы можете заменить на свой В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) //============================================================================== if(dialogid == 9000)//админ доступ { if(response) { if(listitem == 0) { new ice[256]; format(ice, sizeof ice, "Вы уверены что хотите купить VIP за {57ff00}150 ДО"); return ShowPlayerDialog(playerid, 9001, DIALOG_STYLE_MSGBOX, "Покупка VIP", ice, "Отмена", "Купить"); } if(listitem == 1) { ShowPlayerDialog(playerid,9002,DIALOG_STYLE_INPUT,"Платёжная система","{ff00ae}2 ДО = 2 респектам,{7fffd4} за респекты можно купить левле\nВведи колличество ДО которые хочешь потратить на респект's","Ок","Отмена"); } if(listitem == 2) { ShowPlayerDialog(playerid,9003,DIALOG_STYLE_INPUT,"Платёжная система","{ff00ae}100 ДО = $100000,{7fffd4}\nВведи колличество ДО которые хочешь потратить на игровые деньги","Ок","Отмена"); } if(listitem == 3) { ShowPlayerDialog(playerid,9004,DIALOG_STYLE_INPUT,"Платёжная система","Введите ID игрока,которому хочешь передать ДО","Ок","Отмена"); return 1; } if(listitem == 4) { new ice[256]; format(ice, sizeof ice, "Вы уверены,что хотите купить 1 слот для бизнеса? {57ff00}За 70 ДО"); return ShowPlayerDialog(playerid, 9007, DIALOG_STYLE_MSGBOX, "Покупка слотов бизнеса", ice, "НЕТ", "Купить"); } if(listitem == 5) { if(PlayerlogInfo[playerid][lRezerv] <= 44) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО");//Если у человека нехватает донат монет то выводим ему сообщение PlayerInfo[playerid][pLevel]++;//Даём +1 к уровню игрока PlayerlogInfo[playerid][lRezerv]-= 45; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам выдали + level"); } if(listitem == 6) { if(PlayerlogInfo[playerid][lRezerv] <= 49) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО");//Если у человека нехватает донат монет то выводим ему сообщение PlayerInfo[playerid][pArmBil] = 1;//Даём +1 к уровню игрока PlayerlogInfo[playerid][lRezerv]-= 50; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам выдали военный билет"); } if(listitem == 7) { if(PlayerlogInfo[playerid][lRezerv] <= 19) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО");//Если у человека нехватает донат монет то выводим ему сообщение PlayerInfo[playerid][pWarns] -= 1;//Даём +1 к уровню игрока PlayerlogInfo[playerid][lRezerv]-= 20; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам сняли один Warn"); } if(listitem == 8) { if(PlayerlogInfo[playerid][lRezerv] <= 19) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО");//Если у человека нехватает донат монет то выводим ему сообщение PlayerInfo[playerid][pMedCard] = 1;//Даём +1 к уровню игрока PlayerlogInfo[playerid][lRezerv]-= 20; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам выдали медицинскую карту"); } if(listitem == 9) { if(PlayerlogInfo[playerid][lRezerv] <= 19) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО");//Если у человека нехватает донат монет то выводим ему сообщение WantedPoints[playerid] = 0; WantedLevel[playerid] = 0; ClearCrime(playerid); PlayerInfo[playerid][pWantedLevel] = 0; SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWantedLevel]); PlayerlogInfo[playerid][lRezerv]-= 20; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам сняли все звезды"); } if(listitem == 10) { SendClientMessage(playerid, COLOR_ORANGERED, "GPS: Покупка {ff0000}Neon показан на карте,езжайте на место за покупкой Neon"); SetPlayerCheckpoint(playerid, 2152.4531,-1852.2424,18.8309,8); CP[playerid] = 0; } if(listitem == 11) { if(PlayerlogInfo[playerid][lRezerv] <= 99) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО"); OnPlayerCommandText(playerid, "/donatenomer"); PlayerlogInfo[playerid][lRezerv]-= 100; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам выдали номер"); } if(listitem == 12) { if(PlayerlogInfo[playerid][lRezerv] <= 59) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}ДО"); PlayerInfo[playerid][pCarLic] = 1; PlayerlogInfo[playerid][lRezerv]-= 60; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вам выдали {FF0000}Категорию B"); } if(listitem == 13) { if(PlayerInfo[playerid][pCash] <= 99999) return SendClientMessage(playerid, COLOR_LIGHTRED,"{57ff00}У вас недостаточно {FF0000}Денег"); PlayerlogInfo[playerid][lRezerv] = 5; PlayerInfo[playerid][pCash]-= 100000; SendClientMessage(playerid, COLOR_LIGHTRED,"Спасибо за покупку,вы обменяли игровую валюту на ДО"); } } return 1; } //============================================================================== if(dialogid == 9001) { if(!response){ if(PlayerlogInfo[playerid][lRezerv] >= 150) { if(PlayerInfo[playerid][pDonateRank] <= 4) { PlayerlogInfo[playerid][lRezerv]-= 150; new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); PlayerInfo[playerid][pDonateRank] = 5; SendClientMessage(playerid, COLOR_GREEN, "Спасибо за покупку!"); if(PlayerInfo[playerid][pVaip] >= 30) { new hour,minuite,second; gettime(hour,minuite,second); new year, month,day; getdate(year, month, day); new ipplayer[32]; GetPlayerIp(playerid,ipplayer,sizeof(ipplayer)); if(!strcmp(PlayerlogInfo[playerid][lDonatper],"none",false)) { format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-150{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка VIP",day,month,year,hour,minuite,second,ipplayer); Savelogplayer(logid,playerid); } else { format(PlayerlogInfo[playerid][lDonatper10] ,512, PlayerlogInfo[playerid][lDonatper9]); format(PlayerlogInfo[playerid][lDonatper9] ,512, PlayerlogInfo[playerid][lDonatper8]); format(PlayerlogInfo[playerid][lDonatper8] ,512, PlayerlogInfo[playerid][lDonatper7]); format(PlayerlogInfo[playerid][lDonatper7] ,512, PlayerlogInfo[playerid][lDonatper6]); format(PlayerlogInfo[playerid][lDonatper6] ,512, PlayerlogInfo[playerid][lDonatper5]); format(PlayerlogInfo[playerid][lDonatper5] ,512, PlayerlogInfo[playerid][lDonatper4]); format(PlayerlogInfo[playerid][lDonatper4] ,512, PlayerlogInfo[playerid][lDonatper3]); format(PlayerlogInfo[playerid][lDonatper3] ,512, PlayerlogInfo[playerid][lDonatper2]); format(PlayerlogInfo[playerid][lDonatper2] ,512, PlayerlogInfo[playerid][lDonatper]); format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-150{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка VIP.",day,month,year,hour,minuite,second,ipplayer); Savelogplayer(logid,playerid); } } }else{SendClientMessage(playerid, COLOR_RED, "У вас уже есть VIP!");} }else{SendClientMessage(playerid, COLOR_RED, "У вас не достаточно денег для покупки!");} } return true; } //============================================================================== if(dialogid == 9002){ if(response){ if(!strlen(inputtext))return ShowPlayerDialog(playerid,9002,DIALOG_STYLE_INPUT,"Платёжная система","{ff00ae}2 ДО = 2 респектам,{7fffd4} за респекты можно купить левле\nВВеди колличество ДО которые хочешь потратить на респект's","Ок","Отмена"); if(strlen(inputtext) == 0)return ShowPlayerDialog(playerid,9002,DIALOG_STYLE_INPUT,"Платёжная система","{ff00ae}2 ДО = 2 респектам,{7fffd4} за респекты можно купить левле\nВВеди колличество ДО которые хочешь потратить на респект's","Ок","Отмена"); respectforplayer[playerid] = strval(inputtext); new ice[256]; format(ice, sizeof ice, "Вы уверены что хотите купить %d респект's\nЗа %d ДО\nС вас будет списано %d ДО",respectforplayer[playerid]*2,respectforplayer[playerid],respectforplayer[playerid]); return ShowPlayerDialog(playerid, 9906, DIALOG_STYLE_MSGBOX, "Покупка респектов", ice, "НЕТ", "ДА"); } return true; } //============================================================================== if(dialogid == 9003){ if(response){ if(!strlen(inputtext))return ShowPlayerDialog(playerid,9003,DIALOG_STYLE_INPUT,"Платёжная система","{ff00ae}1 ДО = $100000,{7fffd4}\nВВеди колличество ДО которые хочешь потратить на игровые деньги","Ок","Отмена"); if(strlen(inputtext) == 0)return ShowPlayerDialog(playerid,9003,DIALOG_STYLE_INPUT,"Платёжная система","{ff00ae}1 ДО = $100000,{7fffd4}\nВВеди колличество ДО которые хочешь потратить на игровые деньги","Ок","Отмена"); respectforplayer[playerid] = strval(inputtext); new ice[256]; format(ice, sizeof ice, "Вы уверены что хотите купить $%d\nЗа %d ДО\nС вас будет списано %d ДО",respectforplayer[playerid]*100000,respectforplayer[playerid],respectforplayer[playerid]); return ShowPlayerDialog(playerid, 9912, DIALOG_STYLE_MSGBOX, "Покупка денег", ice, "НЕТ", "ДА"); } return true; } //============================================================================== if(dialogid == 9004){ if(response){ if(!strlen(inputtext)) return ShowPlayerDialog(playerid,9004,DIALOG_STYLE_INPUT,"Платёжная система","ВВеди ид игрока которому хочешь передать ДО","Ок","Отмена"); ShowPlayerDialog(playerid,9005,DIALOG_STYLE_INPUT,"Платёжная система","ВВеди количество ДО которые хочешь передать","Ок","Отмена"); playeridooooo[playerid] = strval(inputtext); } return true; } //============================================================================== if(dialogid == 9005){ if(response){ if(!strlen(inputtext)) return ShowPlayerDialog(playerid,9005,DIALOG_STYLE_INPUT,"Платёжная система","ВВеди количество ДО которые хочешь передать","Ок","Отмена"); new ice[256]; moneyplayeridooooo[playerid] = strval(inputtext); format(ice, sizeof ice, "Вы уверены что хотите перевести [%d] ДО, на [%d]",strval(inputtext),playeridooooo[playerid]); return ShowPlayerDialog(playerid, 9006, DIALOG_STYLE_MSGBOX, "Перевод ДО", ice, "НЕТ", "ДА"); } return true; } if(dialogid == 9006) { if(!response) { if(moneyplayeridooooo[playerid] >= 1) { if(PlayerlogInfo[playerid][lRezerv] >= moneyplayeridooooo[playerid]) { new getplayerid = playeridooooo[playerid]; if(zagruzka[getplayerid] == 0){OnPlayerCommandText(playerid,"/перезагрузка");return 1;} if(PlayerInfo[playerid][pVaip] >= 30) { new sendernamer[MAX_PLAYER_NAME]; new giveplayer[MAX_PLAYER_NAME]; GetPlayerName(getplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendernamer, sizeof(sendernamer)); if(playeridooooo[playerid] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Игрок не найден!"); { new hour,minuite,second; gettime(hour,minuite,second); new year, month,day; getdate(year, month, day); new ipplayer[32]; GetPlayerIp(playerid,ipplayer,sizeof(ipplayer)); if(!strcmp(PlayerlogInfo[playerid][lDonatper],"none",false)) { format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-%d{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Перевод денег.На: %s",moneyplayeridooooo[playerid],day,month,year,hour,minuite,second,ipplayer,giveplayer); } else { format(PlayerlogInfo[playerid][lDonatper10] ,512, PlayerlogInfo[playerid][lDonatper9]); format(PlayerlogInfo[playerid][lDonatper9] ,512, PlayerlogInfo[playerid][lDonatper8]); format(PlayerlogInfo[playerid][lDonatper8] ,512, PlayerlogInfo[playerid][lDonatper7]); format(PlayerlogInfo[playerid][lDonatper7] ,512, PlayerlogInfo[playerid][lDonatper6]); format(PlayerlogInfo[playerid][lDonatper6] ,512, PlayerlogInfo[playerid][lDonatper5]); format(PlayerlogInfo[playerid][lDonatper5] ,512, PlayerlogInfo[playerid][lDonatper4]); format(PlayerlogInfo[playerid][lDonatper4] ,512, PlayerlogInfo[playerid][lDonatper3]); format(PlayerlogInfo[playerid][lDonatper3] ,512, PlayerlogInfo[playerid][lDonatper2]); format(PlayerlogInfo[playerid][lDonatper2] ,512, PlayerlogInfo[playerid][lDonatper]); format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-%d{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Перевод денег.На: %s",moneyplayeridooooo[playerid],day,month,year,hour,minuite,second,ipplayer,giveplayer); } if(PlayerInfo[getplayerid][pVaip] >= 30) { new ipplayers[32]; GetPlayerIp(getplayerid,ipplayers,sizeof(ipplayers)); if(!strcmp(PlayerlogInfo[getplayerid][lDonatper],"none",false)) { format(PlayerlogInfo[getplayerid][lDonatper] ,512, "{00ff00}+%d{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Перевод денег.От: %s",moneyplayeridooooo[playerid],day,month,year,hour,minuite,second,ipplayer,sendernamer); } else { format(PlayerlogInfo[getplayerid][lDonatper10] ,512, PlayerlogInfo[getplayerid][lDonatper9]); format(PlayerlogInfo[getplayerid][lDonatper9] ,512, PlayerlogInfo[getplayerid][lDonatper8]); format(PlayerlogInfo[getplayerid][lDonatper8] ,512, PlayerlogInfo[getplayerid][lDonatper7]); format(PlayerlogInfo[getplayerid][lDonatper7] ,512, PlayerlogInfo[getplayerid][lDonatper6]); format(PlayerlogInfo[getplayerid][lDonatper6] ,512, PlayerlogInfo[getplayerid][lDonatper5]); format(PlayerlogInfo[getplayerid][lDonatper5] ,512, PlayerlogInfo[getplayerid][lDonatper4]); format(PlayerlogInfo[getplayerid][lDonatper4] ,512, PlayerlogInfo[getplayerid][lDonatper3]); format(PlayerlogInfo[getplayerid][lDonatper3] ,512, PlayerlogInfo[getplayerid][lDonatper2]); format(PlayerlogInfo[getplayerid][lDonatper2] ,512, PlayerlogInfo[getplayerid][lDonatper]); format(PlayerlogInfo[getplayerid][lDonatper] ,512, "{00ff00}+%d{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Перевод денег.От: %s",moneyplayeridooooo[playerid],day,month,year,hour,minuite,second,ipplayer,sendernamer); } PlayerlogInfo[playerid][lRezerv]-= moneyplayeridooooo[playerid]; PlayerlogInfo[getplayerid][lRezerv]+= moneyplayeridooooo[playerid]; new tuce[256]; format(tuce, sizeof(tuce), "На ваш счёт было зачислино:%d ДО!",moneyplayeridooooo[playerid]); SendClientMessage(getplayerid, COLOR_BLUE, tuce); format(tuce, sizeof(tuce), "С вашего счёта было списано:%d ДО!",moneyplayeridooooo[playerid]); SendClientMessage(playerid, COLOR_BLUE, tuce); new logid2 = PlayerInfo[getplayerid][pLogsistembyan]; Savelogplayer(logid2,getplayerid); new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); return true; } } } SendClientMessage(playerid, COLOR_RED, "Ошибка! Данные аккаунта не найдены, и/или ида такого нету!"); return true; }else{SendClientMessage(playerid, COLOR_RED, "У вас нет такой суммы ДО!");} }else{SendClientMessage(playerid, COLOR_RED, "0 нельзя!");} } return true; } //============================================================================== if(dialogid == 9007){ if(!response){ if(PlayerlogInfo[playerid][lRezerv] >= 70) { if(PlayerInfo[playerid][pSlots] <= 8) { PlayerlogInfo[playerid][lRezerv]-= 70; new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); PlayerInfo[playerid][pSlots]++; SendClientMessage(playerid, COLOR_GREEN, "Спасибо за покупку!"); if(PlayerInfo[playerid][pVaip] >= 30) { new hour,minuite,second; gettime(hour,minuite,second); new year, month,day; getdate(year, month, day); new ipplayer[32]; GetPlayerIp(playerid,ipplayer,sizeof(ipplayer)); if(!strcmp(PlayerlogInfo[playerid][lDonatper],"none",false)) { format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-30{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка слота для бизнеса",day,month,year,hour,minuite,second,ipplayer); Savelogplayer(logid,playerid); } else { format(PlayerlogInfo[playerid][lDonatper10] ,512, PlayerlogInfo[playerid][lDonatper9]); format(PlayerlogInfo[playerid][lDonatper9] ,512, PlayerlogInfo[playerid][lDonatper8]); format(PlayerlogInfo[playerid][lDonatper8] ,512, PlayerlogInfo[playerid][lDonatper7]); format(PlayerlogInfo[playerid][lDonatper7] ,512, PlayerlogInfo[playerid][lDonatper6]); format(PlayerlogInfo[playerid][lDonatper6] ,512, PlayerlogInfo[playerid][lDonatper5]); format(PlayerlogInfo[playerid][lDonatper5] ,512, PlayerlogInfo[playerid][lDonatper4]); format(PlayerlogInfo[playerid][lDonatper4] ,512, PlayerlogInfo[playerid][lDonatper3]); format(PlayerlogInfo[playerid][lDonatper3] ,512, PlayerlogInfo[playerid][lDonatper2]); format(PlayerlogInfo[playerid][lDonatper2] ,512, PlayerlogInfo[playerid][lDonatper]); format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-30{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка слота для бизнеса",day,month,year,hour,minuite,second,ipplayer); Savelogplayer(logid,playerid); } } }else{SendClientMessage(playerid, COLOR_RED, "У вас уже 10 слотов, больше нельзя!");} }else{SendClientMessage(playerid, COLOR_RED, "У вас не достаточно денег для покупки!");} } return true; } if(dialogid == 9906){ if(!response){ if(respectforplayer[playerid] >= 2) { if(PlayerlogInfo[playerid][lRezerv] >= respectforplayer[playerid]) { new str[64]; PlayerInfo[playerid][pExp] += respectforplayer[playerid]*2; PlayerlogInfo[playerid][lRezerv] -= respectforplayer[playerid]; format(str, sizeof(str), "С вас было списано: [%d] ДО", respectforplayer[playerid]); SendClientMessage(playerid, COLOR_GREEN, str); if(PlayerInfo[playerid][pVaip] >= 30) { new hour,minuite,second; gettime(hour,minuite,second); new year, month,day; getdate(year, month, day); new ipplayer[32]; GetPlayerIp(playerid,ipplayer,sizeof(ipplayer)); if(!strcmp(PlayerlogInfo[playerid][lDonatper],"none",false)) { format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-[%d]{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка респектов.",respectforplayer[playerid],day,month,year,hour,minuite,second,ipplayer); new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); } else { format(PlayerlogInfo[playerid][lDonatper10] ,512, PlayerlogInfo[playerid][lDonatper9]); format(PlayerlogInfo[playerid][lDonatper9] ,512, PlayerlogInfo[playerid][lDonatper8]); format(PlayerlogInfo[playerid][lDonatper8] ,512, PlayerlogInfo[playerid][lDonatper7]); format(PlayerlogInfo[playerid][lDonatper7] ,512, PlayerlogInfo[playerid][lDonatper6]); format(PlayerlogInfo[playerid][lDonatper6] ,512, PlayerlogInfo[playerid][lDonatper5]); format(PlayerlogInfo[playerid][lDonatper5] ,512, PlayerlogInfo[playerid][lDonatper4]); format(PlayerlogInfo[playerid][lDonatper4] ,512, PlayerlogInfo[playerid][lDonatper3]); format(PlayerlogInfo[playerid][lDonatper3] ,512, PlayerlogInfo[playerid][lDonatper2]); format(PlayerlogInfo[playerid][lDonatper2] ,512, PlayerlogInfo[playerid][lDonatper]); format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-%d{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка респектов.",respectforplayer[playerid],day,month,year,hour,minuite,second,ipplayer); new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); } } return true; }else{SendClientMessage(playerid, COLOR_RED, "У вас не достаточно денег для покупки!");} }else{SendClientMessage(playerid, COLOR_RED, "0 нельзя!");} } return true; } if(dialogid == 9912){ if(!response){ if(respectforplayer[playerid] >= 100) { if(PlayerlogInfo[playerid][lRezerv] >= respectforplayer[playerid]) { new str[64]; PlayerlogInfo[playerid][lRezerv] -= respectforplayer[playerid]; GiveMoney(playerid, respectforplayer[playerid]*100000); format(str, sizeof(str), "С вас было списано: [%d] ДО", respectforplayer[playerid]); SendClientMessage(playerid, COLOR_GREEN, str); if(PlayerInfo[playerid][pVaip] >= 30) { new hour,minuite,second; gettime(hour,minuite,second); new year, month,day; getdate(year, month, day); new ipplayer[32]; GetPlayerIp(playerid,ipplayer,sizeof(ipplayer)); if(!strcmp(PlayerlogInfo[playerid][lDonatper],"none",false)) { format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-[%d]{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка игровых денег.",respectforplayer[playerid],day,month,year,hour,minuite,second,ipplayer); new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); } else { format(PlayerlogInfo[playerid][lDonatper10] ,512, PlayerlogInfo[playerid][lDonatper9]); format(PlayerlogInfo[playerid][lDonatper9] ,512, PlayerlogInfo[playerid][lDonatper8]); format(PlayerlogInfo[playerid][lDonatper8] ,512, PlayerlogInfo[playerid][lDonatper7]); format(PlayerlogInfo[playerid][lDonatper7] ,512, PlayerlogInfo[playerid][lDonatper6]); format(PlayerlogInfo[playerid][lDonatper6] ,512, PlayerlogInfo[playerid][lDonatper5]); format(PlayerlogInfo[playerid][lDonatper5] ,512, PlayerlogInfo[playerid][lDonatper4]); format(PlayerlogInfo[playerid][lDonatper4] ,512, PlayerlogInfo[playerid][lDonatper3]); format(PlayerlogInfo[playerid][lDonatper3] ,512, PlayerlogInfo[playerid][lDonatper2]); format(PlayerlogInfo[playerid][lDonatper2] ,512, PlayerlogInfo[playerid][lDonatper]); format(PlayerlogInfo[playerid][lDonatper] ,512, "{ff0005}-[%d]{75ff0e}ДО{cadaba}Число:{78c42d}%d{cadaba}Месяц:{78c42d}%d{cadaba}Год:{78c42d}%d{cadaba}Время(мск):{78c42d}%d{cadaba}:{78c42d}%d{cadaba}:{78c42d}%d{cadaba},IP({063103}%s{cadaba}){00ffc6}Покупка игровых денег.",respectforplayer[playerid],day,month,year,hour,minuite,second,ipplayer); new logid = PlayerInfo[playerid][pLogsistembyan]; Savelogplayer(logid,playerid); } } return true; }else{SendClientMessage(playerid, COLOR_RED, "У вас не достаточно денег для покупки!");} }else{SendClientMessage(playerid, COLOR_RED, "0 нельзя!");} } return true; }
- 9 ответов
-
- всё для crmp
- pawn
- (и ещё 7 )
-
Ко всем new new CP[MAX_PLAYERS]; В public OnPlayerConnect(playerid) CP[playerid] = 0; Ко всем #define, места вы можете добавить по своему, я указал диалог только для одного места! #define GPS_NAMES "[1] Важные места\n[2] Отключить GPS" Потом сама команда if(strcmp(cmd, "/gps", true) == 0) { if(IsPlayerConnected(playerid)) { ShowPlayerDialog(playerid, 10000, DIALOG_STYLE_LIST, "- GPS -", GPS_NAMES, "Выбрать", "Отмена"); return 1; } } ко всем диалогам if(dialogid == 10000) { if(response) { switch (listitem) { case 0: ShowPlayerDialog (playerid, 10001, DIALOG_STYLE_LIST, " Важные места", "[1] Автошкола\n", "Выбрать", "<< Назад"); case 1: { DisablePlayerCheckpoint(playerid); CP[playerid] = 0; SendClientMessage(playerid, COLOR_WHITE, "::: GPS навигатор отключен! ::: "); } } } else { return 1; } } else if(dialogid == 10001) { if(response) { switch (listitem) { case 0: DynamicGPSMarker(playerid, -2041.6616,-66.7263,35.1752); } } else ShowPlayerDialog(playerid, 10000, DIALOG_STYLE_LIST, "- GPS -", GPS_NAMES, "Выбрать", "Отмена"); return 1; } в конец мода stock DynamicGPSMarker(playerid, Float:x, Float:y, Float:z, Float:size = 5.0) { SendClientMessage(playerid,COLOR_LIGHTBLUE,"GPS активирован, ваша цель отмечена на карте маркером"); SetPlayerCheckpoint(playerid, x,y,z,size); CP[playerid] = 10; return true; } Открываем GPS Выбираем место Ваша точка указана на карте Отключаем GPS Автор системы Scooter
- 14 ответов
-
- 3
-
- всё для crmp
- pawn
-
(и ещё 5 )
C тегом:
-
Суть заключается в том что игроку присылается сообщение,вы приглашены во фракцию,и игрок может отказаться или принять приглашение Ко всем new добавим: new pInvite[MAX_PLAYERS]; в public OnPlayerConnect(playerid) добавим: pInvite[playerid] = 999; Заменяем свою команду /invite на эту: if(strcmp(cmd, "/invite", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "ИСПОЛЬЗОВАНИЕ: /invite [id_игрока/ЧастьИмени]"); new para1; new ftext[20]; para1 = ReturnUser(tmp); if (PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не лидер !"); if(IsPlayerConnected(para1)) { if(para1 != INVALID_PLAYER_ID) { if (PlayerInfo[para1][pMember] != 0) return SendClientMessage(playerid, COLOR_GREY, "Этот игрок состоит во фракции!"); if(PlayerInfo[playerid][pLeader] == 1) { ftext = "Ваше название фракции"; } else if(PlayerInfo[playerid][pLeader] == 2) { ftext = "Ваше название фракции и т.д."; } GetPlayerName(para1, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "[Администрация]: Вы были приглашены в %s, Лидером %s", ftext, sendername); SendClientMessage(para1, COLOR_WHITE, string); SendClientMessage(para1, COLOR_WHITE, "Введите /accept team чтобы принять приглашение"); SendClientMessage(para1, COLOR_WHITE, "Введите /cancel team чтобы отвергнуть приглашение"); format(string, sizeof(string), "Вы пригласили игрока %s в %s.", giveplayer,ftext); SendClientMessage(playerid, COLOR_WHITE, string); pInvite[para1] = playerid; } } } return 1; } Внимание если у вас не стандартная команда то добавьте pInvite[para1] = playerid; Код который отправляет на респавн убрать а также убрать смену скина,если у вас больше фракций чем в стандартном ГФ(да полюбому больше) то добавляем в команду /invite так else if(PlayerInfo[playerid][pLeader] == ID фраки) { ftext = "Название"; } в команду /accept добавить else if(strcmp(x_job,"team",true) == 0) { if(pInvite[playerid] < 999) { if(IsPlayerConnected(pInvite[playerid])) { if (gTeam[playerid]==TEAM_GREEN && PlayerInfo[playerid][pMember] == 0 && PlayerInfo[playerid][pFMember] == 255) { if(PlayerInfo[pInvite[playerid]][pLeader] == 1) { PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; ChosenSkin[playerid] = 280; SetPlayerSkin(playerid, 280); } else if(PlayerInfo[pInvite[playerid]][pLeader] == 2) { PlayerInfo[playerid][pTeam] = 2; gTeam[playerid] = 2; ChosenSkin[playerid] = 286; SetPlayerSkin(playerid, 286); } PlayerInfo[playerid][pMember] = PlayerInfo[pInvite[playerid]][pLeader]; PlayerInfo[playerid][pRank] = 1; SetPlayerInterior(playerid,0); new rand = random(sizeof(gInviteSpawns)); SetPlayerPos(playerid, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player SetPlayerFacingAngle(playerid, gInviteSpawns[rand][3]); SetPlayerCameraPos(playerid,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]); SetPlayerCameraLookAt(playerid,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); TogglePlayerControllable(playerid, 0); SelectChar[playerid] = 255; SelectCharID[playerid] = PlayerInfo[playerid][pMember]; SelectCharPlace[playerid] = 1; PlayerInfo[playerid][pModel] = ChosenSkin[playerid]; PlayerInfo[playerid][pChar] = ChosenSkin[playerid]; new str[64]; GetPlayerName(pInvite[playerid], sendername, sizeof(sendername)); format(str,sizeof(str),"* %s принял ваше приглашение!",sendername); SendClientMessage(pInvite[playerid], COLOR_WHITE, str); SendClientMessage(playerid, COLOR_LIGHTRED, "Используйте next для выбора скина."); SendClientMessage(playerid, COLOR_LIGHTRED, "Если вы нашли скин, который хотите использовать введите done."); pInvite[playerid] = 999; return 1; } else { SendClientMessage(playerid, COLOR_GREY, "Вы состоите во фракции"); return 1; } } return 1; } else { SendClientMessage(playerid, COLOR_GREY, "Никто вас не приглашал вступить в Фракцию/Банду/Мафию"); return 1; } } в команду /cancel добавить: else if(strcmp(x_job,"team",true) == 0) { pInvite[playerid] = 999; new str[64]; GetPlayerName(pInvite[playerid], sendername, sizeof(sendername)); format(str,sizeof(str),"* %s не принял ваше приглашение!",sendername); SendClientMessage(pInvite[playerid], COLOR_WHITE, str); } Автор: Сергей68
-
- 3
-
- всё для crmp
- pawn
- (и ещё 6 )
-
Доброго времени суток господа! Сейчас будем делать систему, которая показывает в паспорте прописку человека (можете подогнать под себя, например в статистику и т.д.). В начало мода добавляем: forward GetZonaName ( Float: x, Float: y ); forward GetCityName ( Float: x, Float: y ); enum SAZONE_MAIN { SAZONE_NAME[128], Float:SAZONE_AREA[6] }; new gSAZonesCity[][SAZONE_MAIN] = { {"Los Santos", {44.60, -2892.90, -242.90, 2997.00, -768.00, 900.00}}, {"Whetstone", {-2997.40, -2892.90, -242.90, -1213.90, -1115.50, 900.00}} }; new gSAZones[][SAZONE_MAIN] = { // название ( Xmin, Ymin, Zmin, Xmax, Ymax, Zmax) {"The Big Ear", {-410.00, 1403.30, -3.00, -137.90, 1681.20, 200.00}}, {"Yellow Bell Station", {1377.40, 2600.40, -21.90, 1492.40, 2687.30, 78.00}} }; Далее добавим паблики: // районы public GetZonaName ( Float: x, Float: y ) { for ( new i = 0; i != sizeof ( gSAZones ); i++ ) { if ( x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4]) { return i; } } return 1; } // города public GetCityName ( Float: x, Float: y) { for ( new i = 0; i != sizeof ( gSAZonesCity ); i++ ) { if ( x >= gSAZonesCity[i][SAZONE_AREA][0] && x <= gSAZonesCity[i][SAZONE_AREA][3] && y >= gSAZonesCity[i][SAZONE_AREA][1] && y <= gSAZonesCity[i][SAZONE_AREA][4] ) { return i; } } return 1; } Теперь добавляем в /showpass: if ( PlayerInfo[playerid][pPhousekey] != 999) { new Float: x, Float: y; new h = PlayerInfo[playerid][pPhousekey]; // Заменяем на свой HouseInfo при необходимости ( есть ли дом у игрока ) x = HouseInfo[h][hEntrancex]; // Заменяем на свой HouseInfo при необходимости ( координаты входа в дом по оси X ) y = HouseInfo[h][hEntrancey]; // Заменяем на свой HouseInfo при необходимости ( координаты входа в дом по оси Y ) new ids = GetCityName ( x, y ); new id = GetZonaName ( x, y ); format ( string, sizeof ( string), "Место прописки: г. %s, р-он %s, д. %d", gSAZonesCity[ids][SAZONE_NAME], gSAZones[id][SAZONE_NAME], PlayerInfo[playerid][pPhousekey] ); // Добавляем свое вместо PlayerInfo[playerid][pPhousekey] SendClientMessage ( giveplayerid, COLOR_YELLOW2, string ); } Автор: lonin P.S: координаты менять на свои!!!
- 8 ответов
-
- 2
-
- всё для crmp
- pawn
-
(и ещё 5 )
C тегом:
-
Здравствуйте форумчане выкладываю мануал который может быть полезен для каждого проекта Для начала создадим define и enum #define GARAGE_X 2315.6699//координаты появления в гаражей по оси X#define GARAGE_Y -198.7284//координаты появления в гаражей по оси Y #define GARAGE_Z 2.0088//координаты появления в гаражей по оси Z #define GARAGE_A 180.0000//координаты появления в гаражей по оси A #define GARAGE_INT 15//интерьер в гараже,можете не менять enum gInfo { gOwner[32],//владелец gPrice,//цена gLock,//открыть или закрыт Float:gX,//координаты пикапа по оси X Float:gY,//координаты пикапа по оси Y Float:gZ,//координаты пикапа по оси Z Float:gA//координаты пикапа по оси A }; new Garage[200][gInfo];//200 максимальное кол-во гаражей new AllGarage;//всего гаражей new Text3D:Text3DCar[200];//3д текст над гаражами далее в конце мода создадим 2 стока(загрузки и сохранение гаражей) stock LoadGarage(){ new ids[32],str[64]; new iniOpens = ini_openFile("garage/garage.cfg"); ini_getInteger(iniOpens, "AllGarage", AllGarage); ini_closeFile(iniOpens); if(AllGarage != 0) { for(new garage = 1; garage <= AllGarage; garage++) { format(ids,sizeof(ids),"garage/%d.ini",garage); new inigOpen = ini_openFile(ids); ini_getFloat(inigOpen, "gX", Garage[garage][gX]); ini_getFloat(inigOpen, "gY", Garage[garage][gY]); ini_getFloat(inigOpen, "gZ", Garage[garage][gZ]); ini_getFloat(inigOpen, "gA", Garage[garage][gA]); ini_getString(inigOpen, "gOwner", str); format(Garage[garage][gOwner],24,"%s",str); ini_getInteger(inigOpen, "gPrice", Garage[garage][gPrice]); ini_getInteger(inigOpen, "gLock", Garage[garage][gLock]); ini_closeFile(inigOpen); if(!strcmp("None", Garage[garage][gOwner], true)) { format(str,sizeof(str),"Гараж номер %d]\nПродаётся цена %d]",garage,Garage[garage][gPrice]); CreatePickup(1274, 1, Garage[garage][gX], Garage[garage][gY], Garage[garage][gZ]); } else { format(str,sizeof(str),"Гараж номер %d]\nВладелец %s]",garage,Garage[garage][gOwner]); CreatePickup(1239, 1, Garage[garage][gX], Garage[garage][gY], Garage[garage][gZ]); } Text3DCar[garage] = CreateDynamic3DTextLabel(str, 0xCE9A00FF, Garage[garage][gX], Garage[garage][gY], Garage[garage][gZ],15.0); } } return 1; } stock SaveGarage(garage) { new ids[32]; format(ids,sizeof(ids),"garage/%d.ini",garage); new iniggOpen; iniggOpen = ini_openFile(ids); if(iniggOpen == -1 || iniggOpen == -2) iniggOpen = ini_createFile(ids); ini_setFloat(iniggOpen, "gZ", Garage[garage][gZ]); ini_setFloat(iniggOpen, "gX", Garage[garage][gX]); ini_setFloat(iniggOpen, "gY", Garage[garage][gY]); ini_setFloat(iniggOpen, "gA", Garage[garage][gA]); ini_setString(iniggOpen, "gOwner", Garage[garage][gOwner]); ini_setInteger(iniggOpen, "gPrice", Garage[garage][gPrice]); ini_setInteger(iniggOpen, "gLock", Garage[garage][gLock]); ini_closeFile(iniggOpen); return 1; } теперь в public OnGameModeInit() LoadGarage();//загрузка гаражей ну и осталось только команды,в public OnPlayerCommandText(playerid, cmdtext[]) if(strcmp(cmd,"/ga",true)==0){ new temp[256]; temp = strcharsplit(cmdtext, idx); if(!strlen(temp)) return SendClientMessage(playerid,COLOR_WHITE," Используйте: /ga [buy(купить) sell(продать) lock(закрыть) enter(войти) exit(выйти)"); if(strcmp(temp,"buy",true)==0) { for(new gar = 1; gar <= AllGarage;gar++) { if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ])) { if(!strcmp("None", Garage[gar][gOwner], true)) { if(GetPlayerMoney(playerid) > Garage[gar][gPrice]) { strmid(Garage[gar][gOwner], GN(playerid), 0, strlen(GN(playerid)), 255); GivePlayerMoney(playerid,-Garage[gar][gPrice]); format(temp,sizeof(temp),"Гараж номер:[%d]\nВладелец:[%s]",gar,Garage[gar][gOwner]); UpdateDynamic3DTextLabelText(Text3DCar[gar], 0xCE9A00FF, temp); SaveGarage(gar); return SendClientMessage(playerid,COLOR_WHITE," Вы успешно купили гараж"); } else return SendClientMessage(playerid,COLOR_WHITE," У вас нету денег на покупку"); } else return SendClientMessage(playerid,COLOR_WHITE," Гараж уже кем то куплен"); } } } else if(strcmp(temp,"sell",true)==0) { for(new gar = 1; gar <= AllGarage;gar++) { if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ])) { if(!strcmp(GN(playerid), Garage[gar][gOwner], true)) { strmid(Garage[gar][gOwner], "None", 0, strlen("None"), 255); GivePlayerMoney(playerid,Garage[gar][gPrice]/2); Garage[gar][gLock] = 1; SaveGarage(gar); format(temp,sizeof(temp),"Гараж номер:[%d]\nПродаеться Цена:[%d$]",gar,Garage[gar][gPrice]); UpdateDynamic3DTextLabelText(Text3DCar[gar], 0xCE9A00FF, temp); return SendClientMessage(playerid,COLOR_WHITE," Вы успешно продали свой гараж"); } else return SendClientMessage(playerid,COLOR_WHITE," Гараж не принадледит вам"); } } } else if(strcmp(temp,"lock",true)==0) { for(new gar = 1; gar <= AllGarage;gar++) { if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]) || (IsPlayerInRangeOfPoint(playerid, 20.0,GARAGE_X,GARAGE_Y,GARAGE_Z) && gar == GetPlayerVirtualWorld(playerid))) { if(!strcmp(GN(playerid), Garage[gar][gOwner], true)) { if(Garage[gar][gLock] == 1) { Garage[gar][gLock] = 0; SaveGarage(gar); return SendClientMessage(playerid,COLOR_WHITE," Гараж открыт"); } else { Garage[gar][gLock] = 1; SaveGarage(gar); return SendClientMessage(playerid,COLOR_WHITE," Гараж закрыт"); } } else return SendClientMessage(playerid,COLOR_WHITE," Гараж не принадлежит вам"); } } } else if(strcmp(temp,"enter",true)==0) { for(new gar = 1; gar <= AllGarage;gar++) { if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ])) { if(Garage[gar][gLock] == 1) return SendClientMessage(playerid,COLOR_WHITE," Гараж закрыт"); if(IsPlayerInAnyVehicle(playerid)) { new carid = GetPlayerVehicleID(playerid); SetVehiclePos(carid, GARAGE_X,GARAGE_Y,GARAGE_Z+1.0); SetPlayerPos(playerid,GARAGE_X,GARAGE_Y,GARAGE_Z+1.0); LinkVehicleToInterior(carid, GARAGE_INT); SetVehicleVirtualWorld(carid, gar); SetVehicleZAngle(carid, GARAGE_A); SetPlayerInterior(playerid,GARAGE_INT); SetPlayerVirtualWorld(playerid,gar); PutPlayerInVehicle(playerid,carid,0); } else { SetPlayerPos(playerid,GARAGE_X,GARAGE_Y,GARAGE_Z+1.0); SetPlayerInterior(playerid,GARAGE_INT); SetPlayerVirtualWorld(playerid,gar); } break; } } } else if(strcmp(temp,"exit",true)==0) { if(GetPlayerVirtualWorld(playerid) == 0) return SendClientMessage(playerid,COLOR_WHITE," Вы не находитесь в гараже "); for(new gar = 1; gar <= AllGarage;gar++) { if(IsPlayerInRangeOfPoint(playerid, 20.0,GARAGE_X,GARAGE_Y,GARAGE_Z) && gar == GetPlayerVirtualWorld(playerid)) { if(IsPlayerInAnyVehicle(playerid)) { new carid = GetPlayerVehicleID(playerid); LinkVehicleToInterior(carid, 0); SetVehicleVirtualWorld(carid, 0); SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0); SetVehiclePos(carid, Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+5.0); SetVehicleZAngle(carid, Garage[gar][gA]); SetPlayerPos(playerid,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0); PutPlayerInVehicle(playerid,carid,0); } else { SetPlayerPos(playerid,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0); SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0); } break; } } } return true; } if(strcmp(cmd,"/newga",true)==0) { if(Player[playerid][pAdmin] <= 4) return SendClientMessage(playerid, -1, "У вас нет прав на использование этой команды!"); tmp = strcharsplit(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /newga [Сумма]"); new money = strval(tmp); tmp = strcharsplit(cmdtext, idx); AllGarage++; new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid, X,Y,Z); format(Garage[AllGarage][gOwner],24,"None"); Garage[AllGarage][gPrice] = money; Garage[AllGarage][gLock] = 1; Garage[AllGarage][gX] = X; Garage[AllGarage][gY] = Y; Garage[AllGarage][gZ] = Z; Garage[AllGarage][gA] = 90; if(!strcmp("None", Garage[AllGarage][gOwner], true)) { format(string,sizeof(string),"Гараж номер %d\nПродаеться цена %d]",AllGarage,Garage[AllGarage][gPrice]); CreatePickup(1274, 1, Garage[AllGarage][gX], Garage[AllGarage][gY], Garage[AllGarage][gZ]); } Text3DCar[AllGarage] = CreateDynamic3DTextLabel(string, 0xCE9A00FF, Garage[AllGarage][gX], Garage[AllGarage][gY], Garage[AllGarage][gZ],10.0); SaveGarage(AllGarage); return 1; } поясню по командам,чтобы создать гараж введите /newga цена,все действия с гаражом проходят через команду /ga то есть если мы хотим купить гараж вводим /ga buy и т.д. Координаты появления в гараже меняйте на свои,так как они поставлены под мой маппинг гаража Осталось только в папке scriptfiles создать папку и в папке файлик,ссылку я оставлю ниже garage.rar Автор вырезки : Basis
- 7 ответов
-
- 2
-
- всё для crmp
- pawn
-
(и ещё 5 )
C тегом:
-
Здравствуйте всем С вами Я Vlad_Andreev. Сегодня я хочу показать вам свою команду /bag. Ну так начнём) Данная команда предназначена для #include Команда CMD:bag(playerid,params[])//Команда можете заменить на своё { new string[100];//переменная if(IsPlayerConnected(playerid))//Зашли вы на сервер или нет { if(sscanf(params,"s[128]", params[0])) return SendClientMessage(playerid, 0xFF0000AA, "Используй Команду /bag [Текст].");//Проверка { format(string, sizeof(string), "[ID:%d] %s Заметил Баг: %s",playerid, sendername(playerid), params[0]);//Пишите Администрации что вы нашли баг SendClientMessage(playerid, COLOR_LIGHTBLUE, string);//цвет SendClientMessage(playerid, COLOR_RED, "Спасибо вам за оказанную услугу сервера, Администрация, её обязательно рассмотрят. Ожидайте ответа.");//функция после того как вы напишите что нашли баг log("bag", string);//Название текстового документа куда будут поступать от пользователя текст } } return 1; } Функция Сохранения+Дата время log(filename[],string[]) { new year, month,day; new hour,minuite,second; new stringer[100]; new str[500]; gettime(hour,minuite,second); getdate(year, month, day); format(stringer,sizeof(stringer), "Files/Logs/%s.log",filename);//Поток куда будут сохранятся new File:file = fopen(stringer, io_append); format(str,sizeof(str), "[LOG/BAG]: %s [%i/%i/%i][%i:%i:%i]\r\n",string,day,month,year,hour,minuite,second);//Дата время минуты секунды и т д for(new io=0; io { fputchar(file, str[io], false); } fclose(file); } Автор данной команды я Vlad_Andreev Ссылка чтобы скачать куда будут сохраняться ТЕКСТ, закинуть в scriptfiles
- 2 ответа
-
- 4
-
- всё для crmp
- pawn
-
(и ещё 6 )
C тегом:
-
К new. new Text:Textdraw0[MAX_PLAYERS]; new Text:Textdraw1[MAX_PLAYERS]; new Text:Textdraw2[MAX_PLAYERS]; new Text:Textdraw3[MAX_PLAYERS]; new Text:Textdraw4[MAX_PLAYERS]; new Text:Textdraw5[MAX_PLAYERS]; В public OnPlayerStateChange(playerid, newstate, oldstate) OnPlayerStateChange']if(oldstate == PLAYER_STATE_DRIVER) { TextDrawHideForPlayer(playerid, Textdraw0[playerid]); TextDrawHideForPlayer(playerid, Textdraw1[playerid]); TextDrawHideForPlayer(playerid, Textdraw2[playerid]); TextDrawHideForPlayer(playerid, Textdraw3[playerid]); TextDrawHideForPlayer(playerid, Textdraw4[playerid]); TextDrawHideForPlayer(playerid, Textdraw5[playerid]); } Ко всем forward forward LoadTextdraws(); В public OnGameModeInit() LoadTextdraws(); В конец мода.
- 11 ответов
-
- всё для crmp
- pawno
- (и ещё 7 )
-
Драсте Нашёл на просторах этот замечательный скрипт который добавит на ваш сервер наверно самую известную тюрьму под названием "Алькатрас". Этот маппинг тюрьмы под названием "Алькатрас". Тюрьма находится на острове и связи с этим фактором, на территории тюрьмы присутствует свой собственный пирс и вертолетная площадка. На острове находится несколько строений, одно из них, это здание в котором и находятся заключенные. В работе так же присутствует интерьер тюрьмы. Особенностью тюрьмы, является возможность сбежать из нее... (Подсказка: канализация) Команды: /sm - телепортироватся к тюрьме /sm2 - телепортироватся в канализацию тюрьмы P.S: Автор скрипта не я. Автор: Buggy B 1382093176_alkatraz.zip
- 7 ответов
-
- 2
-
- crmp
- всё для crmp
- (и ещё 5 )
-
Тема надобна для тех, кто не умеет импортировать базу данных на локальный хост (denwer). Следуйте инструкцией по скринам: 1. В адресную строку вписываем localhost 2. Жмем localhost/Tools/phpMyAdmin 3. Далее, заходим в Базы данных 4. Вводите имя вашей БД (любое) 5. База данных создана, заходим в неё и нажимаем ИМПОРТ 6. Выбираем файл, после того, как вы выбрали свою БД, нажимайте ОК Ваша база данных импортирована. Не забудьте прописать имя вашей базы данных в ГМ. Имя пользователя - root. Пароль отсутствует. Имя хоста "localhost"
- 19 ответов
-
- 3
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Вы можете создавать дом где вы хотите используя команду /createhouse • Дома сохраняются автоматически и нет угрозы слёта • Вы можете хранить деньги в сейфе используя /storecash и /takecash • Каждый может войти в ваш дом, но можно его закрыть командой /lockhouse • Вы можете арендовать дом используя /renthouse и /unrenthouse • Несколько интерьеров для дома • Вы можете улучшать свой дом командой /houseupgrade • Каждый игрок может себе построить дом где ему надо, но администратор должен одобрить это командой /approvehouse или /denyhouse чтобы отменить стройку • Каждый игрок может иметь машину, которую может припарковать в любом угодном месте командой /park • Сделаны иконки на карте • Для того чтобы одобрить дом, вам нужно быть залогиненым под RCON администратора house.zip
-
Создание банды. Команды посмотрите в самом скрипте. banda.zip
-
Выкладываю поворотники. Автор: Morino_Reigan povor.zip
- 14 ответов
-
- crmp
- всё для crmp
- (и ещё 5 )
-
Всем привет , выкладываю работу! Нужно собирать золото и грузить фургон. rabota.zip
- 2 ответа
-
- 2
-
- crmp
- всё для crmp
- (и ещё 5 )
-
Всем привет , вот решил выложить скрипт мангала с огнем , и бутылку вина. Что представляет из себя скрипт. 1. Выдавать в руки бутылку пива (/pivo) 2. Выдавать в руки бутылку вина (/vino) 3. Ставить/убирать мангал (/mangal) Основа для скипта послужила FS Костер - by SHOROOP Автор скрипта - Vlad_Dredd. mangal.zip
-
Доброго времени суток. Короче говоря ,решил помочь Артёму с его проблемой, не может найти и написать систему бензина. Ну тут понятно ,к переменным : new Fuel[MAX_VEHICLES], FuelTime = 1000; В OnGameMode : SetTimer("uFuel", FuelTime, true); В конец мода : forward uFuel(); public uFuel() { for(new i = GetMaxPlayers()-1; i != -1; --i) { new v = GetPlayerVehicleID(i); if(!IsPlayerInVehicle(i, v)) return true; new engine, lights, alarm, doors, bonnet, boot, objective; GetVehicleParamsEx(v, engine, lights, alarm, doors, bonnet, boot, objective); if(Fuel[v] == 0) return SendClientMessage(i, -1, "Бензин закончился."), SetVehicleParamsEx(v,false,false,alarm,doors,bonnet,boot,objective); Fuel[v] -= 1; } return true; } Автор тут я
-
- crmp
- всё для crmp
- (и ещё 5 )
-
Первая моя работа с чего.то начинают люди вот потом будет очень подробно расписано о диалогах и с чем их будет Pawno осознаю уже Спидометр первый,думаю пойдет Автор: Лично я
- 12 ответов
-
- 4
-
- всё для crmp
- pawn
-
(и ещё 5 )
C тегом:
-
Вот error в моде пишет fatal error 100: cannot read from file: "utils" fatal error 100: cannot read from file: "morphinc" fatal error 100: cannot read from file: "crp" Скажите где найти их или что мне зделать! Очень нужна помощь
- 16 ответов
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом: