Changeset 4441 in niluje


Ignore:
Timestamp:
Sep 1, 2008, 5:04:23 PM (12 years ago)
Author:
NiLuJe
Message:

AMX Mod X:

  • Some patch testing for Arkshine.
Location:
Mirrors/AMXModX/amxmodx
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Mirrors/AMXModX/amxmodx/amxmodx.cpp

    r3919 r4441  
    10401040        char *lMenu = get_amxstring(amx, params[5], 1, ilen2);
    10411041        int menuid = 0;
    1042        
     1042
    10431043        if (ilen2 && lMenu)
    10441044        {
     
    10471047                menuid = g_menucmds.findMenuId(sMenu, amx);
    10481048        }
    1049        
     1049
    10501050        int keys = params[2];
    10511051        int time = params[4];
    1052        
     1052
    10531053        if (params[1] == 0)
    10541054        {
     
    10591059                        if (pPlayer->ingame)
    10601060                        {
     1061                                // Orangutanz, show_menu fix
     1062                                pPlayer->keys = 0;
     1063                                pPlayer->menu = 0;
     1064                                UTIL_FakeClientCommand(pPlayer->pEdict, "menuselect", "10", 0);
     1065
    10611066                                pPlayer->keys = keys;
    10621067                                pPlayer->menu = menuid;
    10631068                                pPlayer->vgui = false;
    1064                                
     1069
    10651070                                if (time == -1)
    10661071                                        pPlayer->menuexpire = INFINITE;
    10671072                                else
    10681073                                        pPlayer->menuexpire = gpGlobals->time + static_cast<float>(time);
    1069                                
     1074
    10701075                                pPlayer->newmenu = -1;
    10711076                                pPlayer->page = 0;
     
    10751080        } else {
    10761081                int index = params[1];
    1077                
     1082
    10781083                if (index < 1 || index > gpGlobals->maxClients)
    10791084                {
     
    10811086                        return 0;
    10821087                }
    1083                
     1088
    10841089                CPlayer* pPlayer = GET_PLAYER_POINTER_I(index);
    10851090
    10861091                if (pPlayer->ingame)
    10871092                {
     1093                        // Orangutanz, show_menu fix
     1094                        pPlayer->keys = 0;
     1095                        pPlayer->menu = 0;
     1096                        UTIL_FakeClientCommand(pPlayer->pEdict, "menuselect", "10", 0);
     1097
    10881098                        pPlayer->keys = keys;
    10891099                        pPlayer->menu = menuid;
    1090                         pPlayer->vgui = false;                 
     1100                        pPlayer->vgui = false;
    10911101
    10921102                        if (time == -1)
     
    11001110                }
    11011111        }
    1102        
     1112
    11031113        return 1;
    11041114}
  • Mirrors/AMXModX/amxmodx/string.cpp

    r1509 r4441  
    147147}
    148148
     149#define MAX_BUFFOR_INDEX 8
     150
    149151char *get_amxstring(AMX *amx, cell amx_addr, int id, int& len)
    150152{
    151         static char buffor[4][3072];
     153        static int index;
     154        index++;
     155        if ( index > MAX_BUFFOR_INDEX-1 )
     156                index = 0;
     157       
     158        static char buffor[MAX_BUFFOR_INDEX][3072];
    152159        register cell* source = (cell *)(amx->base + (int)(((AMX_HEADER *)amx->base)->dat + amx_addr));
    153         register char* dest = buffor[id];
     160        register char* dest = buffor[index];
    154161        char* start = dest;
    155162
Note: See TracChangeset for help on using the changeset viewer.