class captain_gosta : chief_guard
{
handler:
	EventHandler TALK_SELECTED( talker )
	{
		if ( _from_choice == 0 ) {
			if ( HaveMemo( talker, 351 ) == 0 && talker.level < 32 ) {
				_choiceN = ( _choiceN + 1 );
				_code = 0;
				myself.AddChoiceFStr( 0, 35101 ); 
			}
			if ( HaveMemo( talker, 351 ) == 0 && talker.level >= 32 ) {
				_choiceN = ( _choiceN + 1 );
				_code = 1;
				myself.AddChoiceFStr( 1, 35101 ); 
			}
			if ( HaveMemo( talker, 351 ) == 1 && GetMemoState( talker, 351 ) >= 0 ) {
				_choiceN = ( _choiceN + 1 );
				_code = 2;
				myself.AddChoiceFStr( 2, 35102 ); 
			}
			if ( _choiceN > 1 ) {
				myself.ShowChoicePage( talker, 1 ); 
				return;
			}
		}
		if ( ( _from_choice ) || ( _choiceN == 1 ) ) {
			select ( _code ) {
				case 0: {
					if ( ( _from_choice == 0 ) || ( HaveMemo( talker, 351 ) == 0 && talker.level < 32 ) ) {
						myself.SetCurrentQuestID( 351 ); 
						if ( ( myself.GetInventoryInfo( talker, 0 ) >= ( myself.GetInventoryInfo( talker, 1 ) * 0.900000 ) ) || ( myself.GetInventoryInfo( talker, 2 ) >= ( myself.GetInventoryInfo( talker, 3 ) * 0.900000 ) ) ) {
							myself.ShowSystemMessage( talker, 1118 ); 
							return;
						}
						myself.ShowPage( talker, "captain_gosta_q0351_01.htm" ); 
					}
					break;
				}
				case 1: {
					if ( ( _from_choice == 0 ) || ( HaveMemo( talker, 351 ) == 0 && talker.level >= 32 ) ) {
						myself.SetCurrentQuestID( 351 ); 
						if ( ( myself.GetInventoryInfo( talker, 0 ) >= ( myself.GetInventoryInfo( talker, 1 ) * 0.900000 ) ) || ( myself.GetInventoryInfo( talker, 2 ) >= ( myself.GetInventoryInfo( talker, 3 ) * 0.900000 ) ) ) {
							myself.ShowSystemMessage( talker, 1118 ); 
							return;
						}
						if ( myself.GetMemoCount( talker ) < 41 ) {
							myself.ShowQuestPage( talker, "captain_gosta_q0351_02.htm", 351 ); 
						} else {
							myself.ShowPage( talker, "fullquest.htm" ); 
						}
					}
					break;
				}
				case 2: {
					if ( ( _from_choice == 0 ) || ( HaveMemo( talker, 351 ) == 1 && GetMemoState( talker, 351 ) >= 0 ) ) {
						myself.SetCurrentQuestID( 351 ); 
						if ( ( myself.GetInventoryInfo( talker, 0 ) >= ( myself.GetInventoryInfo( talker, 1 ) * 0.900000 ) ) || ( myself.GetInventoryInfo( talker, 2 ) >= ( myself.GetInventoryInfo( talker, 3 ) * 0.900000 ) ) ) {
							myself.ShowSystemMessage( talker, 1118 ); 
							return;
						}
						myself.ShowPage( talker, "captain_gosta_q0351_05.htm" ); 
					}
					break;
				}
			}
			return;
		}
		super;
	}

	EventHandler QUEST_ACCEPTED( talker, quest_id )
	{
		if ( quest_id == 351 ) {
			myself.SetCurrentQuestID( 351 ); 
			if ( ( myself.GetInventoryInfo( talker, 0 ) >= ( myself.GetInventoryInfo( talker, 1 ) * 0.900000 ) ) || ( myself.GetInventoryInfo( talker, 2 ) >= ( myself.GetInventoryInfo( talker, 3 ) * 0.900000 ) ) ) {
				myself.ShowSystemMessage( talker, 1118 ); 
				return;
			}
			if ( ( myself.GetCurrentTick( ) - talker.quest_last_reward_time ) > 1 ) {
				talker.quest_last_reward_time = myself.GetCurrentTick( );
				myself.GiveItem1( talker, 4296, 1 ); 
				myself.SetMemo( talker, 351 ); 
				myself.SetMemoState( talker, 351, 1 ); 
				AddLog( 1, talker, 351 ); 
				myself.SetFlagJournal( talker, 351, 1 ); 
				myself.ShowQuestPage( talker, "captain_gosta_q0351_04.htm", 351 ); 
				myself.SoundEffect( talker, "ItemSound.quest_accept" ); 
			}
			return;
		}
		super;
	}

	EventHandler MENU_SELECTED( talker, ask, reply, fhtml0 )
	{
		if ( ask == 351 ) {
			myself.SetCurrentQuestID( 351 ); 
			if ( ( myself.GetInventoryInfo( talker, 0 ) >= ( myself.GetInventoryInfo( talker, 1 ) * 0.900000 ) ) || ( myself.GetInventoryInfo( talker, 2 ) >= ( myself.GetInventoryInfo( talker, 3 ) * 0.900000 ) ) ) {
				myself.ShowSystemMessage( talker, 1118 ); 
				return;
			}
		}
		if ( ask == 351 ) {
			if ( reply == 1 ) {
				myself.FHTML_SetFileName( fhtml0, "captain_gosta_q0351_03.htm" ); 
				myself.FHTML_SetInt( fhtml0, "quest_id", 351 ); 
				myself.ShowQuestFHTML( talker, fhtml0, 351 ); 
			}
		}
		super;
	}

}

Тут есть что то связанное с тем, что заходить можно раз в сутки? Тип сброса времени в 6 утра или че то такое