при добавлении нового дома, carid всех авто смещается на 1 (если 2 дома, то на 2)
поэтому нужно в некоторых (проверка карайди) отнимать эту единицу (если два дома, что 2)
позже напишу FAQ по добавлению Добавлено (27.10.2008, 00:23)
---------------------------------------------
Итак, приступим к добавлению новго дома в мир KINGS а может даже в PEN и GF(не проверял ни PEN ни GF, но по идее должно работать).
1) Находим строчку new HouseInfo[34][hInfo];
Она означает, что при загрузке мода, подгружается 34-1=33 дома
Мы хотим добавить ещё один дом, значит 34+1=35 (35-1=34 дома будет после добавления)
итог: new HouseInfo[35][hInfo];
Вот такая вот каша
2) После этой строчки вводим новую переменную. Я ввел переменную NH. Значит выглядеть строчка будет так:
new NH=1;
где, 1 - кол-во добавленных вами домов... т.к. мы добавляем первый, то будет единица.
Для чего нужна эта перемнная? А чтобы небыло такого: http://samp-rus.com/forum/17-6305-1
3) Теперь ищем строчку
new Float:HouseCarSpawns[34][4] - это координаты всех домашних машин.
обраьите внимание, что число машин и число домов должно быть равным... а т.к. дома у написано 35 в строчке с домами, значит 35 должно быть и тут:
Code
new Float:HouseCarSpawns[35][4]
В самом конце этого массива не забываем вставить координаты авто. Должна иметь такой вид: {X,Y,Z,Angle}
Обратите внимание как расставляются запятые в этом массиве - после каждой строчки, кроме последней. 4)Теперь приступим к самому нужному
ищем строчки (не описание функций, а сами функции)
Code
public IsABoat(carid)
public IsAPlane(carid)
public IsACopCar(carid)
public IsAnAmbulance(carid)
public IsATruck(carid)
и вставляем внутрь функций такую строчку: carid=carid-NH;
т.е. на примере первой, должно выглядеть так:
Code
public IsABoat(carid)
{
carid=carid-NH;
if(carid >= 86 && carid <=90)
{
return 1;
}
return 0;
}
5) ищем строчки
Code
if(kart==110||kart==111||kart==112||kart==113||kart==114||kart==115)
if(newcar == 39 || newcar == 40)
if(newcar == 55 || newcar == 59)
if(newcar == 64 || newcar == 65)
if(newcar == 69 || newcar == 70 || newcar == 71 || newcar == 99 || newcar == 100 || newcar == 101)
if(newcar == 82 || newcar == 84 || newcar == 85) || newcar == 94)
if(newcar == 95)
if(newcar == 96 || newcar == 97 || newcar == 98)
if(newcar== 110)||newcar==111||newcar==112||newcar==113||newcar==114||newcar==115)
if(newcar >= 72 && newcar <= 74)
if(newcar >= 75 && newcar <= 77)
и добавляем к каждому значению +NH, т.е. на примере первой строчки должно выглядеть так:
Code
if(kart==(110+NH)||kart==(111+NH)||kart==(112+NH)||kart==(113+NH)||kart==(114+NH)||kart==(115+NH))
и так с каждой строкой 6) ищем public HireCost(carid) и вписываем внутрь carid=carid-NH;
выглядеть должно так:
Code
public HireCost(carid)
{
carid=carid-NH;
switch (carid)
{
case 69:
{
return 90000; //bullit
}
case 70:
........
7) ищем функцию public SetPlayerUnjail()
внутри неё ищем new newcar = GetPlayerVehicleID(i);
и заменяем на new newcar = GetPlayerVehicleID(i)-NH;
8) ищем строчку if(strcmp(cmd, "/news", true) == 0)
в неё ищем new newcar = GetPlayerVehicleID(playerid);
и заменяем на new newcar = GetPlayerVehicleID(playerid)-NH;
9) всё, с кодом вроде всё... т.е. багов с авто я пока не находил, значит везде где надо переменную HC мы вставили
10) теперь в файл property.cfg в самый конец нужно добавить ваш новый дом... сделать эту строчку можно через эту прогу: http://samp-rus.com/forum/18-6233-1
хоть она и для pen, но для GF и KINGS должна тоже рабатать
Добавили? Всё, теперь можно запускать мод и покупать новый дом ))
11) Хочу обратить внимание, что если вы добавили дом и хотите ещё один, то вам достаточно выполнить 1-3 и 10 пункты
Ставим плюс кому помогло, а кому не помогло пудем помогать
Добавлено (27.10.2008, 00:44)
---------------------------------------------
кста, кол-во строчек в файле property.cfg должно быть не меньше 35-1=34 исходя из строчки new HouseInfo[35][hInfo];