• 0
Struf1

[закрыто] Вопрос про Clickermann , нужна помощь, кто разбирается в этом (php, c++)

Вопросы

Суть в том, что у меня не работают функции вместе.
Должно работать так, что когда находит нужный цвет, то срабатывает определенная функция.
Каждый из циклов работает отдельности, но не работает вместе. Я уже пробовал ставить маркеры, делать потоки, ставить на удержание (делей, wait() ) 
Ничего не работает, прошу помощи в решение данной проблемы.
 

Спойлер

1:
WAIT(2)

KEYPRESS(#F5)
WAIT(5)
LCLICK(713,530)  // 14129408

MOVE(906,527)


  
// Ждем по¤влени¤ цвета 11040330 по координате 898, 527 не более 30 сек
$time2 = $_time_t + 30 // 30 сек
GETSCREEN
WHILE((PXL (898, 527) ! 11040330) & ($time2 > $_time_t))
   WAITMS (100)
   GETSCREEN  
END_CYC   
  
LCLICK(901,532)  // 11040330

goto(2)


// В Этот моменте должно считывать сразу два цвета, если он из них будет найден, то сработает функция и переместит маркер ( 1 , или 2 )

// Ждем по¤влени¤ цвета 204 по координате 897,527 не более 30 сек
$time1 = $_time_t + 30 // 30 сек
GETSCREEN
WHILE((PXL (897,527) ! 204) & ($time1 > $_time_t))
   WAITMS (100)
   GETSCREEN  
END_CYC   
  
LCLICK(901,532)  // 11040330

$erors = $erors + 1

   
print("ОШИБОК НАЙДЕНО: ", $erors)

LCLICK(1235,545)  // 9079434

WAIT(3)

goto(1)


2:

WAIT(5)

LCLICK(961,595)  // 16777215


$var = 3
IF($var = 3)
  // Если верно
  
// Ждем по¤влени¤ цвета 255 по координате 74,88 не более 520 сек
$time3 = $_time_t + 520 // 520 сек
GETSCREEN
WHILE((PXL (74, 88) ! 255) & ($time3 > $_time_t))
   WAITMS (100)
   GETSCREEN  
END_CYC   
  

KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#W)
KEYUP (#CTRL)

$zadani = $zadani + 1

   
print("ЗАДАНИЙ ВЫПОЛНЕНО: ", $zadani)

$money = $money + 0.016

   
print("Примерно заработано ", $money)
//goto(1)
   
ELSE

  // Если не верно
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#W)
KEYUP (#CTRL)
WAIT(5) //ждет 5 секунд 
LCLICK(1235,543) // кликает в указанную область 
KEYPRESS(#F5)
END_IF





Если поможете, то буду очень Вам признателен, ибо у меня уже 5 день мозги взрываются.
Сам 2 года назад писал сервер по pawn, но тут немного другое. 
Я привык, что есть тело кода и оно должно работать, если не работает, то происходит определенная функция.
Пробовал писать вот так (но безрезультатно):

// Ждем по¤влени¤ цвета 11040330 по координате 898, 527 не более 30 сек
$time2 = $_time_t + 30 // 30 сек
GETSCREEN
WHILE((PXL (898, 527) ! 11040330) & ($time2 > $_time_t))
   WAITMS (100)
   GETSCREEN  
END_CYC   
  
LCLICK(901,532)  // 11040330

goto(2)



ELSE



// В Этот моменте должно считывать сразу два цвета, если он из них будет найден, то сработает функция и переместит маркер ( 1 , или 2 )

// Ждем по¤влени¤ цвета 204 по координате 897,527 не более 30 сек
$time1 = $_time_t + 30 // 30 сек
GETSCREEN
WHILE((PXL (897,527) ! 204) & ($time1 > $_time_t))
   WAITMS (100)
   GETSCREEN  
END_CYC   
  
LCLICK(901,532)  // 11040330

$erors = $erors + 1

   
print("ОШИБОК НАЙДЕНО: ", $erors)

LCLICK(1235,545)  // 9079434

WAIT(3)

goto(1)

 

 

Отредактировано пользователем Jawn

Поделиться сообщением


Ссылка на сообщение

1 ответ на этот вопрос

  • 0

уже сам решил..


Решение:

 

thread(t1)


  

GETSCREEN
WHILE(PXL (898, 527) ! 11040330) 
   WAITMS (100)
   GETSCREEN  
END_CYC   
  
LCLICK(901,532)  // 11040330

goto(2)

end_thread

thread(t2)


GETSCREEN
WHILE(PXL (897,527) ! 204)
   WAITMS (100)
   GETSCREEN  
END_CYC   
  
LCLICK(901,532)  // 11040330



$erors = $erors + 1

   
print("ОШИБОК НАЙДЕНО: ", $erors)

LCLICK(1235,545)  // 9079434

WAIT(3)

goto(1)

end_thread

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • dragytop
      От dragytop
      Здравствуйте, тут система у меня есть дрифта она почему-то работает только если на лево дрифтить на право как будто даже системы нету
       
      Вот сама система:
      public OnPlayerUpdate(playerid) // ниже if (!IsPlayerInAnyVehicle(playerid)) return 1; new vehicleid = GetPlayerVehicleID(playerid); new Float:vx, Float:vy, Float:vz, Float:speed, Float:angle, Float:movementAngle, Float:driftAngle; if (GetTickCount() - lastUpdateTime[playerid] < 1000) return 1; lastUpdateTime[playerid] = GetTickCount(); GetVehicleVelocity(vehicleid, vx, vy, vz); speed = floatsqroot(vx * vx + vy * vy) * 180.0; GetVehicleZAngle(vehicleid, angle); movementAngle = atan2(vy, vx); driftAngle = floatabs(angle - movementAngle); if (driftAngle > 180.0) driftAngle = 360.0 - driftAngle; if (speed > 30.0 && driftAngle > 25.0 && driftAngle < 85.0) { new driftPoints = random(101) + 50; DriftScore[playerid] += driftPoints; new text[64]; format(text, sizeof(text), "~w~DRIFT: ~g~%d", DriftScore[playerid]); GameTextForPlayer(playerid, text, 3000, 3); KillTimer(DriftTimer[playerid]); DriftTimer[playerid] = SetTimerEx("EndDrift", 3000, false, "d", playerid); } else { if (DriftScore[playerid] > 0 && DriftTimer[playerid] == 0) { DriftTimer[playerid] = SetTimerEx("EndDrift", 3000, false, "d", playerid); } } return 1; } new DriftScore[MAX_PLAYERS]; // DRIFT SYSTEM //"дрифт очки (ИВ)" new DriftTimer[MAX_PLAYERS]; // DRIFT SYSTEM //"время дрифта" new lastUpdateTime[MAX_PLAYERS]; // DRIFT SYSTEM //"обновление дрифта" forward EndDrift(playerid); public EndDrift(playerid) { if (DriftScore[playerid] > 0) { new money = DriftScore[playerid]; PI[playerid][pCash] += money; GameTextForPlayer(playerid, "", 500, 3); new text[64]; format(text, sizeof(text), "~w~MONEY: ~g~+%d$", money); GameTextForPlayer(playerid, text, 2000, 3); DriftScore[playerid] = 0; DriftTimer[playerid] = 0; } } Буду благодарен!