/* * * Auto area-creating script for Stonia MUD. * Created by Siim Vahtre(Seem) * Released under GPL licence (v2) * * * Muuda vastavaid #define ridu omale sobivaks ning kompileeri script: * gcc amaker.c -o amaker * * Käivitamiseks: * ./amaker > areanimi.are * * Have phun. * */ #include #include #define AREA 110 #define AREA_NAME "Test" #define AREA_CREATOR "Script" #define REPOP_MESSAGE "Area repopped." #define WP_COEF "0 0 0 0 0" #define ROOMNAME "Ruumi nimi." #define DESC "Ruumi kirjeldus.\nUus rida ruumi kirjelduses." #define SECTOR 1 #define FLAGS "A" #define MAX_X 10 #define MAX_Y 10 #define MAX_ROOMS 100 void p_area_header(void); void p_area_footer(void); void p_room(void); int room=0; int area=AREA; int x=0; int y=1; int sector=SECTOR; char flags[10]=FLAGS; int main(void) { p_area_header(); for (room=0;room < MAX_ROOMS;room++) { x++; if (x>MAX_X) { x=1; y++; } sprintf(flags, "A"); p_room(); } p_area_footer(); } void p_room(void) { int door; int to_room; printf("#%d%s%d\n", area, room < 10 ? "0" : "", room); printf("%s^\n", ROOMNAME); printf("%s\n", DESC); printf("^\n"); printf("%i %s %i\n", area, flags, sector); for (door=0;door <= 3;door++) { if (door==0) to_room=room-MAX_X; if (door==1) to_room=room+1; if (door==2) to_room=room+MAX_X; if (door==3) to_room=room-1; if (door==0 && y==1) continue; if (door==1 && x==MAX_X) continue; if (door==2 && y==MAX_Y) continue; if (door==3 && x==1) continue; printf("D%i\n", door); printf("^\n"); printf("^\n"); printf("0 0 %i%s%i\n", area, to_room < 10 ? "0" : "", to_room); } printf("S\n\n"); } void p_area_header(void) { printf("#AREA %s (%s)^\n", AREA_NAME, AREA_CREATOR); printf("%s^\n", REPOP_MESSAGE); printf("%s\n\n", WP_COEF); printf("#MOBILES\n"); printf("#0\n\n"); printf("#OBJECTS\n"); printf("#0\n\n\n"); printf("#ROOMS\n\n"); } void p_area_footer(void) { printf("#0\n\n\n"); printf("#RESETS\n"); printf("S\n\n"); printf("#SPECIALS\n"); printf("S\n\n"); printf("#$\n"); }