(FS) Кусты дурман-травы

Description: Готовые решения скриптов, filterScript
Moderator: SJplayer

Aleksandr M
Topic author, Модератор
Модератор
Avatar
Aleksandr M
Topic author, Модератор
Модератор
Posts: 55
Joined: 4 Jun 2013
With us: 7 years 5 months

#1by Aleksandr » 9 Jul 2013, 18:43

(FS) Кусты дурман-травы
Автор: St1muL

Суть скрипта:
Каждую(ые) %d минут(ы) на каждом кусте вырастает +1 грамм. Если забыли сорвать с куста, то он может перезреть и испортиться.

Код

Code: Select all

/*
Автор: St1muL
Skype: mihan.45rus
*/

#include <a_samp>

#define MAX_KUST_GRAM 5 //Максимум грамм на кусте
#define MAX_KUST 7 //Максимальное число кустов
#define KEYKUST KEY_CROUCH // Кнопка для посадки/сбора
#define TimeGRAM 5 //Время добавления грамм (МИН)
forward KustUpdate();

enum Info
{
    
Float:Pos[3],
    
Gram,
    
Posad,
};
new 
K_Info[MAX_KUST][Info];

new 
Text3D:    Kust3d[MAX_KUST];
new 
KustObject[MAX_KUST];

new 
Float:KustPos[MAX_KUST][3] =
{
    {
2467.9519,-1718.3346,13.4984},
    {
2468.8625,-1712.3462,13.4992},
    {
2462.8533,-1711.6302,13.5106},
    {
2461.9358,-1716.5924,13.5205},
    {
2456.7532,-1717.4873,13.5908},
    {
2455.2607,-1710.7610,13.6103},
    {
2451.0374,-1713.4070,13.6708}
};

public 
OnFilterScriptInit()
{
    new 
string[214];
    for(new 
kuku<MAX_KUSTku++)
    {
        for(new 
i3i++)
        {
            
K_Info[ku][Pos][i] = KustPos[ku][i];
        }
        
K_Info[ku][Gram] = 0;
        
K_Info[ku][Posad] = 1;
        
format(string,sizeof(string),"Куст {FFCB77}№%d\nСостояние: %d/%d грамм",ku,K_Info[ku][Gram],MAX_KUST_GRAM);
        
Kust3d[ku] = Create3DTextLabel(string,0x66ffaaFFK_Info[ku][Pos][0], K_Info[ku][Pos][1], K_Info[ku][Pos][2], 20.00true);
        
KustObject[ku] = CreateObject(801,K_Info[ku][Pos][0], K_Info[ku][Pos][1], K_Info[ku][Pos][2]-1.0,0.0,0.0,0.0,100);
    }
    
SetTimer("KustUpdate"TimeGRAM*60*1000true);
    return 
1;
}

public 
KustUpdate()
{
    for(new 
kuku<MAX_KUSTku++)
    {
        new 
string[214];
        switch(
K_Info[ku][Gram])
        {
            case 
0..MAX_KUST_GRAM-1:
            {
                
K_Info[ku][Gram]++;
            }
            case 
MAX_KUST_GRAM:
            {
                
K_Info[ku][Gram] = 0;
                
K_Info[ku][Posad] = 0;
                
DestroyObject(KustObject[ku]);
            }
        }
        if(
K_Info[ku][Gram] < MAX_KUST_GRAMformat(string,sizeof(string),"Куст {FFCB77}№%d\nСостояние: %d/%d грамм",ku,K_Info[ku][Gram],MAX_KUST_GRAM);
        if(
K_Info[ku][Gram] == MAX_KUST_GRAMformat(string,sizeof(string),"Куст {FFCB77}№%d\nСостояние: Семена созрели",ku);
        if(
K_Info[ku][Posad] == 0format(string,sizeof(string),"Куст {FFCB77}№%d\nСостояние: Куст не посажен",ku);

        
Update3DTextLabelText(Kust3d[ku], 0x66ffaaFF,string);
    }
}

public 
OnFilterScriptExit()
{
    for(new 
kuku<MAX_KUSTku++)
    {
        
Delete3DTextLabel(Kust3d[ku]);
        
DestroyObject(KustObject[ku]);
    }
    return 
1;
}

public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    new 
string[256];
    if(
newkeys == KEYKUST)
    {
        for(new 
kuku<MAX_KUSTku++)
        {
            if(
IsPlayerInRangeOfPoint(playerid,1,K_Info[ku][Pos][0], K_Info[ku][Pos][1], K_Info[ku][Pos][2]))
            {
                if(
K_Info[ku][Posad] == 1)
                {
                    
K_Info[ku][Posad] = 0;
                    
format(string,sizeof(string),"Вы сорвали с куста {FFCB77}№%d %d грамм{66ffaa}.",ku,K_Info[ku][Gram]);
                    
SendClientMessage(playerid0x66ffaaAAstring);
                    
format(string,sizeof(string),"Куст {FFCB77}№%d\nСостояние: Куст не посажен",ku);
                    
Update3DTextLabelText(Kust3d[ku], 0x66ffaaFF,string);
                    
format(string,sizeof(string), "%s собирает дурман-траву",GN(playerid));
                    
DestroyObject(KustObject[ku]);
                }
                else
                {
                    
K_Info[ku][Posad] = 1;
                    
format(string,sizeof(string),"Куст {FFCB77}№%d\nСостояние: %d/%d грамм",ku,K_Info[ku][Gram],MAX_KUST_GRAM);
                    
Update3DTextLabelText(Kust3d[ku], 0x66ffaaFF,string);
                    
format(string,sizeof(string), "%s садит дурман-траву",GN(playerid));
                    
KustObject[ku] = CreateObject(801,K_Info[ku][Pos][0], K_Info[ku][Pos][1], K_Info[ku][Pos][2]-1.0,0.0,0.0,0.0,100);
                }
                
ApplyAnimation(playerid"COP_AMBIENT""null"0.0 ,00000);
                
ApplyAnimation(playerid"BOMBER""BOM_Plant"4.000000);
                
SetPlayerChatBubble(playerid,string,0xC2A2DAAA,20.0,5*1000);
                
K_Info[ku][Gram] = 0;
            }
        }
    }
    return 
1;
}

stock GN(playerid)
{
    new 
pName[MAX_PLAYER_NAME];
    
GetPlayerName(playeridpNamesizeof pName);
    return 
pName;

! ! !


Дим M
Администратор
Администратор
Avatar
Дим M
Администратор
Администратор
Posts: 1335
Joined: 5 Apr 2013
With us: 7 years 7 months

#2by Дим » 9 Jul 2013, 21:38

Когда то на основе этого скрипта, сделал систему конопли
i love you mxIni Mysql


  • Similar Topics
    Replies
    Views
    Last post

Return to “Скрипты / FS”

Who is online (over the past 5 minutes)

Users browsing this forum: 1 guest