Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Darkorbit Pomoc


Rekomendowane odpowiedzi

Opublikowano

Jak wiecie jest taka gierka DarkOrbit i robie bota do niej ale mam 1 problem a to taki:

Nie moge znaleźć komendy (a dużo szukałem) żeby wybierało serwer

Tam serwerów jest dużo i każdy ma obrazek z napisem "graj"

Te obrazki nie mają "name" tylko np.

<div id="ini_1" ...

A więc jak zrobić tak żeby klikało graj na dany serwer

Jakby co każdy serwer ma tak

Serwer 1 id = "ini_1"

Serwer 2 id = "ini_2"

itd.

Opublikowano

_FFClick("ini_" & $serverID, "id")

$ServerID to numerek servera (wybierasz w Combo, albo wpisujesz do Inputa ;)

 

Skoro zczytuje zmienną z inputa, albo combobox'a to chyba powinno być GUICtrlRead ;)

_FFClick("ini_" & GUICtrlRead($serverID), "id")

Opublikowano

OK Thx plus dla hfaua

 

 

@edit

Mam problem nie działa mi bot:

 

 

#include <ButtonConstants.au3>

#include <EditConstants.au3>

#include <GUIConstantsEx.au3>

#include <StaticConstants.au3>

#include <WindowsConstants.au3>

#include <FF.au3>

#Region ### START Koda GUI section ### Form=

$Form1 = GUICreate("Bot", 489, 173, 192, 124)

$Label1 = GUICtrlCreateLabel("Login:", 15, 25, 33, 17)

$int_login = GUICtrlCreateInput("", 52, 25, 121, 18)

$Label2 = GUICtrlCreateLabel("Hasło:", 15, 57, 36, 17)

$int_haslo = GUICtrlCreateInput("", 54, 54, 121, 17)

$Button1 = GUICtrlCreateButton("Start", 60, 102, 133, 40, $WS_GROUP)

$int_ladownosc = GUICtrlCreateInput("", 330, 24, 109, 21)

$Label3 = GUICtrlCreateLabel("Ładownosc statku:", 228, 27, 95, 17)

GUISetState(@SW_SHOW)

#EndRegion ### END Koda GUI section ###

 

While 1

$nMsg = GUIGetMsg()

Switch $nMsg

Case $GUI_EVENT_CLOSE

Exit

 

Case $Button1

start()

EndSwitch

WEnd

Func start()

$login = GUICtrlRead($int_login)

$haslo = GUICtrlRead($int_haslo)

$ladownosc = GUICtrlRead($int_ladownosc)

_FFStart("http://darkorbit.pl")

$obiekt_login = _FFObjGet("loginForm_default_username", "name")

$obiekt_haslo = _FFObjGet("loginForm_default_password", "name")

 

_FFObj($obiekt_login, "value", $login)

_FFObj($obiekt_haslo, "value", $haslo)

_FFFormSubmit()

EndFunc

 

 

Mam Mozilla Firefox 4.0 z dodatkami:

Firebug 1.7.1b1

MozRepl 1.1beta2

Web Developer 1.1.9

 

i taki błąd( w konsoli)

z włącznym Firefox'em

 

 

__FFStartProcess ==> General Error: Error reading registry entry for FireFox.

HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\*CurrentVersion*\Main\PathToExe

Error from RegRead: 1

_FFConnect: OS: WIN_7 WIN32_NT 7600

_FFConnect: AutoIt: 3.3.6.1

_FFConnect: FF.au3: 0.6.0.1b-3

_FFConnect: IP: 127.0.0.1

_FFConnect: Port: 4242

_FFConnect: Delay: 2ms

_FFConnect: Socket: 636

_FFConnect: Browser: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0

__FFSendJavaScripts: Sending functions to FireFox .......... done

_FFLoadWait: . loaded in 10ms

__FFSend: try{window.content.top.document.getElementsByName('loginForm_default_username')[0]?1:0;}catch(e){'_FFCmd_Err';};

__FFRecv: 0

__FFSend: try{window.content.top.document.getElementsByName('loginForm_default_password')[0]?1:0;}catch(e){'_FFCmd_Err';};

_FFObjGet ==> No match: $sElement not found: loginForm_default_username

__FFRecv: 0

__FFSend: try{FFau3..hasAttribute('value')}catch(e){'_FFCmd_Err';};

_FFObjGet ==> No match: $sElement not found: loginForm_default_password

__FFRecv: _FFCmd_Err

__FFSend: try{FFau3..value='**'}catch(e){'_FFCmd_Err';};

__FFSend: ;

 

__FFWaitForRepl ==> MozRepl Exception

__FFRecv:

__FFSend: try{FFau3..hasAttribute('value')}catch(e){'_FFCmd_Err';};

__FFRecv: _FFCmd_Err

__FFSend: try{FFau3..value='**'}catch(e){'_FFCmd_Err';};

__FFSend: ;

 

__FFWaitForRepl ==> MozRepl Exception

__FFRecv:

__FFSend: try{window.content.top.document.forms[0].elements.length;}catch(e){'_FFCmd_Err';};

__FFRecv: 11

__FFSend: try{window.content.top.document.forms[0].submit();}catch(e){'_FFCmd_Err';};

__FFRecv:

_FFLoadWait: .... loaded in 852ms

+>15:32:03 AutoIT3.exe ended.rc:0

>Exit code: 0 Time: 22.875

 

 

 

A bez

 

__FFStartProcess ==> General Error: Error reading registry entry for FireFox.

HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\*CurrentVersion*\Main\PathToExe

Error from RegRead: 1

__FFSend ==> Socket Error

_FFCmd ==> Error return value

_FFObjGet ==> No match: $sElement not found: loginForm_default_username

__FFSend ==> Socket Error

_FFCmd ==> Error return value

_FFObjGet ==> No match: $sElement not found: loginForm_default_password

__FFSend ==> Socket Error

_FFCmd ==> Error return value

__FFSend ==> Socket Error

_FFCmd ==> Error return value

__FFSend ==> Socket Error

_FFCmd ==> Error return value

_FFObj ==> No match: $sObject not found: FFau3..value='**'

__FFSend ==> Socket Error

_FFCmd ==> Error return value

__FFSend ==> Socket Error

_FFCmd ==> Error return value

__FFSend ==> Socket Error

_FFCmd ==> Error return value

_FFObj ==> No match: $sObject not found: FFau3..value='**'

__FFSend ==> Socket Error

_FFCmd ==> Error return value

__FFSend ==> Socket Error

_FFCmd ==> Error return value

+>15:30:34 AutoIT3.exe ended.rc:0

>Exit code: 0 Time: 23.343

 

Tam gdzie ** to tam jest hasło lub login

Opublikowano

Po chuja takie cudy?

Start na DO, wpisanie i zatwierdzenie przyciskiem.

 

_FFStart("www.darkorbit.pl")

_FFLoadWait()
_FFSetValue("login","loginForm_default_username", "name")
Sleep(100)
_FFSetValue("haslo","loginForm_default_password","name")
sleep(100)
_FFClick("loginForm_default_login_submit","name")
_FFLoadWait()
Exit

za duża sygnatura

Opublikowano

Jak ty chcesz oddziaływać na Firefoxa z wyłaczonym firefoxem? --_--

 

Nie wiem jak dokładnie wyglądają funkcje FFObjGet, FFObj, ale poprawny kod javascriptu na uzupełnienie pola loginu poniżej:

 

document.getElementsByName('loginForm_default_username')[0].value = 'fdsafdsafdsa';

 

Ze względu na miejsce zagnieżdżenia MozRepl, być może będziesz musisał dodać "window.content.top." na samym początku.

 

Całe wyrażenie javascript umieszczasz w funkcji _FFCmd()

Ta sygnatura jest pusta.

Opublikowano

Witam

 

Też jestem zainteresowany kwestią bota do "darkorbit"

Nie wiem czy dobrze robię ale pisze go pod IE ponieważ dodałem do mojego GUI "Shell.Explorer.2"

 

kwestie logowania mam tak zrobioną (działa)

 

_IENavigate($oIE, "http://pl3.darkorbit.bigpoint.com")

$login = GUICtrlRead($Login_inp)

$haslo = GUICtrlRead($Haslo_inp)

$oForm = _IEFormGetCollection ($oIE, 0)

$oUser = _IEFormElementGetObjByName ($oForm, "loginForm_default_username")

$oPass = _IEFormElementGetObjByName ($oForm, "loginForm_default_password")

_IEFormElementSetValue ($oUser, $login)

_IEFormElementSetValue ($oPass, $haslo)

_IEFormSubmit($oForm, (1))

_IELoadWait($oIE)

 

 

natomiast serwer (działa)

 

$oSubmit = _IEGetObjByName ($oIE, "ini_1")

_IEAction ($oSubmit, "click")

 

może się Komuś przyda

 

natomiast nie mam pojęcia jak naciskać "przyciski" po wejściu do gry (nie chodzi mi o rozwiązania typu "Mouseclik" "pikselsearch" "imagesearch"). Liczę na kontynuację tematu (może się czegoś nauczę więcej)

Opublikowano

W Firefoxie służy do tego funkcja dispatchEvent.

 

Wydaje mi się, że nie istnieje InternetExplorerowy odpowiednik. Można pogrzebać lub użyć ControlClick().

Ta sygnatura jest pusta.

Opublikowano

szukałem sporo i nie trafiłem na rozwiązanie mojego problemu

mianowicie mam taki obiekt http://pl3.darkorbit.bigpoint.com//swf_global/header.swf?

inne obiekty w grze są na podobnej zasadzie zrobione

1 czy możliwe jest aby w autoit napisać komende która by klikała w poszczególne okienka

2 jeśli możliwe to gdzie szukać informacji na ten temat

3 czy istnieją inne dodatki takie jak "firebug" którymi by można zbadać element?

 

szukam info już dobre 2 tygodnie :/

Opublikowano

To jest animacja flash, wyświetlana i uruchamiana w środowisku Adobe Flash.

 

Nie jesteś w stanie oddziaływać na żadne jej elementy (tylko na całą jako taką -> zawrata jest najczęściej w tagu <OBJECT>, ale to ci do niczego nie przydatne).

 

Możesz rozbić sobie takiego flesha za pomocą swf decompiler i zobaczyć do jakich linków referuje ActionScritpt (korzystając z jakiejś swojej formy XmlRequest'a oddziaływuje na bazę danych czy grę na bieżąco).

 

Do klikania na elementy flash'a może służyć - jak już pisałem - ControlClick albo dispatchEvent().

 

"Niżej-poziomowym" i w efekcie lepszym byłoby rozwiązanie wysyłania Request'ów samemu.

Ta sygnatura jest pusta.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...