Обновленная работа Дальнобойшика
| |
leonid767 | Дата: Суббота, 02.08.2014, 02:58 | Сообщение # 1 |
.::Offline::.
Новичок
Сообщений: 9
[ 3 ]
Награды: 0
Статус
отсутствует
| Давайте сразу начнем ко всем new добавим далие у кого не pLevel в enum pInfo дабавим в регистрацию вставимКод ini_setInteger(iniFile, "pLevel", 0); в авторигистрациюКод ini_getInteger(iniFile, "pLevel", PlayerInfo[playerid][pLevel]); в сохронения акаунтовКод ini_setInteger(iniFile, "pLevel", PlayerInfo[playerid][pLevel]); все приступем к созданию команды в public OnPlayerCommandText(playerid, cmdtext[])Код if(strcmp(cmd, "/work", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pJob] != 0) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}[Недоступно]{ffffff} Вы не дальнобойщик."); { if(CP[playerid]) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}[Недоступно]{ffffff} Вы уже взяли задание."); new tmpcar; tmpcar = GetPlayerVehicleID(playerid); if(IsATruckerCar(tmpcar)) { if (GetVehicleTrailer(tmpcar)) { if(!PlayerToPoint(100,playerid,276.7208, 1988.6398, 16.8692)) return SendClientMessage(playerid, COLOR_GREY, "Вы не набазе!!");//Тут у нас координаты,на которых будет действовать данная команда. ShowPlayerDialog(playerid,102,DIALOG_STYLE_LIST,"Выбор груза","{ffffff}Песок 10500$\n{FF0000}Оружие 50000$\n{0xFFFF00AA}Метал 31000$\n{0xAAAAAAAA}Боеприпасы 24900$\n","Выбрать","Отмена"); } else { SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !"); return 1; } } } return 1; } в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])Код if(dialogid == 102) { if(response) { if(listitem == 0) { moneydb[playerid] = 0; SetPlayerCheckpoint(playerid, 276.7208, 1988.6398, 16.8692, 8.0);//координат SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Следуйте к красому маячку на радаре для загрузки машины!"); CP[playerid] = 1; } else if(listitem == 1) { moneydb[playerid] = 0; SetPlayerCheckpoint(playerid, 2781.5938,-2494.3748,13.4599, 8.0); SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Следуйте к красому маячку на радаре для загрузки машины!"); CP[playerid] = 3; } else if(listitem == 2) { moneydb[playerid] = 0; SetPlayerCheckpoint(playerid, 64.7506,-278.8061,1.5781, 8.0); SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Следуйте к красому маячку на радаре для загрузки машины!"); CP[playerid] = 5; } else if(listitem == 3) { moneydb[playerid] = 0; SetPlayerCheckpoint(playerid, 2523.4004,2814.2786,10.8203, 8.0); SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Следуйте к красому маячку на радаре для загрузки машины!"); CP[playerid] = 7; } } } в public OnPlayerEnterCheckpoint(playerid)Код new string[256]; new tmpcar; tmpcar = GetPlayerVehicleID(playerid); if(CP[playerid]==1) { if(IsATruckerCar(tmpcar)) { if (GetVehicleTrailer(tmpcar)) { CP[playerid] = 2;//Переход на новый пикап DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 324.4989, 856.7709, 19.7881, 8.0); TogglePlayerControllable(playerid,0); SendClientMessage(playerid, RED,"Подождите какое-то време пока загрузят груз!"); SetTimerEx("zgruzFurui",25000,false,"i",playerid); } else { SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !"); return 1; } } else if(CP[playerid]==2) { if(IsATruckerCar(tmpcar)) { if (GetVehicleTrailer(tmpcar)) { CP[playerid] = 0; TogglePlayerControllable(playerid,0); SendClientMessage(playerid, RED,"Подождите какое-то време пока разгрузят фуру!"); SetTimerEx("RazgruzFurui",25000,false,"i",playerid); DisablePlayerCheckpoint(playerid); new zarplata = 10500;//отвечает за зарплату format(string, sizeof(string), "вам вышла полько зарплота зарплата $%d", zarplata); SendClientMessage(playerid, COLOR_GREY,string); GivePlayerMoney(playerid, zarplata); PlayerInfo[playerid][pLevel]++; } else { SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !"); return 1; } } else if(CP[playerid]==3) { if(IsATruckerCar(tmpcar)) { if (GetVehicleTrailer(tmpcar)) { CP[playerid] = 4;//Переход на новый пикап DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 281.0313,1952.6752,17.6406, 8.0); TogglePlayerControllable(playerid,0); SendClientMessage(playerid, RED,"Подождите какое-то време пока загрузят груз!"); SetTimerEx("zgruzFurui",25000,false,"i",playerid); } else { SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !"); return 1; } } else if(CP[playerid]==4) { if(IsATruckerCar(tmpcar)) { if (GetVehicleTrailer(tmpcar)) { CP[playerid] = 0; TogglePlayerControllable(playerid,0); SendClientMessage(playerid, RED,"Подождите какое-то време пока разгрузят фуру!"); SetTimerEx("RazgruzFurui",25000,false,"i",playerid); DisablePlayerCheckpoint(playerid); new zarplata = 50000; format(string, sizeof(string), "вам вышла полько зарплота зарплата $%d", zarplata); SendClientMessage(playerid, COLOR_GREY,string); GivePlayerMoney(playerid, zarplata); PlayerInfo[playerid][pLevel]++; } else { SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !"); return 1; } } else if(CP[playerid]==5) { if(IsATruckerCar(tmpcar)) { if (GetVehicleTrailer(tmpcar)) { CP[playerid] = 6;//Переход на новый пикап DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -1053.2174,-640.4914,32.0078, 8.0); TogglePlayerControllable(playerid,0); SendClientMessage(playerid, RED,"Подождите какое-то време пока загрузят груз!"); SetTimerEx("zgruzFurui",25000,false,"i",playerid); } else { SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !"); return 1; } } else if(CP[playerid]==6) { if(IsATruckerCar(tmpcar)) { if (GetVehicleTrailer(tmpcar)) { CP[playerid] = 0; TogglePlayerControllable(playerid,0); SendClientMessage(playerid, RED,"Подождите какое-то време пока разгрузят фуру!"); SetTimerEx("RazgruzFurui",25000,false,"i",playerid); DisablePlayerCheckpoint(playerid); new zarplata = 31000; format(string, sizeof(string), "вам вышла полько зарплота зарплата $%d", zarplata); SendClientMessage(playerid, COLOR_GREY,string); GivePlayerMoney(playerid, zarplata); PlayerInfo[playerid][pLevel]++; } else { SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !"); return 1; } } else if(CP[playerid]==7) { if(IsATruckerCar(tmpcar)) { if (GetVehicleTrailer(tmpcar)) { CP[playerid] = 8;//Переход на новый пикап DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -1461.8278,431.6042,7.1875, 8.0); TogglePlayerControllable(playerid,0); SendClientMessage(playerid, RED,"Подождите какое-то време пока загрузят груз!"); SetTimerEx("zgruzFurui",25000,false,"i",playerid); } else { SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !"); return 1; } } else if(CP[playerid]==8) { if(IsATruckerCar(tmpcar)) { if (GetVehicleTrailer(tmpcar)) { CP[playerid] = 0; TogglePlayerControllable(playerid,0); SendClientMessage(playerid, RED,"Подождите какое-то време пока разгрузят фуру!"); SetTimerEx("RazgruzFurui",25000,false,"i",playerid); DisablePlayerCheckpoint(playerid); new zarplata = 24900; format(string, sizeof(string), "вам вышла полько зарплота зарплата $%d", zarplata); SendClientMessage(playerid, COLOR_GREY,string); GivePlayerMoney(playerid, zarplata); PlayerInfo[playerid][pLevel]++; } else { SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !"); return 1; } } и в конец мода ставимКод forward IsATruckerCar(carid); public IsATruckerCar(carid) { new model = GetVehicleModel(carid); if(model == 514 || model == 515) { return 1; } return 0; } forward RazgruzFurui(playerid); forward zgruzFurui(playerid); forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z); public zgruzFurui(playerid) { TogglePlayerControllable(playerid,1); SendClientMessage(playerid, COLOR_LIGHTRED, "* Машина загружена! Получен новый маршрут! Следуйте к маячку на радаре."); return true; }
public RazgruzFurui(playerid) { TogglePlayerControllable(playerid,1); SendClientMessage(playerid, RED,"Разгрузка фуры завершена..."); return true; } кстати чкть бы не забыл вот команда для устраивания на роботуКод if(strcmp(cmd, "/truck", true) == 0) { if(IsPlayerConnected(playerid)) { new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[256]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } GetPlayerName(playerid,sendername,sizeof(sendername)); format(string,sizeof(string), "Ты устроился дальнобойшиком.",result); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); PlayerInfo[playerid][pJop] = 0; return true; } } ну вот и все меняйте кардинаты и ид работы на свои и зарплату Работа подойдет для нового мода на mxINI, на других системах надо менять сохронение грузы брать с этими координатами на зоне 51 примерно вот здесь
грузовики прицепы ставим сами автор Я, но делал при помощи всего сайта, спасибо
|
|
| |
AlexPPPP | Дата: Суббота, 02.08.2014, 06:05 | Сообщение # 2 |
.::Offline::.
Гангстер
Сообщений: 179
[ 21 ]
Награды: 19
Статус
отсутствует
| Проверю,а так вроде нормально расписал)
Релизы [GM] Far EastRolePlay[Repack LessGlobal] S.T.A.L.K.E.R New.pwn 45% ( мод заливать не буду )
|
|
| |
leonid767 | Дата: Суббота, 02.08.2014, 15:51 | Сообщение # 3 |
.::Offline::.
Новичок
Сообщений: 9
[ 3 ]
Награды: 0
Статус
отсутствует
| Цитата AlexPPPP ( ) Проверю,а так вроде нормально расписал) Отпишись если какие ошибки будут
|
|
| |
AlexPPPP | Дата: Суббота, 02.08.2014, 17:01 | Сообщение # 4 |
.::Offline::.
Гангстер
Сообщений: 179
[ 21 ]
Награды: 19
Статус
отсутствует
| У меня вопрос,он так сказать на засыпку) Почему ты используешь new string[256] а не 128 пример,или 64 ?) P.S в OnPlayerEnterCheckpoint
Релизы [GM] Far EastRolePlay[Repack LessGlobal] S.T.A.L.K.E.R New.pwn 45% ( мод заливать не буду )
|
|
| |
leonid767 | Дата: Суббота, 02.08.2014, 17:10 | Сообщение # 5 |
.::Offline::.
Новичок
Сообщений: 9
[ 3 ]
Награды: 0
Статус
отсутствует
| Цитата AlexPPPP ( ) У меня вопрос,он так сказать на засыпку) Почему ты используешь new string[256] а не 128 пример,или 64 ?) P.S в OnPlayerEnterCheckpoint да просто мне привычней так а так модно использовать 128 и 64
|
|
| |
AlexPPPP | Дата: Суббота, 02.08.2014, 17:13 | Сообщение # 6 |
.::Offline::.
Гангстер
Сообщений: 179
[ 21 ]
Награды: 19
Статус
отсутствует
| На заметку Строка – это массив символов (цифр и букв). Цифра в квадратных скобок отражает количество ячеек выделенных под символы, за исключением 1 экстра-ячейки, которая должна быть всегда. Она служит для хранения идентификатора строки. Строки используются в основном для хранения имени игрока, текста сообщения, диалога и для других целей. Стоит помнить, что не рекомендуется создавать много очень больших строк, так же как не рекомендуется создавать большие строки, которые даже не половину не используются. В строках нужно выделять ячеек приблизительно ровно столько, сколько будет использоваться. Так например имя игрока может составлять максимально 24 символа, поэтому для хранения имени игрока используйте строку с длиной не более 24 символов. Если в строке вы собираетесь хранить сообщение, которое будет отправлено игроку в чат, то строка должна быть длиной не более 144 символа, так как это ограничение на длину текста в чате. Вобщем длина строки зависит от ограничений сервера на текст в различных элементах скриптинга.
Релизы [GM] Far EastRolePlay[Repack LessGlobal] S.T.A.L.K.E.R New.pwn 45% ( мод заливать не буду )
|
|
| |
leonid767 | Дата: Суббота, 02.08.2014, 17:18 | Сообщение # 7 |
.::Offline::.
Новичок
Сообщений: 9
[ 3 ]
Награды: 0
Статус
отсутствует
| Цитата AlexPPPP ( ) Строка – это массив символов (цифр и букв). Цифра в квадратных скобок отражает количество ячеек выделенных под символы, за исключением 1 экстра-ячейки, которая должна быть всегда. Она служит для хранения идентификатора строки. Строки используются в основном для хранения имени игрока, текста сообщения, диалога и для других целей. Стоит помнить, что не рекомендуется создавать много очень больших строк, так же как не рекомендуется создавать большие строки, которые даже не половину не используются. В строках нужно выделять ячеек приблизительно ровно столько, сколько будет использоваться. Так например имя игрока может составлять максимально 24 символа, поэтому для хранения имени игрока используйте строку с длиной не более 24 символов. Если в строке вы собираетесь хранить сообщение, которое будет отправлено игроку в чат, то строка должна быть длиной не более 144 символа, так как это ограничение на длину текста в чате. Вобщем длина строки зависит от ограничений сервера на текст в различных элементах скриптинга. спасибо не знал и везде пихал 256)
|
|
| |
AlexPPPP | Дата: Суббота, 02.08.2014, 17:24 | Сообщение # 8 |
.::Offline::.
Гангстер
Сообщений: 179
[ 21 ]
Награды: 19
Статус
отсутствует
| Цитата leonid767 ( ) спасибо не знал и везде пихал 256) Всегда пожалуйста
Релизы [GM] Far EastRolePlay[Repack LessGlobal] S.T.A.L.K.E.R New.pwn 45% ( мод заливать не буду )
|
|
| |
Pasharus | Дата: Среда, 06.08.2014, 13:45 | Сообщение # 9 |
.::Offline::.
Новичок
Сообщений: 6
[ 0 ]
Награды: 0
Статус
отсутствует
| отлично
|
|
| |
VETER-OK | Дата: Воскресенье, 07.09.2014, 10:06 | Сообщение # 10 |
.::Offline::.
Новичок
Сообщений: 5
[ 0 ]
Награды: 0
Статус
отсутствует
| А для скрипт для RP или можно в Дальнобойный сервак вписать?
|
|
| |
AlexPPPP | Дата: Воскресенье, 07.09.2014, 10:25 | Сообщение # 11 |
.::Offline::.
Гангстер
Сообщений: 179
[ 21 ]
Награды: 19
Статус
отсутствует
| Это больше для RP, если заменить проверки и т.д то можно вшить в "твой" мод
Релизы [GM] Far EastRolePlay[Repack LessGlobal] S.T.A.L.K.E.R New.pwn 45% ( мод заливать не буду )
|
|
| |
VETER-OK | Дата: Воскресенье, 07.09.2014, 11:09 | Сообщение # 12 |
.::Offline::.
Новичок
Сообщений: 5
[ 0 ]
Награды: 0
Статус
отсутствует
| Хорошая работа но к сожалению не та которую я бы хотел. Если не сложно можешь сделать как на RTS работа Дальнобойщика)), буду очень благодарен))
|
|
| |
fenix05 | Дата: Воскресенье, 07.09.2014, 11:14 | Сообщение # 13 |
.::Offline::.
Гангстер
Сообщений: 151
[ 62 ]
Награды: 4
Статус
отсутствует
| Цитата VETER-OK ( ) как на RTS работа Дальнобойщика опиши как там
Alien Brickman [vk.com/alien_brickman]Обложка:
|
|
| |
VETER-OK | Дата: Воскресенье, 07.09.2014, 20:01 | Сообщение # 14 |
.::Offline::.
Новичок
Сообщений: 5
[ 0 ]
Награды: 0
Статус
отсутствует
| Цитата fenix05 ( ) опиши как там
Го в вк спишемся: http://vk.com/andrey_popov1998
|
|
| |
milok21 | Дата: Вторник, 17.11.2015, 01:14 | Сообщение # 15 |
.::Offline::.
Новичок
Сообщений: 4
[ 0 ]
Награды: 0
Статус
отсутствует
| спасибо:) пригодится
|
|
| |
|