» TeamX (����� ������)«


����� TeamX » ������������ » �������������� ����� ��������� (������� 1: timed_event/add_timer_event)

������� �� �����
<< ����. ����. >>
������������ �������� ���� ����

 
Raven
������������

������: ������
�����������: ����. 2004

�����: 408 ���������

����� ������������: ��������� ������ ����� - �������� ��� ���������� :-) ��� ���� ������ ���� ��� ����� ������� (� ��� - �����). ���� ���� �������������� �������� - ���� ���� ���� ������������. � ���� � ��� �������� ���������. ������� � ������ �� ���� ����, �������, ����� � �����.

��� ����� ������������ ��������������? ���������� ������ - �������-������ ����� ����� ���. ������ ��������� - ���, ����������� �� ���� ����� ������ ����. �� ��� - ����� ����� �������� :-) Stay on line :-)

[�� TeamX-Tech]

�������� ���������, � ��� �� ������ � �������� ����������� �������������� ����� ��������� � � ��������, � ������� ��� �������������� ��������?

��� �� ����� ��� ������� � ������ ����������. ����������� ���������� � �������� � �� ��������� ������-���� �������, �� ����� ������������ ���� ���������� �� ������ ��������. ��� ��� ��� ���? �� ����� �������� ���������� � ����� ���������� � ��������� ����� �������.

������������� �����, ������, �������������. ������ ���� ��������� �� ���� - �� ����� ��������� ���������� ������� ����� ��� timed_event_p_proc, ���� ����� ��������� �� ����:

������ :-):
------------------------
#define Start_Talking 0
#define Attack_Dude   1
<...>
import variable server;

<...>
 if i_love_dude then add_timer_event(server,Start_Talking);
 else if i_hate_dude then add_timer_event(server,Attack_Dude);
<...>
------------------------

������:
------------------------
#define Start_Talking 0
#define Attack_Dude   1

export variable server;

procedure map_enter_p_proc begin
 server:=self_obj;
end

<...>
procedure timed_event_p_proc begin
 if fixed_param==Start_Talking then call talk_p_proc;
 else if fixed_param==Attack_Dude then attack(dude_obj);
 <...>
end
------------------------

��������� ����, ��� add_timer_event ����� ���� ����������� �� ����� ������, �� ��� ��� �� ��� ������ �� �����������, � ��� ����������� ����� ������������ � ����������, ���� � � ������� ����� ����������� ���������� ����.

����, �� ��������� �� ����� �������� ���������� �� ������� � ���� ������ �� ��� ��������� (���� � �� ����� ��������� ���������� ���������, ��� ��� �� �������� ���� �������� ��������� ���������� �� te ��������). �������� ��, ��. �� �� ����� ���� ��� ������ ������ :-)

�� ����� ��������/������������� �������� ����-�� �������, ���� ��������� �� ����.

������. �� ����� ������� ����� ��������� � ������� �������, ���� ��������� �� ����. � ��� ����� � local_var. �� ��������� local_var ����� ��������. ����� ����, �� ������ �������� ��� ���� ��������, ��������� � ���, ��� �� ����� ������� ������ local_var, � �� talk_p_proc, � �������. �������, ����������� �������� ������ ���� �������� �� ������� �������� ���� � ��������������, �.�. �� ������ �������� ��������� �� ������, �� �������� ������� ������.

��� ����� �������� ��� ���������. add_timer_event ������� ��� �������� ���������� ���� 32-�� ������ ����������. ������: ��� ����� �������� ��� ��������� � ����� ����������? �����: ���������� ��� � ���� �������������� ���������� (coord:=x*200*y).

����, �������� ��� �������� ����� "�������" ��������� �������:
------------------------
self_obj*100+lvar_num*10+flag;
------------------------
lvar_num - ����� ������������� ����, flag ������������ � timed_event �������� ����:
------------------------
#define FLAG_read   (0)
#define FLAG_write  (1)
<...>
procedure timed_event_p_proc begin
<...>
if flag=FLAG_read then begin
<...>
------------------------
��� ���� ������������� �������� - 2 � 31 ������� - ���, �� ����� ����, �� �������� ����, ���� ��������� ��� ��������� ����� ����� � 8-9 ����. ����� ��������� ������������ ���� � �� ����� �� ������.

�������: ��������� - ������� �����, �� ��� *��������* ���� ���������� - ����� �� ��������� �������� �������. �.�. �� ����� ������� ���:
------------------------
import variable container;
<...>
variable shift;variable key;
shift:=container-self_obj;

key:=(shift*10+lvar_num)*10+flag;
add_timer_event(container,0,key);
------------------------
, ��� container ������ ��������� �� ������-�������� �������� �����.

����� ������ ������������� ������ - shift ����� ��� �������������, ��� � �������������. ���������� �������:
------------------------
import variable container;
<...>
variable shift;variable key;
shift:=container-self_obj;

if shift>0 then key:=(shift*10+lvar_num)*10+flag;
else key:=(shift*10+lvar_num)*10+flag;
add_timer_event(container,0,key);
------------------------

� ������� �������-�������� �����:
------------------------
flag:=fixed_param%10;

if flag==FLAG_read then begin
shift:=fixed_param/100;
ptr_target:=self_obj-shift;

lvar_num:=(fixed_param%100)/10;
add_timer_event(ptr_target,0,local_var(lvar_num));
end else
<...>
------------------------

��������������, � t_e ����������� ������� �����:
------------------------
variable lvar_answer;
<...>
procedure timed_event_p_proc begin
lvar_answer:=fixed_param;
<...>
------------------------

��. ������ ���� ��� �����, ��� ��� �� ���� ���������� ��������� �� ����������� � ������������ shift.

��������� � ��������� �����?

����������: 12:16 - 25 ���., 2005
Tehnokrat
���������

������: �����������
�����������: ���. 2003

�����: 489 ���������

>>����� ������������: ��������� ������ ����� - �������� ��� ���������� :-) ��� ���� ������ ���� ��� ����� ������� (� ��� - �����).

� ������ �� ����� ������� � ������� �������� ����?

-----
������� ����� ������, �� ������ ��������. ������� ����� ��������, �� ������ ������.

����������: 23:55 - 31 ���., 2005
Raven
������������

������: ������
�����������: ����. 2004

�����: 408 ���������

>>� ������ �� ����� ������� � ������� �������� ����?

�� ����� �� �������� :-) �����, ������. ������, ��� �������. ����: �������������� ���������.

������������ ���������� ������ ����������� � ���������, ����� � ��� ���� ����� �������� � ���������� �������� � ��� �� ���� ��������� ���� � ������ �����������������. ��������, ����� �� (�� � ������� ������ :-) ������ generic-�����������. "������" ���� (���, ���������, �������) ������ �� ������� � msg-�����. � ����� ������� ���, ����� ��� ��������� ���� � ������ �������� ��� �������. ��� ������? ��� ����? ������, ��� �������� � ������ - �������������� ���������. �� ����� �������-�� �����. � ���:
-------------------------------
export variable ptr_villager;

procedure map_enter_p_proc begin
 ptr_villager:=self_obj;
end
-------------------------------
�������� �� ����� �� �������� �������� - ���� ����, ����� �����. �����, �������, ������ �������� � ���:
-------------------------------
export variable ptr_villager1;
export variable ptr_villager2;
<...>
export variable ptr_villagerN;

procedure map_enter_p_proc begin
 if not ptr_villager1 then ptr_villager1:=self_obj;
 else if not ptr_villager2 then ptr_villager2:=self_obj;
 <...>
end
-------------------------------

� ���� �� ����� ����� N+1 ���? �� � ��������, ����������� :-)

�����: ������� ������-������. ��� ������ �� ����� ������ ���-���������� ���������� � �������. ��� ��� ������������, ���������� ���������, ������ ������� � ������� ����� (� msg), ������������ ������ ���������. ���� ��� ������� ���������� - ���������� ������. ������ ���������� ������� ����������, ��������� ���������, ���������, ���������� ��������� �� ���������. � ����� � �� ����������, � ��� �� ������������.

�����, ������� ��������-���������� :-)

����������: 0:22 - 1 ���., 2005
 

������� �� �����
<< ����. ����. >>
������������ �������� ���� ����


Powered by Ikonboard 2.1.9 RUS
Modified by RU.Board Team
© 2000 Ikonboard.com