ok this doesn't seem to fully work.
i'll post a code i made that works and the code that fails to work... hope someone can help me.
Working:
void do_joinclan( CHAR_DATA * ch, char *argument )
{
CLAN_DATA *clan;
if( IS_NPC( ch ) )
{
send_to_char( "Not on NPC's.\n\r", ch );
return;
}
if( !argument || argument[0] == '\0' )
{
send_to_char( "You must pick a clan first.\n\r",ch );
return;
}
if ( ch->pcdata->clan != NULL )
{
send_to_char( "You are already in a clan.\n\r",ch );
return;
}
if ( ch->pcdata->quest_curr < 5 )
{
send_to_char( "You don't have enough RPP.\n\r",ch );
return;
}
clan = get_clan( argument );
if( !clan )
{
send_to_char( "No such clan.\n\r", ch );
return;
}
STRFREE( ch->pcdata->clan_name );
ch->pcdata->clan_name = QUICKLINK( clan->name );
ch->pcdata->clan = clan;
ch->pcdata->quest_curr -= 5;
ch->pcdata->clanRank = 7;
ch->pcdata->clanZeniDonated = 0;
ch->pcdata->clanZeniClanTax = 0;
ch->pcdata->clanItemsDonated = 0;
if ( !IS_IMMORTAL( ch ) )
{
if( ch->sex == SEX_FEMALE )
clan->fRank7Count++;
else
clan->mRank7Count++;
}
return;
}
Non working:
if ( IS_EVIL(ch) )
{
ch->pcdata->clan = get_clan( "Dark Horizon" );
ch->pcdata->clanRank = 7;
ch->pcdata->clanZeniDonated = 0;
ch->pcdata->clanZeniClanTax = 0;
ch->pcdata->clanItemsDonated = 0;
if( ch->sex == SEX_FEMALE )
get_clan( "Dark Horizon" )->fRank7Count++;
else
get_clan( "Dark Horizon" )->mRank7Count++;
write_to_buffer( d, echo_on_str, 0 );
break;
the non working code is from the smaug setup. the problem here is when a char is made it sets them but when they log off and relog it looses the clan settings. i've tried using:
STRFREE( ch->pcdata->clan_name );
ch->pcdata->clan_name = QUICKLINK( clan->name );
in there but it keeps messing up... any help would be great.