[Помощь] Аргументы команд. UDF
|
|
vprid |
Дата: Суббота, 01.07.2017, 02:25 | Сообщение # 1
|
Новичок
Сообщений: 8
Статус: Offline
|
Помогите сделать команду с аргументами. С использованием UDF. Например: /skin ID. И что-бы этот ID передавался в переменную.
Сообщение отредактировал vprid - Суббота, 01.07.2017, 02:39 |
|
|
|
Wyareri |
Дата: Суббота, 01.07.2017, 08:57 | Сообщение # 2
|
Боец
Сообщений: 56
Статус: Offline
|
Советую юзать командный процессор, от Demy или tumkina Но если тебе влом чёт качать и разбираться вот код
Код ~Enter:: if (isInChat() = 1) { if (isDialogOpen() != 1) { sleep 250 dwAddress := dwSAMP + 0x12D8F8 chatInput := readString(hGTA, dwAddress, 256) if chatInput contains /skin { RegExMatch(chatInput, "i)^/skin\s(.*)", var) if p = { ; Действия при пустом значении аргумента return } ; Действия при вводе команды p.s Аргумент будет в переменной var1 return } } }
Сообщение отредактировал Wyareri - Суббота, 01.07.2017, 08:58 |
|
|
|
|
vprid |
Дата: Суббота, 01.07.2017, 13:00 | Сообщение # 4
|
Новичок
Сообщений: 8
Статус: Offline
|
Цитата Phoenixxx_Czar ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) Да, КП от Тумкина уж лучше будет (если поправить пару моментов) У меня он(КП) выдает ошибки, некоторые пофискил, но на 34 строке не лечится. UDF последней версии.Добавлено (01.07.2017, 13:00) ---------------------------------------------
Цитата Wyareri ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) ~Enter:: if (isInChat() = 1) { if (isDialogOpen() != 1) { sleep 250 dwAddress := dwSAMP + 0x12D8F8 chatInput := readString(hGTA, dwAddress, 256) if chatInput contains /skin { RegExMatch(chatInput, "i)^/skin\s(.*)", var) if p = { ; Действия при пустом значении аргумента return } ; Действия при вводе команды p.s Аргумент будет в переменной var1 return } } } Кхем... не работает. В обоих случаях вызывается "Пусто".
Сообщение отредактировал vprid - Суббота, 01.07.2017, 12:55 |
|
|
|
[CM]MurKotik |
Дата: Суббота, 01.07.2017, 17:48 | Сообщение # 5
|
Murkot Develop
Сообщений: 252
Статус: Offline
|
vprid, Такой вариант попробуй
Код #Include SAMP-UDF-Developer.ahk
~Enter:: ~numpadenter:: if (isInChat()) { sleep 200 AntiCrash() dwAddress := dwSAMP + 0x12D8F8 chatInput := readString(hGTA, dwAddress, 256) if chatInput contains /skin { RegExMatch(chatInput, "/skin (.*)", outs) if outs1 addChatMessageEx("FFFFFF","Аргумент Skin равен: " outs1 ) else addChatMessageEx("FFFFFF","Аргумент Skin не задан!") } ProcessWriteMemory("" ,dwSAMP + 0x12D8F8, "gta_sa.exe", "Str", 126) }
-------------------
Ушёл в себя, вернусь поздно и пьяный!
Сообщение отредактировал [CM]MurKotik - Суббота, 01.07.2017, 17:58 |
|
|
|
vprid |
Дата: Суббота, 01.07.2017, 18:27 | Сообщение # 6
|
Новичок
Сообщений: 8
Статус: Offline
|
Цитата [CM]MurKotik ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) #Include SAMP-UDF-Developer.ahk
~Enter:: ~numpadenter:: if (isInChat()) { sleep 200 AntiCrash() dwAddress := dwSAMP + 0x12D8F8 chatInput := readString(hGTA, dwAddress, 256) if chatInput contains /skin { RegExMatch(chatInput, "/skin (.*)", outs) if outs1 addChatMessageEx("FFFFFF","Аргумент Skin равен: " outs1 ) else addChatMessageEx("FFFFFF","Аргумент Skin не задан!") } Process Это работает, но не много странно.
|
|
|
|
[CM]MurKotik |
Дата: Суббота, 01.07.2017, 19:30 | Сообщение # 7
|
Murkot Develop
Сообщений: 252
Статус: Offline
|
vprid, Странность что серверу тоже отправляются данные о команде (пишет SERVER Unknowx command)? Если да то решается это просто:
Код #Include SAMP-UDF-Developer.ahk
~Enter:: ~numpadenter:: if (isInChat() && !isDialogOpen()) { blockChatInput() sleep 200 dwAddress := dwSAMP + 0x12D8F8 chatInput := readString(hGTA, dwAddress, 256) if chatInput contains /skin { RegExMatch(chatInput, "/skin (.*)", outs) if outs1 addChatMessageEx("FFFFFF","Аргумент Skin равен: " outs1 ) else addChatMessageEx("FFFFFF","Аргумент Skin не задан!") } else { unBlockChatInput() sendchat(chatInput) } ProcessWriteMemory("" ,dwSAMP + 0x12D8F8, "gta_sa.exe", "Str", 126) }
Но если во время выполнения команды скриптом нужно будет отправить что либо серверу ( sendchat ) то перед отправкой разблокируй чат функцией unBlockChatInput()
P S Если ты про повторения - то скорее всего ты запустил 2 копии скрипта, проверь это
-------------------
Ушёл в себя, вернусь поздно и пьяный!
Сообщение отредактировал [CM]MurKotik - Суббота, 01.07.2017, 19:35 |
|
|
|
vprid |
Дата: Суббота, 01.07.2017, 23:40 | Сообщение # 8
|
Новичок
Сообщений: 8
Статус: Offline
|
Цитата [CM]MurKotik ( ![Ссылка на цитируемый текст](/.s/img/fr/ic/4/lastpost.gif) ) #Include SAMP-UDF-Developer.ahk
~Enter:: ~numpadenter:: if (isInChat() && !isDialogOpen()) { blockChatInput() sleep 200 dwAddress := dwSAMP + 0x12D8F8 chatInput := readString(hGTA, dwAddress, 256) if chatInput contains /skin { RegExMatch(chatInput, "/skin (.*)", outs) if outs1 addChatMessageEx("FFFFFF","Аргумент Skin равен: " outs1 ) else addChatMessageEx("FFFFFF","Аргумент Skin не задан!") } else { unBlockChatInput() sendchat(chatInput) } ProcessWriteMemory("" ,dwSAMP + 0x12D8F8, "gta_sa.exe", "Str", 126) } Спасибо огромное, плюсик кинул. Ты не мог бы еще рассказать как изменить ему скин?
|
|
|
|
[CM]MurKotik |
Дата: Воскресенье, 02.07.2017, 16:38 | Сообщение # 9
|
Murkot Develop
Сообщений: 252
Статус: Offline
|
vprid, Методами АХК пока не как, нужно функу мутить для смены скина
-------------------
Ушёл в себя, вернусь поздно и пьяный!
|
|
|
|
vprid |
Дата: Воскресенье, 02.07.2017, 21:16 | Сообщение # 10
|
Новичок
Сообщений: 8
Статус: Offline
|
Закрыто!
Сообщение отредактировал vprid - Воскресенье, 02.07.2017, 21:16 |
|
|
|