Перейти к содержанию

CEComboBox1 как сделать выпадающий список


Submarina

Рекомендуемые сообщения

Не могу понять что не так, почему список из цифр в CEComboBox1 не вы падает, поправьте меня пожалуйста, что я делаю не так.

Вот таблица http://rgho.st/6FH6b4CYQ 

Брал информацию здесь http://forum.cheatengine.org/viewtopic.php?p=5477983&sid=fb2028f1f0f0c2b1a857b373186ee036

 

Изменено пользователем Submarina
Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Submarina сказал:

почему список из цифр в CEComboBox1 не вы падает,

Посмотри - переделал табличку,

LUA-скрипт у тебя не правильный.

Список делаешь отдельно либо в LUA-скрипте, либо в Object inspector (как сделал я). А условие уже потом пишешь в Lua-скрипте: что будет соответствовать итему комбобокса.   

// Табличку удалил.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Со списком я разобрался, как водить его и куда, а вот почему не срабатывает когда переключаешь например на Speed ==4. В таблице скрипт с указателем, вот когда в списке CEComboBox1 выберешь например Speed == 4 то в таблице указатель должен переключится на 4, а этого не происходить.

Строчка writeInteger("Speed", 4) есть а не переключает почему то.

Ещё пробовал заменить строчку на writeInteger('[Speed]+E8',0) в место writeInteger("Speed", 4) но почему то всё равно не работает.

Изменено пользователем Submarina
Ссылка на комментарий
Поделиться на другие сайты

6 минут назад, Submarina сказал:

В таблице скрипт с указателем

Вот теперь кинь в ЛС полную табличку, посмотрю, где у тебя ошибка.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Lua-скрипт:

Скрытый текст

function CEButton1Click(sender)
if CETrainer.CEButton1.Caption == "Включить" then
CETrainer.CEButton1.Caption = "Выключить"
autoAssemble([[
     aobscanmodule(INJECT,Tutorial-x86_64.exe,29 93 90 07 00 00) // should be unique
     alloc(newmem,$1000,"Tutorial-x86_64.exe"+2A8B7)
     label(code)
     label(return)
     label(p_HP)
     registersymbol(p_HP)
     registersymbol(INJECT)

     newmem:
       lea edx,[rbx+00000790]
       mov [p_HP],edx
       xor edx,edx

     code:
       sub [rbx+00000790],edx
       jmp return

     p_HP:
       dd 0

     INJECT:
       jmp newmem
       db 90
     return:
]])
control_setEnabled(CETrainer.CEComboBox1,true)
else
if CETrainer.CEButton1.Caption == "Выключить" then
CETrainer.CEButton1.Caption = "Включить"
autoAssemble([[
     INJECT:
       db 29 93 90 07 00 00

       unregistersymbol(p_HP)
       unregistersymbol(INJECT)
       dealloc(newmem)
]])
control_setEnabled(CETrainer.CEComboBox1,false)
end
end
end
function CEComboBox1Change(sender)
ViborHP = getProperty(CETrainer.CEComboBox1,'ItemIndex')
if ViborHP == 0 then
writeInteger('[p_HP]+0',200)
end
if ViborHP == 1 then
writeInteger('[p_HP]+0',400)
end
if ViborHP == 2 then
writeInteger('[p_HP]+0',600)
end
if ViborHP == 3 then
writeInteger('[p_HP]+0',800)
end
if ViborHP == 4 then
writeInteger('[p_HP]+0',1000)
end
end
--TRAINERGENERATORSTART--
--Этот код сгенерирован автоматически. Изменение кода в этом блоке
--будет стёрто и перезаписано, если вы сгенерируете код трейнера заново

--Uncomment the following line if this is a Cheat Table format trainer and you don't want CE to show (Tip, save as .CETRAINER alternatively)
--hideAllCEWindows()

RequiredCEVersion=6.5
if (getCEVersion==nil) or (getCEVersion()<RequiredCEVersion) then
  messageDialog('Please install Cheat Engine '..RequiredCEVersion, mtError, mbOK)
  closeCE()
end
addresslist=getAddressList()


CETrainer.SEPERATOR.Visible=false

getAutoAttachList().add("Tutorial-x86_64.exe")
gPlaySoundOnAction=false
CETrainer.show()
function AboutClick()
  showMessage(gAboutText)
end
gAboutText=[[Образец трейнера для Baracuda с 
комбобоксом.]]

function CloseClick()
  --called by the close button onClick event, and when closing the form
  closeCE()
  return caFree --onClick doesn't care, but onClose would like a result
end

--TRAINERGENERATORSTOP--

 

Видео:

 

Табличка:

ForBaracuda19_02_17.CT

  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

По не понятным причинам, в CEComboBox1 когда выставляешь например, 5 то указатель в таблице тоже должен становится на 5 а он сбрасывается до, 0 выставляешь в

  CEComboBox1 например 7 сбрасывается указатель на 0

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, Submarina сказал:

По не понятным причинам, в CEComboBox1 когда выставляешь например, 5 то указатель в таблице тоже должен становится на 5 а он сбрасывается до, 0 выставляешь в

  CEComboBox1 например 7 сбрасывается указатель на 0

Что-то делаешь неправильно.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Garik66 сможешь помочь?
По твоему видео уроку сделал все как ты показал в видео но у меня не меняются значения. В конце там где задавали значения для списка.
 

Скрытый текст

function CEButton1Click(sender)
if UDF1.CEButton1.Caption == "Player Speed - On" then
UDF1.CEButton1.Caption = "Player Speed - Off"
autoAssemble([[
               aobscanmodule(LoadsiIska,Defiance.exe,8B 01 35 C1 99 54 D3)
               alloc(newmem,$1000)

               label(code)
               label(return)
               label(movimena)
               label(movspeed_value)
               registersymbol(movspeed_value)

               newmem:

               movspeed_value:
                 dd (float)0

               movimena:
                  cmp [ecx+28],FFFFFFFF
                  jne code
                  mov eax,[movspeed_value]
                  xor eax,D35499C1
                  mov [ecx],eax
                  jmp code

               code:
                  mov eax,[ecx]
                  xor eax,D35499C1
                  jmp return

               INJECT:
                  jmp movimena
                  nop
                  nop
               return:
                  registersymbol(LoadsiIska)
]])
control_setEnabled(UDF1.CEComboBox1,true)
else
if UDF1.CEButton1.Caption == "Player Speed - Off" then
UDF1.CEButton1.Caption = "Player Speed - On"
autoAssemble([[
               LoadsiIska:
                 db 8B 01 35 C1 99 54 D3

                 unregistersymbol(LoadsiIska)
                 unregistersymbol(movspeed_value)
                 dealloc(newmem)
]])
control_setEnabled(UDF1.CEComboBox1,false)
end
end
end
function CEComboBox1Change(sender)
SpeedRate = getProperty(UDF1.CEComboBox1,'ItemIndex')
if SpeedRate == 0 then
writeInteger('[movspeed_value]+0',6.5)
end
if SpeedRate == 1 then
writeInteger('[movspeed_value]+0',10.5)
end
if SpeedRate == 2 then
writeInteger('[movspeed_value]+0',15.5)
end
if SpeedRate == 3 then
writeInteger('[movspeed_value]+0',50.5)
end
end

 

 

Изменено пользователем what228
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

10 час назад, what228 сказал:

Garik66 сможешь помочь?

Отдельно АА-скрипт без LUA-части работает?

В нём по крайней мере две ошибки.

Короче попробуй так:

Скрытый текст

function CEButton1Click(sender)
if UDF1.CEButton1.Caption == "Player Speed - On" then
UDF1.CEButton1.Caption = "Player Speed - Off"
autoAssemble([[
               aobscanmodule(LoadsiIska,Defiance.exe,8B 01 35 C1 99 54 D3)
               alloc(newmem,$1000)
               label(code)
               label(return)
               label(movspeed_value)
               registersymbol(movspeed_value)
               registersymbol(LoadsiIska)

               newmem:
                  cmp [ecx+28],FFFFFFFF
                  jne code
                  mov eax,[movspeed_value]
                  xor eax,D35499C1
                  mov [ecx],eax
                  jmp code

               code:
                  mov eax,[ecx]
                  xor eax,D35499C1
                  jmp return

               movspeed_value:
                  dd (float)0

               LoadsiIska:
                  jmp newmem
                  nop
                  nop
               return:

]])
control_setEnabled(UDF1.CEComboBox1,true)
else
if UDF1.CEButton1.Caption == "Player Speed - Off" then
UDF1.CEButton1.Caption = "Player Speed - On"
autoAssemble([[
               LoadsiIska:
                 db 8B 01 35 C1 99 54 D3

                 unregistersymbol(LoadsiIska)
                 unregistersymbol(movspeed_value)
                 dealloc(newmem)
]])
control_setEnabled(UDF1.CEComboBox1,false)
end
end
end
function CEComboBox1Change(sender)
SpeedRate = getProperty(UDF1.CEComboBox1,'ItemIndex')
if SpeedRate == 0 then
writeFloat('movspeed_value',6.5)
end
if SpeedRate == 1 then
writeFloat('movspeed_value',10.5)
end
if SpeedRate == 2 then
writeFloat('movspeed_value',15.5)
end
if SpeedRate == 3 then
writeFloat('movspeed_value',50.5)
end
end

 

PS: Если не сработает, проверь сначала АА-скрипт, фильтр ( [ecx+28],FFFFFFFF).

Выложи сюда АА-скрипт, лучше с Логами и скрин как ты добавляешь адрес  movspeed_value в таблицу.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Garik66 сказал:

Отдельно АА-скрипт без LUA-части работает?

В нём по крайней мере две ошибки.

Короче попробуй так:

  Показать содержимое


function CEButton1Click(sender)
if UDF1.CEButton1.Caption == "Player Speed - On" then
UDF1.CEButton1.Caption = "Player Speed - Off"
autoAssemble([[
               aobscanmodule(LoadsiIska,Defiance.exe,8B 01 35 C1 99 54 D3)
               alloc(newmem,$1000)
               label(code)
               label(return)
               label(movspeed_value)
               registersymbol(movspeed_value)
               registersymbol(LoadsiIska)

               newmem:
                  cmp [ecx+28],FFFFFFFF
                  jne code
                  mov eax,[movspeed_value]
                  xor eax,D35499C1
                  mov [ecx],eax
                  jmp code

               code:
                  mov eax,[ecx]
                  xor eax,D35499C1
                  jmp return

               movspeed_value:
                  dd (float)0

               LoadsiIska:
                  jmp newmem
                  nop
                  nop
               return:

]])
control_setEnabled(UDF1.CEComboBox1,true)
else
if UDF1.CEButton1.Caption == "Player Speed - Off" then
UDF1.CEButton1.Caption = "Player Speed - On"
autoAssemble([[
               LoadsiIska:
                 db 8B 01 35 C1 99 54 D3

                 unregistersymbol(LoadsiIska)
                 unregistersymbol(movspeed_value)
                 dealloc(newmem)
]])
control_setEnabled(UDF1.CEComboBox1,false)
end
end
end
function CEComboBox1Change(sender)
SpeedRate = getProperty(UDF1.CEComboBox1,'ItemIndex')
if SpeedRate == 0 then
writeFloat('movspeed_value',6.5)
end
if SpeedRate == 1 then
writeFloat('movspeed_value',10.5)
end
if SpeedRate == 2 then
writeFloat('movspeed_value',15.5)
end
if SpeedRate == 3 then
writeFloat('movspeed_value',50.5)
end
end

 

PS: Если не сработает, проверь сначала АА-скрипт, фильтр ( [ecx+28],FFFFFFFF).

Выложи сюда АА-скрипт, лучше с Логами и скрин как ты добавляешь адрес  movspeed_value в таблицу.

Насчет скрипта да это моя ошибка я его просто скопировал потом поправил и забыл скопировать повторно. Насчет работы работает все нормально.

Сам скрипт:

Скрытый текст
[ENABLE]
aobscanmodule(LoadsiIska,Defiance.exe,8B 01 35 C1 99 54 D3)
alloc(newmem,$1000)
label(code)
label(return)
label(movimena)
label(movspeed_value)
registersymbol(movspeed_value)
newmem:
movspeed_value:
  dd (float)4.5
movimena:
  cmp [ecx+28],FFFFFFFF
  jne code
  mov eax,[movspeed_value]
  xor eax,D35499C1
  mov [ecx],eax
  jmp code
code:
  mov eax,[ecx]
  xor eax,D35499C1
  jmp return
LoadsiIska:
  jmp movimena
  nop
  nop
return:
registersymbol(LoadsiIska)
[DISABLE]
LoadsiIska:
  db 8B 01 35 C1 99 54 D3
unregistersymbol(LoadsiIska)
unregistersymbol(movspeed_value)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "Defiance.exe"+1482D4
"Defiance.exe"+1482C9: CC                 -  int 3
"Defiance.exe"+1482CA: CC                 -  int 3
"Defiance.exe"+1482CB: CC                 -  int 3
"Defiance.exe"+1482CC: CC                 -  int 3
"Defiance.exe"+1482CD: CC                 -  int 3
"Defiance.exe"+1482CE: CC                 -  int 3
"Defiance.exe"+1482CF: CC                 -  int 3
"Defiance.exe"+1482D0: 55                 -  push ebp
"Defiance.exe"+1482D1: 8B EC              -  mov ebp,esp
"Defiance.exe"+1482D3: 51                 -  push ecx
// ---------- INJECTING HERE ----------
"Defiance.exe"+1482D4: 8B 01              -  mov eax,[ecx]
"Defiance.exe"+1482D6: 35 C1 99 54 D3     -  xor eax,D35499C1
// ---------- DONE INJECTING  ----------
"Defiance.exe"+1482DB: 89 45 FC           -  mov [ebp-04],eax
"Defiance.exe"+1482DE: D9 45 FC           -  fld dword ptr [ebp-04]
"Defiance.exe"+1482E1: 8B E5              -  mov esp,ebp
"Defiance.exe"+1482E3: 5D                 -  pop ebp
"Defiance.exe"+1482E4: C3                 -  ret
"Defiance.exe"+1482E5: CC                 -  int 3
"Defiance.exe"+1482E6: CC                 -  int 3
"Defiance.exe"+1482E7: CC                 -  int 3
"Defiance.exe"+1482E8: CC                 -  int 3
"Defiance.exe"+1482E9: CC                 -  int 3
}


Насчет LUA таблицы. Я пбывал не только с этим скриптом но и с другими ошибка именно на стороне ComboBox'a ибо скрипт переключается а вот ComboBox не вносит изменений.

TZnkmIA.png

Видео -


Таблица - http://rgho.st/6DdvwqnDJ

Изменено пользователем what228
  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

Возможно так будет работать: LUA_TEST.CT

 

Скрытый текст

local stateInjected = false
local speedDefault = 4.5

function InjectedInMemory()
    autoAssemble([[
                   aobscanmodule(SignatureSpeed,Defiance.exe,8B 01 35 C1 99 54 D3)
                   alloc(MemoryCode,$1000)
                   alloc(MemoryValues,$1000)
                   label(Speed)
                   registersymbol(Speed)

                   MemoryValues:
                     Speed:
                       dd (float)4.5

                   MemoryCode:
                     InjectionChangeSpeed:
                        cmp [ecx+28],FFFFFFFF
                        jne OriginalCode
                        mov eax,[Speed]
                        xor eax,D35499C1
                        mov [ecx],eax
                     OriginalCode:
                        mov eax,[ecx]
                        xor eax,D35499C1
                        jmp Return

                   SignatureSpeed:
                       jmp InjectionChangeSpeed
                       nop
                       nop
                   Return:
    ]])
end


function CEComboBox1Change(sender)

  if(not stateInjected) then
    stateInjected = true
    InjectedInMemory()
  end

  local selectedIndex = CETrainer.CEComboBox1.ItemIndex
  if(selectedIndex >= 0) then
      local selectSpeedValue = CETrainer.CEComboBox1.Items[selectedIndex]
      if(selectSpeedValue == 'Default') then
         writeFloat('Speed', speedDefault)
      end
         writeFloat('Speed',tonumber(selectSpeedValue))
  end

end
CETrainer.show()

 

 

Ссылка на комментарий
Поделиться на другие сайты

6 часов назад, what228 сказал:

ошибка именно на стороне ComboBox'a

нет.

Ошибка в наших кривых ручках (или читай мою подпись - человеку свойственно ошибаться. 

Нужно:

1. не function CEComboBox1ChangeBounds(sender), а function CEComboBox1Change(sender).

2. не writeFloat('[movspeed_value]+0',6.5), а writeFloat('movspeed_value',6.5)

Поправил в таблице эти ошибки, но не тестил - не на чем.

табличка:

LUA_TEST.CT

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

ЗЫ: По поводу скрипта MasterGH - Если напишешь трейнер (кстати Андрей большое спасибо за вторую часть LUA-скрипта:

Скрытый текст

  local selectedIndex = CETrainer.CEComboBox1.ItemIndex
  if(selectedIndex >= 0) then
      local selectSpeedValue = CETrainer.CEComboBox1.Items[selectedIndex]
      if(selectSpeedValue == 'Default') then
         writeFloat('Speed', speedDefault)
      end
         writeFloat('Speed',tonumber(selectSpeedValue))
  end

 

), то при отключении опции - скорее всего будет оставаться скорость, которую пользователь выбрал, но точно не знаю, может Мастер это тоже учёл.

Второе вот это часть нашего скрипта:

Скрытый текст

autoAssemble([[
               LoadsiIska:
                 db 8B 01 35 C1 99 54 D3

                 unregistersymbol(LoadsiIska)
                 unregistersymbol(movspeed_value)
                 dealloc(newmem)
]])

 

 корректно не работает - в памяти остаётся инъекция и сколько раз будет активироваться скрипт, столько будет следов в памяти с инъекцией.

Поэтому можно заменить первую часть скрипта:

Скрытый текст

function CEButton1Click(sender)
if UDF1.CEButton1.Caption == "Player Speed - On" then
UDF1.CEButton1.Caption = "Player Speed - Off"
autoAssemble([[
               aobscanmodule(LoadsiIska,Defiance.exe,8B 01 35 C1 99 54 D3)
               alloc(newmem,$1000)
               label(code)
               label(return)
               label(movspeed_value)
               registersymbol(movspeed_value)
               registersymbol(LoadsiIska)

               newmem:
                  cmp [ecx+28],FFFFFFFF
                  jne code
                  mov eax,[movspeed_value]
                  xor eax,D35499C1
                  mov [ecx],eax
                  jmp code

               code:
                  mov eax,[ecx]
                  xor eax,D35499C1
                  jmp return

               movspeed_value:
                  dd (float)0

               LoadsiIska:
                  jmp newmem
                  nop
                  nop
               return:

]])
control_setEnabled(UDF1.CEComboBox1,true)
else
if UDF1.CEButton1.Caption == "Player Speed - Off" then
UDF1.CEButton1.Caption = "Player Speed - On"
autoAssemble([[
               LoadsiIska:
                 db 8B 01 35 C1 99 54 D3

                 unregistersymbol(LoadsiIska)
                 unregistersymbol(movspeed_value)
                 dealloc(newmem)
]])
control_setEnabled(UDF1.CEComboBox1,false)
end
end
end

 

на вот такую (но она с привязкой к таблице СЕ):

Скрытый текст

function CEToggleBox1Click(sender)
al = getAddressList()
memrec=addresslist_getMemoryRecordByID(al, "63")
if memoryrecord_isActive(memrec) then
   memoryrecord_unfreeze(memrec)
   CETrainer.CEToggleBox1.Caption = "Player Speed - On"
   control_setEnabled(CETrainer.CEComboBox1,false)

else
   memoryrecord_freeze(memrec)
   CETrainer.CEToggleBox1.Caption = "Player Speed - Off"
   control_setEnabled(CETrainer.CEComboBox1,true)
end
end

 

63 - это ID твоего скрипта.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

15 минуту назад, Garik66 сказал:

скорее всего будет оставаться скорость, которую пользователь выбрал

1. Я бы упростил и убрал бы кнопку активации и деактивации скорости. Просто разворачивающийся список. Где первое поле это скорость по умолчанию. Зачем пользователю нажимать на кнопку, когда в списке можно выбрать нужный вариант скорости. По моему скромному мнению, немного лишние действия

 

15 минуту назад, Garik66 сказал:

корректно не работает - в памяти остаётся инъекция и сколько раз будет активироваться скрипт, столько будет следов в памяти с инъекцией.

2. Я писал Дарк байту. Память не освобождается через dealloc. Есть недокументированное освобождение памяти, не помню эту функцию. Лучше не использовать освобождение через Lua autoassemble(), т.к. там какие-то косяки могут быть. Тоже не помню, что за косяки или мне не объяснили на форуме CE.

 

15 минуту назад, Garik66 сказал:

на вот такую (но она с привязкой к таблице СЕ):

3. В принципе можно включать и выключать АА скрипт по id или по его уникальному имени, тогда не будет проблемы с пунктом 2. Возвращаясь, к пункт1 я бы упростил.

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, MasterGH сказал:

Лишние действия.

Согласен, но там сделано для красоты - активен/не активен 

Скрытый текст

control_setEnabled(UDF1.CEComboBox1,true) / control_setEnabled(UDF1.CEComboBox1,false)

 

 

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, MasterGH сказал:

Возможно так будет работать

Спасибо огромное! Работает все кроме Default всегда пишется 0. И да скорее всего именно такой стиль без активации кнопки более простой в использовании.

 

2 часа назад, Garik66 сказал:

нет.

Ошибка в наших кривых ручках

Поправил в таблице эти ошибки, но не тестил - не на чем.

табличка:

Спасибо огромное! Работает хорошо. На счет кривых ручек это правда :)

Спасибо за ответы. Учту свои ошибки :)

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

16 минуту назад, what228 сказал:

Работает все кроме Default всегда пишется 0

 

Вот эти строки можно исправить

Скрытый текст

 


  if(selectedIndex >= 0) then
      local selectSpeedValue = CETrainer.CEComboBox1.Items[selectedIndex]
      if(selectSpeedValue == 'Default') then
         writeFloat('Speed', speedDefault)
      end
         writeFloat('Speed',tonumber(selectSpeedValue))
  end

На эти

Скрытый текст

  if(selectedIndex >= 0) then
      local selectSpeedValue = CETrainer.CEComboBox1.Items[selectedIndex]
      if(selectSpeedValue == 'Default') then
         writeFloat('Speed', speedDefault)
      else
         writeFloat('Speed',tonumber(selectSpeedValue))
      end
  end

 

Я забыл "else" написать )

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, what228 сказал:

Работает все кроме

 

8 минут назад, what228 сказал:

Работает хорошо.

За эти ответы плюсанул, т.к. считаю что во всех темах должны быть ответы на поставленные вопросы, а то некоторые - создают тему, а потом пишут "Всё разобрался! тему можно закрывать." В результате читая, пользователь зря теряет время.

 

Но  what228, не нужно цитировать - копируя полностью сообщение (особенно, если в сообщении скрипты, таблицы и видео), топик становится менее читабельным, лучше выделяйте нужную строчку в сообщении и её цитируйте. (поправил твоё предыдущее сообщение)

 

И если выкладываешь скрипт, используй и тег "спойлера" и тег "кода" - в фак я записал видео-фак про это. 

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

15 минуту назад, MasterGH сказал:

Я забыл "else" написать )

Подправил и проверю. Еще раз спасибо.
 

18 минуту назад, Garik66 сказал:

Но  what228, не нужно цитировать - копируя полностью сообщение (особенно, если в сообщении скрипты, таблицы и видео), топик становится менее читабельным, лучше выделяйте нужную строчку в сообщении и её цитируйте. (поправил твоё предыдущее сообщение)

Учту.
 

19 минуту назад, Garik66 сказал:

И если выкладываешь скрипт, используй и тег "спойлера" и тег "кода" - в фак я записал видео-фак про это. 

Учту. Просто вчера когда писал сообщение оборвался интернет и тег "код" выдавал ошибку когда пытался его поставить.

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста подправьте меня, где я ошибся.

Скрытый текст

function CEComboBox1Change(sender)
ViborHP = getProperty(UDF1.CEComboBox1,'ItemIndex')
if ViborColor == 0 then
UDF1.CELabel1.Font.Color = 0x00FFF900
end
if ViborColor == 1 then
UDF1.CELabel2.Font.Color = 0x00FFF900
end
if ViborColor == 2 then
UDF1.CELabel3.Font.Color = 0x00FFF900
end
if ViborColor == 3 then
UDF1.CELabel4.Font.Color = 0x00FFF900
end
if ViborColor == 4 then
UDF1.CELabel5.Font.Color = 0x00FFF900
end
end

 

Вот таблица http://rgho.st/6G2VKj25q

Изменено пользователем Submarina
Ссылка на комментарий
Поделиться на другие сайты

  • keng закрыл тема
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.