Ник: Garsio | Дата: 29.01.2013, 21:19 | Сообщение #1
Все будет, но не сразу
|
Итак, это моя первая работа, которой я уделил много времени. Можете сделать это для GF, но придется переделать.
Стандартно у RLS для игрока идет 1 поле цвета равное = Cvet, а второй цвет стандартно всегда был 0 = черный.
Сейчас я вам расскажу, как добавить 2 цвет авто.
Для начала открываем наш .pwn.
Действие первое. Ищем: Код new Cvet[MAX_PLAYERS]; Добавляем снизу: Код new Cvet2[MAX_PLAYERS];
Действие второе: Ищем: Код Cvet[playerid] = 255; Снизу добавляем: Код Cvet2[playerid] = 255;
Действие третье: Ищем: caridhouse[playerid] = CreateVehicle(PlayerInfo[playerid][pCar], HouseInfo[house][hCarx], HouseInfo[house][hCary], HouseInfo[house][hCarz], HouseInfo[house][hCarc], PlayerInfo[playerid][pCvet], HouseInfo[house][hCarz],3600); Заменяем на: Код caridhouse[playerid] = CreateVehicle(PlayerInfo[playerid][pCar], HouseInfo[house][hCarx], HouseInfo[house][hCary], HouseInfo[house][hCarz], HouseInfo[house][hCarc], PlayerInfo[playerid][pCvet], PlayerInfo[playerid][pCvet2],3600);
Повторить 3-4 раза, так как таких строк 3-4, пользуйтесь поиском.
Действие четвертое: Ищем: Код ini_setInteger(File,"Цвет",PlayerInfo[playerid][pCvet]); Добавляем ниже: Код ini_setInteger(File,"Цвет2",PlayerInfo[playerid][pCvet]);
Так же повторяем 2-3 раза, ищите такие же строки.
Вот и мы ввели сис-му 2 цвета для машин. Теперь я расскажу вам, как сделать простенькую покраску.
Команды добавляем в public OnPlayerCommandText(playerid, cmdtext[]) Добавляем команду: Код if(strcmp(cmd, "/carcolor", true) == 0) { tmp = strtok(cmdtext, idx); if(!tmp[0]) return SendClientMessage(playerid, COLOR_WHITE, "Использовать: /carcolor [1-126]"); new n = strval(tmp); if(!(0 <= n <= 126)) return SendClientMessage(playerid, COLOR_GREY, "Краска распологается на полках 0-126"); if(PlayerToPoint(15.0,playerid,1248.0592,-1560.3488,13.5635)) { PlayerInfo[playerid][pCvet] = n; PlayerInfo[playerid][pCash] -= 10000; format(string, sizeof(string), "[Цвет 1] Вы успешно перекрасили авто. Стоимость краски 10000$"); SendClientMessage(playerid, 0x6495EDFF, string); } return 1; }
Теперь добавляем еще одну команду: Код if(strcmp(cmd, "/carcolor2", true) == 0) { tmp = strtok(cmdtext, idx); if(!tmp[0]) return SendClientMessage(playerid, COLOR_WHITE, "Использовать: /carcolor2 [1-126]"); new n = strval(tmp); if(!(0 <= n <= 126)) return SendClientMessage(playerid, COLOR_GREY, "Краска распологается на полках 0-126"); if(PlayerToPoint(15.0,playerid,1248.0592,-1560.3488,13.5635)) { PlayerInfo[playerid][pCvet2] = n; PlayerInfo[playerid][pCash] -= 10000; format(string, sizeof(string), "[Цвет 2] Вы успешно перекрасили авто. Стоимость краски 10000$"); SendClientMessage(playerid, 0x6495EDFF, string); } return 1; } Добавляем команду поиска покрасочной:
Код if(strcmp(cmdtext, "/search colormarket",true) == 0) { SetPlayerCheckpoint(playerid,1248.0592,-1560.3488,13.5635, 5.0); checkkk[playerid] = 1; SendClientMessage(playerid,0xADFF2FAA, "На вашем КПК установлена новая точка"); return 1; }
И добавляем 3D текст у покрасочной. Добавить в public OnGameModeInit(). Код CreateDynamic3DTextLabel("Магазин краски \n ((/carcolor )) \n (( /carcolor2 )) ",0xBFF600FF,1248.0592,-1560.3488,13.5635,10.0);//carcolor
Автор сис-мы: Garsio От автора: Это первая и на данный момент единственная рабочая сис-ма для активации 2 цвета на моде RLS. Уникальный контент, при копировании материала указывать ссылку на источник: logical-portal.ru.
Писал на скорую руку, у кого не получается пишите, помогу.
P.S. Выложил только тут 
| |
Ник: Garsio | Дата: 30.01.2013, 13:03 | Сообщение #2
Все будет, но не сразу
|
Забыл, после перезагрузки цвет меняется на = 0, можете сделать сохранение сами, либо чуть позже вылоуж
| |