Server IP: iEnemY.ru


Форум Главная Файлы Состав Карта Правила
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: iEnemY  
Форум » Pawno » Скрипты , фильтр скрипты , гейм моды » Camp Capture Mod (План создания, улучшения)
Camp Capture Mod
iEnemYДата: Воскресенье, 12.09.2010, 17:01 | Сообщение # 1
^666^
Группа: ADMIN
Сообщений: 222
Репутация: 30
Статус: Offline
134942 iEnemY1
Аццкий план.
Движок готов.
Запись в файл - есть.
Чтение из файла - есть.

Кол-во объектов:
1 ворота (1)
8 стен (9)
1 гараж (10)
1 здание (11)
1 ящик покупки оружия (12)
1 сейф для съема денег (13)
2 вышки (15)
1 пикап открытия ворот (1)

Итого: 15 объектов. 1 пикап.

Покупаем будьдозер, назначаецо база.

И так. Принцип расстановки:
1. садимся в бульдозер
2. подъежаем к объекту
3. тыкаем h
4. везем объект. Num8-2 - высота, Num4-6 - вращение
5. везем объект
6. жмем h, объект ставицо

Ворота - оперируем вот такой функцией, получая ID фраки из енума:

Code

   if (strcmp(cmd, "/openbase", true)==0)
   {
       if(MyFactReturn(playerid) == 0)
       {
           SendClientMessage(playerid,COLOR_RED,"Not a faction member!");
           return 1;
       }
       new base = -1;
       for(new i = 0; i < MAX_CAMPS; i++)
    {
        if(CCM[i][basefact] == 0)
        {
        continue;
     }
     new myfact = MyFactReturn(playerid);
        if(myfact == CCM[i][basefact])
        {
            new Float:x, Float:y, Float:z; GetObjectPos(CCM[i][ccmgate], x, y, z);
            if(IsPlayerInRangeOfPoint(playerid, 35.0, x,y,z))
            {
             base = i;
             break;
            }
        }
    }
    if(base == -1)
    {
        return 1;
    }
     new Float:x,Float:y,Float:z;
     if(CCM[base][gatestatus] == 1)
     {
      CCM[base][gatestatus] = 0;
      GetObjectPos(CCM[base][ccmgate], x, y, z);  MoveObject(CCM[base][ccmgate], x, y, z-5, 2.2);
      SendClientMessage(playerid,COLOR_GREEN,"Gate closed");
     }
    else
       {
     CCM[base][gatestatus] = 1;
        GetObjectPos(CCM[base][ccmgate], x, y, z);      MoveObject(CCM[base][ccmgate], x, y, z+5, 2.2);
        SendClientMessage(playerid,COLOR_GREEN,"Gate opened");
       }
          return 1;
   }

Пикапы по умолчанию в нуле. Изменяем положение командой.
Стены - тут все просто.
Гараж - просто огромный ангар, удобен, 1 вход.
Здание - ставим, заходим. при помощи команды, можем спавницо там.
Ящик с патронами - где хотим, хоть в здании или в гараже, тоже самое с сейфом, клацаем С, попадаем в меню
Вышки - тож самое что и стены.
Пикап открытия ворот, ставим командой

Пикапы - стрелки.
ID моделей: Ворота 971, забор 987, Большой гараж 10831, или гараж с заездом 9244, дом 13681 - большой такой, 9247 с гаражем, или открытый красивый 9361, вышка 3279, сейф 2332, ящик 1271

Code

/* C O D E */
enum CCMInfo //
{
   /* baseid // 0 */
   ccmowner[64], // 1
   ccmvehicleid, // 2

   Float:gatex,Float:gatey,Float:gatez,Float:gatea, // 3 4 5 6
   gatestatus, // 7

   Float:fence1x, Float:fence1y, Float:fence1z, Float:fence1a,    Float:fence2x, Float:fence2y, Float:fence2z, Float:fence2a, // 8 9 10 11  12 13 14 15
   Float:fence3x, Float:fence3y, Float:fence3z, Float:fence3a,    Float:fence4x, Float:fence4y, Float:fence4z, Float:fence4a, // 16 17 18 19  20 21 22 23
   Float:fence5x, Float:fence5y, Float:fence5z, Float:fence5a,    Float:fence6x, Float:fence6y, Float:fence6z, Float:fence6a, // 24 25 26 27  28 29 30 31
   Float:fence7x, Float:fence7y, Float:fence7z, Float:fence7a,    Float:fence8x, Float:fence8y, Float:fence8z, Float:fence8a, // 32 33 34 35  36 37 38 39

   Float:parkx,Float:parky,Float:parkz,Float:parka, // 40 41 42 43

   Float:hqx,Float:hqy,Float:hqz,Float:hqa, // 44 45 46 47

   Float:ambxx,Float:ambxy,Float:ambxz,Float:ambxa,     Float:safex,Float:safey,Float:safez,Float:safea, // 48 49 50 51  52 53 54 55

   Float:tower1x,Float:tower1y,Float:tower1z,  Float:tower1a,     Float:tower2x,Float:tower2y,Float:tower2z,Float:tower2a,  // 56 57 58  59 60 61

   Float:ccmpickup1x, Float:ccmpickup1y, Float:ccmpickup1z, // 62 63 64

   basecash, basegun1, basegun1a, basegun2, basegun2a, basegun3, basegun3a, basegun4, basegun4a, basefact, // 65  66 67 68 69 70 71 72 73

   ccmgate, ccmfence1, ccmfence2, ccmfence3, ccmfence4, ccmfence5, ccmfence6, ccmfence7, ccmfence8, // 74 75 76 77 78 79 80 81 82
   ccmpark, ccmhq, ccmammobox, ccmsafe, ccmtower1, ccmtower2, ccmpickup // 83 84 85 86 87 88 89
} //
new CCM[MAX_CAMPS][CCMInfo];
new CSP[2000][14];
/* C O D E   E N D */

план сохранения

0|iEnemY|1036|188.765243|-225.602310|4.000000|360.175201|198.931045|-282.575622|0.500000|129.327423|222.440444|-248.215255|0.2 50000|87.272994|198.797683|-291.807220|0.500000|89.546127|222.666000|-271.456024|0.250000|89.996414|2713.071533|-1134.524780|68.500000|455.2 09045|208.965362|-223.350143|0.250000|0.383666|172.670196|-225.302963|0.250000|-2.114928|222.415603|-248.284835|0.250000|-449.775299|206.489 089|-260.432464|4.000000|267.967346|191.117843|-135.899368|3.000000|-43.605987|195.540786|-233.826980|1.000000|95.804763|194.945663|-134.952 804|1.000000|631.638061|198.720474|-228.718994|5.750000|0.000000|175.257385|-258.156799|0.250000|0.000000|196.268524|-273.144714|1.570330|0| 0|0|0|0|0|0|0|0|15|

или функция

Code

stock SaveCCM()
{
   new File:fileX;   
   fileX = fopen("CCM/BASE.ini", io_write);
      fclose(fileX);
      fileX = fopen("CCM/BASE.ini", io_append);   
   new position[1512];
   for(new i = 0; i < MAX_CAMPS; i++)
   {
    new Float:x, Float:y, Float:z, Float:a, Float:notneed;
      
    GetObjectPos(CCM[i][ccmgate], x, y, z); GetObjectRot(CCM[i][ccmgate],notneed,notneed,a);
    new pos1[64]; format(pos1,sizeof(pos1),"%f|%f|%f|%f",x,y,z,a);
    if(CCM[i][gatestatus] == 1)  {  format(pos1,sizeof(pos1),"%f|%f|%f|%f",x,y,z-5,a);  }
    GetObjectPos(CCM[i][ccmfence1], x, y, z); GetObjectRot(CCM[i][ccmfence1],notneed,notneed,a);
    new pos2[64]; format(pos2,sizeof(pos2),"%f|%f|%f|%f",x,y,z,a);
    GetObjectPos(CCM[i][ccmfence2], x, y, z); GetObjectRot(CCM[i][ccmfence2],notneed,notneed,a);
    new pos3[64]; format(pos3,sizeof(pos3),"%f|%f|%f|%f",x,y,z,a);
    GetObjectPos(CCM[i][ccmfence3], x, y, z); GetObjectRot(CCM[i][ccmfence3],notneed,notneed,a);
    new pos4[64]; format(pos4,sizeof(pos4),"%f|%f|%f|%f",x,y,z,a);
    GetObjectPos(CCM[i][ccmfence4], x, y, z); GetObjectRot(CCM[i][ccmfence4],notneed,notneed,a);
    new pos5[64]; format(pos5,sizeof(pos5),"%f|%f|%f|%f",x,y,z,a);
    GetObjectPos(CCM[i][ccmfence5], x, y, z); GetObjectRot(CCM[i][ccmfence5],notneed,notneed,a);
    new pos6[64]; format(pos6,sizeof(pos6),"%f|%f|%f|%f",x,y,z,a);
    GetObjectPos(CCM[i][ccmfence6], x, y, z); GetObjectRot(CCM[i][ccmfence6],notneed,notneed,a);
    new pos7[64]; format(pos7,sizeof(pos7),"%f|%f|%f|%f",x,y,z,a);
    GetObjectPos(CCM[i][ccmfence7], x, y, z); GetObjectRot(CCM[i][ccmfence7],notneed,notneed,a);
    new pos8[64]; format(pos8,sizeof(pos8),"%f|%f|%f|%f",x,y,z,a);
    GetObjectPos(CCM[i][ccmfence8], x, y, z); GetObjectRot(CCM[i][ccmfence8],notneed,notneed,a);
    new pos9[64]; format(pos9,sizeof(pos9),"%f|%f|%f|%f",x,y,z,a);
    GetObjectPos(CCM[i][ccmpark], x, y, z); GetObjectRot(CCM[i][ccmpark],notneed,notneed,a);
    new pos10[64]; format(pos10,sizeof(pos10),"%f|%f|%f|%f",x,y,z,a);
    GetObjectPos(CCM[i][ccmhq], x, y, z); GetObjectRot(CCM[i][ccmhq],notneed,notneed,a);
    new pos11[64]; format(pos11,sizeof(pos11),"%f|%f|%f|%f",x,y,z,a);
    GetObjectPos(CCM[i][ccmammobox], x, y, z); GetObjectRot(CCM[i][ccmammobox],notneed,notneed,a);
    new pos12[64]; format(pos12,sizeof(pos12),"%f|%f|%f|%f",x,y,z,a);
    GetObjectPos(CCM[i][ccmsafe], x, y, z); GetObjectRot(CCM[i][ccmsafe],notneed,notneed,a);
    new pos13[64]; format(pos13,sizeof(pos13),"%f|%f|%f|%f",x,y,z,a);
          GetObjectPos(CCM[i][ccmtower1], x, y, z);   GetObjectRot(CCM[i][ccmtower1],notneed,notneed,a);
    new pos14[64]; format(pos14,sizeof(pos14),"%f|%f|%f|%f",x,y,z);
    GetObjectPos(CCM[i][ccmtower2], x, y, z);   GetObjectRot(CCM[i][ccmtower2],notneed,notneed,a);
    new pos15[64]; format(pos15,sizeof(pos15),"%f|%f|%f|%f",x,y,z);
    GetPickupPos(CCM[i][ccmpickup], x, y, z);
    new pos16[64]; format(pos16,sizeof(pos16),"%f|%f|%f",x,y,z);
    new pos17[128]; format(pos17,sizeof(pos17),"%d|%d|%d|%d|%d|%d|%d|%d|%d|%d", CCM[i][basecash], CCM[i][basegun1], CCM[i][basegun1a], CCM[i][basegun2], CCM[i][basegun2a], CCM[i][basegun3], CCM[i][basegun3a], CCM[i][basegun4], CCM[i][basegun4a], CCM[i][basefact]);
    format(position,sizeof(position),"%d|%s|%d|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|\n",
    i,
    CCM[i][ccmowner],
    CCM[i][ccmvehicleid],
    pos1,
    pos2,
    pos3,
    pos4,
    pos5,
    pos6,
    pos7,
    pos8,
    pos9,
    pos10,
    pos11,
    pos12,
    pos13,
    p os14,
    pos1 5,
    pos16,
    pos17
    );
    fwrite(fileX, position);
   }
   fclose(fileX);
}

план чтения

функция

Code

stock LoadCCM()
{
      new string[2048];    new File:file = fopen("CCM/BASE.ini");
   if (file)
   {
    for(new i = 0; i < MAX_CAMPS; i++)
    {
     fread(file, string);  split(string, CSP, '|');
        new p = 1;
     strmid(CCM [ strval(CSP[0]) ] [ccmowner] , CSP[p], 0, strlen(CSP[p]), 255);    p++;     // 1
        CCM [ strval(CSP[0]) ][ ccmvehicleid ] = strval(CSP[p]);    p++; //2
       
        CCM [ strval(CSP[0]) ][ gatex ] = floatstr(CSP[p]);    p++; //3
        CCM [ strval(CSP[0]) ][ gatey ] = floatstr(CSP[p]);    p++; //4
        CCM [ strval(CSP[0]) ][ gatez ] = floatstr(CSP[p]);    p++; //5
        CCM [ strval(CSP[0]) ][ gatea ] = floatstr(CSP[p]);    p++; //6
        CCM[strval(CSP[0])][ccmgate]=CreateObject(971,CCM[strval(CSP[0])][gatex],CCM[strval(CSP[0])][gatey],CCM[strval(CSP[0])][gatez],0.0,0.0,CCM[strval(CSP[0])][gatea],300);
        print(" 81 ");
        CCM [ strval(CSP[0]) ][ fence1x ] = floatstr(CSP[p])    ;p++; //7
        print(" 82 ");
        CCM [ strval(CSP[0]) ][ fence1y ] = floatstr(CSP[p]);   p++; //8

        print(" 83 ");
        CCM [ strval(CSP[0]) ][ fence1z ] = floatstr(CSP[p]);   p++; //9
        print(" 84 ");
        CCM [ strval(CSP[0]) ][ fence1a ] = floatstr(CSP[p]);   p++; //10
        print(" 85 ");
        CCM[strval(CSP[0])][ccmfence1]=CreateObject(987,CCM[strval(CSP[0])][fence1x],CCM[strval(CSP[0])][fence1y],CCM[strval(CSP[0])][fence1z],0.0,0.0,CCM[strval(CSP[0])][fence1a],300);
        print(" 9 ");
        CCM [ strval(CSP[0]) ][ fence2x ] = floatstr(CSP[p]);    p++; //12
        CCM [ strval(CSP[0]) ][ fence2y ] = floatstr(CSP[p]);    p++; //13
        CCM [ strval(CSP[0]) ][ fence2z ] = floatstr(CSP[p]);    p++; //14
        CCM [ strval(CSP[0]) ][ fence2a ] = floatstr(CSP[p]);    p++; //15
        CCM[strval(CSP[0])][ccmfence2]=CreateObject(987,CCM[strval(CSP[0])][fence2x],CCM[strval(CSP[0])][fence2y],CCM[strval(CSP[0])][fence2z],0.0,0.0,CCM[strval(CSP[0])][fence2a],300);
        CCM [ strval(CSP[0]) ][ fence3x ] = floatstr(CSP[p]);    p++; //16
        CCM [ strval(CSP[0]) ][ fence3y ] = floatstr(CSP[p]);    p++; //17
        CCM [ strval(CSP[0]) ][ fence3z ] = floatstr(CSP[p]);    p++; //18
        CCM [ strval(CSP[0]) ][ fence3a ] = floatstr(CSP[p]);    p++; //19
        CCM[strval(CSP[0])][ccmfence3]=CreateObject(987,CCM[strval(CSP[0])][fence3x],CCM[strval(CSP[0])][fence3y],CCM[strval(CSP[0])][fence3z],0.0,0.0,CCM[strval(CSP[0])][fence3a],300);
        CCM [ strval(CSP[0]) ][ fence4x ] = floatstr(CSP[p]);    p++; //20
        CCM [ strval(CSP[0]) ][ fence4y ] = floatstr(CSP[p]);    p++; //
        CCM [ strval(CSP[0]) ][ fence4z ] = floatstr(CSP[p]);    p++; //
        CCM [ strval(CSP[0]) ][ fence4a ] = floatstr(CSP[p]);    p++; //
        CCM[strval(CSP[0])][ccmfence4]=CreateObject(987,CCM[strval(CSP[0])][fence4x],CCM[strval(CSP[0])][fence4y],CCM[strval(CSP[0])][fence4z],0.0,0.0,CCM[strval(CSP[0])][fence4a],300);
        CCM [ strval(CSP[0]) ][ fence5x ] = floatstr(CSP[p]);    p++; //
        CCM [ strval(CSP[0]) ][ fence5y ] = floatstr(CSP[p]);    p++; //25
        CCM [ strval(CSP[0]) ][ fence5z ] = floatstr(CSP[p]);    p++; //
        CCM [ strval(CSP[0]) ][ fence5a ] = floatstr(CSP[p]);    p++; //
        CCM[strval(CSP[0])][ccmfence5]=CreateObject(987,CCM[strval(CSP[0])][fence5x],CCM[strval(CSP[0])][fence5y],CCM[strval(CSP[0])][fence5z],0.0,0.0,CCM[strval(CSP[0])][fence5a],300);
        CCM [ strval(CSP[0]) ][ fence6x ] = floatstr(CSP[p]);    p++; //
        CCM [ strval(CSP[0]) ][ fence6y ] = floatstr(CSP[p]);    p++; //
        CCM [ strval(CSP[0]) ][ fence6z ] = floatstr(CSP[p]);    p++; //30
        CCM [ strval(CSP[0]) ][ fence6a ] = floatstr(CSP[p]);    p++; //
        CCM[strval(CSP[0])][ccmfence6]=CreateObject(987,CCM[strval(CSP[0])][fence6x],CCM[strval(CSP[0])][fence6y],CCM[strval(CSP[0])][fence6z],0.0,0.0,CCM[strval(CSP[0])][fence6a],300);
        CCM [ strval(CSP[0]) ][ fence7x ] = floatstr(CSP[p]);    p++; //
        CCM [ strval(CSP[0]) ][ fence7y ] = floatstr(CSP[p]);    p++; //
        CCM [ strval(CSP[0]) ][ fence7z ] = floatstr(CSP[p]);    p++; //
        CCM [ strval(CSP[0]) ][ fence7a ] = floatstr(CSP[p]);    p++; //35
        CCM[strval(CSP[0])][ccmfence7]=CreateObject(987,CCM[strval(CSP[0])][fence7x],CCM[strval(CSP[0])][fence7y],CCM[strval(CSP[0])][fence7z],0.0,0.0,CCM[strval(CSP[0])][fence7a],300);
        CCM [ strval(CSP[0]) ][ fence8x ] = floatstr(CSP[p]);    p++; //
        CCM [ strval(CSP[0]) ][ fence8y ] = floatstr(CSP[p]);    p++; //
        CCM [ strval(CSP[0]) ][ fence8z ] = floatstr(CSP[p]);    p++; //
        CCM [ strval(CSP[0]) ][ fence8a ] = floatstr(CSP[p]);    p++; //39
        CCM[strval(CSP[0])][ccmfence8]=CreateObject(987,CCM[strval(CSP[0])][fence8x],CCM[strval(CSP[0])][fence8y],CCM[strval(CSP[0])][fence8z],0.0,0.0,CCM[strval(CSP[0])][fence8a],300);
           CCM [ strval(CSP[0]) ][ parkx ] = floatstr(CSP[p]);    p++; //40
        CCM [ strval(CSP[0]) ][ parky ] = floatstr(CSP[p]);    p++; //41
        CCM [ strval(CSP[0]) ][ parkz ] = floatstr(CSP[p]);    p++; //42
        CCM [ strval(CSP[0]) ][ parka ] = floatstr(CSP[p]);    p++; //43
        CCM[strval(CSP[0])][ccmpark]=CreateObject(10831,CCM[strval(CSP[0])][parkx],CCM[strval(CSP[0])][parky],CCM[strval(CSP[0])][parkz],0.0,0.0,CCM[strval(CSP[0])][parka],300);
        CCM [ strval(CSP[0]) ][ hqx ] = floatstr(CSP[p]);    p++; //44
        CCM [ strval(CSP[0]) ][ hqy ] = floatstr(CSP[p]);    p++; //45
        CCM [ strval(CSP[0]) ][ hqz ] = floatstr(CSP[p]);    p++; //46
        CCM [ strval(CSP[0]) ][ hqa ] = floatstr(CSP[p]);    p++; //47
        CCM[strval(CSP[0])][ccmhq]=CreateObject(9361,CCM[strval(CSP[0])][hqx],CCM[strval(CSP[0])][hqy],CCM[strval(CSP[0])][hqz],0.0,0.0,CCM[strval(CSP[0])][hqa],300);
     CCM [ strval(CSP[0]) ][ ambxx ] = floatstr(CSP[p]);    p++; //48
        CCM [ strval(CSP[0]) ][ ambxy ] = floatstr(CSP[p]);    p++; //49
        CCM [ strval(CSP[0]) ][ ambxz ] = floatstr(CSP[p]);    p++; //50
        CCM [ strval(CSP[0]) ][ ambxa ] = floatstr(CSP[p]);    p++; //51
        CCM[strval(CSP[0])][ccmammobox]=CreateObject(1271,CCM[strval(CSP[0])][ambxx],CCM[strval(CSP[0])][ambxy],CCM[strval(CSP[0])][ambxz],0.0,0.0,CCM[strval(CSP[0])][ambxa],300);
        CCM [ strval(CSP[0]) ][ safex ] = floatstr(CSP[p]);    p++; //52
        CCM [ strval(CSP[0]) ][ safey ] = floatstr(CSP[p]);    p++; //53
        CCM [ strval(CSP[0]) ][ safez ] = floatstr(CSP[p]);    p++; //54
        CCM [ strval(CSP[0]) ][ safea ] = floatstr(CSP[p]);    p++; //55
        CCM[strval(CSP[0])][ccmsafe]=CreateObject(2332,CCM[strval(CSP[0])][safex],CCM[strval(CSP[0])][safey],CCM[strval(CSP[0])][safez],0.0,0.0,CCM[strval(CSP[0])][safea],300);
        CCM [ strval(CSP[0]) ][ tower1x ] = floatstr(CSP[p]);    p++; //56
        CCM [ strval(CSP[0]) ][ tower1y ] = floatstr(CSP[p]);    p++; //57
        CCM [ strval(CSP[0]) ][ tower1z ] = floatstr(CSP[p]);    p++; //58
        CCM [ strval(CSP[0]) ][ tower1a ] = floatstr(CSP[p]);    p++; //58
        CCM[strval(CSP[0])][ccmtower1]=CreateObject(3279,CCM[strval(CSP[0])][tower1x],CCM[strval(CSP[0])][tower1y],CCM[strval(CSP[0])][tower1z],0.0,0.0,CCM[strval(CSP[0])][tower1a],300);
        CCM [ strval(CSP[0]) ][ tower2x ] = floatstr(CSP[p]);    p++; //59
        CCM [ strval(CSP[0]) ][ tower2y ] = floatstr(CSP[p]);    p++; //60
        CCM [ strval(CSP[0]) ][ tower2z ] = floatstr(CSP[p]);    p++; //61
        CCM [ strval(CSP[0]) ][ tower2a ] = floatstr(CSP[p]);    p++; //61
        CCM[strval(CSP[0])][ccmtower2]=CreateObject(3279,CCM[strval(CSP[0])][tower2x],CCM[strval(CSP[0])][tower2y],CCM[strval(CSP[0])][tower2z],0.0,0.0,CCM[strval(CSP[0])][tower2a],300);
              CCM [ strval(CSP[0]) ][ ccmpickup1x ] = floatstr(CSP[p]);    p++; //62
        CCM [ strval(CSP[0]) ][ ccmpickup1y ] = floatstr(CSP[p]);    p++; //63
        CCM [ strval(CSP[0]) ][ ccmpickup1z ] = floatstr(CSP[p]);    p++; //64
        CCM [ strval(CSP[0]) ][ ccmpickup ] = CreatePickupEx(1318, 2,CCM[strval(CSP[0])][ccmpickup1x],CCM[strval(CSP[0])][ccmpickup1y],CCM[strval(CSP[0])][ccmpickup1z]);
        CCM [ strval(CSP[0]) ][ basecash ] = strval(CSP[p]);    p++; //65
        CCM [ strval(CSP[0]) ][ basegun1 ] = strval(CSP[p]);    p++; //66
        CCM [ strval(CSP[0]) ][ basegun1a ] = strval(CSP[p]);    p++; //67
        CCM [ strval(CSP[0]) ][ basegun2 ] = strval(CSP[p]);    p++; //68
        CCM [ strval(CSP[0]) ][ basegun2a ] = strval(CSP[p]);    p++; //69
        CCM [ strval(CSP[0]) ][ basegun3 ] = strval(CSP[p]);    p++; //70
        CCM [ strval(CSP[0]) ][ basegun3a ] = strval(CSP[p]);    p++; //71
        CCM [ strval(CSP[0]) ][ basegun4 ] = strval(CSP[p]);    p++; //72
        CCM [ strval(CSP[0]) ][ basegun4a ] = strval(CSP[p]);    p++; //73
     CCM [ strval(CSP[0]) ][ basefact ] = strval(CSP[p]);    p++; //74
    }
    fclose(file);
   }
}

И так, чтение\сохранение\расстановка реализована. Теперь нужно не леницо, и цуко взять и начать через нехочу делать все фишки мода >_<
1. Ворота. Открываюцо пикапом. И командой.. покачто сделаю командой. +
2. Спавн на базе +
3. ТП всех компонентов +
4. Покупка оружия в ящике +
5. Снятие денег через сейф +
6. Возможность членам базы открывать ворота +
7. Выбор модели зданий для гаража, HQ, вероятно вышки и ворот
8. Многие фичи, типо сохр. оружия в ящиках НЕ реализованы. Много неспользуемых переменных. Исправлю.

У кого какие идеи по улучшению мода есть, излагайте


 
Форум » Pawno » Скрипты , фильтр скрипты , гейм моды » Camp Capture Mod (План создания, улучшения)
  • Страница 1 из 1
  • 1
Поиск: