viewing paste Unknown #376 | C

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
BUILDIN_FUNC(setmapflag)
{
        int m,i;
        const char *str;
        const char *val=NULL;
 
        str=script_getstr(st,2);
        i=script_getnum(st,3);
        if(script_hasdata(st,4)){
                val=script_getstr(st,4);
        }
        m = map_mapname2mapid(str);
        if(m >= 0) {
                switch(i) {
                        case MF_NOMEMO:                         map[m].flag.nomemo = 1; break;
                        case MF_NOTELEPORT:                     map[m].flag.noteleport = 1; break;
                        case MF_NOSAVE:                         map[m].flag.nosave = 1; break;
                        case MF_NOBRANCH:                       map[m].flag.nobranch = 1; break;
                        case MF_NOPENALTY:                      map[m].flag.noexppenalty = 1; map[m].flag.nozenypenalty = 1; break;
                        case MF_NOZENYPENALTY:          map[m].flag.nozenypenalty = 1; break;
                        case MF_PVP:                            map[m].flag.pvp = 1; break;
                        case MF_PVP_NOPARTY:            map[m].flag.pvp_noparty = 1; break;
                        case MF_PVP_NOGUILD:            map[m].flag.pvp_noguild = 1; break;
                        case MF_GVG:                            map[m].flag.gvg = 1; break;
                        case MF_GVG_NOPARTY:            map[m].flag.gvg_noparty = 1; break;
                        case MF_NOTRADE:                        map[m].flag.notrade = 1; break;
                        case MF_NOSKILL:                        map[m].flag.noskill = 1; break;
                        case MF_NOWARP:                         map[m].flag.nowarp = 1; break;
                        case MF_PARTYLOCK:                      map[m].flag.partylock = 1; break;
                        case MF_NOICEWALL:                      map[m].flag.noicewall = 1; break;
                        case MF_SNOW:                           map[m].flag.snow = 1; break;
                        case MF_FOG:                            map[m].flag.fog = 1; break;
                        case MF_SAKURA:                         map[m].flag.sakura = 1; break;
                        case MF_LEAVES:                         map[m].flag.leaves = 1; break;
                        /**
                         * No longer available, keeping here just in case it's back someday. [Ind]
                         **/
                        //case MF_RAIN:                         map[m].flag.rain = 1; break;
                        case MF_NOGO:                           map[m].flag.nogo = 1; break;
                        case MF_CLOUDS:                         map[m].flag.clouds = 1; break;
                        case MF_CLOUDS2:                        map[m].flag.clouds2 = 1; break;
                        case MF_FIREWORKS:                      map[m].flag.fireworks = 1; break;
                        case MF_GVG_CASTLE:                     map[m].flag.gvg_castle = 1; break;
                        case MF_GVG_DUNGEON:            map[m].flag.gvg_dungeon = 1; break;
                        case MF_NIGHTENABLED:           map[m].flag.nightenabled = 1; break;
                        case MF_NOBASEEXP:                      map[m].flag.nobaseexp = 1; break;
                        case MF_NOJOBEXP:                       map[m].flag.nojobexp = 1; break;
                        case MF_NOMOBLOOT:                      map[m].flag.nomobloot = 1; break;
                        case MF_NOMVPLOOT:                      map[m].flag.nomvploot = 1; break;
                        case MF_NORETURN:                       map[m].flag.noreturn = 1; break;
                        case MF_NOWARPTO:                       map[m].flag.nowarpto = 1; break;
                        case MF_NIGHTMAREDROP:          map[m].flag.pvp_nightmaredrop = 1; break;
                        case MF_RESTRICTED:
                                map[m].zone |= 1<<((int)atoi(val)+1);
                                map[m].flag.restricted=1;
                                break;
                        case MF_NOCOMMAND:                      map[m].nocommand = (!val || atoi(val) <= 0) ? 100 : atoi(val); break;
                        case MF_NODROP:                         map[m].flag.nodrop = 1; break;
                        case MF_JEXP:                           map[m].jexp = (!val || atoi(val) < 0) ? 100 : atoi(val); break;
                        case MF_BEXP:                           map[m].bexp = (!val || atoi(val) < 0) ? 100 : atoi(val); break;
                        case MF_NOVENDING:                      map[m].flag.novending = 1; break;
                        case MF_LOADEVENT:                      map[m].flag.loadevent = 1; break;
                        case MF_NOCHAT:                         map[m].flag.nochat = 1; break;
                        case MF_NOEXPPENALTY:           map[m].flag.noexppenalty  = 1; break;
                        case MF_GUILDLOCK:                      map[m].flag.guildlock = 1; break;
                        case MF_TOWN:                           map[m].flag.town = 1; break;
                        case MF_AUTOTRADE:                      map[m].flag.autotrade = 1; break;
                        case MF_ALLOWKS:                        map[m].flag.allowks = 1; break;
                        case MF_MONSTER_NOTELEPORT:     map[m].flag.monster_noteleport = 1; break;
                        case MF_PVP_NOCALCRANK:         map[m].flag.pvp_nocalcrank = 1; break;
                        case MF_BATTLEGROUND:           map[m].flag.battleground = (!val || atoi(val) < 0 || atoi(val) > 2) ? 1 : atoi(val); break;
                        case MF_RESET:                          map[m].flag.reset = 1; break;
                }
        }
 
        return 0;
}
Viewed 496 times, submitted by lighta.