Дарова всем, как сделать чтоб крутился текст вокруг головы по своей оси? Пример: http://i.imgur.com/NGi75jE.png. Скинь пожалуйста опкод для этого.
Опкода нет. Там функция. Я когда делал, у меня он так крутился (но это криворукость). Здесь в вопросах ищи функу.Дарова всем, как сделать чтоб крутился текст вокруг головы по своей оси? Пример: http://i.imgur.com/NGi75jE.png. Скинь пожалуйста опкод для этого.
на одном месте крутиться... а надо во круг головы.04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.25 0.0 1.0
Ну так придумай, как сделать. Тут тебе не "сделайте за меня, плиз. Я буду очень благодарен."на одном месте крутиться... а надо во круг головы.
http://ugbase.eu/snippets/getboneposition-from-actor/
{
GET BONE POSITION:
0AB1: call_scm_func @GET_BONE_POS 2 FROM_ACTOR $PLAYER_ACTOR BONE 6 _STORE_TO 1@ 2@ 3@ // HEAD
}
:GET_BONE_POS
0085: 10@ = 0@ // (int)
0085: 15@ = 1@ // (int)
1@ = 0.0 // X offset
2@ = 0.0 // Y offset {THX TO: WESSER}
3@ = 0.0 // Z offset
0A96: 0@ = actor 10@ struct
0AC7: 4@ = var 1@ offset
0AA6: call_method 0x5E01C0 struct 0@ num_params 3 pop 0 bIncludeAnim 1 iBoneID 15@ vOffset 4@ // CPed__getBonePositionWithOffset
0AB2: retn 3 1@ 2@ 3@
:GET_BONE_POS
// call @GET_BONE_POS 5 actor 0@ bone 1@ offsetYZX 2@ 3@ 4@ save_to 5@ 6@ 7@
0A96: 8@ = actor 0@ struct
// 0x5E01C0 - RwV3d *__thiscall CPed__getBonePositionWithOffset(RwV3d *vOffset, int iBoneID, bool bIncludeAnim)
// 2@v = 2@ & 3@ & 4@ pointers
0AA6: call_method 0x5E01C0 struct 8@ num_params 3 pop 0 bIncludeAnim true iBoneID 1@ *vOffset 2@v
0AB2: ret 3 2@ 3@ 4@
{$CLEO}
{$INCLUDE SF}
const
EVENT_BUTTON_CLICKED = 257
EVENT_COMBOBOX_SELECTION_CHANGED = 513
EVENT_RADIOBUTTON_CHANGED = 769
EVENT_CHECKBOX_CHANGED = 1025
EVENT_SLIDER_VALUE_CHANGED = 1281
EVENT_EDITBOX_STRING = 1537
EVENT_EDITBOX_CHANGE = 1538
EVENT_LISTBOX_ITEM_DBLCLK = 1793
EVENT_LISTBOX_SELECTION = 1794
end
0000:
repeat
wait 0
until samp.Available()
0B34: samp register_client_command "CL" to_label @KIG
repeat
wait 0
if 6@ == 1
then
0B80: dialog 0@ = create "User's dialog"
0B84: dialog 0@ set_pos_XY 500 500 size 300 225
0B82: dialog 0@ add_button id 1 text "ДА" pos_XY 0 0 size 100 30
0B82: dialog 0@ add_button id 2 text "НЕТ" pos_XY 0 50 size 100 30
0B87: dialog 0@ is_visible
0B8D: samp set_cursor_mode 2
while true
wait 0
if 0B81: dialog 0@ pop_event_to 1@ control_id_to 2@
then
if 1@ == EVENT_BUTTON_CLICKED
then
if 2@ == 1
then
0AF8: samp add_message_to_chat "Была нажата кнопка. Элемент №%d" color -1 params 2@
0AC8: 3@ = allocate_memory_size 128
0C11: memset destination 3@ value 0x0 size 128
0B9B: dialog 0@ listbox 6 selected_element_to 0 elements_count_to 4@
4@++
0AD3: 3@ = format "Элемент №%d" 4@
0B9A: dialog 0@ listbox 6 insert_element 3@ with_data 4@ after -1
0AC9: free_allocated_memory 3@
end
end
if 1@ == EVENT_BUTTON_CLICKED
then
if 2@ == 2
then
0AF8: samp add_message_to_chat "Ringo" color 0xff0000
0B86: dialog 0@ set_visible false
0B8D: samp set_cursor_mode 0
6@ = 0
end
end
end
end
end
until false
:KIG
if 6@ == 0
then
6@ = 1
end
samp.CmdRet()
наРебята , не пойму почему диалог не открывается второй раз после вода команды , помогите , если не сложно
Код:{$CLEO} {$INCLUDE SF} const EVENT_BUTTON_CLICKED = 257 EVENT_COMBOBOX_SELECTION_CHANGED = 513 EVENT_RADIOBUTTON_CHANGED = 769 EVENT_CHECKBOX_CHANGED = 1025 EVENT_SLIDER_VALUE_CHANGED = 1281 EVENT_EDITBOX_STRING = 1537 EVENT_EDITBOX_CHANGE = 1538 EVENT_LISTBOX_ITEM_DBLCLK = 1793 EVENT_LISTBOX_SELECTION = 1794 end 0000: repeat wait 0 until samp.Available() 0B34: samp register_client_command "CL" to_label @KIG repeat wait 0 if 6@ == 1 then 0B80: dialog 0@ = create "User's dialog" 0B84: dialog 0@ set_pos_XY 500 500 size 300 225 0B82: dialog 0@ add_button id 1 text "ДА" pos_XY 0 0 size 100 30 0B82: dialog 0@ add_button id 2 text "НЕТ" pos_XY 0 50 size 100 30 0B87: dialog 0@ is_visible 0B8D: samp set_cursor_mode 2 while true wait 0 if 0B81: dialog 0@ pop_event_to 1@ control_id_to 2@ then if 1@ == EVENT_BUTTON_CLICKED then if 2@ == 1 then 0AF8: samp add_message_to_chat "Была нажата кнопка. Элемент №%d" color -1 params 2@ 0AC8: 3@ = allocate_memory_size 128 0C11: memset destination 3@ value 0x0 size 128 0B9B: dialog 0@ listbox 6 selected_element_to 0 elements_count_to 4@ 4@++ 0AD3: 3@ = format "Элемент №%d" 4@ 0B9A: dialog 0@ listbox 6 insert_element 3@ with_data 4@ after -1 0AC9: free_allocated_memory 3@ end end if 1@ == EVENT_BUTTON_CLICKED then if 2@ == 2 then 0AF8: samp add_message_to_chat "Ringo" color 0xff0000 0B86: dialog 0@ set_visible false 0B8D: samp set_cursor_mode 0 6@ = 0 end end end end end until false :KIG if 6@ == 0 then 6@ = 1 end samp.CmdRet()
{$CLEO}
{$INCLUDE SF}
const
EVENT_BUTTON_CLICKED = 257
EVENT_COMBOBOX_SELECTION_CHANGED = 513
EVENT_RADIOBUTTON_CHANGED = 769
EVENT_CHECKBOX_CHANGED = 1025
EVENT_SLIDER_VALUE_CHANGED = 1281
EVENT_EDITBOX_STRING = 1537
EVENT_EDITBOX_CHANGE = 1538
EVENT_LISTBOX_ITEM_DBLCLK = 1793
EVENT_LISTBOX_SELECTION = 1794
end
0000:
repeat
wait 0
until samp.Available()
0B34: samp register_client_command "CL" to_label @KIG
{
//OLOLOLOLOL easy bro
//repeat
//wait 500
//until 6@ == 1
repeat
wait 0
if 6@ == 1
then
}
0B80: dialog 0@ = create "User's dialog"
0B84: dialog 0@ set_pos_XY 500 500 size 300 225
0B82: dialog 0@ add_button id 1 text "ÄÀ" pos_XY 0 0 size 100 30
0B82: dialog 0@ add_button id 2 text "ÍÅÒ" pos_XY 0 50 size 100 30
dialog.SetVisible(0@, 0)
while true
wait 0
if 0B81: dialog 0@ pop_event_to 1@ control_id_to 2@
then
if 1@ == EVENT_BUTTON_CLICKED
then
if 2@ == 1
then
0AF8: samp add_message_to_chat "Áûëà íàæàòà êíîïêà. Ýëåìåíò ¹%d" color -1 params 2@
// eto tebe naxyu ? 4to ti delaew?
0AC8: 3@ = allocate_memory_size 128
0C11: memset destination 3@ value 0x0 size 128
0B9B: dialog 0@ listbox 6 selected_element_to 0 elements_count_to 4@
4@++
0AD3: 3@ = format "Ýëåìåíò ¹%d" 4@
0B9A: dialog 0@ listbox 6 insert_element 3@ with_data 4@ after -1
0AC9: free_allocated_memory 3@
end
end
if 1@ == EVENT_BUTTON_CLICKED
then
if 2@ == 2
then
0AF8: samp add_message_to_chat "Ringo" color 0xff0000
0B86: dialog 0@ set_visible false
0B8D: samp set_cursor_mode 0
6@ = 0
end
end
end
end
end
until false
:KIG
// OLOLOLOLOL
0B12: 6@ = 6@ XOR 1 // aktivacia
dialog.SetVisible(0@, 6@)
0B8D: samp set_cursor_mode 2
samp.CmdRet()
Ребята , не пойму почему диалог не открывается второй раз после вода команды , помогите , если не сложно
Код:{$CLEO} {$INCLUDE SF} const EVENT_BUTTON_CLICKED = 257 EVENT_COMBOBOX_SELECTION_CHANGED = 513 EVENT_RADIOBUTTON_CHANGED = 769 EVENT_CHECKBOX_CHANGED = 1025 EVENT_SLIDER_VALUE_CHANGED = 1281 EVENT_EDITBOX_STRING = 1537 EVENT_EDITBOX_CHANGE = 1538 EVENT_LISTBOX_ITEM_DBLCLK = 1793 EVENT_LISTBOX_SELECTION = 1794 end 0000: repeat wait 0 until samp.Available() 0B34: samp register_client_command "CL" to_label @KIG repeat wait 0 if 6@ == 1 then 0B80: dialog 0@ = create "User's dialog" 0B84: dialog 0@ set_pos_XY 500 500 size 300 225 0B82: dialog 0@ add_button id 1 text "ДА" pos_XY 0 0 size 100 30 0B82: dialog 0@ add_button id 2 text "НЕТ" pos_XY 0 50 size 100 30 0B87: dialog 0@ is_visible 0B8D: samp set_cursor_mode 2 while true wait 0 if 0B81: dialog 0@ pop_event_to 1@ control_id_to 2@ then if 1@ == EVENT_BUTTON_CLICKED then if 2@ == 1 then 0AF8: samp add_message_to_chat "Была нажата кнопка. Элемент №%d" color -1 params 2@ 0AC8: 3@ = allocate_memory_size 128 0C11: memset destination 3@ value 0x0 size 128 0B9B: dialog 0@ listbox 6 selected_element_to 0 elements_count_to 4@ 4@++ 0AD3: 3@ = format "Элемент №%d" 4@ 0B9A: dialog 0@ listbox 6 insert_element 3@ with_data 4@ after -1 0AC9: free_allocated_memory 3@ end end if 1@ == EVENT_BUTTON_CLICKED then if 2@ == 2 then 0AF8: samp add_message_to_chat "Ringo" color 0xff0000 0B86: dialog 0@ set_visible false 0B8D: samp set_cursor_mode 0 6@ = 0 end end end end end until false :KIG if 6@ == 0 then 6@ = 1 end samp.CmdRet()
мне хнусси помог, вот код и он работает (проверил)А ты 2 скрипт то удалил с клео? А то вдруг ты с ним вместе заходишь хд и он работает. Ты хекс где взял, открыл файл в хекс редакторе и скопировал?
{$CLEO}
0000:
wait 1488
0B2B: samp 0@ = get_player_id_by_actor_handle $PLAYER_ACTOR // ???????? ???? ??
0B36: samp 1@ = get_player_nickname 0@ // ???????? ???? ???
if 8C18: 2@ = strstr string1 1@ string2 "Ivan_Pupkin" // ???? ??? ?????? ?? Ivan_Pupkin
then // ??
0A93: end_custom_thread // ????????? ?????, ?? ???? ?????? ??????????
end // ????? ???????
0B34: samp register_client_command "cmd1" to_label @1
0B34: samp register_client_command "cmd2" to_label @2
0B34: samp register_client_command "cmd3" to_label @3
while true
wait 0
end
:1
chatmsg "??????? ??????? /cmd1" 0xff0000
samp.CmdRet()
:2
chatmsg "??????? ??????? /cmd2" 0xff0000
samp.CmdRet()
:3
chatmsg "??????? ??????? /cmd3" 0xff0000
samp.CmdRet()
там если ник совпадает, то он заканчивает поток, т.к. опкод 0a93: И ты просил подключать 2 скрипт внешне, а не регистрировать команды.мне хнусси помог, вот код и он работает (проверил)
PHP:{$CLEO} 0000: wait 1488 0B2B: samp 0@ = get_player_id_by_actor_handle $PLAYER_ACTOR // ???????? ???? ?? 0B36: samp 1@ = get_player_nickname 0@ // ???????? ???? ??? if 8C18: 2@ = strstr string1 1@ string2 "Ivan_Pupkin" // ???? ??? ?????? ?? Ivan_Pupkin then // ?? 0A93: end_custom_thread // ????????? ?????, ?? ???? ?????? ?????????? end // ????? ??????? 0B34: samp register_client_command "cmd1" to_label @1 0B34: samp register_client_command "cmd2" to_label @2 0B34: samp register_client_command "cmd3" to_label @3 while true wait 0 end :1 chatmsg "??????? ??????? /cmd1" 0xff0000 samp.CmdRet() :2 chatmsg "??????? ??????? /cmd2" 0xff0000 samp.CmdRet() :3 chatmsg "??????? ??????? /cmd3" 0xff0000 samp.CmdRet()
http://blasthack.net/threads/34/page-94#post-56733, нет просил, у меня по твоему не работало, предложил записать чатмсг как отдельный.там если ник совпадает, то он заканчивает поток, т.к. опкод 0a93: И ты просил подключать 2 скрипт внешне, а не регистрировать команды.
if 8C18: 2@ = strstr string1 1@ string2 "Ivan_Pupkin" это вставь в моем и заработает.http://blasthack.net/threads/34/page-94#post-56733, нет просил, у меня по твоему не работало, предложил записать чатмсг как отдельный.