/* _,. .,_ .-` _ \ _.-'`\ _,...,_ /`'-._ / _ `-. .-`_.-` \ :' _,-\ :-`_,,.,,_`-: /-._ `: / `-._`-. .-`_.' ,` .' ,` ,'-.,_,.-`, `, `. `. '._`-. .' .' / ,`.'-./ ,``-.,_`_,.-``, \.-'.`. \ '. `. .' `````````` / '-.,/ ` \,.-' \ `````````` `. ```````````````` ```````````````` . ,__ / ___ ` .___ __. / ` | / ` | / \ .' \ |__ | | | | | ' | | | /---/ `.__/| / / `._.' | / .___ \ / ` ___ .___ | , , __ ___ ____ ____ | | / ` / \ | / |' `. .' ` ( ( | | | | | ' |-< | | |----' `--. `--. /---/ `.__/| / / \_ / | `.___, \___.` \___.' L.o.D runs SMAUG v1.4. SMAUG 1.4 written by Thoric (Derek Snider) with Altrag, Blodkai, Haus, Narn,Scryn, Swordbearer, Tricops, Gorog, Rennard, Grishnakh, Fireblade and Nivek. Original MERC 2.1 code by Hatchet, Furey, and Kahn. Original DikuMUD code by: Hans Staerfeldt, Katja Nyboe, Tom Madsen, Michael Seifert & Sebastian Hammer http://www.geocities.com/lairofdarkness2001/index.html ................ ................ `. .......... \ .-'`\ _._ /`'-. / .......... .' `. `._ \ `.'.-'\ `..-'` _ `'-..` /'-.'.' / _.' .' `-. `._ `. `._ `. `.;'```';.` .` _.' .' _.' .-' `-. `-._/ ;._ `-/ :-._``'``_.-: \-' _.; \_.-' .-' `-._ / '-.,/ `'''` \,.-' \ _.-' `' '` //String Function.\\ */ /* here's a string command. its a low lvl imm command on LoD. that restrings objects and pcs/npcs add this code in any c file and add entrys for so_string in mud.h and tables.c then just add the command online with cedit string create and cedit string level ## to set the level. coded by typhon... LoD.Arthmoor.com 4600 */ void do_string( CHAR_DATA *ch, char *argument ) { char type [MAX_INPUT_LENGTH]; char arg1 [MAX_INPUT_LENGTH]; char arg2 [MAX_INPUT_LENGTH]; char arg3 [MAX_INPUT_LENGTH]; char buf [MAX_STRING_LENGTH]; bool lockobj; CHAR_DATA *victim; OBJ_DATA *obj; int value; smash_tilde( argument ); argument = one_argument( argument, type ); argument = one_argument( argument, arg1 ); argument = one_argument( argument, arg2 ); strcpy( arg3, argument ); if ( type[0] == '\0' || arg1[0] == '\0' || arg2[0] == '\0' || arg3[0] == '\0' ) { send_to_char("Syntax:\n\r",ch); send_to_char(" string char \n\r",ch); send_to_char(" fields: name short long title rank\n\r",ch); send_to_char(" string obj \n\r",ch); send_to_char(" fields: name short long\n\r",ch); return; } if ( !str_cmp( type, "obj" ) ) { if ( ( obj = get_obj_world( ch, arg1 ) ) == NULL ) { send_to_char( "There is nothing like that in all the realms.\n\r", ch ); return; } strcpy( arg1, obj->name ); separate_obj( obj ); value = atoi( arg3 ); if ( !str_cmp( arg2, "name" ) ) { STRFREE( obj->name ); obj->name = STRALLOC( arg3 ); send_to_char( "Ok.\n\r", ch ); return; } if ( !str_cmp( arg2, "short" ) ) { STRFREE( obj->short_descr ); obj->short_descr = STRALLOC( arg3 ); send_to_char( "Ok.\n\r", ch ); return; } if ( !str_cmp( arg2, "long" ) ) { STRFREE( obj->description ); obj->description = STRALLOC( arg3 ); send_to_char( "Ok.\n\r", ch ); return; } } if ( !str_cmp( type, "char" ) ) { if ( ( victim = get_char_world( ch, arg1 ) ) == NULL ) { send_to_char( "No one like that in all the realms.\n\r", ch ); return; } if ( !str_cmp( arg2, "name" ) ) { if ( !IS_NPC(victim) ) { send_to_char( "Not on PC's.\n\r", ch ); return; } STRFREE( victim->name ); victim->name = STRALLOC( arg3 ); send_to_char( "Ok.\n\r", ch ); return; } if ( !str_cmp( arg2, "short" ) ) { STRFREE( victim->short_descr ); victim->short_descr = STRALLOC( arg3 ); send_to_char( "Ok.\n\r", ch ); return; } if ( !str_cmp( arg2, "long" ) ) { STRFREE( victim->long_descr ); strcpy( buf, arg3 ); strcat( buf, "\n\r" ); victim->long_descr = STRALLOC( buf ); send_to_char( "Ok.\n\r", ch ); return; } if ( !str_cmp( arg2, "title" ) ) { if ( IS_NPC(victim) ) { send_to_char( "Not on NPC's.\n\r", ch ); return; } set_title( victim, arg3 ); send_to_char( "Ok.\n\r", ch ); return; } if ( !str_cmp( arg2, "rank" ) ) { if ( IS_NPC(victim) ) { send_to_char( "Not on NPC's.\n\r", ch ); return; } smash_tilde( argument ); DISPOSE( victim->pcdata->rank ); if ( !argument || argument[0] == '\0' || !str_cmp( argument, "none" ) ) victim->pcdata->rank = str_dup( "" ); else victim->pcdata->rank = str_dup( argument ); send_to_char( "Ok.\n\r", ch ); return; } } }