From crossfire-admin-admin at archives.real-time.com Wed Aug 6 11:54:44 2003 From: crossfire-admin-admin at archives.real-time.com (crossfire-admin-admin@archives.real-time.com) Date: Thu Jan 13 17:53:02 2005 Subject: [cf-admin] Running Cross Fire Message-ID: When The gcfclient (In a MS DOS Window) tries to load the generic key file it can't open it. Then is tries to load global bindings and it just says "Init Cache" and then nothing. What is wrong with it? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030806/8ee82cd3/attachment.html From crossfire-devel-admin at archives.real-time.com Fri Aug 1 02:12:46 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:47 2005 Subject: [CF-Devel] Stats adjudication References: <3F28AB16.4040602@sonic.net> <001401c357e9$983c7000$1c9dacce@KAMERIA> Message-ID: <000401c357fc$4fd2dc60$aa9dacce@KAMERIA> > I do like the idea of twiddling the amount or type of > magic/potions you need to raise stats as you approach the ends of the > distribution curve (some loose idea like one potion per standard deviation). > Actually if it is harder to raise really high *and* really low stats this > partly addresses the issue of players plundering less useful stat values > into really low ranges to get more points in their prime stats since it > becomes much harder to recover from this behaviour. I thought I should elaborate on what I mean here since had to figure it out myself...I am being really loose with the term standard deviation I think - but then I haven't been in stats class for many years... Say that the average stat is 10, the normal maximum is 20 and the *absolute* player maximum is 50 and we arbitrairily say 4 is the 'standard deviation'. The range from 7-13 is one 'SD' and would require 1 'point' (a single point potion, scroll, spell) to raise one point. Scores of 3-6 or 14-17 would require 2pts, scores 1-2 (minimum) or 18-21 would require 3pts to raise, scores 22-25 would require 4pts, 26-29 - 5pts continuing up to 50 where we top out at 11 pts per point raised (no reason to stop except because we want to...). Of course high level spells and stuff can be worth multiple points to address the higher requireements a 15th level strength scroll would be worth say 15pts towards that stat? Anyway, that's my thought. The actual numbers are rather arbitrary to fit my illustration and keep things simple enough to manage easily. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 1 03:18:20 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:47 2005 Subject: [CF-Devel] crossfire dragon race Message-ID: <001301c35805$78a89220$aa9dacce@KAMERIA> I was wondering if anyone (Andreas?) was planning at sometime soon to add in support to change the dragon faces in set_dragon_name() so that when the focus changes the face would change as well. There is a set of graphics I committed to the player folder a while ago to use for this (black, red, green, blue). I was looking at the code to figure out how to best do this, but not seriously looking into it. I didn't know if people knew the graphics were there. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030801/dd934b14/attachment.html From crossfire-devel-admin at archives.real-time.com Fri Aug 1 03:29:19 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:47 2005 Subject: [CF-Devel] crossfire dragon race References: <001301c35805$78a89220$aa9dacce@KAMERIA> Message-ID: <002b01c35807$01201140$aa9dacce@KAMERIA> And if you play the previous message backwards you get this message: I was wondering if anyone (Andreas?) was planning at sometime soon to add in support to change the dragon faces in set_dragon_name() so that when the focus changes the face would change as well. There is a set of graphics I committed to the player folder a while ago to use for this (black, red, green, blue). I was looking at the code to figure out how to best do this, but not seriously looking into it. I didn't know if people knew the graphics were there. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 1 01:44:28 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:47 2005 Subject: [CF-Devel] Stats adjudication In-Reply-To: <000401c357fc$4fd2dc60$aa9dacce@KAMERIA> References: <3F28AB16.4040602@sonic.net> <001401c357e9$983c7000$1c9dacce@KAMERIA> <000401c357fc$4fd2dc60$aa9dacce@KAMERIA> Message-ID: <3F2A0C4C.1090102@sonic.net> I agree that the idea of fractional stats is distasteful. If anything, I'd rather approximate that via random values. Eg, there is a 5% (or whatever) chance that the potion works and increases your stat. Alternatively, have some mechanism to merge/use multiple potions at once. Eg, to increase a stat that is above 20, you need a 'Greater XXX potion', which can be made with 10 (or whatever) normal potions. I could see the reason to just not make all the bonuses to mimic larger gaps - the reason being you would get the odd case where as the stats get higher, the gap to actually get any meaningful benefit is larger. That just seems a bit odd. I'd note that if the stats were extended to say 50, but instead the bonuses stretched out (so the bonus you get at 30 now you'd get with 50 in the new system). This would actually weaken things a bit for players at perhaps the more middle levels. I'm also not sure if I like the idea of it being harder to raise really low stats - that just seems odd. I see the idea you are trying to do - if you make a stat really low, it is harder to raise. But it should be that really low stats are a disadvantage. One reason I'd also be in favor of making the max stat higher is that with some class/race combinations, if you focus your stat making, you can get a stat in the mid 20's. I think it'd be more interesting if there was more room to grow max stats. One could also do something a little different with races- have bonus bonus adjustments to the character, and have the maximum be something different. Eg, you could get a +2 str and +2 dex (thus, being able to start at say 22 instead of 20). But instead of the max still being 22, it could be 32 or something like that, so there is always room to grow with the stat potions. As far as charisma: Bargaining does not neutralize a low charisma. Bargaining basically increases your charisma, for purposes of buying/selling objects, by a few points. So a character with a 20 charisma still gets a benefit from bargaining. Charisma is used for some other aspects - I think the personality skills do use it, so if you want to sing, pacify, etc, charisma adjusts your chances. But those are skills that one does not actually need to use. Also, by the time you start picking up the misc skills jsut for the heck of it, you are more likely to be finding stat potions to bring up your charisma to respectable level anyways. One thought might be to make improving a stat harder based on what the stat started at. For example, if you start with a 15 strength, it now gets harder to improve at 25 (15 + 10). If you start with a 1 power, it is now harder to improve starting at 11 (1 + 11). Thus, tossing low values into a stat has larger term ramifications. Most fighters might not want spell casting at first level, but at some point they probably want to pick some up. But if they put really low stats into pow, int, and wis, it would become difficult for them to get good at it. One could limit pets or other such things based on charisma. NPC's not talking to players with low charisma/appearance is also possible. There is certainly more that could be done here. I do remember one game (fallout 2) I played where npc's gave different amount of information based on charisma or something. However, this is really only effective in crossfire if the information is somehow made more dynamic - having an NPC give a password only if charisma is > 15 doesn't do a whole bunch if this is a well known password or other players all know it (or you know it from playing the game before). Also, just to avoid the problem of a low charisma character being messed up for the rest of his life, one could also do something like have level adjust charisma (effectively). So maybe someone would need a combined 'fame' score of 100 to get the piece of information. Fame would be based on charisma, level, as well as perhaps other things (doing quests could increase fame). And arguable fame should be what is used to determine how much shops give you. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 1 01:50:28 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:47 2005 Subject: [CF-Devel] Re: Repeated line supression for the gtk client. In-Reply-To: <20030731105926.D3461@diegeekdie.com> References: <20030730172652.C3461@diegeekdie.com> <3F28A2ED.9090900@sonic.net> <20030731105926.D3461@diegeekdie.com> Message-ID: <3F2A0DB4.1050404@sonic.net> Sebastian Andersson wrote: > On Wed, Jul 30, 2003 at 10:02:37PM -0700, Mark Wedel wrote: > I've never liked the way the server does message collapsing right works > now, from a playing point of view. > First of all "1 times You pray". The "1 times" should be removed, > probably an easy fix, it looks really ugly. Then the annoying time > delay until you see the first message makes one think the server is > lagging, the key binding doesn't work or something. It can of course > be made smaller by changing the default value, but then it collapses > fewer messages. A better fix would be to send the first collapsable > message immediatly, then start to collapse it. well, the 'times' thing could certainly be removed. It also wouldn't be hard for it to send one message initially and then have it start collapsing them. > Thirdly, it doesn't work when you mix two messages, does it? Like: > "1 times The ball of lightning zaps dragon" > "1 times The ball of lightning electrocutes dragon" > "1 times The ball of lightning zaps dragon" > "1 times The ball of lightning electrocutes dragon" Depends on how you mean mix them. The server would combine that into 2 messages - one '2 times ball lightning zaps' and '2 times ball ... electrocutes'. There is some number of buffers which the server has for this, so changes that result in a larger set of messages can start to mess that up. This can result in the order of messages getting a little mixed up, but for most messages, that shouldn't be that big a deal (that is why the NDI_UNIQUE was really there - for messages you know won't be merged, or messages you don't want to get mixed up, like listings, that should be set. However, since most people see all the draw_info with that tag, any new one also gets passed with that parameter, which isn't always right. > If one looks at it from a system point of view, the messages should be > collapsed on the server to save bandwidth. But the server can't (yet) > update old messages in the client and that is needed if one wants more > info to fit on the screen (like the ball lightning example). The best > thing is probably to combine output-sync with my patch (if gtk was > working that is). The "X times" could be removed in the client and then > my new patch could further collapse the messages. Even better would be > a way for the server to send a shorter message, telling which message > was repeated and let the client repeat it, but I don't know if the few > bytes it would save (and further client/server complication) would be > worth it. As said, I think the server already does most of what you want. It wouldn't be hard for the server to send the first message when it shows up. And the server already handles collapsing multiple messages. The other reason to handle collapsing on the server is to reduce bandwidth some, but not likely much an issue. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 1 01:59:06 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:47 2005 Subject: [CF-Devel] Stats adjudication In-Reply-To: <3F2A0C4C.1090102@sonic.net> Message-ID: On 01-Aug-03 Mark Wedel wrote: > As far as charisma: Bargaining does not neutralize a low charisma. > Bargaining basically increases your charisma, for purposes of buying/selling > objects, by a few points. So a character with a 20 charisma still gets a > benefit from bargaining. My point is that, other than a few skills, which are arguably near-useless, the only real value of charisma is in pricing for shops. By supplying the bargaining skill, you make charisma meaningless as a stat. --- Tim Rightnour NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 1 07:11:58 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:47 2005 Subject: [CF-Devel] Re: Repeated line supression for the gtk client. In-Reply-To: <3F2A0DB4.1050404@sonic.net>; from Mark Wedel on Thu, Jul 31, 2003 at 11:50:28PM -0700 References: <20030730172652.C3461@diegeekdie.com> <3F28A2ED.9090900@sonic.net> <20030731105926.D3461@diegeekdie.com> <3F2A0DB4.1050404@sonic.net> Message-ID: <20030801141158.E3461@diegeekdie.com> On Thu, Jul 31, 2003 at 11:50:28PM -0700, Mark Wedel wrote: > Depends on how you mean mix them. The server would combine that into 2 > messages - one '2 times ball lightning zaps' and '2 times ball ... > electrocutes'. There is some number of buffers which the server has for this, > so changes that result in a larger set of messages can start to mess that up. Ok, I've never noticed it, but I've not played much with output-sync due to the way it is implemented right now. > As said, I think the server already does most of what you want. It wouldn't > be hard for the server to send the first message when it shows up. And the > server already handles collapsing multiple messages. What I really want is to scroll back one page and see the password the NPC told me, not having to scroll back ten (or more pages) looking for it. output-sync really doesn't help me here unless I change it to a really high value and I wouldn't want that for other reasons. My patch fixes this (if only gtk was working...). I get no noticable delays between the messages being generated and me noticing them which I find important for noticing lag. I don't believe it is possible to fix purely on the server side. I've improved my patch so it parses "X times ..." messages, removes the "X times " part and adds the X to the message count number. With output-sync set to 4, I don't notice much perceived lag (if only the first message was sent immediatly) and still enjoy good message collapsing. I've also changed the default repeat value to 0 (so it should be safe to commit to CVS since it won't be used unless one activates it). > The other reason to handle collapsing on the server is to reduce bandwidth > some, but not likely much an issue. I'm using an ADSL link (500kpbs), playing from Telia in Sweden to Funet in Finland. I believe they have pretty good connections between them, but the game feels a bit lagged when I spend all my spellpoints on balls of lightning, so I think the bandwidth saving is worth it if my other issues with output-sync were fixed. The lower the bandwidth usage is, the lower the latency is too it seems. Regards, /Sebastian The new patch: ----------------------8<----------------------- Index: common/client.h =================================================================== RCS file: /cvsroot/crossfire/client/common/client.h,v retrieving revision 1.12 diff -u -r1.12 client.h --- common/client.h 8 Jul 2003 12:52:35 -0000 1.12 +++ common/client.h 1 Aug 2003 08:37:02 -0000 @@ -163,7 +163,8 @@ #define CONFIG_RESISTS 27 #define CONFIG_SMOOTH 28 #define CONFIG_SPLASH 29 -#define CONFIG_NUMS 30 +#define CONFIG_REPEAT 30 +#define CONFIG_NUMS 31 /* CONFIG_LIGHTING can have several possible values - set them accordingly */ #define CFG_LT_TILE 1 Index: common/init.c =================================================================== RCS file: /cvsroot/crossfire/client/common/init.c,v retrieving revision 1.12 diff -u -r1.12 init.c --- common/init.c 25 Jun 2003 17:13:58 -0000 1.12 +++ common/init.c 1 Aug 2003 08:37:02 -0000 @@ -42,7 +42,7 @@ "mapscale", "popups", "sdl", "showicon", "tooltips", "sound", "splitinfo", "split", "show_grid", "lighting", "trim_info_window", "map_width", "map_height", "foodbeep", "darkness", "port", -"grad_color_bars", "resists", "smoothing", "nosplash" +"grad_color_bars", "resists", "smoothing", "nosplash", "repeat" }; sint16 want_config[CONFIG_NUMS], use_config[CONFIG_NUMS]; @@ -192,6 +192,7 @@ want_config[CONFIG_RESISTS] = 0; want_config[CONFIG_SMOOTH] = 0; want_config[CONFIG_SPLASH] = TRUE; + want_config[CONFIG_REPEAT] = 0; for (i=0; i MAX_LINES) { + use_config[CONFIG_REPEAT] = MAX_LINES; + } + strcpy (last_str, str); + + /* Freeze it */ + if (use_config[CONFIG_SPLITINFO] && color != NDI_BLACK) { - if (!draw_info_freeze2){ - gtk_text_freeze (GTK_TEXT (gtkwin_info_text2)); - draw_info_freeze2=TRUE; + info_text = gtkwin_info_text2; + if (!draw_info_freeze2) { + gtk_text_freeze (GTK_TEXT (gtkwin_info_text2)); + draw_info_freeze2=TRUE; + } + } else { + info_text = gtkwin_info_text; + if (!draw_info_freeze1) { + gtk_text_freeze (GTK_TEXT (gtkwin_info_text)); + draw_info_freeze1=TRUE; } + } + + /* XXX If the message contains a LF, it should be split and resent + * to draw_info */ + + /* Less then five characters is probably a prompt... */ + if (use_config[CONFIG_REPEAT]) { + if (strlen(str) > 5 && !strchr(str, '\n')) { + char c; + if(sscanf(str, "%u times %c", &i, &c) == 2) { + str = strstr(str, " times ") + 7; + n_times = i; + } + for(i = 0; i < use_config[CONFIG_REPEAT]; i++) { + if (!strcmp(str, old_lines[i].str)) { + int old_size; + int j; + + gtk_text_set_point(GTK_TEXT(info_text),old_lines[i].start); + + if (old_lines[i].num == 1) { + old_size = 0; + } else { + sprintf(small_buffer, "(%i) ", old_lines[i].num); + old_size = strlen(small_buffer); + } + gtk_text_forward_delete(GTK_TEXT(info_text), + old_size + 1 + old_lines[i].length); + + info2_num_chars = gtk_text_get_length(GTK_TEXT(info_text)); + gtk_text_set_point(GTK_TEXT(info_text), info2_num_chars); + old_lines[i].num += n_times; + sprintf(small_buffer, "(%i) ", old_lines[i].num); + gtk_text_insert (GTK_TEXT (info_text), NULL, + &root_color[old_lines[i].color], NULL, + small_buffer , -1); + /* XXX Not correct, should move them around, not just + * adjusting the starting positions. */ + for(j = 0; j < use_config[CONFIG_REPEAT]; j++) { + if (old_lines[j].start > old_lines[i].start) + old_lines[j].start -= + old_size + 1 + old_lines[i].length; + } + old_lines[i].start = info2_num_chars; + gtk_text_insert (GTK_TEXT (info_text), NULL, &root_color[ncolor], NULL, str , -1); + gtk_text_insert (GTK_TEXT (info_text), NULL, &root_color[ncolor], NULL, "\n" , -1); + + return; + } + } + + memmove(&old_lines[0], &old_lines[1], + sizeof(old_lines[1]) * (use_config[CONFIG_REPEAT]-1)); + strcpy(old_lines[use_config[CONFIG_REPEAT]-1].str, str); + old_lines[use_config[CONFIG_REPEAT]-1].length = strlen(str); + old_lines[use_config[CONFIG_REPEAT]-1].start = + gtk_text_get_length(GTK_TEXT(info_text)); + old_lines[use_config[CONFIG_REPEAT]-1].color = ncolor; + old_lines[use_config[CONFIG_REPEAT]-1].num = n_times; + } + } + + if (use_config[CONFIG_SPLITINFO] && color != NDI_BLACK) { if (use_config[CONFIG_TRIMINFO]) { info2_num_chars += strlen(str) + 1; /* Limit size of scrollback buffer. To be more efficient, delete a good @@ -1917,20 +2009,16 @@ if (info2_num_chars > info2_max_chars ) { gtk_text_set_point(GTK_TEXT(gtkwin_info_text2),0); gtk_text_forward_delete(GTK_TEXT(gtkwin_info_text2), (info2_num_chars - info2_max_chars) + 5000); + for(i=0; i < use_config[CONFIG_REPEAT]; i++) { + old_lines[i].start -= (info2_num_chars - info2_max_chars) + 5000; + } info2_num_chars = gtk_text_get_length(GTK_TEXT(gtkwin_info_text2)); gtk_text_set_point(GTK_TEXT(gtkwin_info_text2), info2_num_chars); fprintf(stderr,"reduced output buffer2 to %d chars\n", info1_num_chars); } } - gtk_text_insert (GTK_TEXT (gtkwin_info_text2), NULL, &root_color[ncolor], NULL, str , -1); - gtk_text_insert (GTK_TEXT (gtkwin_info_text2), NULL, &root_color[ncolor], NULL, "\n" , -1); - } else { /* all nootes in the above section apply here also */ - if (!draw_info_freeze1){ - gtk_text_freeze (GTK_TEXT (gtkwin_info_text)); - draw_info_freeze1=TRUE; - } if (use_config[CONFIG_TRIMINFO]) { info1_num_chars += strlen(str) + 1; if (info1_num_chars > info1_max_chars ) { @@ -1941,6 +2029,9 @@ to_delete++; gtk_text_set_point(GTK_TEXT(gtkwin_info_text),0); gtk_text_forward_delete(GTK_TEXT(gtkwin_info_text), to_delete); + for(i=0; i < use_config[CONFIG_REPEAT]; i++) { + old_lines[i].start -= (info1_num_chars - info1_max_chars) + 5000; + } info1_num_chars = gtk_text_get_length(GTK_TEXT(gtkwin_info_text)); gtk_text_set_point(GTK_TEXT(gtkwin_info_text), info1_num_chars); fprintf(stderr,"trim_info_window, deleted %d characters, %d remaining\n", to_delete, info1_num_chars); @@ -1955,10 +2046,16 @@ } } - - gtk_text_insert (GTK_TEXT (gtkwin_info_text), NULL, &root_color[ncolor], NULL, str , -1); - gtk_text_insert (GTK_TEXT (gtkwin_info_text), NULL, &root_color[ncolor], NULL, "\n" , -1); } + if(n_times > 1) { + sprintf(small_buffer, "(%i) ", n_times); + gtk_text_insert (GTK_TEXT (info_text), NULL, + &root_color[ncolor], NULL, + small_buffer , -1); + } + gtk_text_insert (GTK_TEXT (info_text), NULL, &root_color[ncolor], NULL, str , -1); + gtk_text_insert (GTK_TEXT (info_text), NULL, &root_color[ncolor], NULL, "\n" , -1); + } @@ -5109,6 +5206,7 @@ puts("-popups - Use pop up windows for input (default)"); puts("-nopopups - Don't use pop up windows for input"); puts("-port - Use port instead of the standard port number"); + puts("-repeat - How far back the client looks for repeated text to join."); puts("-sdl - Use sdl for drawing png (may not work on all hardware"); puts("-server - Connect to instead of localhost."); puts("-showicon - Print status icons in inventory window"); @@ -5353,6 +5451,14 @@ } else if (!strcmp(argv[on_arg],"-nosplash")) { want_config[CONFIG_SPLASH] = FALSE; + continue; + } + else if (!strcmp(argv[on_arg],"-repeat")) { + if (++on_arg == argc) { + fprintf(stderr,"-repeat requires a value\n"); + return 1; + } + want_config[CONFIG_REPEAT]=atoi(argv[on_arg]); continue; } else { ----------------------8<----------------------- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 1 08:39:26 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] Patch: Windows compilation Message-ID: <3F2A6D8E.8020205@laposte.net> Hi. Having tried to compile CF server under Win32 (MSCV), I had to change some things... So here are some patches enabling successful compilation. The first, global.patch, fixes bad u/sint46 for Win32 in include/global.h There was no SIZEOF_LONG defined, so it would error... Also, the Python includes define SIZEOF_LONG_LONG as 8, so it's better to have some coherence somewhere :-) The second is for common/map.c It fixes broken check_path which would simply ignore the prepend_dir argument, resulting in broken map links in big maps... (would try to find map in world/world_xxx_xxx instead of share/maps/world/world_xxx_xxx). I think they don't change anything for other platforms. I successfully compiled & ran the server under Win32. I may be missing some changes, I'll check that tonight. Also Python things seem to be slightly broken right now, I'll try to fix & submit patches as required. And please, if I shouldn't submit patches directly to the list, or if the format is wrong, just tell me so i fix that too :-) Nicolas 'Ryo' -------------- next part -------------- RCS file: /cvsroot/crossfire/crossfire/include/global.h,v retrieving revision 1.41 diff -r1.41 global.h 60a61,70 > > #ifdef WIN32 > // Python plugin stuff defines SIZEOF_LONG_LONG as 8, and besides __int64 is a 64b type on MSVC... > // So let's force the typedef > typedef unsigned __int64 uint64; > typedef signed __int64 sint64; > // Needed for experience > #define atoll _atoi64 > > #else // WIN32 73c83 < --- > #endif // WIN32 -------------- next part -------------- RCS file: /cvsroot/crossfire/crossfire/common/map.c,v retrieving revision 1.55 diff -r1.55 map.c 182,184d181 < #ifdef WIN32 /* ***win32: check this sucker in windows style. */ < return(_access(name,0)); < #else 192a190,193 > > #ifdef WIN32 /* ***win32: check this sucker in windows style. */ > return(_access(buf,0)); > #else From crossfire-devel-admin at archives.real-time.com Fri Aug 1 08:43:09 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] Compilation warnings question Message-ID: <3F2A6E6D.1040207@laposte.net> Hi. When compiling the server under Windows32 (MSCV), there are a few hundred warnings (mostly type mismatch or conversion with potential data loss). Are there many like that under other platforms too? If yes, maybe it would be nice to fix, so it's easier to spot 'real' warnings indicating some mistakes :-) (don't think there are many, but still) Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 1 09:25:15 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] Some (dumb?) alchemy questions Message-ID: <3F2A784B.5040801@laposte.net> I'm wondering about alchemy formulea with a chance of 0 : are there in some maps? I mean, if the formulea doesn't appear in any book, then it must be written (as what ingredients you should put) somewhere... Are all formuleas with 0 at the end of some quest? I think the fire one is, but i'm not even sure the actual ingredients are given... (maybe that's more a map-devel question, btw) Also I think something is weird: **** WARNING **** Alchemy spoiler after that From the formulea file: # -- fire immune # (quest: peterm/FireTemple) Object NONE arch potion_cold <--------------- chance 0 diff 50 exp 500000 yield 10 skill alchemy cauldron cauldron ingred fire para-elemental's residue,3 balm of asbestos,dragon's steak,7 water of ruby keycode fire alchemist # Now unless it's some trick to make the archetypes harder to understand, it seems to me that potion_cold is a cold resistance potion... No? Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 1 13:43:54 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] Patch submission: apply item matching bug Message-ID: <3F2AB4EA.1060404@laposte.net> Hello. The apply command will match the last item in the player's inventory if given a string not matching anything. Here's a patch to correct that, for server/c_object.c: RCS file: /cvsroot/crossfire/crossfire/server/c_object.c,v retrieving revision 1.49 diff -r1.49 c_object.c 86c86 < if ((tmpmatch=item_matched_string(pl, tmp, params))>=match_val) { --- > if ((tmpmatch=item_matched_string(pl, tmp, params))>match_val) { Pretty straightforward. And also will make the behaviour coherent with find_best_object_match (which does use a > and not a >=). Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 2 02:23:05 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] Ideas for interplayer competition Message-ID: Som ideas I've had for a little interplayer competition. Consider this a proposal, and something I am likely to do unless people blaspheme about it. 1) New stat: "Appearance". This stat will reflect your physical appearance. The stat will probably be rolled at player creation, to be between 1 and 20. The stat will max out at about 1000, but with no set limit. Appearance can be modified by wearing different types of items, in different combinations. Most likely the programming for this will consist of a complex set of conditions, that give scores to certain combinations of equipment. A specific list of "what is best" will not be drawn up, rather, the engine will be set in place, and tuned to the point where it is self sustaining, and somewhat unpredictable. The basic rules will be that accenting materials, or matching materials can give a bonus, item value will play a role, things like Chr bonuses, etc. The score can be used to determine how shopkeepers react to the player, and for a top 10 list, players can compete on. 2) New stat: "Fame". Fame will be another open-ended stat, where players can accumulate points in it. Things such as becoming a noble of scorn, solving certain quests, level, time spent online, etc etc can all contribute to your fame score. Initially, your fame will primarily be a competive stat, with a top 10 board. But eventually it could be used in shops, and in things like gaining followers, etc. (maybe you need to be famous to start your own guild) 3) Score stat. Unlike the current system, where score is your exp, a new score stat will be developed. You gain score points by doing specific things. For example, killing a monster, 1 pt. Solving a quest, 100-5000 points. gaining a level, level*100 points, killing a player accidentally, -500 points, killing yourself accidentally, -50 points.. Perhaps even re-entering the hall-of-selection to start your character over, gives you a big bonus if you do so above level 108. In this way, score can be a meaninful representation of your accomplishments in the game, and the top10 scoreboard will show something other than 10 people who are currently at max exp. Players can continue to accumulate a score even when reaching the topmost level. These ideas are mostly fleshed out in my head.. at a basic level. The specifics of implementation aren't fully fleshed out, but none of these seem particularly difficult to implement. Ideas/criticisims welcome. If fame and appearance work out, perhaps Charisma can be phased out. If anyone wants to tackle one of these, contact me off-list. --- Tim Rightnour NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 2 04:20:05 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] Features_suggestions In-Reply-To: Message-ID: <20030802092005.30687.qmail@web21301.mail.yahoo.com> I'm way behind in my email, and this has probably been said already. > * non-magical scrolls/books where you can write what you want Have a look at the IPO scripts, this is precisely what they need to work, so it is done already. Having said that, their is a bug in that non magical scrolls are not inited properly and end up with some random amount of random garbage at the beginning of them. The patches I sent a while ago include a fix for that. http://personals.yahoo.com.au - Yahoo! Personals - New people, new possibilities! Try Yahoo! Personals, FREE for a limited period! _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 2 05:07:54 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] Stats adjudication In-Reply-To: <3F28AB16.4040602@sonic.net> Message-ID: <20030802100754.45693.qmail@web21310.mail.yahoo.com> Since it looks like a lot of thought is going into changing this, I would like to make a suggestion. Any major change would have to be well thought out and well tested to look for abuse. I think that borrowing from a well established RPG would be useful to cut down on this work as the thought and testing has been done for us, and the people that play these games are very familiar with the abuses possible. While I am unable to give any details right now, I would like to recomend GURPS as a very good points / skills based character generation system. I can't give any details at the moment as all my GURPS manuals are a few thousand kilometers away on the other side of Australia B-(. http://personals.yahoo.com.au - Yahoo! Personals - New people, new possibilities! Try Yahoo! Personals, FREE for a limited period! _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 2 11:04:03 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] Compilation warnings question In-Reply-To: <3F2A6E6D.1040207@laposte.net> References: <3F2A6E6D.1040207@laposte.net> Message-ID: <200308021804.10645.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Vendredi 1 Ao?t 2003 15:43, Nicolas Weeger a ?crit : > Hi. > > When compiling the server under Windows32 (MSCV), there are a few > hundred warnings (mostly type mismatch or conversion with potential data > loss). > Are there many like that under other platforms too? No warnings at all using linux. Perhaps you have problems with the new 64bits experience code. You compiler may be using 32 bits instead of 64 at some place. Could you dump a bit of the warnings so we could check the problem? Thanks > If yes, maybe it would be nice to fix, so it's easier to spot 'real' > warnings indicating some mistakes :-) > (don't think there are many, but still) > > Nicolas 'Ryo' > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/K+D4HHGOa1Q2wXwRAr46AKDE1eZew+N0QvK23xYU/12jm3aLqgCfVV7O h6/bIkQ8ceIrpssykgby3LM= =2P5j -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 2 11:06:29 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] Patch submission: apply item matching bug In-Reply-To: <3F2AB4EA.1060404@laposte.net> References: <3F2AB4EA.1060404@laposte.net> Message-ID: <200308021806.35625.d.delbecq@laposte.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Vendredi 1 Ao?t 2003 20:43, Nicolas Weeger a ?crit : > Hello. > > The apply command will match the last item in the player's inventory if > given a string not matching anything. > > Here's a patch to correct that, for server/c_object.c: > > RCS file: /cvsroot/crossfire/crossfire/server/c_object.c,v > retrieving revision 1.49 > diff -r1.49 c_object.c > 86c86 > < if ((tmpmatch=item_matched_string(pl, tmp, params))>=match_val) { > --- > > > if ((tmpmatch=item_matched_string(pl, tmp, params))>match_val) { > > Pretty straightforward. And also will make the behaviour coherent with > find_best_object_match (which does use a > and not a >=). > > Nicolas 'Ryo' Indeed more coherent. submitting patch to cvs > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/K+GJHHGOa1Q2wXwRApa+AJ9TqFXHIJhLlpEPerYH7a8T8CpdwgCgvBci lB1HAAVd7WfCwzpkcyY+vso= =rCMd -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 2 11:42:27 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] Some (dumb?) alchemy questions In-Reply-To: <3F2A784B.5040801@laposte.net> References: <3F2A784B.5040801@laposte.net> Message-ID: <200308021842.33387.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Vendredi 1 Ao?t 2003 16:25, Nicolas Weeger a ?crit : > I'm wondering about alchemy formulea with a chance of 0 : are there in > some maps? Why should the formulae be available in some map? The fact of having undisclosed formulaes could force player to try their own formulaes, testing their luck. I think there has been some discussion on mailing list about 'random' formulaes. Could be time to think again about them > I mean, if the formulea doesn't appear in any book, then it must be > written (as what ingredients you should put) somewhere... > Are all formuleas with 0 at the end of some quest? I think the fire one > is, but i'm not even sure the actual ingredients are given... > (maybe that's more a map-devel question, btw) > > Also I think something is weird: > > **** WARNING **** > > Alchemy spoiler after that > > > > From the formulea file: > > # -- fire immune > # (quest: peterm/FireTemple) > Object NONE > arch potion_cold <--------------- > chance 0 > diff 50 > exp 500000 > yield 10 > skill alchemy > cauldron cauldron > ingred fire para-elemental's residue,3 balm of asbestos,dragon's steak,7 > water of ruby > keycode fire alchemist > # > > Now unless it's some trick to make the archetypes harder to understand, > it seems to me that potion_cold is a cold resistance potion... No? > > Nicolas 'Ryo' > invetigating > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/K+n4HHGOa1Q2wXwRAm6mAKDLmsQ/9LG83Y+roNf7Hsn1RY+FiwCeJWNo c4iC7a+vl/1lyzKbWDzozKg= =2pru -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 2 12:50:35 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] crossfire dragon race In-Reply-To: <002b01c35807$01201140$aa9dacce@KAMERIA> References: <001301c35805$78a89220$aa9dacce@KAMERIA> <002b01c35807$01201140$aa9dacce@KAMERIA> Message-ID: <20030802175035.GL22513@laranja.org> On Fri, Aug 01, 2003 at 04:29:19AM -0400, Todd Mitchell wrote: > And if you play the previous message backwards you get this message: > > I was wondering if anyone (Andreas?) was planning at sometime soon to add in > support to change the dragon faces in set_dragon_name() so that when the > focus changes the face would change as well. > There is a set of graphics I committed to the player folder a while ago to > use for this (black, red, green, blue). I was looking at the code to figure > out how to best do this, but not seriously looking into it. I didn't know > if people knew the graphics were there. while we're at it... 1. possibly also change face based on rank (hatchling, wyrm, wyvern, dragon) - it's documented as TODO in the source 2. instead of hardcoding the rank titles, get them somehow from the arch - this would allow other different dragonlike races. (In my private server I have a "draconite" race based on the Dragonlance draconians.) []s, |alo +---- -- Those who trade freedom for security lose both and deserve neither. -- http://www.laranja.org/ mailto:lalo@laranja.org pgp key: http://www.laranja.org/pessoal/pgp Eu jogo RPG! (I play RPG) http://www.eujogorpg.com.br/ GNU: never give up freedom http://www.gnu.org/ _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 2 14:33:12 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] crossfire dragon race In-Reply-To: <20030802175035.GL22513@laranja.org> References: <001301c35805$78a89220$aa9dacce@KAMERIA> <002b01c35807$01201140$aa9dacce@KAMERIA> <20030802175035.GL22513@laranja.org> Message-ID: <1059852792.4168.5.camel@oberon.Kameria> > while we're at it... > > 1. possibly also change face based on rank (hatchling, wyrm, > wyvern, dragon) - it's documented as TODO in the source I would say changing faces based on rank should be deferred until another time, the reason here being that the graphics for to do this aren't done (or even started AFAIK) where the graphics for the simple colour change are done and waiting. Doing variations on rank for each colour will represent a large bit of work for someone. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 2 14:58:25 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] Re: [Crossfire-cvs] CVS commit: crossfire In-Reply-To: References: Message-ID: <3F2C17E1.2020801@sonic.net> crossfire-cvs-admin@lists.sourceforge.net wrote Please do not use // style comments. That is not legal ANSI C, and some compilers will error when using those (in theory, any that actually conforms properly to ANSI C). If they are all with #ifdef WIN32 areas, I don't care. But some of the ones I see below are after the #else or #endif. So non WIN32 systems will see those comments, and if using a properly conforming compiler (not gcc), the code will not be compilable! > > > Start of context diffs > > > Index: crossfire/common/map.c > diff -c crossfire/common/map.c:1.55 crossfire/common/map.c:1.56 > *** crossfire/common/map.c:1.55 Mon Jun 30 12:14:13 2003 > --- crossfire/common/map.c Sat Aug 2 09:25:23 2003 > *************** > *** 1,6 **** > /* > * static char *rcsid_map_c = > ! * "$Id: map.c,v 1.55 2003/06/30 19:14:13 tchize Exp $"; > */ > > /* > --- 1,6 ---- > /* > * static char *rcsid_map_c = > ! * "$Id: map.c,v 1.56 2003/08/02 16:25:23 tchize Exp $"; > */ > > /* > *************** > *** 179,187 **** > > int check_path (char *name, int prepend_dir) > { > - #ifdef WIN32 /* ***win32: check this sucker in windows style. */ > - return(_access(name,0)); > - #else > char buf[MAX_BUF], *endbuf; > struct stat statbuf; > int mode = 0, i; > --- 179,184 ---- > *************** > *** 190,195 **** > --- 187,195 ---- > strcpy (buf, create_pathname(name)); > else > strcpy(buf, name); > + #ifdef WIN32 /* ***win32: check this sucker in windows style. */ > + return(_access(name,0)); > + #else > > /* old method (strchr(buf, '\0')) seemd very odd to me - > * this method should be equivalant and is clearer. > > Index: crossfire/include/global.h > diff -c crossfire/include/global.h:1.41 crossfire/include/global.h:1.42 > *** crossfire/include/global.h:1.41 Fri Mar 7 21:35:32 2003 > --- crossfire/include/global.h Sat Aug 2 09:25:22 2003 > *************** > *** 1,6 **** > /* > * static char *rcsid_global_h = > ! * "$Id: global.h,v 1.41 2003/03/08 05:35:32 mwedel Exp $"; > */ > > /* > --- 1,6 ---- > /* > * static char *rcsid_global_h = > ! * "$Id: global.h,v 1.42 2003/08/02 16:25:22 tchize Exp $"; > */ > > /* > *************** > *** 59,64 **** > --- 59,74 ---- > typedef signed char sint8; > typedef unsigned short Fontindex; > > + #ifdef WIN32 > + // Python plugin stuff defines SIZEOF_LONG_LONG as 8, and besides __int64 is a 64b type on MSVC... > + // So let's force the typedef > + typedef unsigned __int64 uint64; > + typedef signed __int64 sint64; > + // Needed for experience > + #define atoll _atoi64 > + > + #else // WIN32 > + > #if SIZEOF_LONG == 8 > typedef unsigned long uint64; > typedef signed long sint64; > *************** > *** 70,76 **** > error correct and send mail to crossfire-devel on how to do this > #endif > > ! > > > /* global stuff used by new skill/experience system -b.t. > --- 80,86 ---- > error correct and send mail to crossfire-devel on how to do this > #endif > > ! #endif // WIN32 > > > /* global stuff used by new skill/experience system -b.t. > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > _______________________________________________ > Crossfire-cvs mailing list > Crossfire-cvs@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/crossfire-cvs _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 2 15:57:30 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] gimp and java editor Message-ID: <1059857850.4168.20.camel@oberon.Kameria> Here is something I don't understand but which I find incredibly annoying... When using Gimp (with gnome2 anyway) there are previews files created in each directory you have worked on images called .xvpics. That's all fine and good (although it seems to represent an annoying trend) but my problem is that these previews seem to interfere with the CFJavaEditor (using Java 1.4jre - blackdown on Debian and Sun's on redhat). If there is a picture with one of these previews in the arch folder I am using to feed the CFJavaEditor(I always open it and have it do a fresh collect), that image will not show up with the associated arch. Just an empty image as if there is no image file. I have to make sure I delete all the .xvpic folders all the time - very annoying. It seems strange this happens, anyone care to venture why it does? _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 2 15:27:54 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:48 2005 Subject: [CF-Devel] crossfire dragon race In-Reply-To: <1059852792.4168.5.camel@oberon.Kameria> References: <001301c35805$78a89220$aa9dacce@KAMERIA> <002b01c35807$01201140$aa9dacce@KAMERIA> <20030802175035.GL22513@laranja.org> <1059852792.4168.5.camel@oberon.Kameria> Message-ID: <20030802202754.GN22513@laranja.org> On Sat, Aug 02, 2003 at 03:33:12PM -0400, Todd Mitchell wrote: > > I would say changing faces based on rank should be deferred until > another time, the reason here being that the graphics for to do this > aren't done (or even started AFAIK) where the graphics for the simple > colour change are done and waiting. Doing variations on rank for each > colour will represent a large bit of work for someone. sure, but I'd prefer if the code already supports that, so that in case someone wants to make the graphics, it's possible to even test them ;-) code-wise, it's not much extra work. The only hard thing is in the design front - have to settle on a convention for how to find the right face/animation for each combination. []s, |alo +---- -- Those who trade freedom for security lose both and deserve neither. -- http://www.laranja.org/ mailto:lalo@laranja.org pgp key: http://www.laranja.org/pessoal/pgp Eu jogo RPG! (I play RPG) http://www.eujogorpg.com.br/ GNU: never give up freedom http://www.gnu.org/ _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 3 02:33:10 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Compilation warnings question In-Reply-To: <200308021804.10645.tchize@myrealbox.com> References: <3F2A6E6D.1040207@laposte.net> <200308021804.10645.tchize@myrealbox.com> Message-ID: <3F2CBAB6.1070502@laposte.net> tchize wrote: >No warnings at all using linux. > >Perhaps you have problems with the new 64bits experience code. >You compiler may be using 32 bits instead of 64 at some place. >Could you dump a bit of the warnings so we could check the problem? >Thanks > There are warnings in maaaaaaaaaaany files, not only exp/map ones... So i assume there's a difference in implicit/explicit conversions between gcc & msvc. Note many are the kind 'signed/unsigned mismatch', so it isn't too bad. There are some truncation warnings. Here a a few random messages: g:\projets\gpl\crossfire-modifi?\crossfire\server\weather.c(174) : warning C4305: 'initializing' : truncation from 'const double ' to 'float ' g:\projets\gpl\crossfire-modifi?\crossfire\server\weather.c(1303) : warning C4018: '==' : signed/unsigned mismatch g:\projets\gpl\crossfire-modifi?\crossfire\socket\image.c(346) : warning C4761: integral size mismatch in argument; conversion supplied g:\projets\gpl\crossfire-modifi?\crossfire\socket\init.c(235) : warning C4133: 'function' : incompatible types - from 'int *' to 'const char *' g:\projets\gpl\crossfire-modifi?\crossfire\socket\request.c(308) : warning C4101: 'smoothname' : unreferenced local variable FYI, 565 warnings when building the server itself :-) Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 3 02:36:57 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Re: [Crossfire-cvs] CVS commit: crossfire In-Reply-To: <3F2C17E1.2020801@sonic.net> References: <3F2C17E1.2020801@sonic.net> Message-ID: <3F2CBB99.2090407@laposte.net> Mark Wedel wrote: > crossfire-cvs-admin@lists.sourceforge.net wrote > > Please do not use // style comments. > > That is not legal ANSI C, and some compilers will error when using > those (in theory, any that actually conforms properly to ANSI C). > > If they are all with #ifdef WIN32 areas, I don't care. But some of > the ones I see below are after the #else or #endif. So non WIN32 > systems will see those comments, and if using a properly conforming > compiler (not gcc), the code will not be compilable! Oh sorry, guess i learned something today ^_^ Should i resubmit my patch? Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 3 12:17:27 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Ideas for interplayer competition In-Reply-To: References: Message-ID: <1059931047.477.1.camel@oberon.Kameria> I would rather see player AGE implemented than these... _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 3 12:55:33 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] two new small additions Message-ID: <1059933333.477.21.camel@oberon.Kameria> I would like to do two minor changes: 1: Add a new player flag called FLAG_OUTLAW which can be set when players kill other players(but only players who do not have this flag set), when stealing attempts against other players fail or by the DM (toggle_outlaw command...). This flag can be used as a way to block certain players from certain areas, and if a player has been set as an outlaw it will appear on the who command. I am sure there are other things it could be used for as well. This flag will reset when you die or when it is toggled by a DM. For more background on this see these threads on the Crossfire fourm: http://www.metalforge.net/cfmb/viewtopic.php?t=132 http://www.metalforge.net/cfmb/viewtopic.php?t=133 2: Re-work the quit command. The quit command is not very user friendly to new users and I am sure has cost many a fine character to be lost. I would like to make a new quit command to close the socket to the server and have another command (kill_me, retire, quit_character.. or something) to rename/replace the existing quit command. I would also want to modify the GTK client to make the warning for quitting a character stronger in the popup dialogue. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 3 12:16:00 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Ideas for interplayer competition In-Reply-To: References: Message-ID: <200308031916.06422.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Samedi 02 Ao?t 2003 09:23, Tim Rightnour a ?crit : > Som ideas I've had for a little interplayer competition. Consider this a > proposal, and something I am likely to do unless people blaspheme about it. > > > 1) New stat: "Appearance". This stat will reflect your physical > appearance. The stat will probably be rolled at player creation, to be > between 1 and 20. The stat will max out at about 1000, but with no set > limit. Appearance can be modified by wearing different types of items, in > different combinations. Most likely the programming for this will consist > of a complex set of conditions, that give scores to certain combinations of > equipment. A specific list of "what is best" will not be drawn up, rather, > the engine will be set in place, and tuned to the point where it is self > sustaining, and somewhat unpredictable. The basic rules will be that > accenting materials, or matching materials can give a bonus, item value > will play a role, things like Chr bonuses, etc. The score can be used to > determine how shopkeepers react to the player, and for a top 10 list, > players can compete on. > Looks to me like charism, but more specific to top models immitating. Quiet interresting, but are players interrested in standing at the top 10 glamour characters? > 2) New stat: "Fame". Fame will be another open-ended stat, where players > can accumulate points in it. Things such as becoming a noble of scorn, > solving certain quests, level, time spent online, etc etc can all > contribute to your fame score. Initially, your fame will primarily be a > competive stat, with a top 10 board. But eventually it could be used in > shops, and in things like gaining followers, etc. (maybe you need to be > famous to start your own guild) > Interresting too but this would mean modifying some quest to update those stats. I don't think fame should be used in shops or perhaps not in the way you may think. For myself, when i see someone famous coming in my shops, with cameras nearby, i will be glad to increase prices by 500% or 2000% since, this is the kind of guy having money and who wouldn't refuse to pay in front of cameras. > 3) Score stat. Unlike the current system, where score is your exp, a new > score stat will be developed. You gain score points by doing specific > things. For example, killing a monster, 1 pt. Solving a quest, 100-5000 > points. gaining a level, level*100 points, killing a player accidentally, > -500 points, killing yourself accidentally, -50 points.. Perhaps even > re-entering the hall-of-selection to start your character over, gives you a > big bonus if you do so above level 108. In this way, score can be a > meaninful representation of your accomplishments in the game, and the top10 > scoreboard will show something other than 10 people who are currently at > max exp. Players can continue to accumulate a score even when reaching the > topmost level. not sure about usefulness ofthis, but a try is needed to be fixed on it. Again giving score for quest accomplishment may need to do some mapmaking to take into account this (and be carefull only on guy can solve a quest at the time, to easy to enter a map cleared by a big player and then 'solve the quest') > > These ideas are mostly fleshed out in my head.. at a basic level. Fix them better before applying. Just to prevent some disaster. Put on paper all you want to do exactly, influence on game play, what would be the rules, aso. > The > specifics of implementation aren't fully fleshed out, but none of these > seem particularly difficult to implement. Ideas/criticisims welcome. If > fame and appearance work out, perhaps Charisma can be phased out. No, i don't think. As i see your thing, fame and appeareance is only a 'per player basis' (may be a monthly vote for mister & miss crossfire?). This shouldn't remove cha, since cha, in my mind, is not only fame and appearence, but also some kind of aura around you. Someone ugly, mentally deficient can have good cha, thought he couldn't acheive quest or find beautifull clothes. Simply, people around him are showing pity, or like him for his stupidness. CHA is more than fame of appeareance i think. > If > anyone wants to tackle one of these, contact me off-list. > > --- > Tim Rightnour > NetBSD: Free multi-architecture OS http://www.netbsd.org/ > NetBSD supported hardware database: > http://mail-index.netbsd.org/cgi-bin/hw.cgi > One last thing, if you implement this, could you do this in an optionnal way, in a plugin? So this is easy to choose if you want them or not. Plugins were needed, in the begining to add optionnal things to server or to change, on a test basis, server behaviour without interfering with CVS mainstream. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/LUNVHHGOa1Q2wXwRAueuAKCCB+cZvSAuTLT4LWMCQCFlGdlKEQCfcuYr uKmFCPRq/FkxzUUXu6xVKvQ= =E95z -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 3 12:18:20 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Compilation warnings question In-Reply-To: <3F2CBAB6.1070502@laposte.net> References: <3F2A6E6D.1040207@laposte.net> <200308021804.10645.tchize@myrealbox.com> <3F2CBAB6.1070502@laposte.net> Message-ID: <200308031918.27740.d.delbecq@laposte.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Dimanche 03 Ao?t 2003 09:33, Nicolas Weeger a ?crit : > tchize wrote: > >No warnings at all using linux. > > > >Perhaps you have problems with the new 64bits experience code. > >You compiler may be using 32 bits instead of 64 at some place. > >Could you dump a bit of the warnings so we could check the problem? > >Thanks > > There are warnings in maaaaaaaaaaany files, not only exp/map ones... So > i assume there's a difference in implicit/explicit conversions between > gcc & msvc. Note many are the kind 'signed/unsigned mismatch', so it > isn't too bad. There are some truncation warnings. > > Here a a few random messages: > g:\projets\gpl\crossfire-modifi?\crossfire\server\weather.c(174) : > warning C4305: 'initializing' : truncation from 'const double ' to 'float ' > g:\projets\gpl\crossfire-modifi?\crossfire\server\weather.c(1303) : > warning C4018: '==' : signed/unsigned mismatch > g:\projets\gpl\crossfire-modifi?\crossfire\socket\image.c(346) : warning > C4761: integral size mismatch in argument; conversion supplied > g:\projets\gpl\crossfire-modifi?\crossfire\socket\init.c(235) : warning > C4133: 'function' : incompatible types - from 'int *' to 'const char *' > g:\projets\gpl\crossfire-modifi?\crossfire\socket\request.c(308) : > warning C4101: 'smoothname' : unreferenced local variable > > FYI, 565 warnings when building the server itself :-) > > Nicolas 'Ryo' > May be a core problem with typedefs for sint32, aso, checking, may take a while. And thanks for information... > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/LUPhHHGOa1Q2wXwRArkuAJ9dnHVbxgIV0r2AUaJNF98A8c/hAACffdDa o3CZlBfcJ0WwP+3hmSKEwxA= =v3Xv -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 3 12:19:08 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Re: [Crossfire-cvs] CVS commit: crossfire In-Reply-To: <3F2CBB99.2090407@laposte.net> References: <3F2C17E1.2020801@sonic.net> <3F2CBB99.2090407@laposte.net> Message-ID: <200308031919.16438.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Dimanche 03 Ao?t 2003 09:36, Nicolas Weeger a ?crit : > Mark Wedel wrote: > > crossfire-cvs-admin@lists.sourceforge.net wrote > > > > Please do not use // style comments. > > > > That is not legal ANSI C, and some compilers will error when using > > those (in theory, any that actually conforms properly to ANSI C). > > > > If they are all with #ifdef WIN32 areas, I don't care. But some of > > the ones I see below are after the #else or #endif. So non WIN32 > > systems will see those comments, and if using a properly conforming > > compiler (not gcc), the code will not be compilable! > > Oh sorry, guess i learned something today ^_^ > Should i resubmit my patch? Sorry, my mistake, didn't notice the C++ style comments in your patch. Just checking it has been corrected in cvs by Mark and if not, correcting myself, well when sourceforge will allow cvs to update here :P > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/LUQSHHGOa1Q2wXwRAq9SAJ90MHy3KfnBw1+/O5HzC+o9SdZ1HgCdFSS+ AKRRZYL28TnGRn+U02U7xNU= =8xEt -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 3 12:56:25 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] gimp and java editor References: <1059857850.4168.20.camel@oberon.Kameria> Message-ID: <15659.1059933385@www22.gmx.net> Todd Mitchell wrote: > When using Gimp (with gnome2 anyway) there are previews > files created in each directory you have worked on images > called .xvpics. That's all fine and good (although it seems > to represent an annoying trend) but my problem is that these > previews seem to interfere with the CFJavaEditor (using > Java 1.4jre - blackdown on Debian and Sun's on redhat). > If there is a picture with one of these previews in the arch > folder I am using to feed the CFJavaEditor(I always open it and > have it do a fresh collect), that image will not show up with > the associated arch. Just an empty image as if there is no > image file. I have to make sure I delete all the .xvpic folders > all the time - very annoying. It seems strange this happens, > anyone care to venture why it does? There are two things: First, the JavaEditor doesn't like dots '.' in the file path because it gets confused with the naming conventions (you know, these ".base.111" endig rule thingies). This might happen with the ".xvpic" directories. Second, the editor traverses directories recursively, and when there are two instances of the same image file, only one of them stays in the end. If the backup files have the same name as the original, they might actually replace it. What I can do is make the editor ignore all directories starting with a dot character. I guess that would make sense anyways and most likely fix your problem. AndreasV -- COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test -------------------------------------------------- 1. GMX TopMail - Platz 1 und Testsieger! 2. GMX ProMail - Platz 2 und Preis-Qualit?tssieger! 3. Arcor - 4. web.de - 5. T-Online - 6. freenet.de - 7. daybyday - 8. e-Post _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 4 01:47:19 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Ideas for interplayer competition In-Reply-To: <200308031916.06422.tchize@myrealbox.com> Message-ID: On 03-Aug-03 tchize wrote: [appearance] > Looks to me like charism, but more specific to top models immitating. Quiet > interresting, but are players interrested in standing at the top 10 glamour > characters? Charisma is one of those stats that is supposed to reflect your personality more than your physical appearance. IMO, charisma doesn't make sense in a computer RPG, as the role playing aspect is toned out alot, your charisma is really how you act in general. As for player interest.. we will see. Usually players find an interest in being #1 at something, it's more a competitive aspect. Something fun to fiddle with on the side when you don't feel like adventuring. >> 2) New stat: "Fame". Fame will be another open-ended stat, where players > > Interresting too but this would mean modifying some quest to update those > stats. > I don't think fame should be used in shops or perhaps not in the way you may > think. For myself, when i see someone famous coming in my shops, with cameras > nearby, i will be glad to increase prices by 500% or 2000% since, this is the > kind of guy having money and who wouldn't refuse to pay in front of cameras. Its a plausible result. The other possibility is he is just glad to have the famous guy "endorsing" his store. Or we could just not take it into account. Another thing I was thinking was to have fame be a signed int, so you could become infamous with a negative fame. > No, i don't think. As i see your thing, fame and appeareance is only a 'per > player basis' (may be a monthly vote for mister & miss crossfire?). This > shouldn't remove cha, since cha, in my mind, is not only fame and appearence, > but also some kind of aura around you. Someone ugly, mentally deficient can > have good cha, thought he couldn't acheive quest or find beautifull clothes. > Simply, people around him are showing pity, or like him for his stupidness. > CHA is more than fame of appeareance i think. I was kind of thinking that the combination of fame and appearance could replace Cha. > One last thing, if you implement this, could you do this in an optionnal way, > in a plugin? So this is easy to choose if you want them or not. Plugins were > needed, in the begining to add optionnal things to server or to change, on a > test basis, server behaviour without interfering with CVS mainstream. I'm not sure how exactly I'm supposed to make a "plugin" for this. I'm certainly not going to write it in Python. It could conceivably be compiled out.. but at some point.. thats going to cause trouble if we ever want it to show up in the client as a stat. This change is fairly non invasive, and really won't affect things around it, or even gameplay until we make it actually do so. --- Tim Rightnour NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 4 01:57:40 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Stats adjudication In-Reply-To: <20030802100754.45693.qmail@web21310.mail.yahoo.com> References: <20030802100754.45693.qmail@web21310.mail.yahoo.com> Message-ID: <3F2E03E4.2090002@sonic.net> David Seikel wrote: > Since it looks like a lot of thought is going into changing this, I would > like to make a suggestion. > > Any major change would have to be well thought out and well tested to look > for abuse. I think that borrowing from a well established RPG would be > useful to cut down on this work as the thought and testing has been done > for us, and the people that play these games are very familiar with the > abuses possible. > > While I am unable to give any details right now, I would like to recomend > GURPS as a very good points / skills based character generation system. I > can't give any details at the moment as all my GURPS manuals are a few > thousand kilometers away on the other side of Australia B-(. The system should be thought out - that I agree on. But trying to use an existing RPG may not be the best method. For example, in games where players sit around a table, Charisma may come into play a lot more. Likewise, to say that how skills map in GURPS (or any other system) to their usefulness in crossfire probably is approximate at best. Once again, personality stats can be much more important in LRPGs than crossfire where they really are not used much. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 4 02:20:11 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Ideas for interplayer competition Message-ID: <1059981611.ba2e56a0yann.chachkoff@myrealbox.com> >> One last thing, if you implement this, could you do this in an optionnal way, >> in a plugin? So this is easy to choose if you want them or not. Plugins were >> needed, in the begining to add optionnal things to server or to change, on a >> test basis, server behaviour without interfering with CVS mainstream. >I'm not sure how exactly I'm supposed to make a "plugin" for this. I'm >certainly not going to write it in Python. It could conceivably be compiled >out.. but at some point.. thats going to cause trouble if we ever want it to >show up in the client as a stat. This change is fairly non invasive, and >really won't affect things around it, or even gameplay until we make it >actually do so. May I remind one small detail ? Plugin != Python It doesn't yet seem very clear for a lot of people... Do I really need to rewrite more extensive docs about that ? _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 4 05:53:33 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Ideas for interplayer competition In-Reply-To: References: Message-ID: <200308041253.41511.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Lundi 04 Ao?t 2003 08:47, Tim Rightnour a ?crit : > On 03-Aug-03 tchize wrote: > [appearance] > > > Looks to me like charism, but more specific to top models immitating. > > Quiet interresting, but are players interrested in standing at the top 10 > > glamour characters? > > Charisma is one of those stats that is supposed to reflect your personality > more than your physical appearance. IMO, charisma doesn't make sense in a > computer RPG, as the role playing aspect is toned out alot, your charisma > is really how you act in general. As for player interest.. we will see. > Usually players find an interest in being #1 at something, it's more a > competitive aspect. Something fun to fiddle with on the side when you > don't feel like adventuring. > > >> 2) New stat: "Fame". Fame will be another open-ended stat, where > >> players > > > > Interresting too but this would mean modifying some quest to update those > > stats. > > I don't think fame should be used in shops or perhaps not in the way you > > may think. For myself, when i see someone famous coming in my shops, with > > cameras nearby, i will be glad to increase prices by 500% or 2000% since, > > this is the kind of guy having money and who wouldn't refuse to pay in > > front of cameras. > > Its a plausible result. The other possibility is he is just glad to have > the famous guy "endorsing" his store. Or we could just not take it into > account. Another thing I was thinking was to have fame be a signed int, so > you could become infamous with a negative fame. > > > No, i don't think. As i see your thing, fame and appeareance is only a > > 'per player basis' (may be a monthly vote for mister & miss crossfire?). > > This shouldn't remove cha, since cha, in my mind, is not only fame and > > appearence, but also some kind of aura around you. Someone ugly, mentally > > deficient can have good cha, thought he couldn't acheive quest or find > > beautifull clothes. Simply, people around him are showing pity, or like > > him for his stupidness. CHA is more than fame of appeareance i think. > > I was kind of thinking that the combination of fame and appearance could > replace Cha. I really think CHA should be kept untouched. Dunno what others thinks about it. > > > One last thing, if you implement this, could you do this in an optionnal > > way, in a plugin? So this is easy to choose if you want them or not. > > Plugins were needed, in the begining to add optionnal things to server or > > to change, on a test basis, server behaviour without interfering with CVS > > mainstream. > > I'm not sure how exactly I'm supposed to make a "plugin" for this. I'm > certainly not going to write it in Python. It could conceivably be > compiled out.. but at some point.. thats going to cause trouble if we ever > want it to show up in the client as a stat. This change is fairly non > invasive, and really won't affect things around it, or even gameplay until > we make it actually do so. > I did no say to script it, but to plugin it, as a plugin you have access to all objects structure like in main crossfire code. you have acces to most crossfire function using the hooks availables and you have to ability to create new client-server command or override existing ones. And it's simply C code. There is in the plugin directorie a sample *do nothing* script which have the complete interface of plugin. This just make things a lot easier to rip away if not interresting or if simply not yet stable enough. Plugins were designed to prevent having beta code to be surrounded by #ifdef in conditionnal code. This does not make things more difficullt to code. In fact this make code a bit clearer. You may want to take a look at the code of plugin animator, it was used to take control of any character and make it follow an animation movments written in an external file. Please give a try to the plugins. > --- > Tim Rightnour > NetBSD: Free multi-architecture OS http://www.netbsd.org/ > NetBSD supported hardware database: > http://mail-index.netbsd.org/cgi-bin/hw.cgi > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/LjszHHGOa1Q2wXwRAqUuAJ4g06bfSyPuRGy0+fkHG2vJzzKhBwCeKcLe eFjcmM7NweO9AMUcDt+aZEA= =1Hys -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 4 07:49:33 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Item renaming: proposal, status, question Message-ID: <3F2E565D.8040904@laposte.net> Hello. I started to work on item renaming. Added a custom_name field to object structure. Here's what i currently did, and some questions i have / points on which i'd like others' opinion : * custom name appears in inventory & ground lists * you can use it with apply, mark, any command requiring an item name (as long as item_matched_string is used) * the 'real' name of an item is not modified * items with a 'real' name matching take precedence over custom names. So if I rename my 'haggises' 'wine', and have a 'bottle of wine' in inventory, 'apply wine' will apply the bottle of wine. * custom name is removed when selling an item, but kept when dropped elsewhere I wonder what to do for plural names. Should the 'rename' function take 2 arguments? Enclosed in " then, maybe. Or another custom plural name field? Any suggestions, criticisms, comments are welcome :-) Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 4 10:38:34 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Item renaming: proposal, status, question In-Reply-To: <3F2E565D.8040904@laposte.net> References: <3F2E565D.8040904@laposte.net> Message-ID: <1060011513.475.1.camel@oberon.Kameria> > I wonder what to do for plural names. Should the 'rename' function take > 2 arguments? Enclosed in " then, maybe. Or another custom plural name field? > Add an 's' and if it looks funny the player can rename it again. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 4 10:52:59 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:49 2005 Subject: [CF-Devel] Item renaming: proposal, status, question In-Reply-To: <1060011513.475.1.camel@oberon.Kameria> References: <3F2E565D.8040904@laposte.net> <1060011513.475.1.camel@oberon.Kameria> Message-ID: <3F2E815B.5040308@laposte.net> > Add an 's' and if it looks funny the player can rename it again. > > But what about a player that wants to make 'quiverS of fire arrows'? I for one will prolly only use one item with one custom name (ie no 2 quivers of fire arrows), but it's better to implement it the best way (cf Mark's reply), which I think is 2 fields... Just my 2 cents Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 4 17:00:20 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] two new small additions In-Reply-To: <1059933333.477.21.camel@oberon.Kameria> References: <1059933333.477.21.camel@oberon.Kameria> Message-ID: <1060034420.475.40.camel@oberon.Kameria> Updating my own post since there has been IRC and Forum discussion on this Outlaw thing. These changes to the initial proposal have been suggested which I am willing to go along with... Use a counter rather than a flag, Failed stealing attempts against other players, attacking or killing a player who is not an outlaw will all add a point to this counter. Getting killed *by another player* will remove a point. Other actions could also be set up to remove points. Dm command toggle_outlaw will become of course set_outlaw... The Who command will show something relating to level of badness. Killing a outlaw will get you a bounty (a body part, a dropped item, or what have you.) I also suggest the following changes - a cap on the counter (rather low to avoid players doing too much damage trying to be the baddest fellow (which will happen)- something like ~10 levels of badness I was thinking.) Attacking or killing a non outlaw player gives you a point ONLY WHEN you are NOT peaceful. Otherwise it is considered an accident. If you have been killed by a sneaky peaceful fellow - call a DM to ajudicate. And before you send a scandalized reply about adding organizing PVP - consider that there is currently *no* repercussions or tracking done for Players killing Players. This would allow for such local server rules as destroying or banning players with a specific outlaw score (via script even). On Sun, 2003-08-03 at 13:55, Todd Mitchell wrote: > I would like to do two minor changes: > > 1: Add a new player flag called FLAG_OUTLAW which can be set when > players kill other players(but only players who do not have this flag > set), when stealing attempts against other players fail or by the DM > (toggle_outlaw command...). > This flag can be used as a way to block certain players from certain > areas, and if a player has been set as an outlaw it will appear on the > who command. I am sure there are other things it could be used for as > well. > > This flag will reset when you die or when it is toggled by a DM. > > For more background on this see these threads on the Crossfire fourm: > http://www.metalforge.net/cfmb/viewtopic.php?t=132 > http://www.metalforge.net/cfmb/viewtopic.php?t=133 > _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 4 16:52:46 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] two new small additions In-Reply-To: <1060034420.475.40.camel@oberon.Kameria> Message-ID: On 04-Aug-03 Todd Mitchell wrote: > Attacking or killing a non outlaw player gives you a point ONLY WHEN you > are NOT peaceful. Otherwise it is considered an accident. If you have > been killed by a sneaky peaceful fellow - call a DM to ajudicate. I worry about this with ranged attacks. It's quite simple for me to have peaceful on and bombard players with fireballs, whereas a physical attack with peaceful on is much more difficult. (I did it once by accident while braced, typing stay fire, going north, and having some dorf walk in front of me.) With a forgive command, you can easily forgive your friend that you are adventuring with, or forgive an accident. We could just reference the killed_by on the victim, or have a last_killed pointer for the killer. If you kill twice, well, I guess you just don't get forgiven. And before anyone says this is too harsh, let us be reminded that if I was standing in the street shooting RPG's down the block and you turned the corner in your car and got hit, I'd probably be charged with a pretty serious crime. :) Yah.. I know.. just a game. You have to admit though.. it's a pretty wonky concept to be able to walk around killing freindly barmaids all day and never even draw an awkward glance. :) --- Tim Rightnour NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 03:29:24 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] Item renaming: proposal, status, question In-Reply-To: <3F2E815B.5040308@laposte.net>; from Nicolas Weeger on Mon, Aug 04, 2003 at 05:52:59PM +0200 References: <3F2E565D.8040904@laposte.net> <1060011513.475.1.camel@oberon.Kameria> <3F2E815B.5040308@laposte.net> Message-ID: <20030805102924.B11277@diegeekdie.com> On Mon, Aug 04, 2003 at 05:52:59PM +0200, Nicolas Weeger wrote: > > > Add an 's' and if it looks funny the player can rename it again. > > > > > > But what about a player that wants to make 'quiverS of fire arrows'? > I for one will prolly only use one item with one custom name (ie no 2 > quivers of fire arrows), but it's better to implement it the best way > (cf Mark's reply), which I think is 2 fields... This is mostly an user interface issue, but maybe one can write it as "quiver(s) of fire arrows" when doing the renaming and the code will convert it to a singular and plural name? Nobody wants to write "quiver of fire arrows" twice. Have some escape mechanism if one really want parenthesis in the name. If there are no parenthesis, the normal (s/es) additioning could be used to create the plural name. /Sebastian _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 01:27:43 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] Item renaming: proposal, status, question In-Reply-To: <3F2E565D.8040904@laposte.net> References: <3F2E565D.8040904@laposte.net> Message-ID: <3F2F4E5F.8070707@sonic.net> Nicolas Weeger wrote: > Hello. > > I wonder what to do for plural names. Should the 'rename' function take > 2 arguments? Enclosed in " then, maybe. Or another custom plural name > field? I'd just use whatever the player provides. If the player cares, he can rename it with the proper plural. Most likely, they can probably give the proper plural name in the initial rename. Trying to do anything else is more complicated, and very error prone (marks favorite rubys for example). There used to be several special case things in the client just to deal with making plurals (if its an 'of' item, you want to pluralize the word before the of. you have to worry about y->ies plural, etc). I just don't think this details are really worth the effort. In most cases, plurals won't be dealing with objects that cycle between plural and non plural a lot. And it strikes me that if I name an item, I want that name to be used - I don't want the server mucking with it, potentially causing bound commands I have to no longer match. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 01:41:03 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] Ideas for interplayer competition In-Reply-To: References: Message-ID: <3F2F517F.4000307@sonic.net> Tim Rightnour wrote: > Som ideas I've had for a little interplayer competition. Consider this a > proposal, and something I am likely to do unless people blaspheme about it. > > > 1) New stat: "Appearance". This stat will reflect your physical appearance. > The stat will probably be rolled at player creation, to be between 1 and 20. > The stat will max out at about 1000, but with no set limit. Appearance can be > modified by wearing different types of items, in different combinations. Most > likely the programming for this will consist of a complex set of conditions, > that give scores to certain combinations of equipment. A specific list of > "what is best" will not be drawn up, rather, the engine will be set in place, > and tuned to the point where it is self sustaining, and somewhat unpredictable. > The basic rules will be that accenting materials, or matching materials can > give a bonus, item value will play a role, things like Chr bonuses, etc. The > score can be used to determine how shopkeepers react to the player, and for a > top 10 list, players can compete on. I'm a little wary of this. Presumably appearance would be highly variable then. I can put on my pretty gear and have potentially a pretty high appearance, but when I go back to my adventuring gear, appearance would go down quite a bit. I personally don't really see much point of this as an actual stat. If you want to do this, no big deal, but I think it might be 'better' to do this as a special building in scorn, eg, show place or whatever. Then, when a player gets all prettied up and goes down the runway or whatever, the appearance is calculated at that point, and recorded. One could potentially make this more interesting by doing something like have entrance fees, prizes (based on number of people that entered), etc. To make it so the same person doesn't win, if you want to collect a prize, you need to leave behind the items you wore for the runway (museum wants them for posterity). Something less than that could be done. But by having it calculated only at certain times, it still has the purpose you stated (competition), but I think would be simpler and more sane. How one looks like in their apartment really shouldn't matter, because after all, no one is seeing them. > > 2) New stat: "Fame". Fame will be another open-ended stat, where players can > accumulate points in it. Things such as becoming a noble of scorn, solving > certain quests, level, time spent online, etc etc can all contribute to your > fame score. Initially, your fame will primarily be a competive stat, with a > top 10 board. But eventually it could be used in shops, and in things like > gaining followers, etc. (maybe you need to be famous to start your own guild) 'Reputation' might be a better name. Could be very famous people no one likes. Reputation would suggest that people like you, and thus discounts in shops, more NPC information (if such an idea is coded), could all be adjusted by this. It would otherwise have most of the same things. I'm not sure if it makes any sense tieing it to time spent on line - that actually seems pretty pointless. Ok, I go to bed for the night, but leave my character in his apartment atop a huge pile of food (plus, make sure he has the sustenance ring on). What does that really prove, other than I have a connectin I can leave on all the time. Arguably, reputation could go down based on time spent on line. A famous person that hasn't done anything recently could start to be forgotten. Thus, if you want to keep your reputation up, you have to keep doing things. But it should also be relative. If you say reputation ranges from 1 to 1000, with normal being 100, if your reputation is 1, doing anything would give you quite a bump. But if your reputation is 900, doing some trivial quest that would normally give you a reputation bump probably won't do much. Eg, people don't care that much if that really famous person clears out the sewers of scorn. Kill all the dragons, people might care about that. > > 3) Score stat. Unlike the current system, where score is your exp, a new > score stat will be developed. You gain score points by doing specific things. > For example, killing a monster, 1 pt. Solving a quest, 100-5000 points. > gaining a level, level*100 points, killing a player accidentally, -500 points, > killing yourself accidentally, -50 points.. Perhaps even re-entering the > hall-of-selection to start your character over, gives you a big bonus if you do > so above level 108. In this way, score can be a meaninful representation of > your accomplishments in the game, and the top10 scoreboard will show something > other than 10 people who are currently at max exp. Players can continue to > accumulate a score even when reaching the topmost level. I have no real problem with score. I don't see much point. If we're going to add score bonus, probably just as well we should add exp bonus (a feature sorely lacking in quests - some quests have some items at the end, but most RPG's give a significant exp reward for completing quests). Of course, this could get bundled in with #2 above. Add an object that gives exp/score/reputation bonuses (not necessarily the same values for all of them, but some object with the potential to add such values). _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 01:45:19 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] two new small additions In-Reply-To: <1060034420.475.40.camel@oberon.Kameria> References: <1059933333.477.21.camel@oberon.Kameria> <1060034420.475.40.camel@oberon.Kameria> Message-ID: <3F2F527F.7030403@sonic.net> Todd Mitchell wrote: > > Getting killed *by another player* will remove a point. Other actions > could also be set up to remove points. Not of course that players who are outlawed could control this (eg, have a friend kill them). > > Dm command toggle_outlaw will become of course set_outlaw... > > The Who command will show something relating to level of badness. More interesting would be having wanted posters in scorn or other cities. > > > And before you send a scandalized reply about adding organizing PVP - > consider that there is currently *no* repercussions or tracking done for > Players killing Players. This would allow for such local server rules > as destroying or banning players with a specific outlaw score (via > script even). Player killing other players is logged in the server logs, so server admins can easily see who has killed who. I'm pretty sure there is already a 'killer' field in the player object, so knowing who last killed you is available. Getting a negative point for killing another player under any circumstance, but also allowing a 'forgive' command seems like a reasonable approach. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 02:03:49 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] Ideas for interplayer competition In-Reply-To: <3F2F517F.4000307@sonic.net> Message-ID: On 05-Aug-03 Mark Wedel wrote: > I'm a little wary of this. > > Presumably appearance would be highly variable then. I can put on my > pretty > gear and have potentially a pretty high appearance, but when I go back to my > adventuring gear, appearance would go down quite a bit. > > One could potentially make this more interesting by doing something like > have > entrance fees, prizes (based on number of people that entered), etc. To make > it > so the same person doesn't win, if you want to collect a prize, you need to > leave behind the items you wore for the runway (museum wants them for > posterity). > That was basically what I wanted it to be. You would get all dressed up, walk up to the scoreboard or runway or whatever, and you would "register". It would then take your current appearance score, and put you on the list. As a stat.. it's functionality would differ slightly. The appearance stat will allways be your current appearance. If you take of all your pretty gold robes, and put on the crap, then your appearance goes down. With whatever effect we might make that incur. (perhaps nothing for now) The idea of the board was just a competive stat. Not that the player would register that he looked good once, and then get the effects of having that appearance all day long. The only problem with prizes is, when do you give them out? At what point during the game does the game decide "he wins"? >> 2) New stat: "Fame". Fame will be another open-ended stat, where players > > 'Reputation' might be a better name. Could be very famous people no one > likes. Reputation would suggest that people like you, and thus discounts in > shops, more NPC information (if such an idea is coded), could all be adjusted > by > this. It would otherwise have most of the same things. I'm not sure if it > makes any sense tieing it to time spent on line - that actually seems pretty > pointless. Ok, I go to bed for the night, but leave my character in his > apartment atop a huge pile of food (plus, make sure he has the sustenance > ring > on). What does that really prove, other than I have a connectin I can leave > on > all the time. Was just brainstorming really.. > But it should also be relative. If you say reputation ranges from 1 to > 1000, > with normal being 100, if your reputation is 1, doing anything would give you > quite a bump. But if your reputation is 900, doing some trivial quest that > would normally give you a reputation bump probably won't do much. Eg, people > don't care that much if that really famous person clears out the sewers of > scorn. Kill all the dragons, people might care about that. Thats an interesting idea.. As I said in another post.. I was considering making it signed.. so you could become infamous. I think the conditions for gaining fame can be tweaked as we go. I'm wary of having it mimic score too closely. It's not unreasonable to make fame decay towards zero. I kind of like that actually. >> 3) Score stat. Unlike the current system, where score is your exp, a new > I have no real problem with score. I don't see much point. If we're going > to > add score bonus, probably just as well we should add exp bonus (a feature > sorely > lacking in quests - some quests have some items at the end, but most RPG's > give > a significant exp reward for completing quests). > > Of course, this could get bundled in with #2 above. Add an object that > gives > exp/score/reputation bonuses (not necessarily the same values for all of > them, > but some object with the potential to add such values). I agree.. quests should dole out exp. I think my point with score is just that its a competitve stat. Some people like having something that they can point at and say they are the best. Others find a reason to play in it, as it gives them a goal "have to get a better score than bob". IMHO, it's a simple enough feature to add, won't cause any real effects in the game, and a few people might like it. I mean.. look at the way people compete in nethack for high scores.. or pacman for that matter. --- Tim Rightnour NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 04:52:10 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] Ideas for interplayer competition In-Reply-To: <3F2F517F.4000307@sonic.net>; from Mark Wedel on Mon, Aug 04, 2003 at 11:41:03PM -0700 References: <3F2F517F.4000307@sonic.net> Message-ID: <20030805115210.C11277@diegeekdie.com> On Mon, Aug 04, 2003 at 11:41:03PM -0700, Mark Wedel wrote: > pointless. Ok, I go to bed for the night, but leave my character in his > apartment atop a huge pile of food (plus, make sure he has the sustenance ring > on). What does that really prove, other than I have a connectin I can leave on > all the time. One could stop counting after a while if you stop doing things (moving to new maps, killing monsters etc). I've seen other games where other people have to "tell/talk" to you for the time to count. All of that is of course easy to go around with the right bot, but servers can (and should) have rules about bots. > > 3) Score stat. Unlike the current system, where score is your exp, a new > > score stat will be developed. You gain score points by doing specific things. I would rather see nethack:ish score, where the score is counted from your xp, your stats and the things you have. That way all my coins in the appartment would have some use... ;-) /Sebastian _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 02:12:11 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] Item renaming: proposal, status, question In-Reply-To: <3F2F4E5F.8070707@sonic.net> References: <3F2E565D.8040904@laposte.net> <3F2F4E5F.8070707@sonic.net> Message-ID: <3F2F58CB.4000104@laposte.net> Well, guess I'll just stick to one custom field and let the player sort the issues her/himself... > In most cases, plurals won't be dealing with objects that cycle > between plural and non plural a lot. And it strikes me that if I name > an item, I want that name to be used - I don't want the server mucking > with it, potentially causing bound commands I have to no longer match. The custom name won't be modified. It'll just be used like that. But as I pointed, as I have implemented it, real name takes precedence over custom name. It's the player's responsibility to make sure to use, in an apply/mark/examine/whatever command enough of the custom name to not match another item's name. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 02:21:56 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] Proposal: jobs Message-ID: Another idea.. but this one I've actually got partially working in code.. Basically, jobs. Similar to quests, but of a less sweeping nature. In a nutshell.. the game will have a collection of little jobs for the player to perform. There will be a board in town, where players read the board, and accept a job. A job can be something simple, like "bring me a gold dagger". The player reads the job description, and accepts the job. The board marks that job as [ACCEPTED], so nobody else can take it. The player can only take one job at a time. Now the player finds a gold dagger, and comes back to the board. He "completes" the job, with a command, and the board acknowledges that he has completed the job, and marks it [OPEN] again for other players. If the player cannot complete the job, he can give up. Jobs will have an exp stat, and a value, so a reward can be exp, or monetary in nature. Perhaps if you fail to complete a job, it will give you a penalty of 1/10th the exp of the job. A job could have a timelimit, after which, it will expire, charge the player the exp penalty, and return to an open status. Jobs can only be performed by a player once each. Implementation details: A new object type, JOB. This object contains data on the job, such as reward, object required, name of creature you have to kill, or whatever. These jobs are placed inside a "board" object. The board object is a simple object that can be used for other things than just the job system. When a player applies the board, he sees the contents of the board, or in the case of jobs, the individual jobs that are available. A player can get details of a job by typeing "checkboard 1" Which will give him the details on job number 1 on the board. A player can accept a job with "accept_job 1". This will mark the job as accepted on the board, and give the player a copy of the job object. A player can complete the job with "complete_job 1". This doles out the reward, marks the job open on the board, and complete in his inventory. A player can giveup a job with "abort_job 1". Same deal. A player can look at his job status, with "jobs". This will tell him about the job he is currently tasked to complete. It might also tell him about jobs he has allready completed. A sample job object: Object job1 name Retrive a mithril dagger type 101 msg I am in need of a mithril dagger, without one, I cannot hope to regain my family honor. endmsg level 3 <- suggested level for job food 1 <- unique identifier, or jobnumber. exp 500 <- Exp reward value 1000 <- monetary reward other_arch dagger <- what the job expects materialtype mithril <- it wants the dagger to be mithril end A "kill this person" job could be done with: other_arch man <- the archtype of the target slaying Bob <- the op->name of the target title The Dork <- the title of the target. A simple check can be placed in the kill routine, so when a monster is killed, it checks the player's job inventory, and looks for a job matching that monster. --- Tim Rightnour NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 6 00:18:13 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] Proposal: jobs References: Message-ID: <000301c35bda$238f5520$1876e2d1@KAMERIA> I do think that it is worth working on just to improve the options/capabilities for mapmakers making quests... This is a often requested feature actually - a quest system. I really like the idea of the Job/quest object - although I think it would be something that would be part of a map set (a .qst file?) being that it would have to be map dependent. I really enjoy stressing that the arches and the maps and the server packages should operate as modularly as possible. I realize this complicates things a bit - but with two map sets and the possibility of custom mapsets, these mini quests should go with the maps rather than the arches. If you consider the lore field in the map header as requiring some sort of 'load process' to generate book content from the maps - perhaps this could be extended to read in these 'jobs' as well. - trivial but worth mentioning I thinkthat you should not be too specific on the usage commands so that any object could serve as a 'board' (a talking dog or a shop keeper for example) - especially when developing the commands for the interface. > > Another idea.. but this one I've actually got partially working in code.. > > Basically, jobs. Similar to quests, but of a less sweeping nature. > > In a nutshell.. the game will have a collection of little jobs for the player > to perform. There will be a board in town, where players read the board, and > accept a job. A job can be something simple, like "bring me a gold dagger". > The player reads the job description, and accepts the job. The board marks that > job as [ACCEPTED], so nobody else can take it. The player can only take one > job at a time. Now the player finds a gold dagger, and comes back to the > board. He "completes" the job, with a command, and the board acknowledges that > he has completed the job, and marks it [OPEN] again for other players. If the > player cannot complete the job, he can give up. > > Jobs will have an exp stat, and a value, so a reward can be exp, or monetary in > nature. Perhaps if you fail to complete a job, it will give you a penalty of > 1/10th the exp of the job. A job could have a timelimit, after which, it will > expire, charge the player the exp penalty, and return to an open status. Jobs > can only be performed by a player once each. > > Implementation details: > > A new object type, JOB. This object contains data on the job, such as reward, > object required, name of creature you have to kill, or whatever. > > These jobs are placed inside a "board" object. The board object is a simple > object that can be used for other things than just the job system. When a > player applies the board, he sees the contents of the board, or in the case of > jobs, the individual jobs that are available. > > A player can get details of a job by typeing "checkboard 1" Which will give him > the details on job number 1 on the board. > > A player can accept a job with "accept_job 1". This will mark the job as > accepted on the board, and give the player a copy of the job object. > > A player can complete the job with "complete_job 1". This doles out the reward, > marks the job open on the board, and complete in his inventory. > > A player can giveup a job with "abort_job 1". Same deal. > > A player can look at his job status, with "jobs". This will tell him about the > job he is currently tasked to complete. It might also tell him about jobs he > has allready completed. > > A sample job object: > > Object job1 > name Retrive a mithril dagger > type 101 > msg > I am in need of a mithril dagger, > without one, I cannot hope to regain > my family honor. > endmsg > level 3 <- suggested level for job > food 1 <- unique identifier, or jobnumber. > exp 500 <- Exp reward > value 1000 <- monetary reward > other_arch dagger <- what the job expects > materialtype mithril <- it wants the dagger to be mithril > end > > A "kill this person" job could be done with: > > other_arch man <- the archtype of the target > slaying Bob <- the op->name of the target > title The Dork <- the title of the target. > > A simple check can be placed in the kill routine, so when a monster is killed, > it checks the player's job inventory, and looks for a job matching that monster. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 13:23:39 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] Proposal: jobs In-Reply-To: <000301c35bda$238f5520$1876e2d1@KAMERIA> Message-ID: On 06-Aug-03 Todd Mitchell wrote: > I do think that it is worth working on just to improve the > options/capabilities for mapmakers making quests... This is a often > requested feature actually - a quest system. I really like the idea of the > Job/quest object - although I think it would be something that would be part > of a map set (a .qst file?) being that it would have to be map dependent. I > really enjoy stressing that the arches and the maps and the server packages > should operate as modularly as possible. I realize this complicates things > a bit - but with two map sets and the possibility of custom mapsets, these > mini quests should go with the maps rather than the arches. If you consider > the lore field in the map header as requiring some sort of 'load process' to > generate book content from the maps - perhaps this could be extended to read > in these 'jobs' as well. The jobs are objects just like any other object. You can put them in maps or arch files or wherever. Right now I'm still trying to come up with a good way that I can make sure the objects don't start trampling on one another. Inititally I had used "food" as a unique job id number. This doesn't work well for maps, because if everyone puts the jobs directly on the map.. its hard to tell where to start for the next number. Perhaps I'll use some combination of board number/job number, and put a file in the map directory where people can register thier unique board numbers. (I can't trust object numbers, because they are not persistent across reboots) The other problem I've smacked into is that currently there is no way to give "raw" experience. You have to staple it to a skill. I think thats supposed to change when mark finishes his work, so I might just have it pick a random skill until then. (or default to the enabled one when you complete) > - trivial but worth mentioning I thinkthat you should not be too specific on > the usage commands so that any object could serve as a 'board' (a talking > dog or a shop keeper for example) - especially when developing the commands > for the interface. the only one that is specific is the checkboard command. But thats because the board object is more than just a job board. I think I can probably program it to be a universal bulletin board object.. to some degree. Like for top 10 lists, we can just put a score obejct in the board, bubble sort them, and junk the bottom objects. Theoretically a player could post things on a board by writing them on paper and sticking it in the board's inventory. As for making NPC's hold jobs. I think you could probably do some trickery. Like put an invisible board under the floor in front of an NPC, and then have the NPC describe the job, and tell you to "accept_job 1 to take this job friend, but stand directly in front of me". NPC's can also just tell you "I have a job posted on the board, can you do it?" and perhaps be programmed to react to the presence of your job completion token later on. "thanks!" You actually have to stand on the board to use it right now. I might be able to expand that to check the square you are facing too.. but I'm not sure thats much better, as it won't help the "apply" command. Does anyone have a good board image? --- Tim Rightnour NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 14:51:42 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] CFJavaEditor Message-ID: <200308052151.49701.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Request for feature Am map making for a few days now, using the crossfire capabilities of tiled maps (north - east - south - west). My map are 50x50, so they don't fit in a whole window. When i need to create a new adjacent map, i cut and past the line or row of objects at the border to use as a starting point; so i know where the mountains-road-gras aso reside on adjacent map. However, doing this with editor mean doing a pack of cut & paste to have a complete row (a 50 square row using 12 sqaures cut and paste is a pain in the ass, and more when you do the paste on the wrong map in the middle of process). - From time to time, i also have to move a big thing like a 20x20 lake or something like. However since in 'map squares selection' mode (the left mouse button down+drag mode) , the editing window doesn't scroll and the up/down/left/right key can't be used to scroll the window things becomes very difficult. Could it be possible to have a sensitive window border (difficult) or easier, to still allow direction keys to scroll window when in selection mode? Could we also have classical magic keys like the ctrl-a to select all map and the click then shift-click to select a specific rectangle? But it's less important. Really need window scroll for the moment. Thanks in advance, may save me lots of time. By the way, if someone is interrested, i developped a quick and dirty gimp perl plugin to convert a grayscale picture to a 2 archetypes or 1 archetype + transparent area crossfire map (interresting to draw quickly a background) Demonstration can be seen at http://users.skynet.be/am248983/crossfirefire_nuke.png -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/MArTHHGOa1Q2wXwRAp7QAJ9sy3plKKIJCCUYyXTv/b1I6quTAQCeNUB0 vXPiLN/dSYqPjZ9AHSD7eAs= =idTc -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 14:58:24 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] CFJavaEditor In-Reply-To: <200308052151.49701.tchize@myrealbox.com> References: <200308052151.49701.tchize@myrealbox.com> Message-ID: <200308052158.30600.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Mardi 05 Ao?t 2003 21:51, tchize a ?crit : > http://users.skynet.be/am248983/crossfirefire_nuke.png > sorry, typo: http://users.skynet.be/am248983/crossfire_nuke.png > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/MAxkHHGOa1Q2wXwRAmdNAJ9KhJvm47iFcN1x6LU1X7YuXhLL7QCfaoPA hqSBlnbBPGjRuvAnDGxnIDg= =I+VM -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 15:02:54 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:50 2005 Subject: [CF-Devel] Proposal: jobs In-Reply-To: <000301c35bda$238f5520$1876e2d1@KAMERIA> References: <000301c35bda$238f5520$1876e2d1@KAMERIA> Message-ID: <200308052203.00805.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Mercredi 06 Ao?t 2003 07:18, Todd Mitchell a ?crit : > I do think that it is worth working on just to improve the > options/capabilities for mapmakers making quests... This is a often > requested feature actually - a quest system. I really like the idea of the > Job/quest object - although I think it would be something that would be > part of a map set (a .qst file?) being that it would have to be map > dependent. I really enjoy stressing that the arches and the maps and the > server packages should operate as modularly as possible. I realize this > complicates things a bit - but with two map sets and the possibility of > custom mapsets, these mini quests should go with the maps rather than the > arches. If you consider the lore field in the map header as requiring some > sort of 'load process' to generate book content from the maps - perhaps > this could be extended to read in these 'jobs' as well. > Err, just a question, what is the lore field supposed to contain when you make a map (i leave them empty for now) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/MA1zHHGOa1Q2wXwRAnQDAJ4zPnZNQdhFbs9Z/xU1KWWlOE1byQCg4UBm 50R6jtIDhbEpGvmg6GfWS70= =Fhcu -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 18:09:40 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] Proposal: jobs In-Reply-To: Message-ID: On Tue, 5 Aug 2003, Tim Rightnour wrote: > These jobs are placed inside a "board" object. The board object is a simple > object that can be used for other things than just the job system. When a > player applies the board, he sees the contents of the board, or in the case of > jobs, the individual jobs that are available. Would the "board" work like a sign - where a character would require the literacy skill in order to use it? - Rick Tanner leaf@real-time.com _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 18:15:08 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] Proposal: jobs In-Reply-To: Message-ID: Nevermind.. characters without the Literacy skill can still "read" signs. For some reason, I didn't think they could. On Tue, 5 Aug 2003, Rick Tanner wrote: > > On Tue, 5 Aug 2003, Tim Rightnour wrote: > > > These jobs are placed inside a "board" object. The board object is a simple > > object that can be used for other things than just the job system. When a > > player applies the board, he sees the contents of the board, or in the case of > > jobs, the individual jobs that are available. > > Would the "board" work like a sign - where a character would require the > literacy skill in order to use it? _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 5 19:48:39 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] Proposal: jobs In-Reply-To: <200308052203.00805.tchize@myrealbox.com> References: <000301c35bda$238f5520$1876e2d1@KAMERIA> <200308052203.00805.tchize@myrealbox.com> Message-ID: <1060130919.477.96.camel@oberon.Kameria> Lore field on in the map header is to hold information that is on the map that should eventually make its way into books and scrolls and stuff. An example would be if you make a lake you want to call Lac l'Amor you can put an entry for it in the lore field something like: lore Lac l'Amor @chance 10 Beautiful Lac l'Amor was the site of a terrible battle between the cities of Wellam and Tritt for the possession of the Ruby of l'Amor. It is said that the Ruby still lies at the bottom of the lake. endlore lore Ruby of l'Amor @chance 3 The Ruby of l'Amor is a powerful magic gem which, when worn grants great beauty and presence. @chance 1 The Ruby is said to be guarded by a powerful lake spirit. endlore > > Err, just a question, what is the lore field supposed to contain when you make > a map (i leave them empty for now) > _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 6 01:33:35 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] two new small additions In-Reply-To: <3F2F527F.7030403@sonic.net> References: <1059933333.477.21.camel@oberon.Kameria> <1060034420.475.40.camel@oberon.Kameria> <3F2F527F.7030403@sonic.net> Message-ID: <1060151615.477.122.camel@oberon.Kameria> On Tue, 2003-08-05 at 02:45, Mark Wedel wrote: > Todd Mitchell wrote: > > > > > Getting killed *by another player* will remove a point. Other actions > > could also be set up to remove points. > > Not of course that players who are outlawed could control this (eg, have a > friend kill them). > I don't mind if players who which to loose their outlaw status have a friend kill them since they will still get killed - which isn't nice. It does point out a problem with bounties though. I think a prestige bounty is probably better than a value bounty. > > > > Dm command toggle_outlaw will become of course set_outlaw... > > > > The Who command will show something relating to level of badness. > > More interesting would be having wanted posters in scorn or other cities. > > The idea behind putting it in who is to give players a good warning system on who is either a thief or a killer. A wanted board would be nice too however. I think that players should be able to see always/immediatly who to watch out for though. > > I'm pretty sure there is already a 'killer' field in the player object, so > knowing who last killed you is available. Getting a negative point for killing > another player under any circumstance, but also allowing a 'forgive' command > seems like a reasonable approach. Killer is just a char field that stores the name of your killer - maybe I can whip up a forgive command by looking up the name in killer but if you are killed by a giant before you can forgive your friend then he would be out of luck. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 6 01:26:35 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] Proposal: jobs In-Reply-To: References: Message-ID: <3F309F9B.6020501@sonic.net> The new skill code will remove the tie between overall exp and that of the skills. However, a few suggestions: Use a character string to track uniqueness of jobs (slaying field or the like). I'm presuming your putting a force object in the player to track that they have completed the job? There is certainly no reason that you can't have a numeric selection method, but have some other tag to denote the jobs the player has done. This is probably better just in the long run. For example, you may want to list the jobs by difficulty - if someone comes up with a new job, and pushes the existing jobs down a slot, you don't want everything screwed up. I can understand only allowing the player to take one job at a time. But why block it off to other players? Given the nature of the game, that doesn't make a lot of sense to me. And I don't see any technical reason for that. As an aside, the new skill stuff should allow one to specify which particular skill the exp would go to. This could prove to be more interesting - skills that are difficult/impossible to normally gain exp for could have exp rewards in these jobs or quests. I'd think some form of better user interface is required - requiring players to type odd ball commands doesn't seem that realistic. A more simplistic approach would be when applying the job board, it lists the current jobs, lists if you have any jobs, and then asks for what job you accept (if you have a current job, accepting another job means you give up your current one). Have some options for something like 'give up current job' as well as 'don't accept any of the existing jobs'. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 6 01:56:49 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] two new small additions In-Reply-To: <1060151615.477.122.camel@oberon.Kameria> Message-ID: On 06-Aug-03 Todd Mitchell wrote: > Killer is just a char field that stores the name of your killer - maybe > I can whip up a forgive command by looking up the name in killer but if > you are killed by a giant before you can forgive your friend then he > would be out of luck. Why not add another field to the object structure, and record the name of the player you last killed, rather than relying on the killer field? --- Tim Rightnour NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 6 21:39:47 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] two new small additions References: Message-ID: <000401c35c8d$2ba6c640$69f7d1d8@KAMERIA> > On 06-Aug-03 Todd Mitchell wrote: > > Killer is just a char field that stores the name of your killer - maybe > > I can whip up a forgive command by looking up the name in killer but if > > you are killed by a giant before you can forgive your friend then he > > would be out of luck. > > Why not add another field to the object structure, and record the name of the > player you last killed, rather than relying on the killer field? > If it is in object structure wouldn't that be overkill? Well I wasn't eager to add a new field to player structure just for this, and you can use the get player by name routine (is how the DM command for this works.) I don't mind having the limit actaully - if you get killed before you can forgive someone then they are SOL. Remember they have to either steal or have peaceful off to get flagged anyway so I don't think it is worth having/maintaining another field in object or player. Now if there were other reasons to add the field (are you thinking of anything?) then that would be different. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 6 12:31:27 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] two new small additions In-Reply-To: <000401c35c8d$2ba6c640$69f7d1d8@KAMERIA> Message-ID: On 07-Aug-03 Todd Mitchell wrote: > Remember they have to > either steal or have peaceful off to get flagged anyway so I don't think it > is worth having/maintaining another field in object or player. Now if there > were other reasons to add the field (are you thinking of anything?) then > that would be different. Yeah, I still think that if you kill a player, it shouldn't matter if peaceful is on or off. Peaceful doesn't impact ranged attacks at all. --- Tim Rightnour NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 6 14:29:48 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] crossfire maps system add-on Message-ID: <200308062130.17615.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Let me tell you a little story Today, a friend of mine asked me - If stand on the roof of a tower, may i see the guys walking in the tower garden? I answered: - No -why?, He asked again - Cause of map system, each stage of tower is a map in itself - This is stupid!, he said. I go back to my own game code So, despite the heat and the fact i had a set of newbies map to finish, i went in the code. And, guess what! I modified the map system so it is possible to define a map "below" current one. The elements on this map look like stacked below the upper map. There is no mix in the code between those 2 map ( a bee on the upper map can't go to the lower map, and a ant in the lower map can't go to to the upper one). If a player walks on the lower map and you are on the upper map, you can see him. I used the following map file entry add-on: tile_path_5 Since 1 2 3 and 4 were the north west east south tiling (not sure of order), logically, now 5 and 6 are below and upper liked maps. Be carefull, the 6 value shouldn't appear in any map, since the server deduced it when loading a tile_path 5 element (there is a map below us, so we are on top of this map). Unlike for maptiling, there is no possible assymetry in the up/down tiling for update easyness (if i drop an item in lower map, i need to tell that to upper map). However, it is possible to create map A ontop of B, which is ontop of C which .... Warning! No endless loop allowed. Code isn't yet submitted (still have to do beta test to be sure i didn't broke anything and still have to create a decent demo map) Just wanted is someone had remarks on this code. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/MVc0HHGOa1Q2wXwRAlZQAKDbHMKMDprXv9TAkLG6RbLvN8p3sACg6J/E NgAEu2HCM9/s/zwnfvjKaXA= =sUqk -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 6 16:40:19 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] two new small additions References: Message-ID: <000c01c35c63$55fd7ee0$2076e2d1@KAMERIA> > > On 07-Aug-03 Todd Mitchell wrote: > > Remember they have to > > either steal or have peaceful off to get flagged anyway so I don't think it > > is worth having/maintaining another field in object or player. Now if there > > were other reasons to add the field (are you thinking of anything?) then > > that would be different. > > Yeah, I still think that if you kill a player, it shouldn't matter if peaceful > is on or off. Peaceful doesn't impact ranged attacks at all. > I think it captures intent however. If you are not peaceful you are looking for trouble as opposed to the many ways to accidentally kill other players (opening doors, arrows off the map, wrong key binding...wrong scroll...) Ranged combat is a problem, but I think that if someone is killing other players using ranged attacks with peaceful on then it is a DM or server admin problem. Then again perhaps the peaceful flag should be considered when calculating ranged weapon damage against other players. Remember currently you can plug anyone with arrows or whatever and it is just logged, so this isn't a matter of opening any new doors for PK here, just adding in some gross tracking of blatant anitsocial behaviour. Personally I can't see any reason that the peaceful flag shouldn't be applied to (direct) ranged combat as well. Presumably folks trained with weapons could realistically be more careful with them than the frequency of accidental deaths in the game would imply. This sort of thing is a product of the game interface more than a game system feature - it wouldn't even be an issue in a pen and paper RPG. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 7 00:23:40 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] two new small additions In-Reply-To: <000c01c35c63$55fd7ee0$2076e2d1@KAMERIA> References: <000c01c35c63$55fd7ee0$2076e2d1@KAMERIA> Message-ID: <3F31E25C.50103@sonic.net> Todd Mitchell wrote: > I think it captures intent however. If you are not peaceful you are looking > for trouble as opposed to the many ways to accidentally kill other players > (opening doors, arrows off the map, wrong key binding...wrong scroll...) > Ranged combat is a problem, but I think that if someone is killing other > players using ranged attacks with peaceful on then it is a DM or server > admin problem. Then again perhaps the peaceful flag should be considered > when calculating ranged weapon damage against other players. > Remember currently you can plug anyone with arrows or whatever and it is > just logged, so this isn't a matter of opening any new doors for PK here, > just adding in some gross tracking of blatant anitsocial behaviour. > Personally I can't see any reason that the peaceful flag shouldn't be > applied to (direct) ranged combat as well. Presumably folks trained with > weapons could realistically be more careful with them than the frequency of > accidental deaths in the game would imply. This sort of thing is a product > of the game interface more than a game system feature - it wouldn't even be > an issue in a pen and paper RPG. I'm all for making it more difficult for players to accidentally kill other players. One reason it was done for melee attacks originally is because of how quickly one can get killed by another player with such attack. This is someone related to the problem of monsters having so many HP than players - players attacks are then very deadly to other players. This is bit less an issue in ranged attacks perhaps. Also, given the speed of such attacks, it is more likely in crossfire that someone steps in front of your attack, vs a case where players are intentionally targetting another. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 7 09:02:45 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] two new small additions References: <000c01c35c63$55fd7ee0$2076e2d1@KAMERIA> <3F31E25C.50103@sonic.net> Message-ID: <000801c35cec$94c3c100$3b9dacce@KAMERIA> > > Personally I can't see any reason that the peaceful flag shouldn't be > > applied to (direct) ranged combat as well. > I'm all for making it more difficult for players to accidentally kill other > players. > > One reason it was done for melee attacks originally is because of how quickly > one can get killed by another player with such attack. It would be nice if ranged attacks from a peaceful player were to have a greatly reduced chance to do damage rather than doing no damage so that you would still have to be somewhat careful and not just leap infront of another players line of fire. Something like if the object owner is peaceful then there is a chance (10 or 20%?) the object will hit you. This way you still don't want to get in the way, but it isn't so likely that you will get killed by accident. Another option is a cap on damage so that objects owned by a peaceful player cannot drop your hp below 5% or some such. I am not sure about area effects like fireballs, but something could be worked out anyway. A system for friendly fire (including some dice rolls, variability for different attack types and even critical hits) shouldn't be too hard to do since you have to track object ownership for XP, no? I think this would help multiplayer games out a bit without streaching the game fabric too much - players are pretty lethal to hang out with. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 7 14:36:17 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] multistage map Message-ID: <200308072136.25099.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 As i said, why, when being on the roof of a house, can't i see what happen below? In the garden. I the screenshot, there is no garden, i created a 'stackable wall'. I mean you can create whole towers but just adding walls ontop of wall on top of wall .... Am a really bad drawer, need some help before this code can be used cause, not stackable wall=no roof = no use of seeing below :( The left part of screen is a guy on top of roof The transparent parts of map (aka no floor) show the map below it where another player is standing. The right part of screenshoot is what the player below see. Not the roof, but the inside of house (strangley shaped house but who cares. i said i can't draw). I will perhaps extend the system so if player is far enough from house he see the roof instead of the inside. Still need to code the fact a player can fall from the roof if not flying. With this system we could create a bridge crossing another road. Players on the brige can easily cross people below since, technically, for the server the 'roof' and the ground are 2 different map (they just stack at visible part). Am convinced all this could give a bit of reality or even help create real 3D maze in maps quest since you will see exist but need to get up to reach :) go take a look. http://users.skynet.be/am248983/crossfire_multistages2.png all is done server side, no client change -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/Mqo3HHGOa1Q2wXwRAgO8AKCHD0d/d/X9WFuWYln8dnK7aGB+KgCg0kcG wxqZkAVcnM72h12EobbSdFI= =RILP -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 7 14:58:25 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] multistage map References: <200308072136.25099.tchize@myrealbox.com> Message-ID: <000401c35d1e$93df68c0$b276e2d1@KAMERIA> That's pretty friggin cool. I have tried faking this in the past, but having it work so you can look down over the folks on the ground is really nice to see. Now if we can get different blocking types worked in so that you block by movement type (flying, walking, swiming...) and have arrows flying over water and low walls, players jumping over pits, forcefields that block flying objects... then we can build some real interesting maps. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 8 00:48:22 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] two new small additions In-Reply-To: <000801c35cec$94c3c100$3b9dacce@KAMERIA> References: <000c01c35c63$55fd7ee0$2076e2d1@KAMERIA> <3F31E25C.50103@sonic.net> <000801c35cec$94c3c100$3b9dacce@KAMERIA> Message-ID: <3F3339A6.1000508@sonic.net> Todd Mitchell wrote: > > It would be nice if ranged attacks from a peaceful player were to have a > greatly reduced chance to do damage rather than doing no damage so that you > would still have to be somewhat careful and not just leap infront of another > players line of fire. Something like if the object owner is peaceful then > there is a chance (10 or 20%?) the object will hit you. This way you still > don't want to get in the way, but it isn't so likely that you will get > killed by accident. Another option is a cap on damage so that objects > owned by a peaceful player cannot drop your hp below 5% or some such. Reducing damage from friendly fire would probably be easiest. Probably wouldn't be that hard to do - it is almost certainly easier to just reduce damage than other things (simple just divide the damage by some amount in the higher up functions when the target is a friend). Not dropping a player below 5% doesn't make a lot of sense - what, you're suddenly harder to hit as you get fewere hp? But also, it probably won't help out a whole bunch, if there is an agressive enemy around, it just means he kills the player instead of the player killing the player. > I am not sure about area effects like fireballs, but something could be > worked out anyway. A system for friendly fire (including some dice rolls, > variability for different attack types and even critical hits) shouldn't be > too hard to do since you have to track object ownership for XP, no? > I think this would help multiplayer games out a bit without streaching the > game fabric too much - players are pretty lethal to hang out with. area effect spells IMO should not be reduced in damage. If you're going to do that, then you'll get cases of why as a peaceful player don't I cast fireball on myself and take less damage? But more so, the area effect spells are just that - they are hitting an area and not aimed at a single person. Thus, there is no 'logical' way you could argue that players would take less damage from other players. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 8 01:12:52 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:51 2005 Subject: [CF-Devel] multistage map In-Reply-To: <200308072136.25099.tchize@myrealbox.com> References: <200308072136.25099.tchize@myrealbox.com> Message-ID: <3F333F64.9090900@sonic.net> tchize wrote: > > Still need to code the fact a player can fall from the roof if not flying. Right, likewise if someone throws an object on the roof, it should end up on the lowest layer. But you're sure to get other issues, eg, in your example, the player on the roof wants to fire down on the player on the ground (bow, spell, whatever). > > With this system we could create a bridge crossing another road. Players on > the brige can easily cross people below since, technically, for the server > the 'roof' and the ground are 2 different map (they just stack at visible > part). Am convinced all this could give a bit of reality or even help create > real 3D maze in maps quest since you will see exist but need to get up to > reach :) But I'd guess to do a maze with under/over crossings, you'd basically need to maps, with exits all over the place leading to each other. Certainly better than what you have now, but still not really simple to do. I'd be a bit curious on the implementation - is it simply a 'if no objects on this map, look at the map below', or is it more clever with respect to looking at the actual objects on the top layer to see if any are the floor, then the map below, etc? _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 8 01:34:07 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:52 2005 Subject: [CF-Devel] Re: Repeated line supression for the gtk client. In-Reply-To: <20030801141158.E3461@diegeekdie.com> References: <20030730172652.C3461@diegeekdie.com> <3F28A2ED.9090900@sonic.net> <20030731105926.D3461@diegeekdie.com> <3F2A0DB4.1050404@sonic.net> <20030801141158.E3461@diegeekdie.com> Message-ID: <3F33445F.3030505@sonic.net> Sebastian Andersson wrote: > On Thu, Jul 31, 2003 at 11:50:28PM -0700, Mark Wedel wrote: > > > What I really want is to scroll back one page and see the password > the NPC told me, not having to scroll back ten (or more pages) looking > for it. output-sync really doesn't help me here unless I change it to > a really high value and I wouldn't want that for other reasons. My patch > fixes this (if only gtk was working...). I get no noticable delays > between the messages being generated and me noticing them which I find > important for noticing lag. I don't believe it is possible to fix > purely on the server side. If your using gtk, use the 'split information window'. In this mode, 'interesting' messages go to one window, where as all the other cruft goes to another. I added it simply for that purpose. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 8 05:00:08 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:52 2005 Subject: [CF-Devel] multistage map In-Reply-To: <3F333F64.9090900@sonic.net> References: <200308072136.25099.tchize@myrealbox.com> <3F333F64.9090900@sonic.net> Message-ID: <200308081200.15360.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Vendredi 08 Ao?t 2003 08:12, Mark Wedel a ?crit : > tchize wrote: > > Still need to code the fact a player can fall from the roof if not > > flying. > > Right, likewise if someone throws an object on the roof, it should end up > on the lowest layer. > right i think if *no floor* drop on below map with gravity damage (player/monster), could be a good way to do > But you're sure to get other issues, eg, in your example, the player on > the roof wants to fire down on the player on the ground (bow, spell, > whatever). That's a problem indeed. For now, rules apply to maps in a separate way. I need to prepare a list of what world interaction should cross the stage boundaries (typically a burning hands is horizontal, no stages crossing, but a magic missile shoud be able to target a monster down stairs. > > > With this system we could create a bridge crossing another road. Players > > on the brige can easily cross people below since, technically, for the > > server the 'roof' and the ground are 2 different map (they just stack at > > visible part). Am convinced all this could give a bit of reality or even > > help create real 3D maze in maps quest since you will see exist but need > > to get up to reach :) > > But I'd guess to do a maze with under/over crossings, you'd basically > need to maps, with exits all over the place leading to each other. > Certainly better than what you have now, but still not really simple to do. Still no as simple, right. But i could perhaps create a type of exit which is typically a ladder. You apply this and your reach the level top or bottom. Still need to think about it. So no need to link, the server will automagically brings you upstairs. > > I'd be a bit curious on the implementation - is it simply a 'if no > objects on this map, look at the map below', or is it more clever with > respect to looking at the actual objects on the top layer to see if any are > the floor, then the map below, etc? Visually speaking, it's more clever than no object = transparent When the code when to collect the 3 visible faces for the top map, it use, as starting point, the bottom, middle, top info from map below at same position (i forgot to tell in implementation, each stage map must be same size). I there was a top but no middle (typically a floor and only one object), the top reach the middle level (a tree in top map must draw itself above a monster in bottom map). Then the classical code is used to calculate the faces, so only difference is we don't start faces calculation with NULL objects in top middle and bottom, but with info from below map. Still need to do some fixing, since a middle object found in upper map should also draw itself over the middle object of bottom map. In the screenshoots is send, the high wall you see left is drawn as part of upper map, while we still see the floor of lower map and even (cause am bad drawer) the cutted walls from bottom map > > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/M3StHHGOa1Q2wXwRAhvSAKDmDo1ci3SPFQalCsxDhgD+oNXkhgCeMxzb fMAZj/Mb05y6Nb6MRSMgLbE= =HKYZ -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 8 05:17:38 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:52 2005 Subject: [CF-Devel] multistage map In-Reply-To: <000401c35d1e$93df68c0$b276e2d1@KAMERIA> References: <200308072136.25099.tchize@myrealbox.com> <000401c35d1e$93df68c0$b276e2d1@KAMERIA> Message-ID: <200308081217.44436.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Jeudi 07 Ao?t 2003 21:58, Todd Mitchell a ?crit : > That's pretty friggin cool. I have tried faking this in the past, but > having it work so you can look down over the folks on the ground is really > nice to see. > Now if we can get different blocking types worked in so that you block by > movement type (flying, walking, swiming...) and have arrows flying over > water and low walls, players jumping over pits, forcefields that block > flying objects... then we can build some real interesting maps. > For now, still fix the multistage and make it work well. But really need some GFXer to draw the cuttable wall. I mean by cuttable wall a wall that 1st can extend as much you want by staking several of them on adjacent square 2nd has a version with looks like classical ones in fact has the same position of the on 1st case, so i can stack a cut version on top of a long long stacked wall tho create, for example the 5st stage of a tower. I tried myself but am too bad. One thing i understodd is, since there is a thickness to wall, and to make them stackable you need to put them at tiles borders, you will need a 2nd tile next to actual one to draw prts of borders. > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/M3jGHHGOa1Q2wXwRAvcHAJ9nkiXAHuXKjUcNFZ/0S9RncSwdPACeKG5T VFd+L07VZBt2q7tW2taXcO0= =ZR+C -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 8 08:58:20 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:52 2005 Subject: [CF-Devel] multistage map References: <200308072136.25099.tchize@myrealbox.com> <000401c35d1e$93df68c0$b276e2d1@KAMERIA> <200308081217.44436.tchize@myrealbox.com> Message-ID: <000e01c35db5$20f50c60$2cf7d1d8@KAMERIA> >For now, still fix the multistage and make it work well. But really need some >GFXer to draw the cuttable wall. I get the hint - shut up and draw me some pictures... Anyway I get the idea that the best way to do this would be using wall graphics that are taller than 32px would make this easier since single level walls would show the wall top while stacked walls would truncate the tops and continue on up. As a bonus you would have a little 3d effect when standing behind a wall (it would cover your knees sort of thing). I don't think this something that is going to happen quickly and it's not something that should be slapped into place. I'm still adding smoothing graphics from your last big project - let alone walls, but I will play with it a bit. In the meantime what about object height? Will a demon lord's head be 5 floors up? This change you propose is a larger change than some might suspect I suspect - and waht about if you drop onto some floor type that currently blocked - like water? You do need to consider blocking while you are at it you know... lots of smoke and mirrors to work out. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 8 09:59:39 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:52 2005 Subject: [CF-Devel] multistage map In-Reply-To: <000e01c35db5$20f50c60$2cf7d1d8@KAMERIA> References: <200308072136.25099.tchize@myrealbox.com> <200308081217.44436.tchize@myrealbox.com> <000e01c35db5$20f50c60$2cf7d1d8@KAMERIA> Message-ID: <200308081659.53164.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Vendredi 08 Ao?t 2003 15:58, Todd Mitchell a ?crit : > >For now, still fix the multistage and make it work well. But really need > > some > > >GFXer to draw the cuttable wall. > > I get the hint - shut up and draw me some pictures... never said that, just said my picture didn't show up everything cause my lack of skills. > Anyway I get the idea that the best way to do this would be using wall > graphics that are taller than 32px would make this easier since single > level walls would show the wall top while stacked walls would truncate the > tops and continue on up. That's the idea and that's what i tried to make (the right part of screenshot i supposed to be trucated wall). However couldn't achieved doing it correctly. I'll take a look at how other games handles it.... >As a bonus you would have a little 3d effect when > standing behind a wall (it would cover your knees sort of thing). Difficult, since player and monsters are supposed to be drawn on top However, for now, if you look at left part of screenshot if someone was on ground next to north waal, player upstairs won't see him. And if he was at corner, he would be half hidden by big wall. But the player himself won't see he is covered by a wall. And i consider too something more clever like, the guy donwstair can see the guys upstairs if he is far enough. But still have to investigate. > I don't > think this something that is going to happen quickly and it's not something > that should be slapped into place. I'm still adding smoothing graphics from > your last big project - let alone walls, but I will play with it a bit. Not an emergency :P still have the falling code to put in place and the multistages code is still not yet in CVS. > the meantime what about object height? Will a demon lord's head be 5 > floors up? This change you propose is a larger change than some might > suspect I suspect - and waht about if you drop onto some floor type that > currently blocked - like water? You do need to consider blocking while you > are at it you know... lots of smoke and mirrors to work out. Yeah was considering blocked problem too. Perhaps slipping. The demonlord using, for example, 3 floors is a big big problem. In fact, it's the problem of standing it up from a ground position. And as far as i can remember, this was the biggest problem of ISO which concluded to *redraw all maps* > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/M7rnHHGOa1Q2wXwRAmtWAKCtjybpM9UByLTMuVaGbYhdoj1tGQCeL4yV neggDzfo/x3JGa8eoRcK9J4= =YXkw -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 8 05:08:24 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:52 2005 Subject: [CF-Devel] multistage map In-Reply-To: <000401c35d1e$93df68c0$b276e2d1@KAMERIA> References: <200308072136.25099.tchize@myrealbox.com> <000401c35d1e$93df68c0$b276e2d1@KAMERIA> Message-ID: <200308081208.30337.david.Delbecq@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Jeudi 07 Ao?t 2003 21:58, Todd Mitchell a ?crit : > That's pretty friggin cool. I have tried faking this in the past, but > having it work so you can look down over the folks on the ground is really > nice to see. > Now if we can get different blocking types worked in so that you block by > movement type (flying, walking, swiming...) and have arrows flying over > water and low walls, players jumping over pits, forcefields that block > flying objects... then we can build some real interesting maps. > For now, still fix the multistage and make it work well. But really need some GFXer to draw the cuttable wall. I mean by cuttable wall a wall that 1st can extend as much you want by staking several of them on adjacent square 2nd has a version with looks like classical ones in fact has the same position of the on 1st case, so i can stack a cut version on top of a long long stacked wall tho create, for example the 5st stage of a tower. I tried myself but am too bad. One thing i understodd is, since there is a thickness to wall, and to make them stackable you need to put them at tiles borders, you will need a 2nd tile next to actual one to draw prts of borders. > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/M3acHHGOa1Q2wXwRAv4jAKCaxbdOtmF2J+G3+f6kyPexP0YVCQCggQd/ AhxgairFovaCe1U/N0PJOQc= =9zbO -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 8 12:37:27 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:52 2005 Subject: [CF-Devel] Features suggestions: 'mail' box & blackboard Message-ID: <3F33DFD7.70506@laposte.net> Hello. Here's a feature suggestion to help trade/exchange items securely between players: some kind of mailbox. Each player gets one, only s/he can get the contents, but anyone can put things into. This way you can give securely an item to a player, even if s/he isn't around. I was thinking something like write down the player's name on something, then drop item you wanna transfer... Of course that would probably be some work to implement... And to complement that, something like a permanent blackboard where players could write things down, like 'seeking spellbook of something, paying 10k plat for it'. We could erase our own writings, but not others' What do you think? Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 8 13:07:41 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:52 2005 Subject: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <3F33DFD7.70506@laposte.net> References: <3F33DFD7.70506@laposte.net> Message-ID: <200308082007.48914.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Vendredi 08 Ao?t 2003 19:37, Nicolas Weeger a ?crit : > Hello. > > Here's a feature suggestion to help trade/exchange items securely > between players: some kind of mailbox. > Each player gets one, only s/he can get the contents, but anyone can put > things into. > This way you can give securely an item to a player, even if s/he isn't > around. > I was thinking something like write down the player's name on something, > then drop item you wanna transfer... > Of course that would probably be some work to implement... > In fact there is already the imperial post office (IPO in map files) which allow writing letters to other player. I work like that: ask for a letter to xyz buy a pencil write on the destinated scroll you just bought (scroll to xyz) put in mailbox. Player will be notified of incoming mail and can go to post office to get it. Could be easily (i think) be extended to buy a chest for xyz and put the item inside. All this requires python plugin if am not wrong. Perhaps you could ask mids to lend you Fido, The Great(tm) cause it is seeking for mail delivery job > And to complement that, something like a permanent blackboard where > players could write things down, like 'seeking spellbook of something, > paying 10k plat for it'. > We could erase our own writings, but not others' I think for that a forum based community would better fit (nicer look, easier to fill down, does not need to interact with game rules core. Have seen other games where it is possible to request object, or to propose object to sell. The nice way is (in my mind) say on forum "i sell excalibur for at least 1500 diamonds. I sell to highest bidder at august the 20 00h00 GMT" > > What do you think? > > Nicolas 'Ryo' > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/M+bzHHGOa1Q2wXwRAi5uAKDNzdpHjSnvhfZ0MHNBDcZxPKKsLgCfQ5TC XZX/TWGZV+C18kx9C4j0zfw= =J7JX -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 8 16:44:23 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:52 2005 Subject: [CF-Devel] Patch submission: item renaming Message-ID: <3F3419B7.1090707@laposte.net> Hello. As discussed on this list, I implemented item renaming function. Attached are the patches against current CVS. I think i may be missing some CVS option, since file names aren't that great it seems... Sorry if patches are messy... decided to make one per modified file, copied from cvs output. Here's a short description on how renaming works: * new field in object structure, 'custom_name'. This way custom name doesn't break anything (slaying, altars, and so on) * mark an item, then 'rename ' to rename it, 'rename' to clean the custom name * custom name appears in the 'examine' output (regular name still displayed, too) * custom name is kept when dropping, but removed when selling (to avoid bad jokes) * custom name appears in inventory & floor item list instead of 'regular' name * custom name is used in 'apply', 'mark', 'drop' commands (and maybe others, any command using item_matched_string) * regular name takes precedence over custom name. Thus if i have 'bottle of wine' and 'haggises' named 'wine', 'mark wine' will mark the bottle of wine, NOT the haggies. On the other hand 'drop wine' will drop both bottle & haggises I guess that pretty sums it... I tested everything EXCEPT custom name loading, as i don't have lexx to regenerate loader.c. But i copied the 'name' field, so it should be ok... As usual feel free to try it, trash it, rename (lol) it, change it, eat it (not sure you'd give any resistance, but we never know... been playing too much my dragon char lol) Nicolas 'Ryo' -------------- next part -------------- RCS file: /cvsroot/crossfire/crossfire/common/arch.c,v retrieving revision 1.24 diff -r1.24 arch.c 171c171,175 < if (strcasecmp(cp,op->name)==0 && !count) return 4; --- > if (strcasecmp(cp,op->name)==0 && !count) return 4; > else if (op->custom_name && strcasecmp(cp,op->custom_name)==0) { > pl->contr->count=count; /* May not do anything */ > return 3; > } -------------- next part -------------- RCS file: /cvsroot/crossfire/crossfire/common/loader.l,v retrieving revision 1.47 diff -r1.47 loader.l 279a280,284 > ^custom_name{S} { char *yv=yval(); > > if (*yv=='\0') LOG(llevError,"Custom name without val\n"); > else FREE_AND_COPY(op->custom, yv); > } 1170a1176,1178 > if(op->custom_name && op->custom_name!=op2->custom_name) { > ADD_STRINGLINE_ENTRY(fastbuf,"custom_name ",op->custom_name,12); > } -------------- next part -------------- RCS file: /cvsroot/crossfire/crossfire/common/object.c,v retrieving revision 1.70 diff -r1.70 object.c 125c125,126 < (ob1->name != ob2->name) || --- > (ob1->name != ob2->name) || > (ob1->custom_name != ob2->custom_name) || 500c501,502 < op->name_pl = NULL; --- > op->name_pl = NULL; > op->custom_name = NULL; 524a527 > if (op->custom_name!=NULL) FREE_AND_CLEAR_STR(op->custom_name); 600c603,605 < free_string(op->name_pl); --- > free_string(op->name_pl); > if(op->custom_name!=NULL) > free_string(op->custom_name); 623c628,630 < add_refcount(op->name_pl); --- > add_refcount(op->name_pl); > if(op->custom_name!=NULL) > add_refcount(op->custom_name); 705c712,713 < op->name_pl=NULL; --- > op->name_pl=NULL; > op->custom_name=NULL; 1005c1013,1014 < if(ob->name_pl!=NULL) FREE_AND_CLEAR_STR(ob->name_pl); --- > if(ob->name_pl!=NULL) FREE_AND_CLEAR_STR(ob->name_pl); > if(ob->custom_name!=NULL) FREE_AND_CLEAR_STR(ob->custom_name); -------------- next part -------------- RCS file: /cvsroot/crossfire/crossfire/include/object.h,v retrieving revision 1.31 diff -r1.31 object.h 111c111 < char *name_pl; /* The plural name of the object */ --- > char *name_pl; /* The plural name of the object */ 214a215,216 > > char *custom_name; /* Custom name assigned by player */ -------------- next part -------------- RCS file: /cvsroot/crossfire/crossfire/include/sproto.h,v retrieving revision 1.93 diff -r1.93 sproto.h 227a228 > int command_rename_item(object *op, char *params); -------------- next part -------------- RCS file: /cvsroot/crossfire/crossfire/server/c_object.c,v retrieving revision 1.50 diff -r1.50 c_object.c 1388c1388,1397 < buf[0]='\0'; --- > buf[0]='\0'; > > if(tmp->custom_name) { > strcpy(buf,"You name it "); > strncat(buf, tmp->custom_name, VERY_BIG_BUF-strlen(buf)-1); > buf[VERY_BIG_BUF-1]=0; > new_draw_info(NDI_UNIQUE, 0,op,buf); > buf[0]='\0'; > } > 1717a1727,1749 > int command_rename_item(object *op, char *params) > { > char buf[VERY_BIG_BUF]; > > object *mark=find_marked_object(op); > if (!mark) { > new_draw_info(NDI_UNIQUE,0,op,"Rename what object?"); > return 1; > } > > if(params == NULL) { > if(mark->custom_name) FREE_AND_CLEAR_STR(mark->custom_name); > sprintf(buf,"You stop calling your %s with weird names.",query_base_name(mark,mark->nrof>1?1:0)); > } else { > FREE_AND_COPY(mark->custom_name,params); > sprintf(buf,"Your %s will now be called %s.",query_base_name(mark,mark->nrof>1?1:0),params); > } > > new_draw_info(NDI_UNIQUE, 0, op,buf); > esrv_update_item(UPD_NAME,op,mark); > > return 1; > } -------------- next part -------------- RCS file: /cvsroot/crossfire/crossfire/server/commands.c,v retrieving revision 1.37 diff -r1.37 commands.c 94c94,95 < {"quit", command_quit, 0.0}, --- > {"quit", command_quit, 0.0}, > {"rename", command_rename_item, 0.0}, -------------- next part -------------- RCS file: /cvsroot/crossfire/crossfire/server/shop.c,v retrieving revision 1.22 diff -r1.22 shop.c 527c527,530 < } --- > } > > if(op->custom_name) FREE_AND_CLEAR_STR(op->custom_name); > -------------- next part -------------- RCS file: /cvsroot/crossfire/crossfire/socket/item.c,v retrieving revision 1.24 diff -r1.24 item.c 223,226c223,234 < strncpy(item_n,query_base_name(tmp, 0),127); < item_n[127]=0; < len=strlen(item_n); < item_p=query_base_name(tmp, 1); --- > if (!tmp->custom_name) { > strncpy(item_n,query_base_name(tmp, 0),127); > item_n[127]=0; > len=strlen(item_n); > item_p=query_base_name(tmp, 1); > } > else { > strncpy(item_n,tmp->custom_name,127); > item_n[127]=0; > len=strlen(item_n); > item_p=tmp->custom_name; > } 302,305c310,321 < strncpy(item_n,query_base_name(tmp, 0),127); < item_n[127]=0; < len=strlen(item_n); < item_p=query_base_name(tmp, 1); --- > if (!tmp->custom_name) { > strncpy(item_n,query_base_name(tmp, 0),127); > item_n[127]=0; > len=strlen(item_n); > item_p=query_base_name(tmp, 1); > } > else { > strncpy(item_n,tmp->custom_name,127); > item_n[127]=0; > len=strlen(item_n); > item_p=tmp->custom_name; > } 398a415,427 > > if (!op->custom_name) { > strncpy(item_n,query_base_name(op, 0),127); > item_n[127]=0; > len=strlen(item_n); > item_p=query_base_name(op, 1); > } > else { > strncpy(item_n,op->custom_name,127); > item_n[127]=0; > len=strlen(item_n); > item_p=op->custom_name; > } 400,403d428 < strncpy(item_n,query_base_name(op, 0),127); < item_n[127]=0; < len=strlen(item_n); < item_p=query_base_name(op, 1); 471,475c496,507 < < strncpy(item_n,query_base_name(op, 0),127); < item_n[127]=0; < len=strlen(item_n); < item_p=query_base_name(op, 1); --- > > if(!op->custom_name) { > strncpy(item_n,query_base_name(op, 0),127); > item_n[127]=0; > len=strlen(item_n); > item_p=query_base_name(op, 1); > } else { > strncpy(item_n,op->custom_name,127); > item_n[127]=0; > len=strlen(item_n); > item_p=op->custom_name; > } From crossfire-devel-admin at archives.real-time.com Fri Aug 8 21:59:37 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:52 2005 Subject: [CF-Devel] multistage map In-Reply-To: <200308081659.53164.tchize@myrealbox.com> References: <200308072136.25099.tchize@myrealbox.com> <200308081217.44436.tchize@myrealbox.com> <000e01c35db5$20f50c60$2cf7d1d8@KAMERIA> <200308081659.53164.tchize@myrealbox.com> Message-ID: <1060397977.481.33.camel@oberon.Kameria> > > > > >GFXer to draw the cuttable wall. > > > > I get the hint - shut up and draw me some pictures... > > never said that, just said my picture didn't show up everything cause my lack > of skills. > I grew up without emoticons... I believe that I missed putting the :P or whatever. > > Anyway I get the idea that the best way to do this would be using wall > > graphics that are taller than 32px would make this easier since single > > level walls would show the wall top while stacked walls would truncate the > > tops and continue on up. > > That's the idea and that's what i tried to make (the right part of screenshot > i supposed to be trucated wall). However couldn't achieved doing it > correctly. > I'll take a look at how other games handles it.... > > >As a bonus you would have a little 3d effect when > > standing behind a wall (it would cover your knees sort of thing). > Difficult, since player and monsters are supposed to be drawn on top I have lobbied in the recent past to have an agreement that the extra height of an object overlap objects in the tile above it if the arch specifies it (what just paint these last or something?) Like an object with a graphic that is 32x42 would overlap the tile above by 10 px. I actually though this was going to happen somehow in the client with the smoothing code. I think it is even more important to do this with the changes you are talking about here. > > > the meantime what about object height? Will a demon lord's head be 5 > > floors up? This change you propose is a larger change than some might > > suspect I suspect - and waht about if you drop onto some floor type that > > currently blocked - like water? You do need to consider blocking while you > > are at it you know... lots of smoke and mirrors to work out. > > Yeah was considering blocked problem too. I think it is agreed (talking to the upper management) that a bitmask like material is needed that indicates what objects can pass through the arch - like walking = 1, flying = 2, swiming = 8... I think that the can_pass_thru flag maybe should be recycled for this. I was playing aroung with leaving the blocking code alone but put in an additional check for this 'can_pass' field in get_map_flags(but I didn't know if it would still be a flag then and then Tim said something about adding up the bits of the objects and I hit a conceptual brick wall and went on to think about other things and then you said you were doing this change which made me think you will need to add new code to get_map_flags anyway and you mentioned flying so I thought I should say something about it...)so that if a area is blocked still returns P_blocked or whatever and all that but if it is can_pass but the object does not have the proper flag to pass then it returns P_blocked. > The demonlord using, for example, 3 floors is a big big problem. In fact, it's > the problem of standing it up from a ground position. And as far as i can > remember, this was the biggest problem of ISO which concluded to *redraw all > maps* > Well its easy enough to make an multipart arch that is two maps high, just add 'z 1' instead of 'y 1' to the top part of the arch silly... :) _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 9 01:19:21 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:52 2005 Subject: [CF-Devel] multistage map In-Reply-To: <200308081200.15360.tchize@myrealbox.com> References: <200308072136.25099.tchize@myrealbox.com> <3F333F64.9090900@sonic.net> <200308081200.15360.tchize@myrealbox.com> Message-ID: <3F349269.1040205@sonic.net> tchize wrote: > -----BEGIN PGP SIGNED MESSAGE----- >> But you're sure to get other issues, eg, in your example, the player on >>the roof wants to fire down on the player on the ground (bow, spell, >>whatever). > > > That's a problem indeed. For now, rules apply to maps in a separate way. I > need to prepare a list of what world interaction should cross the stage > boundaries (typically a burning hands is horizontal, no stages crossing, but > a magic missile shoud be able to target a monster down stairs. As I think about this more, the more of a can of worms this seems to be. Arguably, most spells should be aimed down, just like you could aim arrows down. But suppose you have a case where you have a courtyard surround by walls, with players (and monsters) being able to stand on top of the walls. If I fire an arrow (or other object), am I aiming at a target on the far wall, or something in the courtyard? And how does one control that? Having objects on the lower layer automatically go up when they reach an obstacle would likely cause all sorts of problems. > > Visually speaking, it's more clever than no object = transparent > When the code when to collect the 3 visible faces for the top map, it use, as > starting point, the bottom, middle, top info from map below at same position > (i forgot to tell in implementation, each stage map must be same size). > I there was a top but no middle (typically a floor and only one object), the > top reach the middle level (a tree in top map must draw itself above a > monster in bottom map). Then the classical code is used to calculate the > faces, so only difference is we don't start faces calculation with NULL > objects in top middle and bottom, but with info from below map. > > Still need to do some fixing, since a middle object found in upper map should > also draw itself over the middle object of bottom map. How do you deal with floors? If there is a floor on the top map, you _must_ ignore all the objects on the maps below it. From the description above, it sounds like you could have a case where middle layer is floor, monster, and top layer is floor empty, and it'd take the monster from the middle layer (since there is currently no used middle layer on the top floor). That is just plain wrong. Also, you probably need some form of reverse precedent, eg, lower map knows that there is a map above that depends on it. That is simply because the way map updates are done - If something changes on the lower map, you must also inform the upper map of that change in case it is using spaces from that lower map. Otherwise, you get the case where the upper map is basically holding bad data - the look of the upper map isn't updated, because apparantly nothing has changed on that space, but the data itself isn't accurate, because it may be saying that the 'middle' stack looks like X, based on information it had before from the loer map. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 9 01:27:53 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:52 2005 Subject: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <3F33DFD7.70506@laposte.net> References: <3F33DFD7.70506@laposte.net> Message-ID: <3F349469.5070904@sonic.net> Nicolas Weeger wrote: > Hello. > > Here's a feature suggestion to help trade/exchange items securely > between players: some kind of mailbox. > Each player gets one, only s/he can get the contents, but anyone can put > things into. > This way you can give securely an item to a player, even if s/he isn't > around. > I was thinking something like write down the player's name on something, > then drop item you wanna transfer... > Of course that would probably be some work to implement... It'd seem that a large amount of trust would be needed for that to work (am I really going to drop off that item when I haven't received payment for it?) But I suppose some players could make use. Easiest way to do this with current code: Have a space which only the target player can get into (think old apartments). Then have a space with a teleporter that puts the object into that private space. Player drops item on teleporter, activates it, and item is now in target players private space. the problem here is that you then would run out of such spaces, unless there is some form of key reclamation (eg, you can buy the key, but when you use it, it disappears and goes back to being for sale again. The cost could still be nominal, but most players probably wouldn't buy it again unless they planned on some trade. Thus, you could have things like 'drop the item of in cell 10' or whatever. > > And to complement that, something like a permanent blackboard where > players could write things down, like 'seeking spellbook of something, > paying 10k plat for it'. > We could erase our own writings, but not others' This gets to be a more a problem - what happens if a player quits his character, but still have writings? More so, how do you really know who wrote what? And suppose some player decides to post thousands of characters of garbage? More interesting would be able to write and post notes that slowly decompose (eg, maybe last for a couple earth days before going away). In this way, unlikely you'd ever have an over abundance of notes, and probably less incentive for abusive players to write tons of notes, knowing they will just disappear. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 9 01:54:53 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:53 2005 Subject: [CF-Devel] multistage map In-Reply-To: <3F349269.1040205@sonic.net> References: <200308072136.25099.tchize@myrealbox.com> <200308081200.15360.tchize@myrealbox.com> <3F349269.1040205@sonic.net> Message-ID: <200308090855.00521.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Samedi 09 Ao?t 2003 08:19, Mark Wedel a ?crit : > tchize wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > > > >> But you're sure to get other issues, eg, in your example, the player on > >>the roof wants to fire down on the player on the ground (bow, spell, > >>whatever). > > > > That's a problem indeed. For now, rules apply to maps in a separate way. > > I need to prepare a list of what world interaction should cross the stage > > boundaries (typically a burning hands is horizontal, no stages crossing, > > but a magic missile shoud be able to target a monster down stairs. > > As I think about this more, the more of a can of worms this seems to be. > > Arguably, most spells should be aimed down, just like you could aim > arrows down. > > But suppose you have a case where you have a courtyard surround by walls, > with players (and monsters) being able to stand on top of the walls. > > If I fire an arrow (or other object), am I aiming at a target on the far > wall, or something in the courtyard? And how does one control that? > Having objects on the lower layer automatically go up when they reach an > obstacle would likely cause all sorts of problems. > Someone argued me this: "why coud you aim at player below, while player below can't see you? It's dangerous, better not allow aim down for fair play" > > Visually speaking, it's more clever than no object = transparent > > When the code when to collect the 3 visible faces for the top map, it > > use, as starting point, the bottom, middle, top info from map below at > > same position (i forgot to tell in implementation, each stage map must be > > same size). I there was a top but no middle (typically a floor and only > > one object), the top reach the middle level (a tree in top map must draw > > itself above a monster in bottom map). Then the classical code is used to > > calculate the faces, so only difference is we don't start faces > > calculation with NULL objects in top middle and bottom, but with info > > from below map. > > > > Still need to do some fixing, since a middle object found in upper map > > should also draw itself over the middle object of bottom map. > > How do you deal with floors? If there is a floor on the top map, you > _must_ ignore all the objects on the maps below it. From the description > above, it sounds like you could have a case where middle layer is floor, > monster, and top layer is floor empty, and it'd take the monster from the > middle layer (since there is currently no used middle layer on the top > floor). That is just plain wrong. > The info from map below is just used as a starting point. I use the classical code after to calculate what is visible. And in classical code, when you find a floor object, behaviour is "forget everything about faces, start again from this floor" So if there is a floor in the upper map, nothing, at this tile, is drawn from below map. Simply floor is bottom and if there is nothing on floor, we only send one face to client, like in classical map when there is only floor at a tile. > Also, you probably need some form of reverse precedent, eg, lower map > knows that there is a map above that depends on it. > That's already done, in some part, since when a P_NEED_UPDATE is handled at the bottom level, when calculations is done, it ask the above map to recalculate the concerned square too. That's how it is possible to see player below moving. To prevent misunderstandings, if did the 'stacking draws of maps' in map.c in function update_position, not in the map1command > That is simply because the way map updates are done - If something > changes on the lower map, you must also inform the upper map of that change > in case it is using spaces from that lower map. > yes > Otherwise, you get the case where the upper map is basically holding bad > data - the look of the upper map isn't updated, because apparantly nothing > has changed on that space, but the data itself isn't accurate, because it > may be saying that the 'middle' stack looks like X, based on information it > had before from the loer map. > And i did alos implement something less obvious but which laid to strange behaviour in my first attemps: Don't swap map below while the upper map is still in memory.... > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/NJrDHHGOa1Q2wXwRAoewAJ9Dg1a4loj+FpEDvQ8O0opwnBptogCgrNT8 /T/xwNmGlEJ63FeLPQxWxko= =ZKcw -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 9 01:48:12 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:53 2005 Subject: [CF-Devel] Patch submission: item renaming In-Reply-To: <3F3419B7.1090707@laposte.net> References: <3F3419B7.1090707@laposte.net> Message-ID: <3F34992C.4030307@sonic.net> Nicolas Weeger wrote: > Hello. > As discussed on this list, I implemented item renaming function. > > Attached are the patches against current CVS. > I think i may be missing some CVS option, since file names aren't that > great it seems... > Sorry if patches are messy... decided to make one per modified file, > copied from cvs output. > > Here's a short description on how renaming works: > * new field in object structure, 'custom_name'. This way custom name > doesn't break anything (slaying, altars, and so on) > * mark an item, then 'rename ' to rename it, 'rename' to clean > the custom name To me, that seems pretty bad user interface. The client should make this easier. Eg, I control right click on object (or some other combo of unused mouseclick/keypress) to rename an object. The client can then send a command like 'rename ', and the server then looks for an object of object_tag in the players inventory to rename, and does so with new name. Also, your rename function is dangerous: if(params == NULL) { > if(mark->custom_name) FREE_AND_CLEAR_STR(mark->custom_name); > sprintf(buf,"You stop calling your %s with weird names.",query_base_name(mark,mark->nrof>1?1:0)); > } else { > FREE_AND_COPY(mark->custom_name,params); > sprintf(buf,"Your %s will now be called %s.",query_base_name(mark,mark->nrof>1?1:0),params); > } since 'params' is user supplied data, very easy for the user to provide data that would cause buffer overruns. You should really use new_draw_info_format. Then you don't even need to declare buf in that function. > * regular name takes precedence over custom name. Thus if i have 'bottle > of wine' and 'haggises' named 'wine', 'mark wine' will mark the bottle > of wine, NOT the haggies. On the other hand 'drop wine' will drop both > bottle & haggises I disagree with that actually. It seems to me that if I rename something, I really consider that name important. If a player renames something and in ends up conflicting with other items, that is his problem. But If I call my haggises wine, then whever I use any string to options to adjust that item, if I use wine, it should match the haggises, which I've specifically renamed to be called that, and not a generic object. This is unlikely to come up, but it just doesn't seem right to me to treat an object the player has renamed as the lowest value in matching order. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 9 02:09:54 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:53 2005 Subject: [CF-Devel] multistage map In-Reply-To: <1060397977.481.33.camel@oberon.Kameria> References: <200308072136.25099.tchize@myrealbox.com> <200308081659.53164.tchize@myrealbox.com> <1060397977.481.33.camel@oberon.Kameria> Message-ID: <200308090910.00300.d.delbecq@laposte.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Samedi 09 Ao?t 2003 04:59, Todd Mitchell a ?crit : > > > >GFXer to draw the cuttable wall. > > > > > > I get the hint - shut up and draw me some pictures... > > > > never said that, just said my picture didn't show up everything cause my > > lack of skills. > > I grew up without emoticons... I believe that I missed putting the :P > or whatever. > > > > Anyway I get the idea that the best way to do this would be using wall > > > graphics that are taller than 32px would make this easier since single > > > level walls would show the wall top while stacked walls would truncate > > > the tops and continue on up. > > > > That's the idea and that's what i tried to make (the right part of > > screenshot i supposed to be trucated wall). However couldn't achieved > > doing it correctly. > > I'll take a look at how other games handles it.... > > > > >As a bonus you would have a little 3d effect when > > > standing behind a wall (it would cover your knees sort of thing). > > > > Difficult, since player and monsters are supposed to be drawn on top > > I have lobbied in the recent past to have an agreement that the extra > height of an object overlap objects in the tile above it if the arch > specifies it (what just paint these last or something?) Like an object > with a graphic that is 32x42 would overlap the tile above by 10 px. I > actually though this was going to happen somehow in the client with the > smoothing code. I think it is even more important to do this with the > changes you are talking about here. > Well i had a dream this night... In fact i wasn't sleeping cause of heat! And i thought "well could simply fool the client in some way". If i create an arch of 2x2 and i use for it a picture of about 2x3.5 the protocol will only send to client lower right corner. I'll make some attemps with actual towers and so on to know if player can walk behind towers.... > > > the meantime what about object height? Will a demon lord's head be 5 > > > floors up? This change you propose is a larger change than some might > > > suspect I suspect - and waht about if you drop onto some floor type > > > that currently blocked - like water? You do need to consider blocking > > > while you are at it you know... lots of smoke and mirrors to work out. > > > > Yeah was considering blocked problem too. > > I think it is agreed (talking to the upper management) that a bitmask > like material is needed that indicates what objects can pass through the > arch - like walking = 1, flying = 2, swiming = 8... I think that the > can_pass_thru flag maybe should be recycled for this. I was playing > aroung with leaving the blocking code alone but put in an additional > check for this 'can_pass' field in get_map_flags(but I didn't know if it > would still be a flag then and then Tim said something about adding up > the bits of the objects and I hit a conceptual brick wall and went on to > think about other things and then you said you were doing this change > which made me think you will need to add new code to get_map_flags > anyway and you mentioned flying so I thought I should say something > about it...)so that if a area is blocked still returns P_blocked or > whatever and all that but if it is can_pass but the object does not have > the proper flag to pass then it returns P_blocked. it's early in the morning and as i asid i didn't sleep a lot. Give me some time to decrypt your sentences. :) > > > The demonlord using, for example, 3 floors is a big big problem. In fact, > > it's the problem of standing it up from a ground position. And as far as > > i can remember, this was the biggest problem of ISO which concluded to > > *redraw all maps* > > Well its easy enough to make an multipart arch that is two maps high, > just add 'z 1' instead of 'y 1' to the top part of the arch silly... :) > > Not as easy. Cause the demonlord will use less squares on the ground, and so can pass some places where he could pass before cause too high. But making player behind towers is definitely a start point > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/NJ5GHHGOa1Q2wXwRApVFAKCLYCXSWG7q8hFslr+hTwqDA0t33wCg2BBA 9YlFrxvzwmZFsFyiGxZPlo4= =Wkk5 -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 9 03:00:31 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:53 2005 Subject: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <3F349469.5070904@sonic.net> Message-ID: On 09-Aug-03 Mark Wedel wrote: > More interesting would be able to write and post notes that slowly > decompose > (eg, maybe last for a couple earth days before going away). In this way, > unlikely you'd ever have an over abundance of notes, and probably less > incentive > for abusive players to write tons of notes, knowing they will just disappear. The generic board item I wrote for the job code is more than capable of doing this. --- Tim Rightnour NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 10 13:32:41 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:53 2005 Subject: [CF-Devel] =?iso-8859-1?Q?Re:_[CF-Devel]_Features_suggestions:_'mail'_box_&_blackboard?= Message-ID: > It'd seem that a large amount of trust would be needed for that to work (am I > really going to drop off that item when I haven't received payment for it?) But > I suppose some players could make use. Once you trust someone, having done some exchanges 'direct' exchanges, i guess you can do 'indirect' exchanges like what i suggest.... Also you could do something like 'i give half the money, you give item, then i give the rest of money... of course if it's valuable items in both cases, that may be more a trouble... or we could do something like: two players put items in special spaces, and can both reclaim'em when they want. only those 2 players can access that space. Then both agree that the trade is ok (with delay if needed, ie not at the same time). When both have agreed, items are swapped, so the exchange is done. The key being that both agree, or no deal. > Easiest way to do this with current code: Have a space which only the target > player can get into (think old apartments). Then have a space with a teleporter > that puts the object into that private space. Player drops item on teleporter, > activates it, and item is now in target players private space. I was thinking of something like that, yeah. > the problem here is that you then would run out of such spaces, unless there > is some form of key reclamation (eg, you can buy the key, but when you use it, > it disappears and goes back to being for sale again. The cost could still be > nominal, but most players probably wouldn't buy it again unless they planned on > some trade. unless all items get dropped/put on the same space, no? it's just a matter of sorting items, in that case :-) > This gets to be a more a problem - what happens if a player quits his > character, but still have writings? > > More so, how do you really know who wrote what? And suppose some player > decides to post thousands of characters of garbage? Hum. Make in the code something to add automatically append the player's name to the note? that way we can't cheat. As for players quitting definitely the game (not using the char is another matter, since the player directory is still active i think, thus the player is technically still here). But maybe using that appended name to erase things? > More interesting would be able to write and post notes that slowly decompose > (eg, maybe last for a couple earth days before going away). In this way, > unlikely you'd ever have an over abundance of notes, and probably less incentive > for abusive players to write tons of notes, knowing they will just disappear. That could be a nice implementation, indeed. It would make it necessary to rewrite notes many times as needed :-) Also maybe something like a cost for notes? Nicolas 'Ryo' Acc?dez au courrier ?lectronique de La Poste : www.laposte.net ; 3615 LAPOSTENET (0,34?/mn) ; t?l : 08 92 68 13 50 (0,34?/mn) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030810/9b2e1e79/attachment.htm From crossfire-devel-admin at archives.real-time.com Sun Aug 10 13:42:45 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:53 2005 Subject: [CF-Devel] =?iso-8859-1?Q?Re:_[CF-Devel]_Patch_submission:_item_renaming?= Message-ID: > To me, that seems pretty bad user interface. > > The client should make this easier. Eg, I control right click on object (or > some other combo of unused mouseclick/keypress) to rename an object. The client > can then send a command like 'rename ', and the server > then looks for an object of object_tag in the players inventory to rename, and > does so with new name. Well i didn't want to mess with the client.... for a start i didn't yet try to compile it under win32, didn't even install gtk-dev as a matter of fact.... also we could imagine having both control-rightclick in client and the 'rename command (as far as i know, the only thing you can't do easily without the mouse is object locking/unlocking) that would also mean doing a dialog box to ask for the new name it's imo easier to first implement 'basic' rename with a simple interface, then add a custom client implementation like control-click. which would just use that rename function (like the apply works, right?) > Also, your rename function is dangerous: > since 'params' is user supplied data, very easy for the user to provide data > that would cause buffer overruns. true, didn't think about that. My mistake. (on the other hand the client, at least gtk, too has buffer overruns issues sometimes... try to bind a key to a hundred 'use_skill praying' :-)) > You should really use new_draw_info_format. Then you don't even need to > declare buf in that function. Ha, copied some part of other code which still uses the new_draw_info.... > I disagree with that actually. It seems to me that if I rename something, I > really consider that name important. > > If a player renames something and in ends up conflicting with other items, > that is his problem. But If I call my haggises wine, then whever I use any > string to options to adjust that item, if I use wine, it should match the > haggises, which I've specifically renamed to be called that, and not a generic > object. > > This is unlikely to come up, but it just doesn't seem right to me to treat an > object the player has renamed as the lowest value in matching order. I too agree that is unlikely to come up. But that case must be solved clearly, to not depend on item order in inventory. So let's either give more precedence, or give less :-) Guess that's something to be decided collectively Acc?dez au courrier ?lectronique de La Poste : www.laposte.net ; 3615 LAPOSTENET (0,34?/mn) ; t?l : 08 92 68 13 50 (0,34?/mn) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030810/8ae9e720/attachment.html From crossfire-devel-admin at archives.real-time.com Sun Aug 10 14:18:50 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:53 2005 Subject: [CF-Devel] Re: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: References: Message-ID: <200308102119.05474.d.delbecq@laposte.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Dimanche 10 Ao?t 2003 20:32, nicolas.weeger@laposte.net a ?crit : > > It'd seem that a large amount of trust would be needed for that to work > > (am I really going to drop off that item when I haven't received payment > > for it?) But I suppose some players could make use. > > Once you trust someone, having done some exchanges 'direct' exchanges, i > guess you can do 'indirect' exchanges like what i suggest.... Also you > could do something like 'i give half the money, you give item, then i give > the rest of money... of course if it's valuable items in both cases, that > may be more a trouble... or we could do something like: two players put > items in special spaces, and can both reclaim'em when they want. only those > 2 players can access that space. Then both agree that the trade is ok (with > delay if needed, ie not at the same time). When both have agreed, items are > swapped, so the exchange is done. The key being that both agree, or no > deal. > Have seen on other game a trade system, where player are both online, use client interface to drag and drop items the want to exchange with the player near him, you see what other player want to exchange. Then the player both click on an agree button. This would need server AND client changes (instead of just making some map) but this would make things easier to use. Simply add a command trade with then server would tell other player trade perhaps several commands like that will be exchanged as subject of trading vary. then there could be a command like that trade ok where player send list of item he accept to receive (to prevent other player from removing them just after he agreed) Both player's client send such trade ok command to mark their agreement. and then players objects would be exchanged. If players get away from each other, a trade cancel command could stop the process (and close trading windows on client) > > Easiest way to do this with current code: Have a space which only the > > target player can get into (think old apartments). Then have a space with > > a teleporter that puts the object into that private space. Player drops > > item on teleporter, activates it, and item is now in target players > > private space. > > I was thinking of something like that, yeah. > > > the problem here is that you then would run out of such spaces, unless > > there is some form of key reclamation (eg, you can buy the key, but when > > you use it, it disappears and goes back to being for sale again. The cost > > could still be nominal, but most players probably wouldn't buy it again > > unless they planned on some trade. > > unless all items get dropped/put on the same space, no? > it's just a matter of sorting items, in that case :-) > > > This gets to be a more a problem - what happens if a player quits his > > character, but still have writings? > > > > More so, how do you really know who wrote what? And suppose some player > > decides to post thousands of characters of garbage? > > Hum. Make in the code something to add automatically append the player's > name to the note? that way we can't cheat. As for players quitting > definitely the game (not using the char is another matter, since the player > directory is still active i think, thus the player is technically still > here). But maybe using that appended name to erase things? > > > More interesting would be able to write and post notes that slowly > > decompose (eg, maybe last for a couple earth days before going away). In > > this way, unlikely you'd ever have an over abundance of notes, and > > probably less incentive for abusive players to write tons of notes, > > knowing they will just disappear. > > That could be a nice implementation, indeed. It would make it necessary to > rewrite notes many times as needed :-) Also maybe something like a cost for > notes? > > Nicolas 'Ryo' > > Acc?dez au courrier ?lectronique de La Poste : www.laposte.net ; > 3615 LAPOSTENET (0,34?/mn) ; t?l : 08 92 68 13 50 (0,34?/mn) Ha! non, un fran?ais. La belgique vous salue! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/NpqiHHGOa1Q2wXwRAqH1AKDTOpiNQGa3EDue+a51kagIQSxfGACgnsSh BHJUM/nwmM+655ucoOGE+nM= =HfTg -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 01:49:59 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:53 2005 Subject: [CF-Devel] Re: [CF-Devel] Patch submission: item renaming In-Reply-To: References: Message-ID: <3F373C97.8050207@sonic.net> nicolas.weeger@laposte.net wrote: > also we could imagine having both control-rightclick in client and the > 'rename command (as far as i know, the only thing you can't do easily > without the mouse is object locking/unlocking) > that would also mean doing a dialog box to ask for the new name > > it's imo easier to first implement 'basic' rename with a simple > interface, then add a custom client implementation like > control-click. which would just use that rename function (like the apply > works, right?) Well, it should be smarter than that. Your current rename function requires that the player mark an object first, and then the rename renames that object. IMO, this could be quite error prone. If there is a mouse combination that says 'rebind this item', the client could easily send along the item tag as well as its new name. With the way things are now, for it to use the current rebind command, it would have to send a mark command for that object, and then a rename for that object. That probably isn't good (as the player using the client may not realize that the item he has previosly mark is now something different because he did a rename). Since the client can certainly know the item tag based on the command, there is no reason for there not to be a rename command that takes a tag as well as new item name. I have no problems with the existing rename command that uses marked objects (useful for clients in which perhaps it is more pain than it is worth to put in a 'good' rename interface, say the x11 client). But there should be provision for a better rename interface. This could still be a command the user types if (if they know the item tag), like rename_tag type of thing. However, as I think about this, I start to wonder if a better interface for gtk client object interaction may be desirable. With the number of different actions available, knowing if it is shift click, control click, whatever, is getting out of hand. My thought would be this: Left Click: this selects and object. middle click: apply/unapply like now right click: drop item/pick up, like now. Now for selected objects, we have some other glue. Like a row of buttons at the top of the inventory pain for different operations - examine, rename, lock, mark, drop, apply (redundant with the last two above, but if you say were playing on a system that had only 1 or two mouse buttons, could still be useful). For the selected object, in fact, it could get sent along as basically the marked object for any object command. Eg, you select the torch, apply the flint and steel (middle mouse click), and the server acts as if the torch as marked, so ignites it. This would probably be a better improvement now. Note that I'm not saying you should write this - I'm just expressing that this would be a nice improvement to the interface IMO. > > true, didn't think about that. My mistake. > (on the other hand the client, at least gtk, too has buffer overruns > issues sometimes... try to bind a key to a hundred 'use_skill praying' :-)) I actually care about buffer overflows on the client a whole bunch less than on the server. If you find an exploitable buffer overflow in the client, chances are you aren't going to use it as an exploitation. But a buffere overflow in the server can be more convenient. I beleieve there are known abuses about crashing the server lets you get something nicer (I think item duplication being the bigger one.) But also an exploitation with user supplied data could perhaps be used as a way to let a user log into the server system, which certainly wouldn't be good (this probably isn't all that likely, since I'd bet most people run and compile there own servers, so for a hacker to know the appropriate data to toss in the buffer to get an overrun would probably be very tricky to figure it out). _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 01:56:46 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:53 2005 Subject: [CF-Devel] Re: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <200308102119.05474.d.delbecq@laposte.net> References: <200308102119.05474.d.delbecq@laposte.net> Message-ID: <3F373E2E.2040703@sonic.net> David Delbecq wrote: > Have seen on other game a trade system, where player are both online, use > client interface to drag and drop items the want to exchange with the player > near him, you see what other player want to exchange. Then the player both > click on an agree button. > This would need server AND client changes (instead of just making some map) > but this would make things easier to use. > Simply add a command trade with > then server would tell other player > trade > perhaps several commands like that will be exchanged > as subject of trading vary. > then there could be a command like that > trade ok > where player send list of item he accept to receive (to prevent other player > from removing them just after he agreed) > Both player's client send such trade ok command to mark their agreement. > > and then players objects would be exchanged. > If players get away from each other, a trade cancel command could stop the > process (and close trading windows on client) trade window is obviously an interface issue - most of that code could be done with minimal/no client changes, it'd just be clumsier to use. But an interface would be nice (I'm personally not crazy about popups myself, but one could perhaps do this alternately as a tab in the drop window - a trade tab instead). It's really the server that would have to verify that the trade is agreed upon. So each time the player updates what he wants to trade, it sends it to the server. Whenever that list of trade items changes, any 'trade ok' status is cleared. Thus, for example, if I have a list of items I want to trade, and the other player has a list I want to trade for and I hit 'ok', if the other user changes that list at all (even for the positive), the 'ok' status I had disappears so I need to hit OK again. I do recall that there is a map someone made which was a safe trade method. A little clumsier, but perhaps more realistic (realistically, if I'm trading several items for several items, one can't hand over the items while at the same instance taking the other ones for anything that takes more than one hand to hold). Also, the trade could would have to verify that the two players are adjacant. This, if one player moves away, the trade is also automatically cancelled. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 02:00:04 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:53 2005 Subject: [CF-Devel] Re: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: References: Message-ID: <3F373EF4.30508@sonic.net> nicolas.weeger@laposte.net wrote: > or we could do something like: two players put items in special spaces, > and can both reclaim'em when they want. only those 2 players can access > that space. Then both agree that the trade is ok (with delay if needed, > ie not at the same time). When both have agreed, items are swapped, so > the exchange is done. The key being that both agree, or no deal. I thought someone had made a map that did just this. Eg, each player would put the items they are trading in some spot. Then each pulls a lever that locks the items so neither player can get to them. Then after verifying that the items are correct, they pull another level - only when both levers are pulled, can the player access the item the other player left for the trade. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 02:13:02 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:54 2005 Subject: [CF-Devel] multistage map In-Reply-To: <200308090855.00521.tchize@myrealbox.com> References: <200308072136.25099.tchize@myrealbox.com> <200308081200.15360.tchize@myrealbox.com> <3F349269.1040205@sonic.net> <200308090855.00521.tchize@myrealbox.com> Message-ID: <3F3741FE.4020801@sonic.net> tchize wrote: > Someone argued me this: > "why coud you aim at player below, while player below can't see you? It's > dangerous, better not allow aim down for fair play" Probably true. Of course in a historical sense, one side having a distinct advantage isn't uncommong (eg, arrow slits behind a merlon, while the person outside the castle is in the open). But if you do have elevation, you do get odd issues - if we pretend the roof is flat, then a player at the edge of a roof should be able to see directly below and other people him. However, if that player was in the center of the roof, then players against the outside walls should be invisible to him, and him invisible to those players. But to really do this would then mean knowing the height of each level relative to the size of a mapspace. If we pretend each map space is 10' square for indoor stuff, but for this particular map, each level is 20' high, those calculations are different than if each level is 10' high. I would note that if players above can't interact (eg, attack) players down below, then there has to be some means for the player to know he is on a higher level (spaces down below look different or whatever). But then we start to get the question - if these players can't interact, how much advantage do we really get from this map layering? Some maps already use 'fake' layering just by copying the base map to the place you are supposed to be able to see around. And in some cases, that is really the only way to do it, eg, maps where the terrain you are viewing is say part of the bigworld map, where with your code, it would be more difficult to do due to map size mismatches. > The info from map below is just used as a starting point. I use the classical > code after to calculate what is visible. And in classical code, when you find > a floor object, behaviour is "forget everything about faces, start again from > this floor" > So if there is a floor in the upper map, nothing, at this tile, is drawn from > below map. Simply floor is bottom and if there is nothing on floor, we only > send one face to client, like in classical map when there is only floor at a > tile. Ok - that's good - wasn't clear from your previosu message. > That's already done, in some part, since when a P_NEED_UPDATE is handled at > the bottom level, when calculations is done, it ask the above map to > recalculate the concerned square too. That's how it is possible to see player > below moving. That's also good. But one could have to be careful about using stacked maps - if (as I think would be correct) you could have multiple stackings of maps on top of each other (5 story building), it would mean that a firebal going off would now mean 5 times the number of map updates, as each map above would need ot see if its view changed. This is really the only way to do it, but this does impose a bit of extra cpu computation time. > And i did alos implement something less obvious but which laid to strange > behaviour in my first attemps: > Don't swap map below while the upper map is still in memory.... The way the tile code handles this is that whenever a space in it is referanced, the map swap time is reset. I'd think something similar could be used in this layering - if an upper map looks at a lower map, reset that lower map swap out time. IF that upper map looks at a lower map, and that lower map isn't in memory, bring it back into memory. After all, suppose you have a dungeon that have puts and whatnot where the player starts on the top. In this case, the lower map isn't going to be in memory, but there are cases when the upper map may need to access it, so it should be brought back into memory. The idea of having pits where you could see what is below you would certainly add some interest to the game (wow, there is a dragon down there? I don't want to be heading down there anytime soon). _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 03:19:31 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:54 2005 Subject: [CF-Devel] Re: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <3F373E2E.2040703@sonic.net> References: <200308102119.05474.d.delbecq@laposte.net> <3F373E2E.2040703@sonic.net> Message-ID: <200308111019.38936.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Lundi 11 Ao?t 2003 08:56, Mark Wedel a ?crit : > David Delbecq wrote: > > Have seen on other game a trade system, where player are both online, use > > client interface to drag and drop items the want to exchange with the > > player near him, you see what other player want to exchange. Then the > > player both click on an agree button. > > This would need server AND client changes (instead of just making some > > map) but this would make things easier to use. > > Simply add a command trade with > > then server would tell other player > > trade > > perhaps several commands like that will be exchanged > > as subject of trading vary. > > then there could be a command like that > > trade ok > > where player send list of item he accept to receive (to prevent other > > player from removing them just after he agreed) > > Both player's client send such trade ok command to mark their agreement. > > > > and then players objects would be exchanged. > > If players get away from each other, a trade cancel command could stop > > the process (and close trading windows on client) > > trade window is obviously an interface issue - most of that code could be > done with minimal/no client changes, it'd just be clumsier to use. But an > interface would be nice (I'm personally not crazy about popups myself, but > one could perhaps do this alternately as a tab in the drop window - a trade > tab instead). > > It's really the server that would have to verify that the trade is agreed > upon. So each time the player updates what he wants to trade, it sends it > to the server. > > Whenever that list of trade items changes, any 'trade ok' status is > cleared. Thus, for example, if I have a list of items I want to trade, and > the other player has a list I want to trade for and I hit 'ok', if the > other user changes that list at all (even for the positive), the 'ok' > status I had disappears so I need to hit OK again. > what i wanted to prevent is A agree at the same time B remove an item the removal operation gets to server server notify A after, the A agreement, which arrived 0.2 sec laters, cause of network congestion comes Server thinks A is ok with new B trade while A receive now the new inventory If B agreed just after changing inventory, trade is concluded A sees, from it's client point of view: agree -> item change -> trade concluded and may have been fooled by B I understand the procedure involved is such cheating would involved time synchro but shouldn't be so difficult to implement. That's why for security i wanted to give list of items you are ok with in trading. Another way could be to create a incremental tradeID (0->250 should be enough and easy to mainupulated in command line) and say trade ok while changing an item would mean something like changing the tradeID by server The cycle of server could include randomness to prevent prediction for a really willing to cheat client. Anyway i agree with the fact this should be easy to manipulate by old client using text commands. What we could do is check if client accept trading interface. If not, send messages with NDI_* else send more detailed binary info as client->server command, or use also the NDI_* but add additional info like face of objects and weight. > I do recall that there is a map someone made which was a safe trade > method. A little clumsier, but perhaps more realistic (realistically, if > I'm trading several items for several items, one can't hand over the items > while at the same instance taking the other ones for anything that takes > more than one hand to hold). > The idea is don't trade with more than one person. If you try to trade with player x while he is already trading with someoneelse, you could receive a 'player is busy' message > Also, the trade could would have to verify that the two players are > adjacant. This, if one player moves away, the trade is also automatically > cancelled. > > Yeah, a must! > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/N1GZHHGOa1Q2wXwRAqJ7AKCuBRjKG4KP+KAEVZejH8OPBu0a4ACeOz3f GtbRw1N0Quxn+KL8vhHP1jQ= =dJcF -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 03:22:32 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:54 2005 Subject: [CF-Devel] Re: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <3F373EF4.30508@sonic.net> References: <3F373EF4.30508@sonic.net> Message-ID: <200308111022.43113.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Lundi 11 Ao?t 2003 09:00, Mark Wedel a ?crit : > nicolas.weeger@laposte.net wrote: > > or we could do something like: two players put items in special spaces, > > and can both reclaim'em when they want. only those 2 players can access > > that space. Then both agree that the trade is ok (with delay if needed, > > ie not at the same time). When both have agreed, items are swapped, so > > the exchange is done. The key being that both agree, or no deal. > > I thought someone had made a map that did just this. > > Eg, each player would put the items they are trading in some spot. Then > each pulls a lever that locks the items so neither player can get to them. > Then after verifying that the items are correct, they pull another level - > only when both levers are pulled, can the player access the item the other > player left for the trade. > What happens if a player decide to disconnect after locking worthless items while other player has put an excalibur for trade? And what if they don't agree and a player refuse to pull again first lever to take back items? > > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/N1JRHHGOa1Q2wXwRAuj5AKDf4pmNFLENT27totJx14r0BF+BjgCfY1Te 7ygeEE0qXppORshxBuI6yc8= =sMDh -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 03:48:25 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:54 2005 Subject: [CF-Devel] multistage map In-Reply-To: <3F3741FE.4020801@sonic.net> References: <200308072136.25099.tchize@myrealbox.com> <200308090855.00521.tchize@myrealbox.com> <3F3741FE.4020801@sonic.net> Message-ID: <200308111048.33487.d.delbecq@laposte.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Lundi 11 Ao?t 2003 09:13, Mark Wedel a ?crit : > tchize wrote: > > Someone argued me this: > > "why coud you aim at player below, while player below can't see you? It's > > dangerous, better not allow aim down for fair play" > > Probably true. Of course in a historical sense, one side having a > distinct advantage isn't uncommong (eg, arrow slits behind a merlon, while > the person outside the castle is in the open). > > But if you do have elevation, you do get odd issues - if we pretend the > roof is flat, then a player at the edge of a roof should be able to see > directly below and other people him. However, if that player was in the > center of the roof, then players against the outside walls should be > invisible to him, and him invisible to those players. > > But to really do this would then mean knowing the height of each level > relative to the size of a mapspace. If we pretend each map space is 10' > square for indoor stuff, but for this particular map, each level is 20' > high, those calculations are different than if each level is 10' high. > You forgot to mention the fact visible faces (not speaking of los here!) of a map are calculated on a map basis, not on a player basis. > I would note that if players above can't interact (eg, attack) players > down below, then there has to be some means for the player to know he is on > a higher level (spaces down below look different or whatever). > > But then we start to get the question - if these players can't interact, > how much advantage do we really get from this map layering? Some maps > already use 'fake' layering just by copying the base map to the place you > are supposed to be able to see around. > If think there should be some interaction, but it takes time to put in place which. At least, falling is one of the most obvious one. What i thought is if player is surrounded by 'can see the sky' (mean nothing at same place on higher maps) squares, then this would mean he would be more interested in seeing the roofs than the ground. Since around him roofs and ground is the same, there would be no impact in surroudings interactions. > And in some cases, that is really the only way to do it, eg, maps where > the terrain you are viewing is say part of the bigworld map, where with > your code, it would be more difficult to do due to map size mismatches. > the big world use map tiling. If on a tile i put a higher stage map, am not forced to tile this higher map on whole bigworld (thanks god). however, to prevent the feeling of world cutting (when on the upper map, what you see is limited to upper map size, unless this uppermap tiles too), this could be needed to surround this map by a transparent tiling (1 map distance should be enough). You would argue: 'yes but what happens if am flying an goes to the border of this upper map tile? the same problem arise again and you end up with covering bigworld to prevent it'. Am still looking for solution, perhaps having something like a 'no_pass' force flying player to try to go down automatically, or better a no_fly. Investigating. > > The info from map below is just used as a starting point. I use the > > classical code after to calculate what is visible. And in classical code, > > when you find a floor object, behaviour is "forget everything about > > faces, start again from this floor" > > So if there is a floor in the upper map, nothing, at this tile, is drawn > > from below map. Simply floor is bottom and if there is nothing on floor, > > we only send one face to client, like in classical map when there is only > > floor at a tile. > > Ok - that's good - wasn't clear from your previosu message. > > > That's already done, in some part, since when a P_NEED_UPDATE is handled > > at the bottom level, when calculations is done, it ask the above map to > > recalculate the concerned square too. That's how it is possible to see > > player below moving. > > That's also good. But one could have to be careful about using stacked > maps - if (as I think would be correct) you could have multiple stackings > of maps on top of each other (5 story building), it would mean that a > firebal going off would now mean 5 times the number of map updates, as each > map above would need ot see if its view changed. > > This is really the only way to do it, but this does impose a bit of extra > cpu computation time. > > > And i did alos implement something less obvious but which laid to strange > > behaviour in my first attemps: > > Don't swap map below while the upper map is still in memory.... > > The way the tile code handles this is that whenever a space in it is > referanced, the map swap time is reset. I'd think something similar could > be used in this layering - if an upper map looks at a lower map, reset that > lower map swap out time. > What i did the first time is when upper map loads, loads lower map too, which messed me wince lex loading code wasn't recursive :P Anyway here is how it works for now When trying to swap a map, look if there is an in_memory upper map. If that is the case, don't swap (this upper map needs almost always infos from lower map). But i plan to implement a more generic way. It is a pain to see in a quest the first map has been reset while the treasure map at the end is not reset and so empty. I plan to implement some kind of block-reset block-swapping system in which several map can be linked as being part of a same reset-block or a same swapping-block. This would mean, for example, i could enter the second cave of a quest cast a case cold to kobolds, then go safetly up, without wondering after 2 minutes if the map was swapped out and thus my cold not killing kobolds anymore. This may also help synchronize the fact sometimes random map are not coherent with their final map (dunno if corrected now) > IF that upper map looks at a lower map, and that lower map isn't in > memory, bring it back into memory. > > After all, suppose you have a dungeon that have puts and whatnot where > the player starts on the top. In this case, the lower map isn't going to > be in memory, but there are cases when the upper map may need to access it, > so it should be brought back into memory. > > The idea of having pits where you could see what is below you would > certainly add some interest to the game (wow, there is a dragon down there? > I don't want to be heading down there anytime soon). > > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/N1hdHHGOa1Q2wXwRAsYaAKDfIr31hZLBEZfWty+dY3/BtP8tcQCfRfHW zbODLVWASiAp1ugX2VMEN/Q= =9/c1 -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 06:39:43 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:54 2005 Subject: [CF-Devel] Re: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <200308111022.43113.tchize@myrealbox.com>; from tchize on Mon, Aug 11, 2003 at 10:22:32AM +0200 References: <3F373EF4.30508@sonic.net> <200308111022.43113.tchize@myrealbox.com> Message-ID: <20030811133943.A18551@diegeekdie.com> On Mon, Aug 11, 2003 at 10:22:32AM +0200, tchize wrote: > What happens if a player decide to disconnect after locking worthless items > while other player has put an excalibur for trade? > And what if they don't agree and a player refuse to pull again first lever to > take back items? They pull the first level again and take the items back? The design is quite simple: -------------+---+---+------------- | | | P1 L1 / T1|T2 \ L2 P2 L3 | D2|D1 | L4 | | | -------------+---+---+------------- -, | & + = walls. \ and / are doors. Player 1 (P1) puts the objects at T1, then pulls L1 which closes his door. Player 2 (P2) puts the objects at T2, then pulls L2 which closes her door. They both inspect the items. If they like them, they pull L3 & L4 which transfers the objects to D2 and D1. When T1 & T2 is empty, the levers are reset and the doors open. If they don't agree, they pull L1 or L2 and their door opens (unless a transfer is in progress already), L3 & L4 is reset. I think raffles 2 has something like this, but only for "safe" one way teleportation, but its design can probably be extended. _BUT_ I think that one should think about how this affects the game play first though. Not every cool feature is good for the games feeling, there are always consequences. It is often said that CF is a RPG game, but player to player interaction is quite limited and one's interaction with NPCs is mostly carried out with a weapon in hand. Not much roleplaying going on. I don't think this change would enhance roleplaying, quite the opposite if it were added to the client and I'm not thrilled about a map implementaiton either. In RL(tm), there is no such thing as a safe trade nor should there be one in a virtual world IMO. It just reduces the immersion to the point of making you think you're accessing a SQL server. The best one can do is to have a trusted third party that helps you (ie find another player you both trust), you can pay half in advance and half afterwards or you'll have to take your chances (perhaps allow the other player to PK you if you try to fool them). And what's the problem really? If someone wants to take advantage of you, don't deal with them anymore. Tell others about them. Its not like it is the end of the game if someone fooled you of your shimmering turban or that chaos sword. If you managed to get it once, it is probably easier to get it the next time. /Sebastian _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 05:52:06 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:54 2005 Subject: [CF-Devel] Re: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <20030811133943.A18551@diegeekdie.com> References: <200308111022.43113.tchize@myrealbox.com> <20030811133943.A18551@diegeekdie.com> Message-ID: <200308111252.33433.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Lundi 11 Ao?t 2003 13:39, Sebastian Andersson a ?crit : > On Mon, Aug 11, 2003 at 10:22:32AM +0200, tchize wrote: > > What happens if a player decide to disconnect after locking worthless > > items while other player has put an excalibur for trade? > > And what if they don't agree and a player refuse to pull again first > > lever to take back items? > > They pull the first level again and take the items back? > > The design is quite simple: > Submitting a working map should be even more simple :) > -------------+---+---+------------- > > P1 L1 / T1|T2 \ L2 P2 > L3 | D2|D1 | L4 > > -------------+---+---+------------- > > -, | & + = walls. \ and / are doors. > > Player 1 (P1) puts the objects at T1, then pulls L1 which closes his > door. > Player 2 (P2) puts the objects at T2, then pulls L2 which closes her > door. > > They both inspect the items. If they like them, they pull L3 & L4 > which transfers the objects to D2 and D1. > > When T1 & T2 is empty, the levers are reset and the doors open. > > If they don't agree, they pull L1 or L2 and their door opens (unless > a transfer is in progress already), L3 & L4 is reset. > > I think raffles 2 has something like this, but only for "safe" one way > teleportation, but its design can probably be extended. > > > _BUT_ I think that one should think about how this affects the game > play first though. Not every cool feature is good for the games > feeling, there are always consequences. > > It is often said that CF is a RPG game, but player to player interaction > is quite limited and one's interaction with NPCs is mostly carried out > with a weapon in hand. Not much roleplaying going on. I don't think > this change would enhance roleplaying, quite the opposite if it were > added to the client and I'm not thrilled about a map implementaiton > either. In RL(tm), there is no such thing as a safe trade nor should > there be one in a virtual world IMO. It just reduces the immersion to > the point of making you think you're accessing a SQL server. The best > one can do is to have a trusted third party that helps you (ie find > another player you both trust), you can pay half in advance and half > afterwards or you'll have to take your chances (perhaps allow the > other player to PK you if you try to fool them). > > And what's the problem really? If someone wants to take advantage of > you, don't deal with them anymore. Tell others about them. > Its not like it is the end of the game if someone fooled you of your > shimmering turban or that chaos sword. If you managed to get it once, > it is probably easier to get it the next time. > > /Sebastian Yeah i agree, this perhaps is better Role playing if you can fool other player and steal them (well in fact the steal capacity is better combined with improved invisibility) > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/N3VuHHGOa1Q2wXwRAoZ0AJ43JU47Oj5WWcpcTo6+jNkBjAL/kwCfdKSQ 85sDD9BEllyyuBAYlNa4k2Y= =1Pg2 -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 08:11:40 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:54 2005 Subject: [CF-Devel] =?iso-8859-1?Q?Re:_[CF-Devel]_Re:_[CF-Devel]_Patch_submission:_item_renaming?= Message-ID: > Well, it should be smarter than that. > > Your current rename function requires that the player mark an object first, > and then the rename renames that object. > > IMO, this could be quite error prone. Exactly like the 'enchant armor', 'improve weapon', or 'flint & steel' behaviours. I am not saying this is the way way to implement. Just seeing so many commands using marked items, i simply used marked items for rename... > If there is a mouse combination that says 'rebind this item', the client could > easily send along the item tag as well as its new name. With the way things are > now, for it to use the current rebind command, it would have to send a mark > command for that object, and then a rename for that object. That probably isn't > good (as the player using the client may not realize that the item he has > previosly mark is now something different because he did a rename). > > Since the client can certainly know the item tag based on the command, there > is no reason for there not to be a rename command that takes a tag as well as > new item name. > > I have no problems with the existing rename command that uses marked objects > (useful for clients in which perhaps it is more pain than it is worth to put in > a 'good' rename interface, say the x11 client). But there should be provision > for a better rename interface. This could still be a command the user types if > (if they know the item tag), like rename_tag type of thing. I have no opposition to rename_tag command, quite the opposite. I think that's how apply/examine work both, no? Either the player clicks in list with mouse, and then the tag is used, or you can type 'examine ring of Thieves' and the name is used. I must also say that i almost never use the mouse (except to lock/unlock items, and sometimes to sort stuff), so i simply implemented the command the easiest way for me (via keyboard and not mouse) > However, as I think about this, I start to wonder if a better interface for > gtk client object interaction may be desirable. > > With the number of different actions available, knowing if it is shift click, > control click, whatever, is getting out of hand. > > My thought would be this: > Left Click: this selects and object. > middle click: apply/unapply like now > right click: drop item/pick up, like now. > > Now for selected objects, we have some other glue. Like a row of buttons at > the top of the inventory pain for different operations - examine, rename, lock, > mark, drop, apply (redundant with the last two above, but if you say were > playing on a system that had only 1 or two mouse buttons, could still be useful). > > For the selected object, in fact, it could get sent along as basically the > marked object for any object command. Eg, you select the torch, apply the flint > and steel (middle mouse click), and the server acts as if the torch as marked, > so ignites it. This would probably be a better improvement now. > > Note that I'm not saying you should write this - I'm just expressing that this > would be a nice improvement to the interface IMO. Improving the interface would sure be nice. Even though as it is now is fine for me, i'm sure many people want to improve it... > I actually care about buffer overflows on the client a whole bunch less than > on the server. > > If you find an exploitable buffer overflow in the client, chances are you > aren't going to use it as an exploitation. > > But a buffere overflow in the server can be more convenient. I beleieve there > are known abuses about crashing the server lets you get something nicer (I think > item duplication being the bigger one.) But also an exploitation with user > supplied data could perhaps be used as a way to let a user log into the server > system, which certainly wouldn't be good (this probably isn't all that likely, > since I'd bet most people run and compile there own servers, so for a hacker to > know the appropriate data to toss in the buffer to get an overrun would probably > be very tricky to figure it out). True on that, shouldn't have mentioned client overflows... Btw, speaking of server overflows, i'm wondering about the inscription skill, if you couldn't use it to hack some things... i'll experiment someday, but right now i'm not at home, and thus don't have sources or such... Also are there characters that shouldn't be in custom names? (or in text you write in books/scrolls). Obviously things like line feed/line break shouldn't be allower, but are there other characters that should be removed for satefy concerns? Nicolas 'Ryo' Acc?dez au courrier ?lectronique de La Poste : www.laposte.net ; 3615 LAPOSTENET (0,34?/mn) ; t?l : 08 92 68 13 50 (0,34?/mn) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030811/89dc6771/attachment.htm From crossfire-devel-admin at archives.real-time.com Mon Aug 11 08:15:39 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:54 2005 Subject: [CF-Devel] =?iso-8859-1?Q?Re:_[CF-Devel]_Re:_[CF-Devel]_Features_suggestions:_'mail'_box_&_blackboard?= Message-ID: > What happens if a player decide to disconnect after locking worthless items > while other player has put an excalibur for trade? > And what if they don't agree and a player refuse to pull again first lever to > take back items? I was thinking of the possibility for any player to abort the transaction at any point. That way if A disconnects while B has locked some items, B just pulls a lever to release'em.... Obviously we want to make sure no one ever gets robbed :-) Nicolas 'Ryo' Acc?dez au courrier ?lectronique de La Poste : www.laposte.net ; 3615 LAPOSTENET (0,34?/mn) ; t?l : 08 92 68 13 50 (0,34?/mn) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030811/9dcfa81a/attachment.html From crossfire-devel-admin at archives.real-time.com Mon Aug 11 11:08:51 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:54 2005 Subject: [CF-Devel] Re: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <200308111252.33433.tchize@myrealbox.com>; from tchize on Mon, Aug 11, 2003 at 12:52:06PM +0200 References: <200308111022.43113.tchize@myrealbox.com> <20030811133943.A18551@diegeekdie.com> <200308111252.33433.tchize@myrealbox.com> Message-ID: <20030811180851.B18551@diegeekdie.com> On Mon, Aug 11, 2003 at 12:52:06PM +0200, tchize wrote: > Yeah i agree, this perhaps is better Role playing if you can fool other player > and steal them (well in fact the steal capacity is better combined with > improved invisibility) I'm suspecting you are ironic here. If you are not, then I agree with you. Of course players should be able to steal and trick each other in a RPG! How else to play a thief or trickster ? They should of course also use common sense and not do this to newbies or to the same target over and over again. Its a shame that players are so weak compared to how much damage they can deal, otherwise PKing should be allowed at more servers in my opinion. The other guild members can revenge your death and thus scare wanna be player killers (and all the monsters line up at the guilds to join... ;-). A really nice way to get more player to player interaction, compared to shouted auctions and requests for help/items IF one wants to participate in a virtual world and not just another multi player game. All "bad" player to player interactions can also be delt with quite easily. If the players don't want it, write a line about it in the rules document for the server. Ie: "This CF server is a multi player game, not a virtual world. The players are supposed to be friendly to each other and treat each other with respect. That means, among other things: No player killing, no stealing from other players and don't lie or try to fool other players". Does it have to be more complicated? When players no longer can respect simple rules and can't understand reminders from the DMs, then it might be time to deal with it through code changes, but is this a problem yet? Its not like CF servers have 20 14 years old boys online that think they own the whole internet and the rest of us are there to make them happy. /Sebastian _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 10:06:35 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] Re: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <20030811180851.B18551@diegeekdie.com> References: <200308111252.33433.tchize@myrealbox.com> <20030811180851.B18551@diegeekdie.com> Message-ID: <200308111706.42599.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Lundi 11 Ao?t 2003 18:08, Sebastian Andersson a ?crit : > On Mon, Aug 11, 2003 at 12:52:06PM +0200, tchize wrote: > > Yeah i agree, this perhaps is better Role playing if you can fool other > > player and steal them (well in fact the steal capacity is better combined > > with improved invisibility) > > I'm suspecting you are ironic here. If you are not, then I agree with you. was not > Of course players should be able to steal and trick each other in a RPG! > How else to play a thief or trickster ? They should of course also use > common sense and not do this to newbies or to the same target over and > over again. Its a shame that players are so weak compared to how much > damage they can deal, otherwise PKing should be allowed at more servers > in my opinion. The other guild members can revenge your death and thus > scare wanna be player killers (and all the monsters line up at the guilds > to join... ;-). I remember a game where a guild decided as main rule kill all less than level 15 players, cause they deserve it. >A really nice way to get more player to player > interaction, compared to shouted auctions and requests for help/items > IF one wants to participate in a virtual world and not just another > multi player game. > > All "bad" player to player interactions can also be delt with quite > easily. If the players don't want it, write a line about it in the rules > document for the server. Ie: > "This CF server is a multi player game, not a virtual world. > The players are supposed to be friendly to each other and treat > each other with respect. That means, among other things: > No player killing, no stealing from other players and don't > lie or try to fool other players". > > Does it have to be more complicated? > > When players no longer can respect simple rules and can't understand > reminders from the DMs, then it might be time to deal with it through > code changes, but is this a problem yet? Its not like CF servers have > 20 14 years old boys online that think they own the whole internet and > the rest of us are there to make them happy. what a pity, it's just so funny to kick such player as dm :P > > /Sebastian > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/N7EBHHGOa1Q2wXwRAqeoAKDeDk83nkaRIU6zlL+vbi0WOBW/3wCfdxXS WV0R1SuurvBYOFkQVMASKLM= =LFE/ -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 20:41:13 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] crossfire maps system add-on In-Reply-To: <200308062130.17615.tchize@myrealbox.com> Message-ID: <20030812014113.49578.qmail@web21309.mail.yahoo.com> --- tchize wrote: > > - If stand on the roof of a tower, may i see the guys walking in the > tower > garden? > I answered: > - No > -why?, He asked again > - Cause of map system, each stage of tower is a map in itself > - This is stupid!, he said. I go back to my own game code > > So, despite the heat and the fact i had a set of newbies map to finish, i > went in the code. And, guess what! > I modified the map system so it is possible to define a map > "below" current one. This is exactly what my Ice castle maps need to reduce their bloatedness. It was on my TODO list, but since it looks like you are half way there, and it also looks like I will not be working on any Crossfire stuff for a little while, you have my blessing B-). Now, if only someone could add "this map is WAY above this other map", my elevator to the clouds would work well too B-). http://personals.yahoo.com.au - Yahoo! Personals - New people, new possibilities! Try Yahoo! Personals, FREE for a limited period! _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 20:52:39 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <3F33DFD7.70506@laposte.net> Message-ID: <20030812015239.71575.qmail@web21305.mail.yahoo.com> --- Nicolas Weeger wrote: > Here's a feature suggestion to help trade/exchange items securely > between players: some kind of mailbox. > And to complement that, something like a permanent blackboard where > players could write things down, like 'seeking spellbook of something, > paying 10k plat for it'. Have you looked at the IPO Python scripts? They do most of what you ask for. http://personals.yahoo.com.au - Yahoo! Personals - New people, new possibilities! Try Yahoo! Personals, FREE for a limited period! _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 11 21:04:53 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] multistage map In-Reply-To: <200308090910.00300.d.delbecq@laposte.net> Message-ID: <20030812020453.62044.qmail@web21310.mail.yahoo.com> --- David Delbecq wrote: > > I'll make some attemps with actual towers and so on to know if player can > walk behind towers.... I posted my Ice castle maps to this list a while ago, they should be in the archives somewhere. The above ground level maps are really screaming out for multistage maps. Could you do me a favour and use them as test maps? http://personals.yahoo.com.au - Yahoo! Personals - New people, new possibilities! Try Yahoo! Personals, FREE for a limited period! _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 12 00:41:27 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] Re: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <20030811133943.A18551@diegeekdie.com> References: <3F373EF4.30508@sonic.net> <200308111022.43113.tchize@myrealbox.com> <20030811133943.A18551@diegeekdie.com> Message-ID: <3F387E07.90207@sonic.net> Sebastian Andersson wrote: > On Mon, Aug 11, 2003 at 10:22:32AM +0200, tchize wrote: > It is often said that CF is a RPG game, but player to player interaction > is quite limited and one's interaction with NPCs is mostly carried out > with a weapon in hand. Not much roleplaying going on. I don't think > this change would enhance roleplaying, quite the opposite if it were > added to the client and I'm not thrilled about a map implementaiton > either. In RL(tm), there is no such thing as a safe trade nor should > there be one in a virtual world IMO. It just reduces the immersion to > the point of making you think you're accessing a SQL server. The best > one can do is to have a trusted third party that helps you (ie find > another player you both trust), you can pay half in advance and half > afterwards or you'll have to take your chances (perhaps allow the > other player to PK you if you try to fool them). True, but in real life, there are mechanisms to safely trade items. But this is more in the sense that there are laws to also enforce that. If you went to a store, but didn't pay them the money, you'd get arrested for shoplifting. Likewise, if you pay for something, but never received it, you'd sic the law on them. Most everyone trades honestly in real life because they know the consequences if they don't. There are also courts to sue the people (he gave me damaged goods, etc). Arguably, the problem in crossfire is really that there is little consequence for not properly trading items. If you're stronger than the other player, what is he going to do you? And even if your stronger, killing the other player is still strongly discouraged. I personally have no problem with a trading office located in the towns as described - players who want to 'honestly' trade can use that. But if your in a dungeon and trading items, all bets are off. Having a fairly complex logic in the server and client doesn't seem like a good solution to me. If anything, the solution is probably having some real consequences for bad trades. One could in theory do something like ebay - you get reviews from your trading partners, so someone could say 'this person totally screwed me', and you might be less inclined to trade with them than the person that has done numerous trades which people said were fair traes. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 12 00:54:57 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] Re: [CF-Devel] Re: [CF-Devel] Patch submission: item renaming In-Reply-To: References: Message-ID: <3F388131.9010606@sonic.net> nicolas.weeger@laposte.net wrote: > I have no opposition to rename_tag command, quite the opposite. > I think that's how apply/examine work both, no? Either the player clicks > in list with mouse, and then the tag is used, or you can type 'examine > ring of Thieves' and the name is used. Correct. However, for those command, the issue is simpler - there is only one object being activated in question. Arguably, the rename command could work similar, something like rename 'chain mail' to 'my favorite armor' where the rename command looks for an item that matches 'chain mail'. This probably makes more sense. If your 100% keyboard prone, your using the text version of mark item which is doing the same matching. If your using the mouse, then some better interface can be used (it can send the item tag for the object selected). > True on that, shouldn't have mentioned client overflows... > Btw, speaking of server overflows, i'm wondering about the inscription > skill, if you couldn't use it to hack some things... i'll experiment > someday, but right now i'm not at home, and thus don't have sources or > such... Used to be bugs with that - they should all be fixed. > Also are there characters that shouldn't be in custom names? (or in text > you write in books/scrolls). Obviously things like line feed/line break > shouldn't be allower, but are there other characters that should be > removed for satefy concerns? for books/scrolls, code is checked to make sure there are no 'endmsg' values. Beyond that, most anything is ok. For object custom names, you should be sure that the new name is only printable characters (no line feeds, newlines, etc). _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 12 01:31:26 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] multistage map In-Reply-To: <200308111048.33487.d.delbecq@laposte.net> References: <200308072136.25099.tchize@myrealbox.com> <200308090855.00521.tchize@myrealbox.com> <3F3741FE.4020801@sonic.net> <200308111048.33487.d.delbecq@laposte.net> Message-ID: <3F3889BE.1060701@sonic.net> David Delbecq wrote: > > If think there should be some interaction, but it takes time to put in place > which. At least, falling is one of the most obvious one. > What i thought is if player is surrounded by 'can see the sky' (mean nothing > at same place on higher maps) squares, then this would mean he would be more > interested in seeing the roofs than the ground. Since around him roofs and > ground is the same, there would be no impact in surroudings interactions. Not positive if I follow what is being said there. One can obviously start to make different decisions what to show. For example, you could very well have a map on which some portion is a building. The groundfloor layer of that map would be the inside of the building, the second store version would be the roof. If the player is outside, and thus has blocked view from seeing inside, he could see the roof instead this would be cooler, but starts to get really messy. How do spell effects go across maps? I'm thinking most obviously about things like light spells (presuming a dark map) - now th light level should probably propogate to some extent up as well as out (eg, a player (or torch) on an upper map should provide illumination to lower maps, as well as maps above. This really starts to get quite complicated. I'd think to properly do such 3-d stuff would really require a much more extensive change of code, which isn't something I'm all that wild about seeing. > > What i did the first time is when upper map loads, loads lower map too, which > messed me wince lex loading code wasn't recursive :P > Anyway here is how it works for now > When trying to swap a map, look if there is an in_memory upper map. > If that is the case, don't swap (this upper map needs almost always infos from > lower map). This is the wrong approach. The access logic instead should be smarter - if when needing to look at lower map, it isn't in memory, load it in at that time. And when accessing that lower map, update its swap out time so it doesn't disappear from memory immediately. > > But i plan to implement a more generic way. It is a pain to see in a quest the > first map has been reset while the treasure map at the end is not reset and > so empty. I plan to implement some kind of block-reset block-swapping system > in which several map can be linked as being part of a same reset-block or a > same swapping-block. This would mean, for example, i could enter the second > cave of a quest cast a case cold to kobolds, then go safetly up, without > wondering after 2 minutes if the map was swapped out and thus my cold not > killing kobolds anymore. This may also help synchronize the fact sometimes > random map are not coherent with their final map (dunno if corrected now) Be very careful about implementing this. A 'grouping' of maps for resets is fine. A 'grouping' of maps for swaps is completely unnessary IMO. And doing so probably has more bad effects. Eg, you're going down a dungeon, killing things as you go. That group of maps all swap out at once. Lets say it is 5 levels for simplicity. You miss a few generators on level 2. You get down to level five, clean up, and start heading up, only to find out that level 2 is jammed packed with whatever monsters were generating. Is that really a good thing? I don't think so. I'd much rather have a few generated monsters be that, but it not being jammed packed. One could argue the swap out time may be too low. But at the same point, if your not on a map, I don't necessary see a lot of reason why you shoudl get credit for kilsl on it. The current code keeps that relatively simple - you'll get some exp for kills as long as that map is in memory, but not for ever. Remember, at the same time, while your spell may not be killing objects after the map is swapped out, at the same time, the map isn't generating monsters or otherwise changing - it is basically frozen in time. Seems fair both ways to me. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 12 04:35:19 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] multistage map In-Reply-To: <20030812020453.62044.qmail@web21310.mail.yahoo.com> References: <20030812020453.62044.qmail@web21310.mail.yahoo.com> Message-ID: <200308121135.27259.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Mardi 12 Ao?t 2003 04:04, David Seikel a ?crit : > --- David Delbecq wrote: > > > > I'll make some attemps with actual towers and so on to know if player can > > walk behind towers.... > > I posted my Ice castle maps to this list a while ago, they should be in the > archives somewhere. The above ground level maps are really screaming out > for multistage maps. Could you do me a favour and use them as test maps? > > I'll search for them, and try to convert to multistage maps. Will try to load a test server with them (since there was no client change involved in this modification), but need some fixes before, i'll annouce test server opening, for easier test, all players will be allowed dm access (since character will be deleted after the tests, that's not really a problem) > http://personals.yahoo.com.au - Yahoo! Personals > - New people, new possibilities! Try Yahoo! Personals, FREE for a limited > period! > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/OLTdHHGOa1Q2wXwRAjDiAJ42+DZEJoAVu/Fafxg0/m+xtUjlEACfbUVo QAVNODm36sT8PsoRcqzQPIk= =rxVb -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 13 21:13:07 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] multistage map In-Reply-To: <200308121135.27259.tchize@myrealbox.com> Message-ID: <20030814021307.79041.qmail@web21304.mail.yahoo.com> --- tchize wrote: > > I posted my Ice castle maps to this list a while ago, they should be in > > the archives somewhere. The above ground level maps are really > > screaming out for multistage maps. Could you do me a favour and use > > them as test maps? > > > > I'll search for them, and try to convert to multistage maps. Thanks. If you can't find them by Saturday, let me know and I will be able to email them directly to you then. My Internet access is really limited these days B-(. http://search.yahoo.com.au - Yahoo! Search - Looking for more? Try the new Yahoo! Search _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 14 01:37:45 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] gimp and java editor In-Reply-To: <1059857850.4168.20.camel@oberon.Kameria> References: <1059857850.4168.20.camel@oberon.Kameria> Message-ID: <3F3B2E39.7060002@ank.com> Todd Mitchell wrote: >Here is something I don't understand but which I find incredibly >annoying... >When using Gimp (with gnome2 anyway) there are previews files created in >each directory you have worked on images called .xvpics. That's all >fine and good (although it seems to represent an annoying trend) but my >problem is that these previews seem to interfere with the CFJavaEditor >(using Java 1.4jre - blackdown on Debian and Sun's on redhat). If there >is a picture with one of these previews in the arch folder I am using to >feed the CFJavaEditor(I always open it and have it do a fresh collect), >that image will not show up with the associated arch. Just an empty >image as if there is no image file. I have to make sure I delete all >the .xvpic folders all the time - very annoying. It seems strange this >happens, anyone care to venture why it does? > > >_______________________________________________ >crossfire-devel mailing list >crossfire-devel@lists.real-time.com >https://mailman.real-time.com/mailman/listinfo/crossfire-devel > > $ find . -type d -name ".xvpics" | xargs rm -rf -- Look ma, no threads[1]. [1] BitTorrent in C is http://www.sf.net/projects/libbt // .--=, .....::://::::::::::::::::::::::::::::.. (o O & kevin@ank.com :::::::://:::://://://:/:://::||_// / V K :::::://:::://:/:|//'/' // _,|' r , 'qk :'''/____ // / // |_// // || .'~. .~`, kls \_/-=\_/ _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 14 09:25:32 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] gimp and java editor References: <1059857850.4168.20.camel@oberon.Kameria> <3F3B2E39.7060002@ank.com> Message-ID: <000601c3626f$ec9b52c0$17f7d1d8@KAMERIA> > > > $ find . -type d -name ".xvpics" | xargs rm -rf > Thanks, I like better however Andreas response to have the editor ignore hidden directories (thanks Andreas), that way I don't have to worry about killing the editor, removing the offending directories and then restarting the editor all the time. As much as I love working around a problem, even better is to fix it :) _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 21 02:49:31 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <20030812015239.71575.qmail@web21305.mail.yahoo.com> References: <20030812015239.71575.qmail@web21305.mail.yahoo.com> Message-ID: <3F44798B.7000400@laposte.net> >Have you looked at the IPO Python scripts? They do most of what you ask for. > > (sorry for delayed reply, wasn't home for some time) No, i don't know those scripts. Where could i find'em? Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 21 02:59:12 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] Re: [CF-Devel] Re: [CF-Devel] Patch submission: item renaming In-Reply-To: <3F388131.9010606@sonic.net> References: <3F388131.9010606@sonic.net> Message-ID: <3F447BD0.7070800@laposte.net> (sorry for reply delay, didn't access a comp for some days) > Correct. However, for those command, the issue is simpler - there is > only one object being activated in question. Arguably, the rename > command could work similar, something like > > rename 'chain mail' to 'my favorite armor' > > where the rename command looks for an item that matches 'chain > mail'. This probably makes more sense. And for rename too only one object is taken into account... I agree the 'rename to ' makes more sense. I'll try to implement that that way. But i will enforce the use of the ' to separate names, even if you can use partial names of course :-) Or use both syntaxes, based on the presence of ' or not Hum, but would 'rename ' make sense to erase the custom name?? Else i can simply add some other command to erase the custom name... > If your 100% keyboard prone, your using the text version of mark item > which is doing the same matching. If your using the mouse, then some > better interface can be used (it can send the item tag for the object > selected). I try to be keyboard prone, yeah :-) (since it's easier for playing CF imo) And as i said right now i don't feel like messing with the client (yet) > For object custom names, you should be sure that the new name is only > printable characters (no line feeds, newlines, etc). Ok, pretty straightforward to check. I'll fix my code & send some more patches when it's ready :-) Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 21 05:04:47 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <3F44798B.7000400@laposte.net> References: <20030812015239.71575.qmail@web21305.mail.yahoo.com> <3F44798B.7000400@laposte.net> Message-ID: <200308211204.54554.tchize@myrealbox.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le Jeudi 21 Ao?t 2003 09:49, Nicolas Weeger a ?crit : > >Have you looked at the IPO Python scripts? They do most of what you ask > > for. > > (sorry for delayed reply, wasn't home for some time) > No, i don't know those scripts. Where could i find'em? > > Nicolas 'Ryo' > > They are provided with maps-bigworld, in the IPO subdir for maps and in the python or script subdir for scripts, if am not wrong -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/RJlEHHGOa1Q2wXwRAl4HAKCZwQre834SFFNvaFOGwirW5C814ACfVq4t 34yDQ0Zr4cHKCDFJGzwk18Q= =QTzV -----END PGP SIGNATURE----- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 21 10:05:01 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] Features suggestions: 'mail' box & blackboard References: <20030812015239.71575.qmail@web21305.mail.yahoo.com> <3F44798B.7000400@laposte.net> <200308211204.54554.tchize@myrealbox.com> Message-ID: <000a01c367f5$983897c0$0a02a8c0@kameria> >They are provided with maps-bigworld, in the IPO subdir for maps and in the >python or script subdir for scripts, if am not wrong All python scripts are placed in the maps/python folder and actually they are provided in both map sets. The scripts should operate automatically if you have python 2.0 or higher installed and are using the plugin. (you'll see a message when logging in saying "you have no mail", or the server logs will tell you any scripting errors that are poping up). The post office map would have to be linked to an accessable location (an exit building added to get to the map, likely in Scorn) however for you to use the mail sending or bulliten board facilities. The bigworld map set also has a few additional python powered goodies like slotmachines in goths tavern and a few enhanced NPCs who can report on player login activity spread around the world. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 21 10:29:42 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:55 2005 Subject: [CF-Devel] Stealing Idea + simple patch Message-ID: <200308211129.42965.aashenfe@plaind.com> I don't think the thief stealing skill is very interesting/useful at this point. I was thinking it would be more interesting if the skill could be used in shops. This would work by unsetting the unpaid flag, and putting it in the thiefs inventory. The price of the item would determine the difficulty of theft. Theft failure should result in some type of punishment based on the price of the item and maybe the reputation of the thief. I'm included a patch to implement the stealing part of the above. I'm still trying to determine the best way to implement the punishments. These are the things I wan't to be possible on theft failure. Locked out of that store for a period of time, the character would be teleported out of the store(This should always be part of the punishment, but short ~1min for cheap objects stolen be newbies) Teleportation to a punishment area. For instance the shop cellar. The worse the crime the farther the walk out. The shop would need a teleportation list. The list would be ordered by serverity of crime. Celler would be inhabited by shop keepers nasty pets. City jail could also be a dest. A random item might fall out of pockets and become shop inventory. Also it would be nice to be able to track theft attempts. Each theft attempt at a store would make the next theft more difficult. This would be periodically reset. Store maps would probably need to be modified to handle all this. Unmodified maps would just prohibit stealing. Any ideas/ comments would be appreciated. I don't think I implemented the skill checks the best way. I just copied some from attempt_steal. Sorry for the long windedness Adam Well here is a diff file for skills.c agains 1.5.0 of crossfire. CUT BELOW HERE 82a83,106 > * Here is our first attempt at stealing an unpaid object from > * a store. > */ > int attempt_steal_store(object* op, object* who) > { > int cost = query_cost(op, who, F_BUY); > int victim_lvl=cost / 500, thief_lvl = SK_level(who)*10; > int stats_value = get_weighted_skill_stats(who)*3; > int roll=die_roll(2, 100, who, PREFER_LOW)/2; /* weighted 1-100 */ > int chance = stats_value+thief_lvl-victim_lvl; > if( roll < chance) { > new_draw_info(NDI_UNIQUE, 0, who, "You take a 5 finger discount!\n"); > CLEAR_FLAG(op, FLAG_UNPAID); > pick_up(who, op); > return(1); > } else { > new_draw_info(NDI_UNIQUE, 0, who, "The shop keeper is looking this way!!\n"); > return(0); > } > > /*new_draw_info_format(NDI_UNIQUE, 0, who, "Value %d\n", cost); */ > } > > /* 290a315,319 > if(QUERY_FLAG(tmp, FLAG_UNPAID)) { > if (attempt_steal_store(tmp, op)) { > return (calc_skill_exp(op,tmp)); > } > } _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 21 12:29:11 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <000a01c367f5$983897c0$0a02a8c0@kameria> References: <20030812015239.71575.qmail@web21305.mail.yahoo.com> <3F44798B.7000400@laposte.net> <200308211204.54554.tchize@myrealbox.com> <000a01c367f5$983897c0$0a02a8c0@kameria> Message-ID: <3F450167.4070905@laposte.net> >All python scripts are placed in the maps/python folder and actually they >are provided in both map sets. The scripts should operate automatically if >you have python 2.0 or higher installed and are using the plugin. (you'll >see a message when logging in saying "you have no mail", or the server logs >will tell you any scripting errors that are poping up). The post office map >would have to be linked to an accessable location (an exit building added to >get to the map, likely in Scorn) however for you to use the mail sending or >bulliten board facilities. The bigworld map set also has a few additional >python powered goodies like slotmachines in goths tavern and a few enhanced >NPCs who can report on player login activity spread around the world. > > > i'm playing on Metalforge which doesn't have bigworld maps (yet) i have'em on my local server, but it's windows, and python plugin doesn't work perfectly yet, so.... i'll check if i can fix that Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 21 15:48:45 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] Features suggestions: 'mail' box & blackboard In-Reply-To: <3F450167.4070905@laposte.net> References: <20030812015239.71575.qmail@web21305.mail.yahoo.com> <3F44798B.7000400@laposte.net> <200308211204.54554.tchize@myrealbox.com> <000a01c367f5$983897c0$0a02a8c0@kameria> <3F450167.4070905@laposte.net> Message-ID: <1061498925.901.0.camel@oberon.Kameria> > > > i'm playing on Metalforge which doesn't have bigworld maps (yet) > i have'em on my local server, but it's windows, and python plugin > doesn't work perfectly yet, so.... > i'll check if i can fix that Well since mids wrote the IPO, mids server runs the scripts - metalforge does not use the python plugin or you would see the IPO even in the old mapset. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 22 14:32:45 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] two new small additions In-Reply-To: <3F31E25C.50103@sonic.net> References: <000c01c35c63$55fd7ee0$2076e2d1@KAMERIA> <3F31E25C.50103@sonic.net> Message-ID: <1061580764.514.40.camel@oberon.Kameria> On Thu, 2003-08-07 at 01:23, Mark Wedel wrote: > I'm all for making it more difficult for players to accidentally kill other > players. > > One reason it was done for melee attacks originally is because of how quickly > one can get killed by another player with such attack. > > This is someone related to the problem of monsters having so many HP than > players - players attacks are then very deadly to other players. > > This is bit less an issue in ranged attacks perhaps. Also, given the speed of > such attacks, it is more likely in crossfire that someone steps in front of your > attack, vs a case where players are intentionally targetting another. > ok I've managed to add a new function called friendly_fire that checks if the attacker is PEACEFUL & attacking another player and will modify the damage done if this is the case. What I currently have is that all peaceful attacks against other players does 1 pt of damage. Since the idea was to lower the chace of accidentally killing other players this really gives the othre player a chance to get out of the way but can still do some damage if people are careless, a wand of lightning can still do a lot of damage one point at a time due to the speed of the damage. It also does a check for to see if the damage is done by CONE, FBALL, SWARM_SPELL and POISON_CLOUD types which will do full damage even if the attacker is peaceful (you can still easily accidentally fry a party member with burning hands or a fireball in other words.) Actually to be precise the function currently simply returns three types of friendly fire, hits by a player, hits by an object owned by a player and hits by an object owned by a player which are of an area effect nature (e.g. CONE...) so that I could do different things based on these types of friendly fire. I have also changed 'WHO' to better show if a player is _P_eaceful or _H_ostile since it is more important to know. It would be nice to have your Peaceful status displayed somewhere prominantly in the client as well. Now I could instead do some sort of random percentage of damage rather than a single damage point, but if this is more popular idea it shouldn't be a lot of damage IMHO (~10%?). I added a check to the hit_player function which checks friendly_fire. It works very well so far on my test server but I still need to do more testing I think. So, any last suggestions? Of course just to clarify for those of you not really reading this thread, it does not change damage against non-players when you are peaceful... just PVP attacks. Also, yes this does fit in with the Outlaw counter I am working on, but is really a stand alone change. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 22 16:30:41 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] patch command behaviour Message-ID: <20030822183041.0a388c9a.kstenger@montevideo.com.uy> Hi all! I've been fixing some strange names on certain items using the patch command and it usually works fine, but i accidentally changed an item's "title" instead of it's "name" and now i cant find the way to set it's title to an empty string. "patch title" says that title is an unknown variable "patch title " seems to do it because it shows the message that is changing it, but it actually doesn't change anything any idea? thanks, Katia. -- +-----------------------------+ | Karla M? Stenger S?bat | | Pando . Canelones . Uruguay | | kstenger@montevideo.com.uy | +-----------------------------+ _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 22 17:19:28 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] two new small additions In-Reply-To: <1061580764.514.40.camel@oberon.Kameria> Message-ID: On Fri, 22 Aug 2003, Todd Mitchell wrote: > ok I've managed to add a new function called friendly_fire that checks > if the attacker is PEACEFUL & attacking another player and will modify > the damage done if this is the case. What I currently have is that all > peaceful attacks against other players does 1 pt of damage. Since the > idea was to lower the chace of accidentally killing other players this > really gives the othre player a chance to get out of the way but can > still do some damage if people are careless, a wand of lightning can > still do a lot of damage one point at a time due to the speed of the > damage. Quick question concerning PVP battles in the arena. Will dueling players inflict 1 point of damage to one another or does the code work differently when players are in the arena? - Rick Tanner leaf@real-time.com -- _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 22 18:31:58 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] two new small additions In-Reply-To: References: Message-ID: <1061595118.816.7.camel@oberon.Kameria> > Quick question concerning PVP battles in the arena. > > Will dueling players inflict 1 point of damage to one another or does the > code work differently when players are in the arena? If you are peaceful then it will do reduced damage even in the arena execpt for area effect attacks of course. This change is to make peaceful mode work in a semi-similar manner for all player attacks, not just melee. You will have to be more observant of peaceful/hostile with this change. OTOH, you can have duels agreening to fight in peaceful mode as well, as most attacks would do much less damage but can still be quite lethal. But as for the other part of this, if you are hostile in the arena you will not get the negative effects of killing other players (you will not gain or loose outlaw counters or luck points). _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 23 02:56:12 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] Partially applied patch for Windows Message-ID: <3F471E1C.9080209@laposte.net> Hello. I submitted a patch for Windows compilation on august, 1st, and it was applied to CVS... but only partially ^.^ (see http://archives.real-time.com/pipermail/crossfire-devel/2003-August/004874.html for details) in common/map.c, line 191, it is: return(_access(name,0)); and it should read: return(_access(buf,0)); Could someone be as kind as fix that? Thanks in advance. Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sat Aug 23 04:22:19 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] Patch submission: Windows random map issue Message-ID: <3F47324B.3090806@laposte.net> Hello. A guest on the forum reported random map being broken on server under Windows. Here's a patch to correct that. It concerns only the server/win32.c file, so shouldn't change anything for other platforms. The 2 fixes are: * clear errno after last file was found in readdir, since Windows sets it to ENOENT (not 0) => CF thinks something fails, which is bad * d_reclen field on dirent structure was only the length of the name, but is used elsewhere as the length of the whole structure. Fixed that (note that it won't work on multibyte platforms) If someone could put that in cvs (after checking it doesn't break anything for other platforms :-), many thanks. Nicolas 'Ryo' -------------- next part -------------- RCS file: /cvsroot/crossfire/crossfire/server/win32.c,v retrieving revision 1.2 diff -r1.2 win32.c 30c30 < --- > 104c104,107 < dp->finished = 1; --- > dp->finished = 1; > if (ENOENT == errno) > /* Clear error set to mean no more files else that breaks things */ > errno = 0; 111,112c114,116 < dp->dent.d_ino = 1; < dp->dent.d_reclen = strlen(dp->dent.d_name); --- > dp->dent.d_ino = 1; > /* reclen is used as meaning the length of the whole record */ > dp->dent.d_reclen = strlen(dp->dent.d_name) + sizeof(char) + sizeof(dp->dent.d_ino) + sizeof(dp->dent.d_reclen) + sizeof(dp->dent.d_off); From crossfire-devel-admin at archives.real-time.com Sat Aug 23 12:05:44 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] Partially applied patch for Windows In-Reply-To: <3F471E1C.9080209@laposte.net> References: <3F471E1C.9080209@laposte.net> Message-ID: <1061658344.477.0.camel@oberon.Kameria> Applied to CVS On Sat, 2003-08-23 at 03:56, Nicolas Weeger wrote: > Hello. > > I submitted a patch for Windows compilation on august, 1st, and it was > applied to CVS... but only partially ^.^ > (see > http://archives.real-time.com/pipermail/crossfire-devel/2003-August/004874.html > for details) > > in common/map.c, line 191, it is: > > return(_access(name,0)); > > and it should read: > > return(_access(buf,0)); > > Could someone be as kind as fix that? > > Thanks in advance. > > Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 24 11:52:46 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] Stealing Idea + simple patch In-Reply-To: <200308211129.42965.aashenfe@plaind.com> References: <200308211129.42965.aashenfe@plaind.com> Message-ID: <200308241252.46907.aashenfe@plaind.com> I'm suprised I havent got any responses to my last post, good or bad. Anyway I am continueing to implement shop stealing. Here is how I'm trying to do it. I created a new archetype called shopsteal. It has a lot in common with an exit except It is always at (0,0) on the map of a shop that allows stealing. Also it should be under the floor if possible. When a thief attempts to steal from a store, (0,0) is check for the shop steal arch. The shop steal speed on the shopsteal item is a multiplier on the difficulty of the store. It also affects experience for the store. The Wis of the shop steal also affects difficulty, but usualy starts at zero, and is incremented every time the shop is stolen from. On steal success, an items unpaid flag is unset, and moved into users inventory. The wis of the shopsteal is incremented by one. On failure, the shopsteal item at 0,0 is used as an exit to place the player outside the shop floor (anymap you want to put them on). Also the shopsteals can be stacked. The bottom items wis and speed still affects difficulty. We will call the bottom one the main shopsteal. The shopsteals above provide greater punishments only. For instance for a level 1-10, the first original shopsteal is used as the exit, for 11-20 the shopsteal on top of that one is used as a destination, and so on for each 10 levels. So if their are two shop steals, then there are two levels of punishment. Value of the stolen item is used as a modifier to the level). So be carefull what you steal :) The only thing I have left to do is lock a player out of that store for a period of time. I am thinking of adding a force to the player character when a steal attempt fails. Then shop matts will check for the force against the main shopsteal. The slaying on the force would be the name of the main shopsteal. Thus shops can lock you out individualy, or some towns can lock you out of every store. Period of time yet to be dertermined. Also since I'm not using cvs. I'm trying this against 1.5.0 How do I use diff to create a proper patch file? I hope to submit the patch later today or monday. Sorry again for the long windedness!!! Adam On Thu August 21 2003 11:29 am, I wrote: > I don't think the thief stealing skill is very interesting/useful at this > point. I was thinking it would be more interesting if the skill could be > used in shops. > This would work by unsetting the unpaid flag, and putting it in the thiefs > inventory. The price of the item would determine the difficulty of theft. > Theft failure should result in some type of punishment based on the price > of the item and maybe the reputation of the thief. > I'm included a patch to implement the stealing part of the above. I'm > still trying to determine the best way to implement the punishments. > Etc........ _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 24 12:41:59 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] Stealing Idea + simple patch In-Reply-To: <200308211129.42965.aashenfe@plaind.com> References: <200308211129.42965.aashenfe@plaind.com> Message-ID: <1061746919.556.2.camel@oberon.Kameria> I really would rather see some improvements to shops before something like this was implemented. I think that garbled was once working on levels for shops and I once had an idea for further modifying shops prices based on player forces in inventory (part of a citizenship and guild thing). This would allow shoplifting to check item value, shop level and player force - and if you get caught to ban you from the store. I think it has merit but is a real abuse magnet if not done carefully. I don't think the thief stealing skill is very interesting/useful at this > point. I was thinking it would be more interesting if the skill could be > used in shops. > This would work by unsetting the unpaid flag, and putting it in the thiefs > inventory. The price of the item would determine the difficulty of theft. > Theft failure should result in some type of punishment based on the price of > the item and maybe the reputation of the thief. > I'm included a patch to implement the stealing part of the above. I'm still > trying to determine the best way to implement the punishments.... > I am of a mind to wait for the new skill code before even looking at this... _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 24 16:35:35 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] Stealing Idea + simple patch In-Reply-To: <1061746919.556.2.camel@oberon.Kameria> References: <200308211129.42965.aashenfe@plaind.com> <1061746919.556.2.camel@oberon.Kameria> Message-ID: <3F492FA7.4090800@sonic.net> Few quick notes: Realize that punishing the character (unable to get into the store) isn't really much of a punishment. If that happened to me, I'd just whip a new character, with a really high Cha, and send him into the store with the cash to buy something if in fact I was going to buy something. Likewise, one has to be careful about making things more expensive for known theives - unless there is a counterbalance to that - well known/liked characters get discounts. Otherwise, same thing happen - get a another character to buy your stuff. If there is a form of good reputation, then stealing becomes much riskier - do you take that chance that your reputation may get lower. At a higher level, I really wonder if this would get used much at all - money seems to be so plentiful, I can't see much reason that players would ever steal. If the item is relatively easy to steal (and thus relative inexpensive), what is the point? And if you can steal items that are _really_ expensive, then that might suggest stealing is broken. OTOH, I'm not really against features that no one would use. It's just a note that one should keep this is mind while developing (and certainly, abusive features are sometimes turned off, like polymorph for example). A few notes: Don't use the speed value for any thing other than object speed - to do so is asking for troubles. Find another field in the object for your multiplier. level would seem to be the most obvious, but if you need a float, perhaps use expmul instead. I'm not sure if it makes sense for a shop to get more difficult to steal from as it gets stolen from. The reason I say this for one, is that in a multiplayer game, it could quickly be a case where all the shops quickly have very high stolen from counts, making the ability next to useless. Second point being I'm not sure high realistic it is. If your going to have levels of punishments with stacked arch's, something in the arch should say at what level that object takes precendence, and not something like 'each one is 10 levels higher'. hardcoded values in the code are very bad, and almost never stay around for very long, simply because someone at some point says I want finer control. I personally do think a force should be added to the player denoting how many times they have been caugh stealing, and have that act as a modifier of their stealing chances - a known thief is going to be watched closer than that person who has never stolen before. If one wanted to be more clever, the 'race' field of the shop steal object should denote the new name of the force. Thus, all the shops in scorn could have something like 'race scorn_caught_steals', and thus all the shops in scorn would treat him as less than friendly (known criminal). But if you go off to Navar City, they wouldn't know about it, and those shops would have something like 'race navar_city_caught_steals'. The new skill stuff, which will probably be checked in in the next week or so, probably doesn't change this that much, other than exp is no longer in experience categories, but instead for each skill. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 24 16:42:08 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] two new small additions In-Reply-To: <1061580764.514.40.camel@oberon.Kameria> References: <000c01c35c63$55fd7ee0$2076e2d1@KAMERIA> <3F31E25C.50103@sonic.net> <1061580764.514.40.camel@oberon.Kameria> Message-ID: <3F493130.4070909@sonic.net> Todd Mitchell wrote: > On Thu, 2003-08-07 at 01:23, Mark Wedel wrote: > ok I've managed to add a new function called friendly_fire that checks > if the attacker is PEACEFUL & attacking another player and will modify > the damage done if this is the case. What I currently have is that all > peaceful attacks against other players does 1 pt of damage. Since the > idea was to lower the chace of accidentally killing other players this > really gives the othre player a chance to get out of the way but can > still do some damage if people are careless, a wand of lightning can > still do a lot of damage one point at a time due to the speed of the > damage. IMO, it might be more interesting for at least arrows/bolts to check this on the to hit chance. Eg, likelihood of hitting your friend with an arrow is much lower, but if you hit, damage is the same. This in the sense because your not actually aiming at your friend. This would also make it perhaps reasonable to fire through your friend with a bow. > It also does a check for to see if the damage is done by CONE, FBALL, > SWARM_SPELL and POISON_CLOUD types which will do full damage even if the > attacker is peaceful (you can still easily accidentally fry a party > member with burning hands or a fireball in other words.) This will have to get changed with the new spell code that will be checked in shortly. I'd argue that BOLTS, RUNES, and perhaps a few others should also be added to that list. (I'm fine with leaving bullets off, on the basis they are relatively small and more aimed at a specific targer). > > Now I could instead do some sort of random percentage of damage rather > than a single damage point, but if this is more popular idea it > shouldn't be a lot of damage IMHO (~10%?). Where is the adjustment made? If made earlier in hit player, then realize that the targets protections and so forth may then come into play, so that 1 point may actually be considerably less. Most flexible would be to have the value a percentage setting that is setable in the settings file. Admins that don't want to give any help to players could set it to 100%, while more friendly servers could set it much lower, with 1 point always be the least it does in all cases. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 24 18:02:28 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] two new small additions In-Reply-To: <3F493130.4070909@sonic.net> References: <000c01c35c63$55fd7ee0$2076e2d1@KAMERIA> <3F31E25C.50103@sonic.net> <1061580764.514.40.camel@oberon.Kameria> <3F493130.4070909@sonic.net> Message-ID: <1061766148.559.8.camel@oberon.Kameria> Here is the change for your scrutiny: New function friendly_fire in attack.c: int friendly_fire(object *op, object *hitter){ int friendlyfire; if (hitter->head) hitter=hitter->head; friendlyfire = 0; if(op->type == PLAYER){ if(hitter->type == PLAYER && hitter->contr->peaceful == 1) friendlyfire = 1; if(get_owner(hitter) && hitter->owner->type == PLAYER && hitter->owner->contr->peaceful == 1){ friendlyfire = 2; if(hitter->type == CONE || hitter->type == FBALL || hitter->type == FIREWALL || hitter->type == SWARM_SPELL || hitter->type == POISONCLOUD || hitter->type == POISONING || hitter->type == DISEASE || hitter->type == RUNE) friendlyfire = 0; } } return friendlyfire; } Added to hit_player: > if (type & attacktype) { > ndam=hit_player_attacktype(op,hitter,dam,attacknum,magic); > /* the >= causes us to prefer messages from special attacks, if > * the damage is equal. > */ > if (ndam >= maxdam) { > maxdam = ndam; > maxattacktype = 1< } /* if this is friendly fire then do a little bit of damage only */ friendlyfire = friendly_fire(op, hitter); if (friendlyfire) maxdam = 1; > } _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Sun Aug 24 21:38:56 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] Stealing Idea + simple patch In-Reply-To: <3F492FA7.4090800@sonic.net> References: <200308211129.42965.aashenfe@plaind.com> <1061746919.556.2.camel@oberon.Kameria> <3F492FA7.4090800@sonic.net> Message-ID: <200308242238.56627.aashenfe@plaind.com> Thank you for the suggestions. > Likewise, one has to be careful about making things more expensive for > known theives - unless there is a counterbalance to that - well known/liked > characters get discounts. Otherwise, same thing happen - get a another > character to buy your stuff. If there is a form of good reputation, then > stealing becomes much riskier - do you take that chance that your > reputation may get lower. If your a thief, do you care about reputation? I'm thinking if you are a thief character you are stealing from the store to gain experience for your stealing skill. Plus make some cash. > > At a higher level, I really wonder if this would get used much at all - > money seems to be so plentiful, I can't see much reason that players would > ever steal. Why have a steal skill or thiefs in the game at all if is pointless to steal? Higher level players will probably need another outlet for the stealing skills. + Here are some quick ideas to keep down the money supply. Weekly permanent apartment rent. When apartment map loads, calculate rent for room and extenders. Search for money in room or on character, and use as rent. If no money, close extenders + cash in random item from room. When no stuff left, apartment closes again. Obnoxius but effective. Boats could charge for passage. Thief monsters in higher level dungeons. Pay the price for the experience. Thiefs steal and run. They prefer money, but take other items if money isn't enough, or backstab player in retaliation could avoid newbies. (Don't jog in central park without cash!! :). Once out of site thief hides,or is gone. Kill him quick if you want your items back! Anti theft spells and items could help, but not 100%. > Find another field in the object for your > multiplier. Thanks for the advise > I'm not sure if it makes sense for a shop to get more difficult to steal > from as it gets stolen from. Will this reset when the map resets? I don't think stores should be cleaned out by thiefs. Maybe just a stealing limit instead of difficulty? > If your going to have levels of punishments with stacked arch's, > something in the arch should say at what level that object takes > precendence, and not something like 'each one is 10 levels higher'. > hardcoded values in the code are very bad, and almost never stay around for > very long, simply because someone at some point says I want finer control. Advise taken Thanks Adam _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 25 00:27:35 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:56 2005 Subject: [CF-Devel] Stealing Idea + simple patch In-Reply-To: <200308242238.56627.aashenfe@plaind.com> References: <200308211129.42965.aashenfe@plaind.com> <1061746919.556.2.camel@oberon.Kameria> <3F492FA7.4090800@sonic.net> <200308242238.56627.aashenfe@plaind.com> Message-ID: <3F499E47.10902@sonic.net> Adam Ashenfelter wrote: > If your a thief, do you care about reputation? I'm thinking if you are a > thief character you are stealing from the store to gain experience for your > stealing skill. Plus make some cash. Thieves may not care about reputation. But at the same time, if they have a poor reputation, costs would probably be higher. > Why have a steal skill or thiefs in the game at all if is pointless to steal? > Higher level players will probably need another outlet for the stealing > skills. Not everything in the game makes sense. > + Here are some quick ideas to keep down the money supply. This has been discussed before. To get a game were the economy is perfect is IMO very difficult. I really don't want to open up that discussion as part of stealing - I'm just pointing out that money is highly available, so that will probably diminish the usefulness from stealing for shops for the reasons I mentioned (like everything else - might be difficult to balance stealing from shops for the reward vs penalty. If I can go and steal spellbooks or potions by the truckload, that is a problem. IF the best I can reasonably steal is something with 2 pp, then that probably isn't worth it. > Thief monsters in higher level dungeons. Pay the price for the experience. > Thiefs steal and run. They prefer money, but take other items if money isn't > enough, or backstab player in retaliation could avoid newbies. (Don't jog in > central park without cash!! :). Once out of site thief hides,or is gone. > Kill him quick if you want your items back! Anti theft spells and items > could help, but not 100%. This is what I would agree with more - more places where thieves can use their skills for some useful purpose. It goes back and forth - at one time, the skills were very powerful, but then the complaints that players can just bypass quests and mosnters. So some number of monsters were then made immuned to stealing and whatnot. Really, players should be able to steal from anyone, just some monsters may be very difficult to steal against. Likewise, if there are NPC's in towns that give items necessary to finish a quest, being able to steal those items also makes sense to me. > Will this reset when the map resets? I don't think stores should be cleaned > out by thiefs. Maybe just a stealing limit instead of difficulty? Depends - it can reset/not reset, depends on how it is set up. Arguably, a store getting cleared out by thieves is no different than a store getting cleared out by a player with lots of money. I'm not sure how to do it, but arguably, one shouldn't be able to sell stuff stolen back to the same shop. OTOH, if stealing is balanced right, it seems unlikely a store would be cleared out. Presumably, a really good thief could steal cheap items with relative impunity. But a good theif (say level > 10) presumably wouldn't get much benefit from stealing 1 pp items. So he'd go for the better stuff, which then increases his risk. If something like the jail is used, which locks away the players for X minutes of real time, this starts to be self limiting. Shops reset after 2 hours, so if the characters are tossed in jail for several minutes for getting caught, this sort of limits how often the player could steal/how much stuff. Also, some noticable time penalty could be imposed when using the stealing skill (eg, takes 20 ticks of player time for example) - this means at best you can only steal some limited number of objects. One could also limit it other ways - mark stolen items as such (flag_stolen or the like). If the player is caught stealing, all those stolen items are returned. This means that a player could more safely steal by stealing one item, and putting it someplace safe (outside the shop), go back, steal another, etc, which would also limit the number of items they steal a bit. OTOH, you don't want to make it too much a pain. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 25 10:26:37 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:57 2005 Subject: [CF-Devel] Stealing Idea + simple patch References: <200308211129.42965.aashenfe@plaind.com> <1061746919.556.2.camel@oberon.Kameria> <3F492FA7.4090800@sonic.net> <200308242238.56627.aashenfe@plaind.com> <3F499E47.10902@sonic.net> Message-ID: <000401c36b1d$4875a900$78f7d1d8@KAMERIA> > > If your a thief, do you care about reputation? I'm thinking if you are a > > thief character you are stealing from the store to gain experience for your > > stealing skill. Plus make some cash. > > Thieves may not care about reputation. But at the same time, if they have a > poor reputation, costs would probably be higher. > I would like to see some sort of store cost modifier for all players by way of player forces to enable things like guild membership and citizenship, this could also be used to produce a similar effect for thieves. I see making a field in the store arch (in object actually) for 'location' (a string such as 'Scorn' or 'Mike's Shop' or 'WalMart') which can be checked against entries in a player force (shopping force?) when calculating prices. If there is no matching entry in the player force for that location field, the cost is slightly higher (and selling price lower). This would allow stuff like stores which provide a discount for guild members or a home-town discount if you are a citizen. It could even allow for some sort of price club type stores... pay a fee (complete a quest)to get their discount card... Existing stores would be either upgraded with a location or increase prices so it wouldn't hurt the economy much. Newbies can be Scorn citizens by default and the shops could be redone pretty quickly. Getting back to the point here, there could be another player force (shoplift force) which works the reverse for thief 'reputation' in that if the location is matched (by previous theft attempts in that store) then the prices are jacked up and selling price dropped. This would also encourage thiefs not to steal and sell in the same stores. > > Really, players should be able to steal from anyone, just some monsters may be > very difficult to steal against. > > Likewise, if there are NPC's in towns that give items necessary to finish a > quest, being able to steal those items also makes sense to me. > > > > Will this reset when the map resets? I don't think stores should be cleaned > > out by thiefs. Maybe just a stealing limit instead of difficulty? > > Depends - it can reset/not reset, depends on how it is set up. > > Arguably, a store getting cleared out by thieves is no different than a store > getting cleared out by a player with lots of money. > > I'm not sure how to do it, but arguably, one shouldn't be able to sell stuff > stolen back to the same shop. OTOH, if stealing is balanced right, it seems > unlikely a store would be cleared out. > stealing for resale would be fine since there is a risk involved in getting caught and you would be loosing a lot in the exchange. I don't even think it would be much of a problem selling it back to the same store as long as you had to leave the store first. I think that leaving the store should be conditional to getting away with the theft. Perhaps marking the item as 'lifted' (chance of failure/detection here) and at the shop mat doing a final check based on number of 'lifted' items and if it fails they loose the stuff, drop a random item, insert an entry into the 'shoplifter force', and send them to the alley to get a beaten (a random map - shoplift style - with final exit equal to the shop map exit). > > If something like the jail is used, which locks away the players for X minutes > of real time, this starts to be self limiting. Shops reset after 2 hours, so if > the characters are tossed in jail for several minutes for getting caught, this > sort of limits how often the player could steal/how much stuff. I don't think jail or time penalties are really a good penalty. I would just go get a sandwich or something if I ripped of something nice. You mentioned dropping your loot and random item(s) while fleeing - that sounds better, plus maybe some xp loss or being teleported into an 'alley' full of 'guards' for a beating would be better. Maybe you could multiply the dificulty by number of items stolden at once (getting two items out of the store would be twice as hard as one...) xp or item loss is really the only true 'penalty' that means anything to players, even death (non-permadeath) is only bad cause you loose xp (and in some cases items). That's what I think anyway. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 25 11:34:16 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:57 2005 Subject: [CF-Devel] More on item renaming Message-ID: <3F4A3A88.3080602@laposte.net> Hello. Before I fix my item renaming patch, I want to have opinions on the syntax i have decided to use: The syntax would be rename to < and > aren't used in names, so i think using them here would make the syntax easy to read. Obviously you can use partial names only for the item name, it will match the best, as apply or mark. Name length would be maxed at 127 chars (what is sent to client when sending inventory). Only the following characters would be accepted: letters, digits, various chars like -+_' Omitting the would clear the custom name. Omitting the would use the marked item (or say no marked item if none) What does everyone (interested in that patch) think? Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 25 13:39:44 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:57 2005 Subject: [CF-Devel] Stealing Idea + simple patch In-Reply-To: <000401c36b1d$4875a900$78f7d1d8@KAMERIA> Message-ID: On 25-Aug-03 Todd Mitchell wrote: > plus maybe some xp loss or being teleported into an 'alley' full of > 'guards' for a beating would be better. Worth noting.. at low level, guards were my favorite target to pick on. Worth lots of exp, slow, and not too hard to kill. If you had enough guards in that alley, I could have seen myself intentionally failing to steal to get into the alley to wipe them out. My only comment on this, is that in Nethack, the penalty for stealing, is usually a horrible horrible death, or at least, the fight of your life. --- Tim Rightnour NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 25 16:31:38 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:57 2005 Subject: [CF-Devel] Stealing Idea + simple patch References: Message-ID: <000801c36b50$46b182a0$aa76e2d1@KAMERIA> I put 'alley' and 'guards' in quotes because they were not really an alley or guards, but rather a horrible place full of monsters of fearsome nature. It wouldn't be good to have a single set monster since it would be rather silly to punish a level 5 thief the same as a level 50 thief. It would be interesting to send the player to a random map of appropriate level to reflect on their crime (based on the map or item level perhaps...player level?). Anyway it should be something suitably random and time consuming and dangerous I suppose... > On 25-Aug-03 Todd Mitchell wrote: > > plus maybe some xp loss or being teleported into an 'alley' full of > > 'guards' for a beating would be better. > > Worth noting.. at low level, guards were my favorite target to pick on. Worth > lots of exp, slow, and not too hard to kill. If you had enough guards in that > alley, I could have seen myself intentionally failing to steal to get into the > alley to wipe them out. > > My only comment on this, is that in Nethack, the penalty for stealing, is > usually a horrible horrible death, or at least, the fight of your life. > _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 25 16:42:01 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:57 2005 Subject: [CF-Devel] Fun feature to do, maybe difficult... Message-ID: <3F4A82A9.3010001@laposte.net> Hi. Here's an idea i had for a nifty feature: prevent some specific spells on maps. This gives some nice ideas of maps. For instance, a map where you could NOT use word of recall or town portal... No way to escape except complete it! Or a map where you couldn't use any cone spell, and so on... Of course this would be bad for wizards and not specially for fighters.... This may be pretty hard to do, though, or not be interesting :-) And opinion? Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 25 20:27:24 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:57 2005 Subject: [CF-Devel] ALSA 0.9.x sound server patches In-Reply-To: <20030311071633.63064a69.tth@one.net> Message-ID: <5.1.0.14.0.20030825194512.00aacd30@postoffice.worldnet.att.net> I have reloaded my server and ALSA 0.9 is what comes with the distribution, so now the sound server will not compile without some messing around. I think the ALSA 0.9 patches didn't get applied quite right. It looks like Tim's alsa9-configure-in.patch1 was only partially applied: > [client]$ patch configure.in alsa9-configure-in.patch1 > patching file configure.in > Hunk #1 FAILED at 162. > Hunk #2 succeeded at 209 (offset 8 lines). > 1 out of 2 hunks FAILED -- saving rejects to file configure.in.rej > [client]$ Hunk #1 is already applied in the copy of client/configure.in that I have off of CVS. (everything in configure.in.rej is already in configure.in.) It would also have the appearance that Tim's alsa9-cfsndserver.patch1 was not applied at all: > [sound-src]$ patch cfsndserv.c alsa9-cfsndserver.patch1 > patching file cfsndserv.c > [sound-src]$ After doing these patches, things at least compiled properly. I'll have to test to see if it actually works. Perhaps it should also be noted that --disable_alsa in client/configure does not work: > --disable-alsa disable ALSA sound support default=use alsa sound support > if alsa libraries exist Kevin Bulgrien At 07:16 AM 3/11/03, you wrote: >Hey all, > >Attached is the patch (since i don't have CVS write access) for the ALSA 0.9.x API implementation in cfsndserver, and a configure.in patch so that alsa 0.9.x is detected at configure time :P > >Tim Hentenaar _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 25 23:09:36 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:57 2005 Subject: [CF-Devel] Stealing Idea + simple patch In-Reply-To: <000801c36b50$46b182a0$aa76e2d1@KAMERIA> References: <000801c36b50$46b182a0$aa76e2d1@KAMERIA> Message-ID: <3F4ADD80.6070303@sonic.net> Todd Mitchell wrote: > I put 'alley' and 'guards' in quotes because they were not really an alley > or guards, but rather a horrible place full of monsters of fearsome nature. > It wouldn't be good to have a single set monster since it would be rather > silly to punish a level 5 thief the same as a level 50 thief. It would be > interesting to send the player to a random map of appropriate level to > reflect on their crime (based on the map or item level perhaps...player > level?). Anyway it should be something suitably random and time consuming > and dangerous I suppose... If I recall nethack properly, it was that the shopkeeper would attack you, and they were very nasty. I'm not sure how much I like the idea of getting transported to random maps. At some point, that now just becomes a both (word of recall back home). I'm also not sure how much 'sense' it makes. Getting tossed into jail arguably makes some sense. As for it not being much of a punishment, perhaps that is true, but it seems like it would be very difficult to find something that would be an appropriate punishment - getting tossed into jail for 10 minutes could be very annoying if you were just about to go out on that quest. the other form of punishment could perhaps be a fine (25% of the value of the item you stole?) When you sell stuff in the future, a portion of the proceeds goes to pay off your fine. And to prevent it from just using another character to sell all your stuff, could even have 'fine checkers' at the town entrances and so forth. A player could still get someone else to transport and sell the loot, but this may get to be enough of a bother to be a pretty big disincentive (however, at some level, quite realistic - that outlaw needs someone else to hoc his goods) As far as regions, wouldn't be too hard to add a 'region' field in the map header, so you could have 'region scorn' and 'region navar_city' and the like. I'd probably not like it to be to speficic (region navar_city_magic_store wouldn't be good IMO), but one could certainly have some special stores (region black_hand_store or the like). _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Mon Aug 25 23:10:31 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:57 2005 Subject: [CF-Devel] More on item renaming In-Reply-To: <3F4A3A88.3080602@laposte.net> References: <3F4A3A88.3080602@laposte.net> Message-ID: <3F4ADDB7.1090407@sonic.net> Nicolas Weeger wrote: > Hello. > > Before I fix my item renaming patch, I want to have opinions on the > syntax i have decided to use: > The syntax would be rename to > < and > aren't used in names, so i think using them here would make the > syntax easy to read. > Obviously you can use partial names only for the item name, it will > match the best, as apply or mark. > Name length would be maxed at 127 chars (what is sent to client when > sending inventory). > Only the following characters would be accepted: letters, digits, > various chars like -+_' > > Omitting the would clear the custom name. > Omitting the would use the marked item (or say no > marked item if none) > > What does everyone (interested in that patch) think? Looks good to me. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 26 00:45:32 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:58 2005 Subject: [CF-Devel] friendly fire patch Message-ID: <1061876732.600.3.camel@oberon.Kameria> Here is the patch for friendly fire - please check it out and if it is ok, Ill commit it to CVS and add in the peaceful help file. I would have added it to CVS directly because it appears to work alright but think that someone who knows the attack system should glance it over first... -------------- next part -------------- A non-text attachment was scrubbed... Name: friendly.patch Type: text/x-patch Size: 7816 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030826/30fcefa4/friendly.bin From crossfire-devel-admin at archives.real-time.com Tue Aug 26 01:50:33 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:58 2005 Subject: [CF-Devel] Stealing Idea + simple patch In-Reply-To: <3F4ADD80.6070303@sonic.net> Message-ID: On 26-Aug-03 Mark Wedel wrote: > If I recall nethack properly, it was that the shopkeeper would attack you, > and > they were very nasty. In more recent versions.. it covers the level with keystone kops, to slow you down while the shopkeeper hunts you across the level. It's *much much* worse than just the shopkeeper. --- Tim Rightnour NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 26 12:11:40 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:58 2005 Subject: [CF-Devel] Stealing Idea + simple patch In-Reply-To: <200308211129.42965.aashenfe@plaind.com> References: <200308211129.42965.aashenfe@plaind.com> Message-ID: <200308261311.40285.aashenfe@plaind.com> Here are the changes I have so far. Changes against 1.5.0 Most of it is working ok. I still have to work on adding a force to the player to lock them out of the store for a period of time. Also there is a BUG that I'm not sure how to fix. When the player is thrown out of the store, the UNPAID objects are dropped. The problem I have is that the items still appear in the player inventory afterwards. Here is what I have so far. I'm trying attachments, but not sure if the mailing list will handle it. Please yell if this is a problem. shopsteal.arc goes in arch/shop. Also Copy a blank image to shopsteal.base.111.png in shop. The following lines are an example of a stealing shop. This is for the weaponshop in scorn with two punshments. arch shopsteal hp 1 sp 13 slaying /scorn/shops/weaponshop expmul 2.0 #difficulty end arch shopsteal hp 14 sp 1 Wis 23 # for players above level 23, send them to jail 15 min slaying /scorn/misc/jail end -------------- next part -------------- A non-text attachment was scrubbed... Name: define.h.diff Type: text/x-diff Size: 46 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030826/ee5f398e/define.h.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: skills.c.diff Type: text/x-diff Size: 3213 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030826/ee5f398e/skills.c.bin -------------- next part -------------- Object shopsteal name shopsteal face shopsteal.111 Wis 0 expmul 1.0 invisible 1 no_pick 1 type 160 end From crossfire-devel-admin at archives.real-time.com Tue Aug 26 13:59:15 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:58 2005 Subject: [CF-Devel] ALSA 0.9.x sound server patches References: <5.1.0.14.0.20030825194512.00aacd30@postoffice.worldnet.att.net> Message-ID: <009301c36c04$27a01f20$0501a8c0@winblows> hmm.. I haven't updated that patch in a while, nor do i still have the modified sources. I tested it and it worked fine at the time the patches were written. I just got a new laptop a couple weeks ago, and there's a problem with the chipset that causes linux's kernel (>= 2.4.19) to hang. i'm not sure about 2.4.18, but i don't have my old slackware 8.1 install CD. NOTE: if you have ALSA's OSS Emulation, the OSS sound server should work. I made the alsa patches for those who'd prefer to use alsa, or have a desktop environment like KDE that relies on ALSA. Hope it works for ya, Tim Hentenaar ----- Original Message ----- From: "Kevin R. Bulgrien" To: Sent: Monday, August 25, 2003 9:27 PM Subject: [CF-Devel] ALSA 0.9.x sound server patches > I have reloaded my server and ALSA 0.9 is what comes with > the distribution, so now the sound server will not compile > without some messing around. > > I think the ALSA 0.9 patches didn't get applied quite right. > > It looks like Tim's alsa9-configure-in.patch1 was only > partially applied: > > > [client]$ patch configure.in alsa9-configure-in.patch1 > > patching file configure.in > > Hunk #1 FAILED at 162. > > Hunk #2 succeeded at 209 (offset 8 lines). > > 1 out of 2 hunks FAILED -- saving rejects to file configure.in.rej > > [client]$ > > Hunk #1 is already applied in the copy of client/configure.in > that I have off of CVS. (everything in configure.in.rej is > already in configure.in.) > > It would also have the appearance that Tim's > alsa9-cfsndserver.patch1 was not applied at all: > > > [sound-src]$ patch cfsndserv.c alsa9-cfsndserver.patch1 > > patching file cfsndserv.c > > [sound-src]$ > > After doing these patches, things at least compiled > properly. I'll have to test to see if it actually > works. > > Perhaps it should also be noted that --disable_alsa > in client/configure does not work: > > > --disable-alsa disable ALSA sound support default=use alsa sound support > if alsa libraries exist > > Kevin Bulgrien > > At 07:16 AM 3/11/03, you wrote: > > >Hey all, > > > >Attached is the patch (since i don't have CVS write access) for the ALSA 0.9.x API implementation in cfsndserver, and a configure.in patch so that alsa 0.9.x is detected at configure time :P > > > >Tim Hentenaar > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel > _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Tue Aug 26 21:42:34 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:59 2005 Subject: [CF-Devel] ALSA 0.9.x sound server patches In-Reply-To: <009301c36c04$27a01f20$0501a8c0@winblows> References: <5.1.0.14.0.20030825194512.00aacd30@postoffice.worldnet.att.net> Message-ID: <5.1.0.14.0.20030826214039.023f4a70@postoffice.worldnet.att.net> > > Perhaps it should also be noted that --disable_alsa > > > > in client/configure does not work: > > > --disable-alsa disable ALSA sound support default=use alsa sound > > support > if alsa libraries exist > > > Kevin Bulgrien The following patch adds a --disable-alsa9 option which lets me compile an OSS version of cfsndserv... Would someone please consider committing this to CVS? The patch is for client/configure.in. Kevin R. Bulgrien -------------- next part -------------- --- client/configure.in 2003-08-26 21:22:18.000000000 -0500 +++ client/configure.in.krb 2003-08-26 21:12:04.000000000 -0500 @@ -46,7 +46,10 @@ AC_ARG_ENABLE(sound, [ --disable-sound disable sound support [default=implement sound support if supported libraries exist]], sound=no, sound=yes ) -dnl This is because some of us use OSS sound, even with ALSA libs installed +dnl These are because some of us use OSS sound, even with ALSA or ALSA9 libs installed + +AC_ARG_ENABLE(alsa9, [ --disable-alsa9 disable ALSA9 sound support [default=use alsa9 sound support if alsa9 libraries exist]], + alsa9=no, alsa9=yes ) AC_ARG_ENABLE(alsa, [ --disable-alsa disable ALSA sound support [default=use alsa sound support if alsa libraries exist]], alsa=no, alsa=yes ) @@ -162,7 +165,9 @@ AC_CHECK_LIB(asound, main, alsa_sound=yes, , -lm) fi AC_CHECK_LIB(audio, alNewConfig, sgi_sound=yes, ) - AC_CHECK_HEADER(alsa/asoundlib.h, alsa9_sound=yes, alsa_sound=no) + if eval "test x$alsa9 = xyes"; then + AC_CHECK_HEADER(alsa/asoundlib.h, alsa9_sound=yes, alsa_sound=no) + fi AC_CHECK_HEADER(sys/soundcard.h, oss_sound=yes, oss_sound=no) AC_CHECK_HEADER(sys/audioio.h, sun_sound=yes, sun_sound=no) From crossfire-devel-admin at archives.real-time.com Wed Aug 27 02:08:33 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:59 2005 Subject: [CF-Devel] Stealing Idea + simple patch In-Reply-To: <200308261311.40285.aashenfe@plaind.com> References: <200308211129.42965.aashenfe@plaind.com> <200308261311.40285.aashenfe@plaind.com> Message-ID: <3F4C58F1.1000409@sonic.net> Adam Ashenfelter wrote: > Here are the changes I have so far. Changes against 1.5.0 > > Most of it is working ok. I still have to work on adding a force to the > player to lock them out of the store for a period of time. > > Also there is a BUG that I'm not sure how to fix. When the player is thrown > out of the store, the UNPAID objects are dropped. The problem I have is that > the items still appear in the player inventory afterwards. Make sure you do a esrv_del_item() for each item removed. > > Here is what I have so far. > I'm trying attachments, but not sure if the mailing list will handle it. > Please yell if this is a problem. > > shopsteal.arc goes in arch/shop. > Also Copy a blank image to shopsteal.base.111.png in shop. Why do you think that is needed? If you're just using the same image as something else, just refer to that image and not have a private copy. Other note - please use whatever compiler checks you need to make sure your code is proper ANSI c. You are using contructs (declaring new variables mid function) which best I know still isn't valid ANSI C syntax. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 27 02:15:25 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:59 2005 Subject: [CF-Devel] Fun feature to do, maybe difficult... In-Reply-To: <3F4A82A9.3010001@laposte.net> References: <3F4A82A9.3010001@laposte.net> Message-ID: <3F4C5A8D.8040305@sonic.net> Nicolas Weeger wrote: > Hi. > > Here's an idea i had for a nifty feature: prevent some specific spells > on maps. > > This gives some nice ideas of maps. > For instance, a map where you could NOT use word of recall or town > portal... No way to escape except complete it! > Or a map where you couldn't use any cone spell, and so on... > > Of course this would be bad for wizards and not specially for fighters.... > > This may be pretty hard to do, though, or not be interesting :-) It would be very hard to do (depending on what level of granularity you want). I also don't see much point. I personally find it distasteful when games try to overly limit what the player can do. Hey, I'm a wizard, let me use the spells I have available. I personally thing too many maps already use no magic spaces in an effort to make things harder. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 27 02:38:17 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:59 2005 Subject: [CF-Devel] Fun feature to do, maybe difficult... In-Reply-To: <3F4C5A8D.8040305@sonic.net> References: <3F4A82A9.3010001@laposte.net> <3F4C5A8D.8040305@sonic.net> Message-ID: <3F4C5FE9.3090501@laposte.net> > It would be very hard to do (depending on what level of granularity > you want). > > I also don't see much point. > > I personally find it distasteful when games try to overly limit what > the player can do. Hey, I'm a wizard, let me use the spells I have > available. > > I personally thing too many maps already use no magic spaces in an > effort to make things harder. It's true we more often see maps hard for wizards but easier for warriors... As far as i know you can kill any monster with physical attacks, but some are pretty hard to kill with magic... Maybe forbidding the use of attack cone/heal spell is indeed too nasty... On the other hand I'm pretty sure we could do nice maps if town portal & word of recall could be disabled. Imagine that, you enter a long quest, and can't exit it until you complete it totally.... Yes it'd be nasty, but as the game is, any time you are in danger you can either word of recall or town portal out of harm's way. Also you can stop quests when you want... now a map you couldn't exit, that'd be a real challenge, no? Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 27 10:44:07 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:59 2005 Subject: [CF-Devel] Patch for runes not in CVS? Message-ID: <3F4CD1C7.7060606@laposte.net> Hello. I submitted on 28 july a patch for rune.c, to display the name of the rune the player fails to/successfully disarms. But it seems to not have been included in CVS. Is it because no one committed it, or it's not enough interesting? Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Wed Aug 27 23:59:29 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:59 2005 Subject: [CF-Devel] Fun feature to do, maybe difficult... In-Reply-To: <3F4C5FE9.3090501@laposte.net> References: <3F4A82A9.3010001@laposte.net> <3F4C5A8D.8040305@sonic.net> <3F4C5FE9.3090501@laposte.net> Message-ID: <3F4D8C31.8070309@sonic.net> Nicolas Weeger wrote: > It's true we more often see maps hard for wizards but easier for > warriors... As far as i know you can kill any monster with physical > attacks, but some are pretty hard to kill with magic... > Maybe forbidding the use of attack cone/heal spell is indeed too nasty... > On the other hand I'm pretty sure we could do nice maps if town portal & > word of recall could be disabled. Imagine that, you enter a long quest, > and can't exit it until you complete it totally.... Yes it'd be nasty, > but as the game is, any time you are in danger you can either word of > recall or town portal out of harm's way. Also you can stop quests when > you want... now a map you couldn't exit, that'd be a real challenge, no? > Perhaps. OTOH, there are lots of ways to make maps hard. The more difficult thing is to make them harder but still playable. A long map which you had no way to get back to down probably won't get played that much. I'd probably never play such a map - I wouldn't want to get stuck playing such a map. And even then, it is basically impossible to do as you say - if you die, you'd get out of that map (although, a more costly mechanism). But other case would be just kill the client and return tomorrow - map will have been reset, so you'd get put back at your home location. The word of recall has a time factor, so isn't an instant way to safe your life. At one arguement, which is probably quite true, is that if you have time enough to react to do something like word of recall or town portal, why not just drink that potion of healing? Probably a more interesting way to make difficult maps is set a zero reset time for them (As well as swap out time). No more beating down that big tough monster, exiting back up to heal some, going down and do so again - map would reset, so monster would always be at full strength when you fight it. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 28 02:13:10 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:59 2005 Subject: [CF-Devel] Fun feature to do, maybe difficult... In-Reply-To: <3F4D8C31.8070309@sonic.net> References: <3F4A82A9.3010001@laposte.net> <3F4C5A8D.8040305@sonic.net> <3F4C5FE9.3090501@laposte.net> <3F4D8C31.8070309@sonic.net> Message-ID: <3F4DAB86.5050705@laposte.net> > A long map which you had no way to get back to down probably won't get > played that much. I'd probably never play such a map - I wouldn't want > to get stuck playing such a map. And even then, it is basically > impossible to do as you say - if you die, you'd get out of that map > (although, a more costly mechanism). But other case would be just kill > the client and return tomorrow - map will have been reset, so you'd > get put back at your home location. One solution i had for that would be to put beds during that long quest... so people can save their character. Of course, if after saving they die, and die, and lose too many levels to be able to complete the quest, that's an issue.... > The word of recall has a time factor, so isn't an instant way to safe > your life. At one arguement, which is probably quite true, is that if > you have time enough to react to do something like word of recall or > town portal, why not just drink that potion of healing? When you are middle or high-level in wisdom, WoR is pretty fast. At really high levels, like >90, it's almost instant. So it is sometimes a good way to exit fast. As for drinking a potion of healing, sometimes you find yourself in situations where you'd have to drink two or three at once to survive, right? So in some cases it is imo more interesting to flee completely :-) > Probably a more interesting way to make difficult maps is set a zero > reset time for them (As well as swap out time). No more beating down > that big tough monster, exiting back up to heal some, going down and > do so again - map would reset, so monster would always be at full > strength when you fight it. That is an interesting idea. The trouble, of course, would be that you defeat the big boss, exit the map, reenter - et voil?, boss is back... We could imagine needing a key to access the big boss, but again that implies that you must get the key each time you wish to enter the final boss map, so the map containing the key must also have a reset/swap time of zero (else no point of zero reset time for boss's map).... so you'd end up making much xp like that, no? Just my 2 cents of ? Nicolas 'Ryo' _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Thu Aug 28 08:04:46 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:59 2005 Subject: [CF-Devel] Fun feature to do, maybe difficult... References: <3F4A82A9.3010001@laposte.net> <3F4C5A8D.8040305@sonic.net> <3F4C5FE9.3090501@laposte.net> <3F4D8C31.8070309@sonic.net> <3F4DAB86.5050705@laposte.net> Message-ID: <003801c36d64$f5a00cd0$693ae940@nbcusa.net> Along the quest idea... I just read about this being done in UltimaX:Online, so bear with me... Wouldn't it be interesting for quest dungeons to be "nearly static" per group that enters. Let's say that a timer goes off when a character enters the dungeon and allow for n seconds for others to enter the dungeon. Then the server saves a copy of the dungeon for each group of characters and resets. The characters in that "group" would all have the same map to work with until they leave the dungeon. When the characters leave the dungeon, a flag could be set if they finished the quest. If the quest is finished, then they would not be allowed in the dungeon again [ landslide covers the entrance or something ]. I know the idea's just a jumble; but I hope y'all understand it. :D ----- Original Message ----- From: "Nicolas Weeger" To: Sent: Thursday, August 28, 2003 2:13 AM Subject: Re: [CF-Devel] Fun feature to do, maybe difficult... > > > A long map which you had no way to get back to down probably won't get > > played that much. I'd probably never play such a map - I wouldn't want > > to get stuck playing such a map. And even then, it is basically > > impossible to do as you say - if you die, you'd get out of that map > > (although, a more costly mechanism). But other case would be just kill > > the client and return tomorrow - map will have been reset, so you'd > > get put back at your home location. > > One solution i had for that would be to put beds during that long > quest... so people can save their character. Of course, if after saving > they die, and die, and lose too many levels to be able to complete the > quest, that's an issue.... > > > The word of recall has a time factor, so isn't an instant way to safe > > your life. At one arguement, which is probably quite true, is that if > > you have time enough to react to do something like word of recall or > > town portal, why not just drink that potion of healing? > > When you are middle or high-level in wisdom, WoR is pretty fast. At > really high levels, like >90, it's almost instant. So it is sometimes a > good way to exit fast. As for drinking a potion of healing, sometimes > you find yourself in situations where you'd have to drink two or three > at once to survive, right? So in some cases it is imo more interesting > to flee completely :-) > > > Probably a more interesting way to make difficult maps is set a zero > > reset time for them (As well as swap out time). No more beating down > > that big tough monster, exiting back up to heal some, going down and > > do so again - map would reset, so monster would always be at full > > strength when you fight it. > > That is an interesting idea. The trouble, of course, would be that you > defeat the big boss, exit the map, reenter - et voil?, boss is back... > We could imagine needing a key to access the big boss, but again that > implies that you must get the key each time you wish to enter the final > boss map, so the map containing the key must also have a reset/swap time > of zero (else no point of zero reset time for boss's map).... so you'd > end up making much xp like that, no? > > Just my 2 cents of ? > > Nicolas 'Ryo' > > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel > > _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 29 02:03:01 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:59 2005 Subject: [CF-Devel] Fun feature to do, maybe difficult... In-Reply-To: <3F4DAB86.5050705@laposte.net> References: <3F4A82A9.3010001@laposte.net> <3F4C5A8D.8040305@sonic.net> <3F4C5FE9.3090501@laposte.net> <3F4D8C31.8070309@sonic.net> <3F4DAB86.5050705@laposte.net> Message-ID: <3F4EFAA5.6080301@sonic.net> Nicolas Weeger wrote: > That is an interesting idea. The trouble, of course, would be that you > defeat the big boss, exit the map, reenter - et voil?, boss is back... > We could imagine needing a key to access the big boss, but again that > implies that you must get the key each time you wish to enter the final > boss map, so the map containing the key must also have a reset/swap time > of zero (else no point of zero reset time for boss's map).... so you'd > end up making much xp like that, no? Well, it depends if the reward is the exp for the big boss, or some treasure he guards. If it is worthwhile for one player to continue to repeat the same map to fight that same creature, even as they gain levels, it suggests the exp reward for that monster is out of whack. Plus, there are so many maps where there are tons of whatever monster you want, that such repeat mechanism don't seem really useful. If it is the treasure they guard, it is easy enough to fix that - after getting the key from the big bossman that lets you in the treasure chamber, set it up so that once in the treasure chamber, you can't get out the way you came, but instead must take the exit that puts you back to the surface. Thus, the player would have to wonder through the other dungeons to get back to that point. _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel From crossfire-devel-admin at archives.real-time.com Fri Aug 29 07:12:28 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:54:59 2005 Subject: [CF-Devel] Make fail Crossfire 1.5.0 Message-ID: <000001c36e26$d20b3bb0$b2b407d5@traitor> Hi I got a little bug for you OpenBSD 3.3/I386(Duron750) Configure exited with error code 0 but make wasn't: Making all in common Making all in random_maps Making all in socket Making all in server source='plugins.c' object='plugins.o' libtool=no depfile='.deps/plugins.Po' tmpdepfile='.deps/plugins.TPo' depmode=gcc /bin/sh ../utils/depcomp gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -DDATADIR=\"/usr/games/crossfire/share/crossfire\" -DCONFDIR=\"/usr/games/crossfire/etc/crossfire\" -DLIBDIR=\"/usr/games/crossfire/lib/crossfire\" -DLOCALDIR=\"/usr/games/crossfire/var/crossfire\" -DPLUGIN_SUFFIX=\".so\" -g -O2 -c `test -f 'plugins.c' || echo './'`plugins.c *** Error code 1 Stop in /usr/games/crossfire-1.5.0/server. *** Error code 1 Stop in /usr/games/crossfire-1.5.0 (line 187 of Makefile). plugins.c: In function 'initOnePlugin': plugins.c:499 RTLD_NOW undeclared (first use of the function) plugins.c:499 (Each undeclared identifier is reported only once plugins.c:499 for each function it appears in.) plugins.c:499 RTLD_GLOBAL undeclared (first use of the function) Greetings, Holger Erck -------------- next part -------------- An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030829/7e912c0f/attachment.html From crossfire-devel-admin at archives.real-time.com Fri Aug 29 17:09:03 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:55:00 2005 Subject: [CF-Devel] Patch submission, round 2: item renaming. Message-ID: <3F4FCEFF.8020606@laposte.net> Hello everyone. I fixed (at least I think :-) my item renaming patch to prevent buffer overflows. Here's the patch. (sending as many small gzipped files, smack me if you prefer one file...) Patch is from crossfire root. The 'rename' file is the help file, describing how the command work. Other files are .h or .c patches. Tell me what you think, any improvement, and so on... Feel free to test it, torture it, and maybe commit to cvs :-) Or smack me for wasting your time ^_- Nicolas 'Ryo' -------------- next part -------------- A non-text attachment was scrubbed... Name: common.arch.c.patch.gz Type: application/x-gzip Size: 364 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030830/2dcb1779/common.arch.c.patch.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: common.loader.l.patch.gz Type: application/x-gzip Size: 489 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030830/2dcb1779/common.loader.l.patch.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: common.object.c.patch.gz Type: application/x-gzip Size: 654 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030830/2dcb1779/common.object.c.patch.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: include.object.h.patch.gz Type: application/x-gzip Size: 276 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030830/2dcb1779/include.object.h.patch.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: include.sproto.h.patch.gz Type: application/x-gzip Size: 285 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030830/2dcb1779/include.sproto.h.patch.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: rename.gz Type: application/x-gzip Size: 195 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030830/2dcb1779/rename.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: server.c_object.c.patch.gz Type: application/x-gzip Size: 1631 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030830/2dcb1779/server.c_object.c.patch.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: server.commands.c.patch.gz Type: application/x-gzip Size: 250 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030830/2dcb1779/server.commands.c.patch.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: server.shop.c.patch.gz Type: application/x-gzip Size: 333 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030830/2dcb1779/server.shop.c.patch.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: socket.item.c.patch.gz Type: application/x-gzip Size: 630 bytes Desc: not available Url : http://shadowknight.real-time.com/pipermail/crossfire/attachments/20030830/2dcb1779/socket.item.c.patch.bin From crossfire-devel-admin at archives.real-time.com Sat Aug 30 17:17:09 2003 From: crossfire-devel-admin at archives.real-time.com (crossfire-devel-admin@archives.real-time.com) Date: Thu Jan 13 17:55:00 2005 Subject: [CF-Devel] client gizmos Message-ID: <1062281829.6996.9.camel@oberon.Kameria> I think the gcfclient should have some indicators/toggle buttons(in the stats window?) - specifically I have in mind one for braced and one for peaceful. Aside from making the toggle buttons what would this require? _______________________________________________ crossfire-devel mailing list crossfire-devel@lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel