Dar
������������
������: ������� �����������: ���. 2004
�����: 289 ���������
|
���������������� ����������: ��������� �����������.:) ����� ���������� �������. ������ ������� +199, -199 -1,+1 -200, +200 � ������ ��� ���������� �����. ������ (tile_num_in_direction((tile_num(self_obj)), X, Y))!!! ������: if ( tile_contains_obj_pid((tile_num_in_direction((tile_num(self_obj)), 0, 1)), �elevation(self_obj), pid_Critter_2) == true ) then begin critter_dmg(tile_contains_pid_obj(tile_num_in_direction((tile_num(self_obj)), 0, 1), elevation(self_obj), pid_Critter_2), random(1000, 5000), 6 bwor 256 bwor 6); give_exp_points(500); display_msg("Yes, +500 exp"); end � ��� �� ��� ����������� �� 0 �� 5 ������������ � ��������� ������. ������ ����� ��� ������� ���������(Pid �������� ) ��� ������. ����������:( � ���� � ������ � ��� �����) ����� ������� critter_p_proc - ���� ��� ��������� ������� ��� 800 ������ ����� �� � �������� ������ ������ �����, �� ��� ���� �� ������ ������� ������ �� ������� ��������� ��������. ���������� ������� ����� ������� �� ������������ - �� �� ���� ������. +++ -�� �� ��� ���� ������� ������������(��� �� ��������, �� ������-���� ������� ��� ��������). procedure timed_event_p_proc - �� ��� ����� ����� �������� ������������ �������� ���� ���: add_timer_event(self_obj, 1, 1); ��� add_timer_event(self_obj, 0, 1); ��� add_timer_event(self_obj,1/X, 1) ����� ������ ������� ����� �������� ( �� �������� � ���� �������(� WIN2000���)�� �������� ��� �����) � �������� � ����� "C��� ��� ���� ����� - Reset". ��� � ������ ������ �����. ������. procedure tile_damage_1 begin /* if ( tile_contains_obj_pid(tile_num(self_obj), �elevation(self_obj), pid_Critter_2) == true ) then begin critter_dmg(tile_contains_pid_obj(tile_num(self_obj), elevation(self_obj), pid_Critter_2), random(1000, 5000), 6 bwor 256 bwor 6); give_exp_points(500); display_msg("Yes, +500 exp"); end */ � � � � � � � �if (pid_Critter_2 == 16777500) then begin � � � � � � � �set_local_var(2, 0); � � � � � � � �set_local_var(3, 0); � � � � � � � �pid_Critter_2 :=0 ; � � � � � � � �add_timer_event(self_obj, 2, 2); � � � � � � � �end else � � if (pid_Critter_2 < 16777500) then begin � � set_local_var(3, pid_Critter_1 + 1); � � pid_Critter_2:= pid_Critter_1 + pid_Critter; � � display_msg("T_1N=" + pid_Critter_2); � � call tile_damage_1; � � end end �.� ��������� ��������� - �� �������� �������� ������ ��� ����������� � ����� ������� �������� �.� ����� ���� ��������� �� � ����� - �� ��� ����� �������� "� ��������". � ������� ���� ������������ PID � 16777500 (�������� �� 16777217 ��� 16777500 ������������ ) �� ������� � ������ � �� ���� � ������ ����� ��������� ����� �������� ������� 16777558 - ������ ���� ���������� �� 16777555. ������� ������� procedure tile_damage_2 begin end �������� �� �� procedure tile_damage_1 � ������������. �� ��������� ������� � ���� �� 16777555-16777558 Pid. [����� ������� ����� ������������ ���� ���� � ����� �������] � �������� ��� ��� �� procedure tile_damage_1 �������� procedure timed_event_p_proc ����� add_timer_event(self_obj, 8, 2); (������ ����� ��� �� �����������) �� ��� ������������� �� ������������� ��� tile_damage_2 � ���� ���������� ����� tile_damage_1 �tile_damage_2 ������� var-�. ������: if (fixed_param == 2) then begin rm_timer_event(self_obj); � � � � � � � �set_local_var(2, 0); � � � � � � � �set_local_var(3, 0); � � � � � � � �pid_Critter_2 :=0 ; call dinamit_destroy; � ���� ������������� � ���������� ������. �������� ������ ������������� �� ����� � ���������� ������ procedure timed_event_p_proc - �� ��������. �� ��� �������� ��� ������ ���������� add_timer_event(self_obj, 8, 2); �� ���� � ������� �������� ������(��� �������� ����), � ����� procedure tile_damage_2 �����, ����� ����� ��� ������� �������� � ������ ����� ���������. � ����� �� ����������� ��������� ��� �� 16777500 �� 16777800, � ����� � �������� - �� ��������. ��� ����� ��� ��������. :-)
|