Re: EU Server
- Posted by Hawke' <mdeland at GEOCITIES.COM> Dec 06, 1998
- 484 views
Jeff Grandy wrote: > So, you would need a EU version of PennMUSH yes... an EUServer version, specifically... > or a Windows version? no... > I know there are Windows ports for MUSH and MUX out there yes... these ports you speak of, are still C code. all they did was alter the makefile to use a different compiler, and adjust the .h files accordingly. they then created an executable with that compiler to run with win32 instead of unix/linux. the code is still the *same* tho... it's in C. being in C for linux/unix and being in C for windows doesn't help anything. the code needs to be converted to EU. let's look at this MU* code, firsthand, to see the difference between these programs you speak of in their native tongue, as ported to windows, and as it would be in EUServ, and what would need to happen to take EnvyMUD and make it into EUMud. this is an excerpt from act_wiz.c from EnvyMUD: void do_echo( CHAR_DATA *ch, char *argument ) { CHAR_DATA *rch; rch = get_char( ch ); if ( !authorized( rch, gsn_echo ) ) return; if ( argument[0] == '\0' ) { send_to_char( "Echo what?\n\r", ch ); return; } strcat( argument, "\n\r" ); send_to_all_char( argument ); return; } kinda ugly... :) to make this work with EUServ we need to *convert* this C code, all hundreds of thousands of lines to something like: global function do_echo(sequence user, sequence param) if not IsSysop(user,"echo") then return user end if if not length(param) then SendToUser(user,NEWLINE & "Syntax: echo <thistoallusers>") return user end if SendToAllUsers(user,Param2String(param)) return user end function (side note: that is a ready to go do_func you can drop into sysopcmd.ew, adding the proper line in cmdlist.ew as you do so, i think :) i haven't _tested_ it...) personally, i find this second form a little easier to read and understand... :) i also think that attempting to explain the first batch of code to a 'newbie' and attempting to explain the second batch of code to said 'newbie', would be a lot easier as well, for that 'newbie' to begin helping you write new capabilities into EUMud. to sum up: the C code, no matter what OS it's ported to, is still C code. it still needs to become EU code and more importantly, it needs to become EUServer code, which you might say is an enhanced script language for EU as relating to multiple user programming. an automatic, "MU* written in C code" to "MU* written in EUServ code", translator, would be.... hard :) too many tricks, too much subtley, too much real human thought over each line is needed... clear as opaque now, right? :) --Hawke'