viewing paste Unknown #382 | C

Posted on the | Last edited on
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
BUILDIN_FUNC(warp)
{
        int ret;
        int x,y;
        const char* str;
        TBL_PC* sd;
 
        sd = script_rid2sd(st);
        if( sd == NULL )
                return 0;
 
        str = script_getstr(st,2);
        x = script_getnum(st,3);
        y = script_getnum(st,4);
 
        if(strcmp(str,"Random")==0)
                ret = pc_randomwarp(sd,CLR_TELEPORT);
        else if(strcmp(str,"SavePoint")==0 || strcmp(str,"Save")==0)
                ret = pc_setpos(sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT);
        else if(map_flag_gvg(sd->bl.m)){ //checking max_guildmenber
                int count = 0; //guild menber count
                for( i = c = 0; i < g->max_member && c < map[m].guild_max; i++ )
                        if( g->member[i].sd && g->member[i].sd->bl.m == m )
                                c++;
                if (map[sd->bl.m].guild_max && count >= map[sd->bl.m].guild_max){
                    char output[256] = "There too much guildies in castle atm to be warped in";
                    clif_disp_message(sd->bl,output,strlen(output),SELF);
                }
        }
        else
                ret = pc_setpos(sd,mapindex_name2id(str),x,y,CLR_OUTSIGHT);
 
        if( ret ) {
                ShowError("buildin_warp: moving player '%s' to \"%s\",%d,%d failed.\n", sd->status.name, str, x, y);
                script_reportsrc(st);
        }
 
        return 0;
}
Viewed 480 times, submitted by lighta.