0.3.7 (ohne R)
Ich habe halt einfach das Gefühl als wird der Include gar nicht erst geladen denn selbst SendChat alleine greift nicht
0.3.7 (ohne R)
Ich habe halt einfach das Gefühl als wird der Include gar nicht erst geladen denn selbst SendChat alleine greift nicht
Hallo,
CodeAlles anzeigen~M:: if(IsInChat()) return SendChat("/members") Return ~!O:: if(IsInChat()) Return SendChat("/crewmembers") Return
Verwende doch auch die API Funktionen. SendInput ist in dem Fall Müll. Der Code von mir wird ausgeführt wenn man nicht im Chat ist. Wenn man im Chat ist wird geblockt und kein Befehl ausgeführt.
Keine Reaktion bei deiner Variante.
Da ich mittlerweile sehr Verzweifle und ich glaube das, das Problem auch irgendwo anders im Script seien könnte, Poste ich nun damit man mir evtl. helfen kann mein Keybinder und die API als Code rein. Der Lösungsansatz von BreadScript bewirkt leider bei mir nur, dass der Hotkey nichts mehr Auslöst.
global sampcac_mode := false
global sampdll_base_address := 0
WinGetTitle, gta_title, ahk_exe gta_sa.exe
global gta_title
WinGet, gta_process, ProcessName, %gta_title%
WinGet, gta_path, ProcessPath, %gta_title%
WinGet, gta_pid, PID, %gta_title%
gta_folder := StrReplace(gta_path, gta_process, "", "Off")
Loop, Files, %gta_folder%*, F
{
if (RegExMatch(A_LoopFileName, "sampcac") && A_LoopFileExt == "asi") {
msgbox, 0x40044, Loader, sampcac found!`nDo you want to start with sampcac mode?
IfMsgBox Yes
init_sampcac()
}
}
init_sampcac() {
global
sampcac_mode := true
Run *RunAs %A_ScriptDir%\dll\sampcac-loader.exe
Sleep, 2000
FileReadLine, sampdll_base_address, %gta_folder%\samp.dat, 1
}
#SingleInstance, force
#Persistent
#NoEnv
#Include SAMP-API.ahk
#If WinActive(gta_title) && isInChat() && !isDialogOpen()
:?:/gfs::
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
Sleep, 2
Sendinput t/gangfight{enter}
return
F1::
sendinput t/motor{enter}
Sleep, 2
sendinput t/licht{enter}
Sleep, 2
sendinput t/lock{enter}
return
F2::
Sendinput t/usedrugs{enter}
return
F3::
Sendinput t/erstehilfe{enter}
return
global currentFish = 1
F4::
currentFish += 1
if currentFish > 5
currentFish = 1
Sendinput t/eat %currentFish%{enter}
return
:?:/p::
Sleep, 5
Sendinput /pickup{enter}
Sleep, 5
Sendinput tGuten Tag, wie kann ich dir helfen?{enter}
return
:?:/fill::
Sleep, 5
Sendinput /motor{enter}
Sleep, 5
Sendinput t/fill{enter}
return
:?:/h::
Sleep, 5
Sendinput Ich wünsche noch einen angenehmen Tag{!}{enter}
Sleep, 5
Sendinput t/hangup{enter}
return
:?:/afish::
Sleep, 5
Sendinput /fish{enter}
Sleep, 5
Sendinput t/fish{enter}
Sleep, 5
Sendinput t/fish{enter}
Sleep, 5
Sendinput t/fish{enter}
Sleep, 5
Sendinput t/fish{enter}
return
:?:/acook::
Sleep, 5
Sendinput /campfire{enter}
Sleep, 5
Sendinput t/cook fish 1{enter}
Sleep, 5
Sendinput t/cook fish 2{enter}
Sleep, 5
Sendinput t/cook fish 3{enter}
Sleep, 5
Sendinput t/cook fish 4{enter}
Sleep, 5
Sendinput t/cook fish 5{enter}
return
:?:/ausr::
Sendinput /heal{enter}
Sleep, 5
Sendinput t/ausruesten Deagle{enter}
Sleep, 5
Sendinput t/ausruesten AK47{enter}
Sleep, 5
Sendinput t/ausruesten AK47{enter}
Sleep, 5
Sendinput t/ausruesten Shotgun{enter}
Sleep, 5
Sendinput t/ausruesten Shotgun{enter}
return
:?:/brobls::
Sendinput /bankrob start{enter}
Sendinput t/f Bankrob in LS wurde soeben gestartet{!} Kommt zur Unterstützung.{enter}
Sendinput t/crew Bankrob in LS wurde soeben gestartet{!} Kommt zur Unterstützung.{enter}
return
:?:/brobsf::
Sendinput /bankrob start{enter}
Sendinput t/f Bankrob in SF wurde soeben gestartet{!} Kommt zur Unterstützung.{enter}
Sendinput t/crew Bankrob in SF wurde soeben gestartet{!} Kommt zur Unterstützung.{enter}
return
:?:/broblv::
Sendinput /bankrob start{enter}
Sendinput t/f Bankrob in LV wurde soeben gestartet{!} Kommt zur Unterstützung.{enter}
Sendinput t/crew Bankrob in LV wurde soeben gestartet{!} Kommt zur Unterstützung.{enter}
return
:?:/fbrob::
Sendinput /bankrob deliver{enter}
return
:?:/ab::
Sendinput Guten Tag, leider konnten Sie mich gerade nicht erreichen.{enter}
Sleep, 5
Sendinput tNach dieser Nachricht haben Sie 3 Minuten Zeit eine Nachricht zu hinterlassen.{enter}
Sleep, 5
Sendinput tIch werde mich dann so Schnell wie möglich bei Ihnen zurückmelden.{enter}
Sleep,, 180000
Sendinput tIhre Nachricht wurde Übermittelt. Ich wünsche Ihnen noch einen Angenehmen Tag.{enter}
Sleep, 5
Sendinput t/hangup{enter}
return
~M::
if(IsInChat())
return
SendChat("/members")
Return
~O::
if(IsInChat())
Return
SendChat("/crewmembers")
Return
-::
SendInput t/stats{enter}
return
:?:/fg::
Sendinput /festgeld 1250000{enter}
return
!z::
Sendinput t/zoll{enter}
return
:?:/rs::
Sendinput /robstore{enter}
return
:?:/rk::
Sendinput /robres{enter}
return
:?:/rt::
Sendinput /robtower{enter}
return
:?:/sp::
Sendinput /spray{enter}
return
Alles anzeigen
Alles anzeigenDu fragt IsInChat (wenn ja dann führ das aus) das ist falsch.
Mach es so
CodeAlles anzeigenF4:: if(IsInChat() == 1){ SendInput {%A_ThisHotkey%} # return } currentFish += 1 if currentFish > 5 currentFish = 1 ;Sendinput t/eat %currentFish% {enter} SendChat("/eat " currentFish "") return
//Handy
Also ich glaube ich bin zu Dumm.
Ich habe das jetzt wie folgt umgesetzt:
M::
if(IsInChat() == 1){
Sendinput t/members{enter}
return
}
!O::
if(IsInChat() == 1){
Sendinput t/crewmembers{enter}
return
}
Alles anzeigen
Jetzt funktionieren die Keybindes aber Generell nicht. Ob Chat offen oder Geschlossen. Wo ist der Fehler :o
Alles anzeigenAls erstes würde ich dir dazu Raten die entsprechende API zu verwenden. Diese findest du ganz schnell bei Google. Diese includest du dann in dein Script.
Möchtest du dass er aufeinmal alle 5 /eat durchführt oder immer nur einen ?
Zusätzlich hat meine Erfahrung gezeigt das weniger Fehler auftreten wenn man mit Klammern arbeitet. Warum das bei AHK so ist keine Ahnung.
Wenn du soweit bist dass du die include drin hast kannst du auch
If(isInChat())
Return
Abfragen. Ohne API kein Erfolg.
API ist tatsächlich drin Und Fische sind wie oben geschrieben -> schon Fertig gestellt
Hey Hey,
und zwar mache ich gerade einen Keybinder und stoße auf 2 Fragen.
Frage 1:
Ich möchte das der Keybinder über einen Befehl /eat 1-5 (Pro Tastendruck 1x Befehl) sendet und nach 5 wieder bei 1 Anfängt. Wie kann ich dies machen?
//edit Frage 1 gelöst wie folgt:
F4::
currentFish += 1
if currentFish > 5
currentFish = 1
Sendinput t/eat %currentFish%{enter}
return
Frage 2:
Ich nutze SAMP UDF. Und möchte nun das der Keybinder nicht Reagiert wenn der Benutzer des Keybinders im Chat ist. Mein Aktueller Ansatz lautet so.
Allerdings blockiert dies keine Hotkeys.
Ich hab mich schon Dumm gesucht. Auch unter IsInChat hier im Forum konnte ich kein Lösungsansatz finden.
Grüße und Danke für die Hilfe
Frage 1 habe ich gelöst.
Wie folgt: