- 532
- 225
Здрасце. Сегодня мы будем учиться заменять AHK на NodeJS...
Для начала установить модуль memoryjs (npm i memoryjs). Советую почитать инструкцию по установке данного модуля.
Далее мы просто берем и тырим адреса с AHK UDF (лол чё)
Samp UDF for Samp 0.3.7 R1
Samp UDF for Samp 0.3.7 R2
А теперь можешь спокойной перетаскивать функции...
Вот пару примеров:
Для начала установить модуль memoryjs (npm i memoryjs). Советую почитать инструкцию по установке данного модуля.
Далее мы просто берем и тырим адреса с AHK UDF (лол чё)
Samp UDF for Samp 0.3.7 R1
Samp UDF for Samp 0.3.7 R2
А теперь можешь спокойной перетаскивать функции...
Вот пару примеров:
Code:
; AHK
getUsername() {
if(!checkHandles())
return ""
dwAddress := dwSAMP + ADDR_SAMP_USERNAME
sUsername := readString(hGTA, dwAddress, 25)
if(ErrorLevel) {
ErrorLevel := ERROR_READ_MEMORY
return ""
}
ErrorLevel := ERROR_OK
return sUsername
}
// NodeJS
getUserName() {
return memoryjs.readMemory(this.hProcess.handle, this.hModule.modBaseAddr + this.ADDR_SAMP_USERNAME, "str");
}
Code:
; AHK
getPlayerHealth() {
if(!checkHandles())
return -1
dwCPedPtr := readDWORD(hGTA, ADDR_CPED_PTR)
if(ErrorLevel) {
ErrorLevel := ERROR_READ_MEMORY
return -1
}
dwAddr := dwCPedPtr + ADDR_CPED_HPOFF
fHealth := readFloat(hGTA, dwAddr)
if(ErrorLevel) {
ErrorLevel := ERROR_READ_MEMORY
return -1
}
ErrorLevel := ERROR_OK
return Round(fHealth)
}
// NodeJS
getPlayerHealth() {
const cPed = memoryjs.readMemory(this.hProcess.handle, this.ADDR_CPED_PTR, "dword");
return memoryjs.readMemory(this.hProcess.handle, cPed + this.ADDR_CPED_HPOFF, "float");
}
Можно полностью перевести AHK SAMP UDF на NodeJS. Удобно будет в виде класса, как я и начал делать:
Собственно вот исходный код: GitHub
Перевел лишь часть SAMP UDF, дальше лень...
Перевел лишь часть SAMP UDF, дальше лень...