• Страница 1 из 1
  • 1
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Общаки для банд (Общаки для банд)
Общаки для банд
Автор: Unreal

Добавим команду.
Нам тут не важно как она прописывается главное как можно сложнее)
Сделаю Чекпоинт + 3дтекст только для 1ой банды, по мере активности сделаю для всех

Код
if(strcmp(cmd,"/gmensnsadasda", true)== 0)          
{          
if(!IsATerra (playerid)) return    SendClientMessage(playerid, COLOR_GRAD1, "Вы не на своей базе");        
    {             
   if(IsPlayerConnected(playerid))             
   {                  
switch(PlayerInfo[playerid][pMember])                  
{                     
   case 13,12,15,17,18:                     
   {                          
SPD(playerid,9595,2,"Склад ","1. Положить металл\n2. Взять металл\n4. Положить наркотики\n5. Взять наркотики", "Да","Нет");                        return true;                    
    }                  
}            
      return true;             
   }         
   }         
   }


Теперь перейдем к диалогам: OnDialogRespose

Код
case 9595:                
    {                     
   if(response)                     
   {                          
switch(listitem)                       
     {                    
case 0: SPD(playerid,22249,1,"Кол-во:","Положить металл","Oк","X");                    
case 1: SPD(playerid,22248,1,"Кол-во:","Взять металл","Oк","X");                             
   case 2: SPD(playerid,22250,1,"Кол-во:","Положить наркотики","Oк","X");                             
   case 3: SPD(playerid,22251,1,"Кол-во:","Взять наркотики:","Oк","X");                         
   }                      
}                    
    else                   
    {                          
return true;                     
   }                 
   }

Дальше еще диалоги действий:
Скачать :http://rghost.ru/41604909

Теперь перейдем к чекпоинту:
Будем делать для Баллас
ко всем new
Код
new BalSklad[MAX_PLAYERS];

В паблик SetPlayerSpawn - где у нас респавнится баллас
в
case 12
вставляем
Код
SetPlayerCheckpoint(playerid,-71.7322,1360.2255,1080.2185,1.0);
BalSklad[playerid] = 282;

в case 18
Код
SetPlayerCheckpoint(playerid,-222.9502,1394.9070,28.3595,1.0);
RifSklad[playerid] = 230;

В case 17
Код
SetPlayerCheckpoint(playerid,-45.7784,1404.1697,1084.4370,1.0);                      
AztSklad[playerid] = 231;

в case 13
Код
SetPlayerCheckpoint(playerid,301.5697,301.7826,1003.5391,1.0);                     
   VagSklad[playerid] = 229;

в case 15
Код
SetPlayerCheckpoint(playerid,2493.1138,-1710.2117,1014.7422,1.0);                      
GrovSklad[playerid] = 232;

В OnPlayerInterCheckpoint
Код
   if(BalSklad[playerid] == 282)           
{              
OnPlayerCommandText(playerid,"/gmensnsadasda");              
return true;          
}

Теперь вставим ЧП когда выходи из интерьер баллас.
в дейтсвие пикапа if(pickupid == ballasvhod[0])
Вставим:
Код
DisablePlayerCheckpoint(playerid);
      BalSklad[playerid] = 0;

Теперь когда входим в инт - т.е пикап - if(pickupid == ballasvhod[1])
Вставляем в него:
Код
SetPlayerCheckpoint(playerid,-71.7322,1360.2255,1080.2185,1.0);
      BalSklad[playerid] = 282;

Так же со всем:
Азтеки в пикап входа:
Код
SetPlayerCheckpoint(playerid,-45.7784,1404.1697,1084.4370,1.0);              
AztSklad[playerid] = 231;

В пикап выхода:
Код
DisablePlayerCheckpoint(playerid);              
AztSklad[playerid] = 0;

Грув, в пикап входа:
Код
SetPlayerCheckpoint(playerid,2493.1138,-1710.2117,1014.7422,1.0);              
GrovSklad[playerid] = 232;

В пикап выхода:
Код
DisablePlayerCheckpoint(playerid);              
GrovSklad[playerid] = 0;

Вагос в пикап входа:
Код
SetPlayerCheckpoint(playerid,301.5697,301.7826,1003.5391,1.0);              
VagSklad[playerid] = 229;

В выход:
Код
DisablePlayerCheckpoint(playerid);              
VagSklad[playerid] = 0;

Рифа в пикап входа:
Код
SetPlayerCheckpoint(playerid,-222.9502,1394.9070,28.3595,1.0);              
RifSklad[playerid] = 230;

В пикап выхода:
Код
DisablePlayerCheckpoint(playerid);             
   RifSklad[playerid] = 0;


Так чекпоинт с вызовом меню склада сделали. теперь перейдем к 3д статистики:

Ко всем forward
Код
forward skladband(); //


в OnGameModeInit
Код
SetTimer("skladband",100,true); //


Ко всем new
Код
new Text3D:SkladB;
new Text3D:SkladR;
new Text3D:SkladA;
new Text3D:SkladV;
new Text3D:SkladG;


В конец мода:
Код
public skladband()          
{         
   new string[256];          
new faasst = FracBank[0][fBallas];          
format(string,sizeof(string),"Cклад\nBallas Gang\n\n{ffffff}Металл:{ffcc00} %d/3000 кг\n{ffffff}Наркотики:{ffcc00} %d/2000 кг.",ballasmatbi,faasst);         
   UpdateDynamic3DTextLabelText(SkladB, COLOR_PURPLE, string);          
new vast = FracBank[0][fVagos];          
format(string,sizeof(string),"Cклад\nVagos Gang\n\n\n\n{ffffff}Металл:{ffcc00} %d/3000 кг\n{ffffff}Наркотики:{ffcc00} %d/2000 кг.",vagosmatbi,vast);        UpdateDynamic3DTextLabelText(SkladV, COLOR_YELLOW, string);         
   new gast = FracBank[0][fGrove];          
format(string,sizeof(string),"Cклад\nGrove Street Gang\n\n{ffffff}Металл:{ffcc00} %d/3000 кг\n{ffffff}Наркотики:{ffcc00} %d/2000 кг.",groovmatbi,gast);         
   UpdateDynamic3DTextLabelText(SkladG, COLOR_GREEN, string);          
new fast = FracBank[0][fRifa];         
   format(string,sizeof(string),"Cклад\nRifa Gang\n\n{ffffff}Металл:{ffcc00} %d/3000 кг\n{ffffff}Наркотики:{ffcc00} %d/2000 кг.",rifamatbi,fast);        UpdateDynamic3DTextLabelText(SkladR, COLOR_BLUE, string);          
new aast = FracBank[0][fAztek];         
   format(string,sizeof(string),"Cêëàä\nAztek Gang\n\n{ffffff}Металл:{ffcc00} %d/3000 кг\n{ffffff}Наркотики:{ffcc00} %d/2000 кг.",aztekmatbi,aast);          
UpdateDynamic3DTextLabelText(SkladA, COLOR_LIGHTBLUE, string);        }


Теперь в Public OnGameModeInit
Код
new faasst = FracBank[0][fBallas];        
format(texts,sizeof(texts),"Cклад\nBallas Gang\n\n{ffffff}Металл:{ffcc00} %d/3000 кг\n{ffffff}Наркотики:{ffcc00} %d/2000 кг.",ballasmatbi,faasst);      
SkladB = CreateDynamic3DTextLabel(texts,COLOR_PURPLE,-71.7322,1360.2255,1080.2185,10.0,INVALID_PLAYER_ID,INVALID_PLAYER_ID,0,34,-1,-1,100.0);    new vast = FracBank[0][fVagos];        
format(texts,sizeof(texts),"Склад\nVagos Gang\n\n{ffffff}Металл:{ffcc00} %d/3000 кг\n{ffffff}Наркотики:{ffcc00} %d/2000 кг.",vagosmatbi,vast);      
SkladV = CreateDynamic3DTextLabel(texts,COLOR_YELLOW,301.5697,301.7826,1003.5391,10.0,INVALID_PLAYER_ID,INVALID_PLAYER_ID,0,75,-1,-1,100.0);    new gast = FracBank[0][fGrove];       
   format(texts,sizeof(texts),"Cклад\nGrove Street Gang\n\n{ffffff}Металл:{ffcc00} %d/3000 кг\n{ffffff}Наркотики:{ffcc00} %d/2000 кг.",groovmatbi,gast);      
SkladG = CreateDynamic3DTextLabel(texts,COLOR_GREEN,2493.1138,-1710.2117,1014.7422,10.0,INVALID_PLAYER_ID,INVALID_PLAYER_ID,0,1,-1,-1,100.0);    new fast = FracBank[0][fRifa];        
format(texts,sizeof(texts),"Склад\nRifa Gang\n\n{ffffff}Металл:{ffcc00} %d/3000 кг\n{ffffff}Наркотики:{ffcc00} %d/2000 кг.",rifamatbi,fast);    SkladR = CreateDynamic3DTextLabel(texts,COLOR_BLUE,-222.9502,1394.9070,28.3595,10.0,INVALID_PLAYER_ID,INVALID_PLAYER_ID,0,63,-1,-1,100.0);    new aast = FracBank[0][fAztek];        
format(texts,sizeof(texts),"Cклад\nAztek Gang\n\n{ffffff}Металл:{ffcc00} %d/3000 кг\n{ffffff}Наркотики:{ffcc00} %d/2000 кг.",aztekmatbi,aast);    SkladA = CreateDynamic3DTextLabel(texts,COLOR_LIGHTBLUE,-45.7784,1404.1697,1084.4370,10.0,INVALID_PLAYER_ID,INVALID_PLAYER_ID,0,36,-1,-1,100.0);


Вот и все, все готово.

Говорю сразу наркотики в склад я переделал из значений Банка банд. т.е убирайте все команды связаные с банком если ставите эти общаки.

Вот и все сделали для баллас общак.
Для других банд сделаю по мере активности.

05.08.2013 в 12:04
о помогло +
31.08.2013 в 12:34
Вот это отлично)
04.05.2014 в 12:50
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Общаки для банд (Общаки для банд)
  • Страница 1 из 1
  • 1
Поиск: