Raised This Month: $ Target: $400
 0% 

Days API Problem!!


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Ang52
Member
Join Date: Jan 2012
Old 06-25-2012 , 13:37   Re: Days API Problem!!
Reply With Quote #4

this is the code:


PHP Code:
#include < amxmodx >
#include < fakemeta >
#include < jb_days_const >

#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)

#define FADE_IN 0x0000
#define FADE_OUT 0x0001

#define TASK_SPECIAL 100

enum _:DAYS
{
    
DAY_SUNDAY,
    
DAY_MONDAY,
    
DAY_TUESDAY,
    
DAY_WEDNESDAY,
    
DAY_THURSDAY,
    
DAY_FRIDAY,
    
DAY_SATURDAY
};

new const 
DaysNamesDAYS ][ ] =
{
    
"Sunday",
    
"Monday",
    
"Tuesday",
    
"Wednesday",
    
"Thursday",
    
"Friday",
    
"Saturday"
};

enum _:Forwards
{
    
ForwardDayActive 0,
    
ForwardDayDisable,
    
ForwardDayChoosePre,
    
ForwardDayChoosePost,
    
ForwardDayStarted
};

const 
OFFSET_CSMENUCODE 205

new Array:gDayName;

new 
gDaysCount;

new 
bool:DayActivated;
new 
DayActivatedID;
new 
gForwardsForwards ];
new 
gForwardResult;

new 
Days;
new 
gHudMsg;
new 
gMsgIDScreenFade;

public 
plugin_natives( )
{
    
register_native"jb_days_register""native_days_register" );
    
register_native"jb_days_is_active""native_days_is_active" );
    
register_native"jb_days_set_active""native_days_set_active" );
    
register_native"jb_days_get_id""native_days_get_id" );
    
    
gDayName ArrayCreate(321)
}

public 
native_days_registerpluginparams )
{
    new 
name32 ];
    
get_string1namecharsmaxname ) )
    
    if ( 
strlenname ) < )
    {
        
log_errorAMX_ERR_NATIVE"[JB] Can't register day with an empty name" )
        return 
JB_INVALID_DAY;
    }
    
    new 
indexday_name[32]
    for ( 
index 0index gDaysCountindex++ )
    {
        
ArrayGetStringgDayNameindexday_namecharsmaxday_name ) )
        if ( 
equalinameday_name ) )
        {
            
log_errorAMX_ERR_NATIVE"[JB] day already registered (%s)"name )
            return 
JB_INVALID_DAY;
        }
    }
    
    
ArrayPushStringgDayNamename )
    
    
gDaysCount++
    return 
gDaysCount 1;
}

public 
native_days_is_activepluginparams )
{
    return 
DayActivated true false;
}

public 
native_days_set_activepluginparams )
{
    new 
State get_param);
    
    
DayActivated State true false;
    
    if( !
DayActivated )
    {
        
ExecuteForwardgForwardsForwardDayDisable ], gForwardResult );
    }
    
    return 
true;
}

public 
native_days_get_idpluginparams )
{
    return 
DayActivated DayActivatedID 0;
}

public 
plugin_init( )
{
    
register_plugin"[JB] Days Manager""0.1""Ang52" );
    
    
register_saycmd"days""DaysManage" );
    
register_saycmd"day""DaysManage" );
    
    
gForwardsForwardDayActive ] = CreateMultiForward"Jb_fwDayActivated"ET_IGNOREFP_CELL );
    
gForwardsForwardDayDisable ] = CreateMultiForward"Jb_fwDayDisabled"ET_IGNORE );
    
gForwardsForwardDayChoosePre ] = CreateMultiForward"Jb_fwDayChoosePre"ET_CONTINUEFP_CELLFP_CELL );
    
gForwardsForwardDayChoosePost ] = CreateMultiForward"Jb_fwDayChoosePost"ET_IGNOREFP_CELLFP_CELL );
    
    
gHudMsg CreateHudSyncObj( );
    
gMsgIDScreenFade get_user_msgid"ScreenFade" );
}

public 
plugin_end( )
{
    
ArrayDestroygDayName );
}

public 
Jb_fwRoundstartPre( )
{
    
ExecuteForwardgForwardsForwardDayDisable ], gForwardResult );
}

public 
Jb_fwRoundstart( )
{
    if ( 
Days DAY_SATURDAY )
    {
        
Days DAY_SUNDAY;
    }
    
    new 
iUnits clamp( ( * ( << 12 ) ), 00xFFFF );
    
    new 
players32 ], num;
    
get_playersplayersnum );
    
    new 
id;
    
    for ( 
id 0;id num;id++ )
    {
        
set_hudmessage200200200, -1.00.7525.015.0 );
        
ShowSyncHudMsgplayersid ], gHudMsg"Day: %s^nJailbreak"DaysNamesDays ] );
           
        
message_beginMSG_ONE_UNRELIABLEgMsgIDScreenFade,_playersid ] );
        
write_shortiUnits );
        
write_shortiUnits );
        
write_shortFADE_IN );
        
write_byte);
        
write_byte);
        
write_byte);
        
write_byte255 );
        
message_end( );
    }
}

public 
Jb_fwRoundend( )
{
    new 
iUnits clamp( ( * ( << 12 ) ), 00xFFFF );
    
    new 
players32 ], num;
    
get_playersplayersnum );
    
    new 
id;
    
    for ( 
id 0;id num;id++ )
    {
        
client_cmdid"mp3 stop" );
        
set_hudmessage200200200, -1.00.7515.05.0 );
        
ShowSyncHudMsgidgHudMsg"Day: %s End^nJailbreak"DaysNamesDays ] );
       
        
message_beginMSG_ONE_UNRELIABLEgMsgIDScreenFade,_playersid ] );
        
write_shortiUnits );
        
write_shortiUnits );
        
write_shortFADE_OUT );
        
write_byte);
        
write_byte);
        
write_byte);
        
write_byte255 );
        
message_end( );
    }
       
    
Days++;
}

public 
DaysManageid )
{
    if( !( 
get_user_flagsid ) & ADMIN_KICK ) )
    {
        
ColorChatid"You have^3 no access^1 to this command." );
        return 
PLUGIN_HANDLED;
    }
    
    
DaysManagerid );
    return 
PLUGIN_HANDLED;
}

public 
DaysManagerid )
{
    static 
menu128 ], DayName64 ];
    new 
menuidindexbuffer];
    
    
formatexmenusizeof menu 1"\d[\y Jailbreak\d ]\y Days List^nTotal Days: %d"gDaysCount );
    
menuid menu_createmenu"DaysHandler" );
    
    for( 
index 0index gDaysCountindex++ )
    {
        
        
ExecuteForwardgForwardsForwardDayChoosePre ], gForwardResultidindex )
        
        if( 
gForwardResult >= JB_DAY_DONT_SHOW )
            continue;
            
        
ArrayGetStringgDayNameindexDayNamesizeof DayName );
        
        if( 
gForwardResult >= JB_DAY_NOT_AVAILABLE )
            
formatexmenusizeof menu 1"\d%s"DayName );
        else
            
formatexmenusizeof menu 1"%s"DayName );
            
            
        
buffer] = index;
        
buffer] = 0;
        
        
menu_additemmenuidmenubuffer );
    }
    
    if( 
menu_itemsmenuid ) <= )
    {
        
ColorChatid"No^3 Days^1 Available." );
        
menu_destroymenuid );
        return 
PLUGIN_HANDLED;
    }
    
    
formatex(menucharsmax(menu), "Back")
    
menu_setprop(menuidMPROP_BACKNAMEmenu)
    
formatex(menucharsmax(menu), "Next")
    
menu_setprop(menuidMPROP_NEXTNAMEmenu)
    
formatex(menucharsmax(menu), "Exit")
    
menu_setprop(menuidMPROP_EXITNAMEmenu)
    
    
set_pdata_int(idOFFSET_CSMENUCODE0)
    
menu_display(idmenuid0)
    
    return 
PLUGIN_HANDLED;
}

public 
DaysHandleridmenuiditem )
{
    if (
item == MENU_EXIT)
    {
        
menu_destroy(menuid)
        return 
PLUGIN_HANDLED;
    }
    
    
// Retrieve item id
    
new buffer[2], dummydayid;
    
menu_item_getinfo(menuiditemdummybuffercharsmax(buffer), __dummy)
    
dayid buffer[0]
    
    
startDayiddayid );
    
menu_destroy(menuid)
    return 
PLUGIN_HANDLED;
}

startDayiddayid )
{
    
ExecuteForwardgForwardsForwardDayChoosePre ], gForwardResultiddayid );
    
    if( 
gForwardResult >= JB_DAY_NOT_AVAILABLE )
        return;
        
    
ExecuteForwardgForwardsForwardDayChoosePost ], gForwardResultiddayid );
}

public 
Jb_fwDayChoosePreidDayID )
{
    if( 
DayActivated )
        return 
JB_DAY_NOT_AVAILABLE;
        
    return 
JB_DAY_AVAILABLE;
}

public 
Jb_fwDayChoosePostidDayID )
{
    
DayActivated true;
    
DayActivatedID DayID;
            
    
ExecuteForwardgForwardsForwardDayActive ], gForwardResultDayID );
    
    
OpenCells( );
    
    new 
DayName64 ];
    
ArrayGetStringgDayNameDayIDDayNamecharsmaxDayName ) );
    
    
set_hudmessage0191255, -1.00.1715.08.00.00.010 );
    
ShowSyncHudMsg0gHudMsg"[ Today ]^n[ %s ]"DayName );
}

public 
Jb_fwDayDisabled( )
{    
    
DayActivated false;
    
DayActivatedID 0;
}

OpenCells( )
{
    new 
ent = -1;
    
    while( ( 
ent fm_find_ent_by_classent"func_button" ) ) )
    {                  
        
dllfuncDLLFunc_Useent);
    }  
}
    
register_saycmdcommand[ ], function[ ] )
{
    new 
saycom64 ];
    
formatexsaycomsizeof saycom 1"say %s"command );
    
register_clcmdsaycom, function );
    
    
formatexsaycomsizeof saycom 1"say .%s"command );
    
register_clcmdsaycom, function );
    
    
formatexsaycomsizeof saycom 1"say !%s"command );
    
register_clcmdsaycom, function );
    
    
formatexsaycomsizeof saycom 1"say /%s"command );
    
register_clcmdsaycom, function );
}

ColorChat(idstring[], {FloatSqlResul,_}:...)
{
    new 
msg[191], players[32], count 1;
    
    static 
len;
    
len formatex(msgcharsmax(msg), "^4[ JBAMXX ]^1 ");
    
vformat(msg[len], charsmax(msg) - lenstring3);
    
    if(
id)         players[0] = id;
    else         
get_players(players,count,"ch");
    
    for (new 
0counti++)
    {
        if(
is_user_connected(players[i]))
        {
            
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"),_players[i]);
            
write_byte(players[i]);
            
write_string(msg);
            
message_end();
        }
    }

Ang52 is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 06:09.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode