Oh man... So ne simple lösung...
Vielen Dank, hat funktioniert!!!
1 Close Pls auf Admins Nacken!
Oh man... So ne simple lösung...
Vielen Dank, hat funktioniert!!!
1 Close Pls auf Admins Nacken!
Hiii alles fit?
Wenn ich in C# den SAMP Prozess öffnen will bekomme ich immer die Fehlermeldung "Zugriff Verwehrt"...
Ich gab der OpenProcess() Funktion soviele Rechte wie möglich...
Wie kann ich der Funktion noch mehr Rechte zuweisen?
Wie könnte ich dieses Problem lösen, hat jemand ne Idee?
Gruß
Globale Variablen sind immer mit vorsicht zu geniessen...
Da sie sich in einzelnen Funktionen/Anweisungen schnell überschreiben und es somit zu fehern kommt
Ich hab derzeit andere GUI Teile wobei ich auch gerne bleiben möchte.
What?^^
hast du da vielleicht ne Lösung die darauf direkt passt ?
Kannste mal präziser ausdrücken was du möchtest, bitte?
if(isint("243424333")) ; Integer, eine reine Zahlenfolge
if(isint("24342433dsa3"));Kein Integer da (dsa) enthalten im String
if(isint("1.0")) ;Float = Kein Integer da ein Punkt ehntalten
usw...
Mit dieser isInt Funktion kannste das doch machen, Wenn sie 0 ausgibt, ist es ein String, also eine Zeichenfolge...
Gibt die Funktion 1 zurück ist es ein Integer, da jede Zelle des Strings sich zwischen 0 & 9 befindet... Also eine reine Zahlenfolge!
If winner >= 0 evtl ma probieren...
Wobei ich keinen Fehler sehe in if winner is integer ausser das evtl integer CaseSensitive betrachtet wird evtl mal groß schreiben INTEGER
Oder
Pseudocode:
Isint(str)
{
For _i, sign in strsplit(str)*
!(sign>=0 && sign<=9)? (Return 0):(Continue)
Return 1
}
sollte so Funktionieren die Funktion...
isint(winner)
Handy...
Bin in ca 1 std zuhause, fals dann noch hilfe benötigt wird...
edit// Melde mich später, hast mehrere fehler drinnen
Hi
Leider kann ich mit dem Fehler nix anfangen
Kannste mir mal den Code zukommen lassen, oder zumindest einen teil worin der Fehler auftritt?...
Wie kann man am einfachsten die Gradzahl oder Radiant herrausfinden, die der Spieler tätigen muss (Links schwenken mit der Kamera) um das Objekt im Sichtfeld zuhaben.
Ka wie das geht
sehr hilfreiche antwort....
Das Problem mit der Doppelanzeige nach dem X konnte ich Lösen. Aber wie lösche ich am besten den KeyWait ?
Hey,
_t := GetKeyStateEx("a","x",3000,"P")
if(_t == -1)
Msgbox("Panic Key Pushed!")
else if(_t == 0)
Msgbox("Timeout!")
else if(_t == 1)
Msgbox("User Input")
return
; ----------------------------------------------------------------------------------------------------------------
; METHOD Free GetKeyStateEx | Creator: Renz |
; ----------------------------------------------------------------------------------------------------------------
; Parameters:
; pKey => User Input Taste | Type: String
; pPanicKey => User Input Taste zum abbruch der Funktion | Type: String
; pTimeout => Zeit bis zum Automatischen abbruch der Funktion in Millisekunden | Type: Integer
; pKeyOpt => Optionen zur erkennung des Tastendrucks (https://autohotkey.com/docs/commands/GetKeyState.htm#function) | Type: String
; ----------------------------------------------------------------------------------------------------------------
; Return values: On success - 1
; On timeout - 0
; On Panickey abort - -1
; ----------------------------------------------------------------------------------------------------------------
GetKeyStateEx(pKey,pPanicKey,pTimeout:=3000,pKeyOpt:="P")
{
_st := A_TickCount
While(!_s := GetKeyState(pKey,pKeyOpt)){
if GetKeyState(pPanicKey,"P")
return -1
if(!_s){
((_wt := A_TickCount-_st) >= pTimeout)?(_b:=True):("")
if _b
return 0
}
}
return 1
}
return
Alles anzeigen
Nutze lieber GetKeyState für dein vorhaben...
Habe dir eine Funktion gemacht womit du einfach den Input abwarten, oder Canceln kannst per Panic Key...
Ne dann mach ich mir die Arbeit net mit dem bums.....
Kann geclosed werden xD
Gruß
Ich würde dir raten ein eigenes Programm zu entwickeln, anstatt an einem Script zuzuarbeiten.
Es wird ein eigenständiges Tool/Programm...
Zitatanstatt an einem Script zuzuarbeiten.
Ich arbeite nicht mehr mit Pawn, da es sich mmn nicht lohnt...
Wollte nur denen, die mit Pawn arbeiten, eine Hilfestellung geben.
ZitatNaja, aber wenn dann muss es auch multilingual sein, da die Deutschen nicht mehr viel am Hut mit SA-MP haben. Insbesondere das Scripting.
Das ist ein anderes Thema^^
Ps.: Mehrsprachig auf der ToDo Sollte ich anfangen damit
Mehr Feedback ist gern gesehen!
Hallo,
Kurze Frage an die SAMP Coder....
Wird ein Tool benötigt was euch das Programmieren erleichtert?
Was zb. auf Tastenkombinationen Funktionen hat wie...
Das wären so ein paar Grundlegende Funktionen, die mir so einfallen gerade, und viel genutzt werden im Umgang mit Pawn...Hättet ihr noch Ideen bzw. lohnt sich so ein Tool?
Natürlich wäre alles Open Source damit niemand Angst um sein Skript haben muss beim FTP Upload, einlesen zum Klammernzählen etc...
Gruß
Renz
Dickes Käsebrötchen vonna Tanke...
2 Mak fufzig kostet der spaß!
Werde es mir nach der Arbeit runterladen...
Dann können wa ma rein schauen
seaniiii, was gehtn ab?
Hallo,
Eben mal evtl. ne komplexere Frage bzgl. AHK, Wie kann ich von +AllwaysOnTop Gui´s die Reihenfolge manipulieren?
Habe es bereits per +Owner,Setparent, Ohne Toplevel etc. versucht aber leider kein Zufriedenstellender Erfolg ...
Habe hier mal ein paar Funktionen der Klasse beigefügt um mein Problem darzustellen, da es "Reproduzierbar" ist ...
Die Klasse basiert auf GDIP + Guis
Include Name: gdip_New.ahk
https://pastebin.com/e1YTc9J7
#Persistent
#SingleInstance force
#include gdip_New.ahk
#NoEnv
global GUICOUNT:=1
global _GUISTRUCT:= Object()
global DEFAULTBUTTONHANDLE := "BTN_Handle"
BTN_POS := {X:25,Y:25,W:55,H:35,Size: 16}
o := new Main.GDICLASS(GDIP_Startup(),DEFAULTBUTTONHANDLE)
Box1 := o.CreateBox(15,15,250,250,0xDD000000,[True,5,0xFFD4FFFF])
Str1 := o.DrawStringEx("HIER KLICKEN","Arial",25,"FFFFFFFFF",30,70,200,30,"Centre vCentre")
BTN1 := o.CreateButton(BTN_POS.X,BTN_POS.Y,BTN_POS.W,BTN_POS.H,"BTN_Solo",0xFF000000,[True,"Solo","Arial",BTN_POS.Size,"Centre vCentre",0xFFD4FFFF])
BTN2 := o.CreateButton((BTN_POS.X:=BTN_POS.X + (BTN_POS.W+3)),BTN_POS.Y,BTN_POS.W,BTN_POS.H,"BTN_Duo",0xFF000000,[True,"Duo","Arial",BTN_POS.Size,"Centre vCentre",0xFFD4FFFF])
BTN3 := o.CreateButton((BTN_POS.X:=BTN_POS.X + (BTN_POS.W+3)),BTN_POS.Y,BTN_POS.W,BTN_POS.H,"BTN_Trio",0xFF000000,[True,"Trio","Arial",BTN_POS.Size,"Centre vCentre",0xFFD4FFFF])
BTN4 := o.CreateButton((BTN_POS.X:=BTN_POS.X + (BTN_POS.W+3)),BTN_POS.Y,BTN_POS.W,BTN_POS.H,"BTN_Squad",0xFF000000,[True,"Squad","Arial",BTN_POS.Size,"Centre vCentre",0xFFD4FFFF])
sleep 3000
Loop 5
{
DllCall("SetParent", ptr, o.GetSTRUCTInfo(Box1,3), ptr, o.GetSTRUCTInfo(BTN1,3))
DllCall("SetParent", ptr, o.GetSTRUCTInfo(Box1,3), ptr, o.GetSTRUCTInfo(BTN2,3))
DllCall("SetParent", ptr, o.GetSTRUCTInfo(Box1,3), ptr, o.GetSTRUCTInfo(BTN3,3))
DllCall("SetParent", ptr, o.GetSTRUCTInfo(Box1,3), ptr, o.GetSTRUCTInfo(BTN4,3))
DllCall("SetParent", ptr, o.GetSTRUCTInfo(Box1,3), ptr, o.GetSTRUCTInfo(Str1,3))
sleep 1000
}
return
class Main
{
static _ERROR := False
,GDITOKEN
class GDICLASS
{
static HWND,HDC,HBM,OBM,GRAPH,PEN,BRUSH,_tmpSTRUCTID
__New(pToken) {
Main._ERROR := False
Main.GDITOKEN := pToken
if(!Main.GDITOKEN){
return this.SetLastError("Error in __New(" Main.GDITOKEN ") -> GDIP StartUp Failed")
}
}
CreateBoxOutline(BoxX,BoxY,BoxW,BoxH,pSize:=5,pColor:=0xFF000000)
{
if(!Main.GDITOKEN)
Main.GDITOKEN := Gdip_Startup()
g_ID := this.HandleGUIID("INC")
Gui %g_ID%: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui %g_ID%: Show, % "w" BoxW " h" BoxH " y" BoxY " x" BoxX ""
this.HWND := WinExist()
this.HDC := CreateCompatibleDC()
this.HBM := CreateDIBSection(BoxW,BoxH, this.HDC ,32)
this.OBM := SelectObject(this.HDC, this.HBM)
this.GRAPH := Gdip_GraphicsFromHDC(this.HDC)
this.PEN := Gdip_CreatePen(pColor,pSize)
Gdip_DrawRectangle(this.GRAPH,this.PEN,0,0,BoxW,BoxH)
if(UpdateLayeredWindow(this.HWND,this.HDC) != 0)
return this.ADDStruct(this.GRAPH,this.HWND,this.HDC ,this.HBM ,this.OBM ,g_ID,-1, this.PEN,BoxX,BoxY,BoxW,BoxH,"TYP_BORDERONLY")
return this.SetLastError("GDIP ERROR: UpdateLayeredWindow() failed to Update the GUI in Func: " A_ThisFunc)
}
CreateBox(BoxX,BoxY,BoxW,BoxH,pColor:=0xAA000000,pBorder:="")
{
if(!Main.GDITOKEN)
Main.GDITOKEN := Gdip_Startup()
g_ID := this.HandleGUIID("INC")
Gui %g_ID%: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui %g_ID%: Show, % "x" BoxX " y" BoxY " w" BoxW " h" BoxH
this.HWND := WinExist()
this.HDC := CreateCompatibleDC()
this.HBM := CreateDIBSection(BoxW,BoxH, this.HDC ,32)
this.OBM := SelectObject(this.HDC, this.HBM)
this.GRAPH := Gdip_GraphicsFromHDC(this.HDC)
this.BRUSH := Gdip_BrushCreateSolid(pColor)
pBorder[1] == True ? this.PEN:=Gdip_CreatePen((pBorder[3] <> "" ? pBorder[3] : 0xFF000000), (pBorder[2] <= 1 || pBorder[2] < 0 ? 2 : pBorder[2])) : ""
Gdip_FillRectangle(this.GRAPH, this.BRUSH,0,0,BoxW,BoxH)
IsObject(pBorder) && pBorder[1] == True ? Gdip_DrawRectangle(this.GRAPH,this.PEN,0,0,BoxW,BoxH) : ""
if(UpdateLayeredWindow(this.HWND,this.HDC) != 0){
bID:=this.ADDStruct(this.GRAPH,this.HWND,this.HDC ,this.HBM ,this.OBM ,g_ID,this.BRUSH, this.PEN,BoxX,BoxY,BoxW,BoxH,"TYP_FILLEDBOX")
return bID
}
return this.SetLastError("GDIP ERROR: UpdateLayeredWindow() failed to Update the GUI in Func: " A_ThisFunc)
}
CreateEditBox(BoxX,BoxY,BoxW,BoxH,pText,pColor:=0xAA000000,pBorderColor:=0xFFFFFFFF)
{
if(!Main.GDITOKEN)
Main.GDITOKEN := Gdip_Startup()
g_ID := this.HandleGUIID("INC")
Gui %g_ID%: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui %g_ID%: Show, % "x" BoxX " y" BoxY " w" BoxW " h" BoxH
this.HWND := WinExist()
this.HDC := CreateCompatibleDC()
this.HBM := CreateDIBSection(BoxW,BoxH, this.HDC ,32)
this.OBM := SelectObject(this.HDC, this.HBM)
this.GRAPH := Gdip_GraphicsFromHDC(this.HDC)
this.BRUSH := Gdip_BrushCreateSolid(pColor)
Gdip_FillRectangle(this.GRAPH, this.BRUSH,0,0,BoxW,BoxH)
if(UpdateLayeredWindow(this.HWND,this.HDC) != 0){
bID:=this.ADDStruct(this.GRAPH,this.HWND,this.HDC ,this.HBM ,this.OBM ,g_ID,this.BRUSH, -1,BoxX,BoxY,BoxW,BoxH,"TYP_FILLEDBOX")
If(IsObject(pBorder) && pBorder[1] == True)
this.CreateBoxOutline(BoxX,BoxY,BoxW,BoxH,pBorder[2],pBorder[3])
return bID
}
return this.SetLastError("GDIP ERROR: UpdateLayeredWindow() failed to Update the GUI in Func: " A_ThisFunc)
}
;############################################################################################################
;BorderArray := [State,Size,Color] on Todo!
;TextArray := [State,Text,Font,Size,Pos,Color] - Done
CreateButton(pX,pY,pW,pH,pButtonName,pColor:=0xAA000000,TextArr:="")
{
Default_Values_Text := [False,"Button",Arial,10,"vCentre",0xAA000000]
if(!TextArr)
{
for _i,_v in Default_Values_Text
{
TextArr[_i] <> "" ? continue : TextArr[_i] := _v
}
this.SetLastError("Handling Error: The Text Array Parameter in the Func: " A_ThisFunc " has been setted to Default.`nParams: PosX, PosY, PosW, PosH, TextArray[State,Text,Font,Size,Pos,Color]")
}
if(!Main.GDITOKEN)
Main.GDITOKEN := Gdip_Startup()
if(!pButtonName)
return this.SetLastError("Handling Error: Insert a Label in Function: " A_ThisFunc "`nParams: PosX, PosY, PosW, PosH, Label (for response), ButtonColor, TextArray(Text,Font,Size,Color),BorderArray(UseBorder, Heigth, Color)")
g_ID := this.HandleGUIID("INC")
Gui %g_ID%: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui %g_ID%: add, button, w%pW% h%pH% hwndhBTN
_F := Func(DEFAULTBUTTONHANDLE).Bind(pButtonName,(TextArr[2] <> "" ? TextArr[2] : "NONE"))
GuiControl +g, % hBTN, % _F
Gui %g_ID%: Show, % "x" pX " y" pY " w" pW " h" pH
this.HWND := WinExist()
this.HDC := CreateCompatibleDC()
this.HBM := CreateDIBSection(pW,pH, this.HDC ,32)
this.OBM := SelectObject(this.HDC, this.HBM)
this.GRAPH := Gdip_GraphicsFromHDC(this.HDC)
this.BRUSH := Gdip_BrushCreateSolid(pColor)
Gdip_FillRectangle(this.GRAPH, this.BRUSH,0,0,pW,pH)
TextArr[1] ? Gdip_TextToGraphics(this.GRAPH, TextArr[2], "c" (instr(TextArr[6],"0x") ? StrReplace(TextArr[6],"0x","") : TextArr[6]) " s" TextArr[4] " " TextArr[5], TextArr[3], pW,pH) :
if(UpdateLayeredWindow(this.HWND,this.HDC) != 0){
return this.ADDStruct(this.GRAPH,this.HWND,this.HDC ,this.HBM ,this.OBM ,g_ID,this.BRUSH, -1,pX,pY,pW,pH,"TYP_BUTTON")
}
return this.SetLastError("GDIP ERROR: UpdateLayeredWindow() failed to Update the GUI in Func: " A_ThisFunc "`nParams(" ("x" pX " y" pY " w" pW " h" pH " g" pLabel " c" pColor) ")")
}
;############################################################################################################
DrawStringEx(pText,pFont,pSize,pColor,pX,pY,pW,pH,pPos:="vCenter")
{
if(!Main.GDITOKEN)
Main.GDITOKEN := Gdip_Startup()
g_ID := this.HandleGUIID("INC")
Gui %g_ID%: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui %g_ID%: Show, % "x" pX " y" pY " w" pW " h" pH
this.HWND := WinExist()
this.HDC := CreateCompatibleDC()
this.HBM := CreateDIBSection(pW,pH, this.HDC ,32)
this.OBM := SelectObject(this.HDC, this.HBM)
this.GRAPH := Gdip_GraphicsFromHDC(this.HDC)
RC := Gdip_TextToGraphics(this.GRAPH, pText, "c" pColor " s" pSize " " pPos, pFont, pW,pH)
if(UpdateLayeredWindow(this.HWND,this.HDC) != 0){
return this.ADDStruct(this.GRAPH,this.HWND,this.HDC ,this.HBM ,this.OBM ,g_ID,-1, -1,pX,pY,pW,pH,pSize,pColor,pFont,pPos,"TYP_STRINGEX")
}
return this.SetLastError("GDIP ERROR: UpdateLayeredWindow() failed to Update the GUI in Func: " A_ThisFunc)
}
ADDStruct(pGraph=-1,phwnd=-1,pHDC=-1,pHBM=-1,pOBM=-1,pgID=-1,pBrush=-1,pPen=-1,_X=-1,_Y=-1,_W=-1,_H=-1,pSize=-1,pColor=-1,pFont=-1,pPos=-1,_Typ=-1)
{
this._tmpSTRUCTID := -1
if(_GUISTRUCT.MaxIndex() == ""){
_GUISTRUCT.Push([ 1 , pGraph , phwnd , pHDC , pHBM , pOBM , pBrush , pPen , pgID, _X , _Y , _W , _H , pSize , pColor , pFont , pPos , _Typ])
this._tmpSTRUCTID:= 1
return this._tmpSTRUCTID
}
Loop
{
if(_GUISTRUCT[ A_Index ][1] == "" || _GUISTRUCT[ A_Index ][1] == -1){
_GUISTRUCT.Push([ A_Index , pGraph , phwnd , pHDC , pHBM , pOBM , pBrush , pPen , pgID, _X , _Y , _W , _H , pSize , pColor , pFont , pPos , _Typ])
if(_GUISTRUCT[ A_Index ][1] != -1)
return this._tmpSTRUCTID:=A_Index
break
}
if(A_Index >= 1000)
break
}
if(this._tmpSTRUCTID != -1){
return this._tmpSTRUCTID
}else
return this.SetLastError("Fehler: Keine Freie Strukturen ID gefunden | MaxSize(" _GUISTRUCT.MaxIndex() ")")
}
RemoveID(pID)
{
While(A_Index <= _GUISTRUCT.MaxIndex())
{
if(_GUISTRUCT[ A_Index ][1] == pID)
{
if(_GUISTRUCT[ A_Index ][7] != -1)
Gdip_DeleteBrush(_GUISTRUCT[ A_Index ][7])
if(_GUISTRUCT[ A_Index ][8] != -1)
Gdip_DeletePen(_GUISTRUCT[ A_Index ][8])
SelectObject(_GUISTRUCT[ A_Index ][4], _GUISTRUCT[ A_Index ][6])
DeleteObject(_GUISTRUCT[ A_Index ][5])
DeleteDC(_GUISTRUCT[ A_Index ][4])
Gdip_DeleteGraphics(_GUISTRUCT[ A_Index ][2])
g_ID := _GUISTRUCT[ A_Index ][9]
Gui, %g_ID%: Destroy
this.HandleGUIID("DEC")
Main._ERROR := False
Loop % _GUISTRUCT[ A_Index ].MaxIndex()
_GUISTRUCT[ pID ][ A_Index ] := -1
break
}
}
return
}
GetSTRUCTInfo(pID,pValue)
{
if(pID<=_GUISTRUCT.MaxIndex()){
return _GUISTRUCT[ pID ][pValue]
}
}
GetLastError(){
if(Main._ERROR != False){
Msgbox % Main._ERROR
this.SetLastError(False)
}
return
}
SetLastError(ERRORMSG){
Main._ERROR := ERRORMSG
return
}
HandleGUIID(Typ:="INC",pVal:=0)
{
if(Typ == "INC"){
return GUICOUNT++
}else if(Typ == "DEC"){
return GUICOUNT--
}else if(Typ == "GET"){
return GUICOUNT
}else if(Typ == "SET"){
return GUICOUNT:= pVal
}
return this.SetLastError("Handling ERROR: Wrong Param setted to Func: " A_ThisFunc)
}
}
}
return
BTN_Handle(ButtonName,ButtonText)
{
Msgbox % "ButtonName: " ButtonName "`nButtonText: " ButtonText
}
return
Alles anzeigen
Habe versucht per SetParent die Reihenfolge zu beeinflussen, aber leider funktioniert das nicht so ganz, eher schlecht als recht...
Hat jemand evtl einen Vorschlag/Idee?
DllCall("SetParent", ptr, HWNDPARENT, ptr, HWNDCHILD)
BTN_POS := {X:25,Y:25,W:55,H:35,Size: 16}
o := new Main.GDICLASS(GDIP_Startup(),DEFAULTBUTTONHANDLE)
Box1 := o.CreateBox(15,15,250,250,0xDD000000,[True,5,0xFFD4FFFF])
Str1 := o.DrawStringEx("HIER KLICKEN","Arial",25,"FFFFFFFFF",30,70,200,30,"Centre vCentre")
BTN1 := o.CreateButton(BTN_POS.X,BTN_POS.Y,BTN_POS.W,BTN_POS.H,"BTN_Solo",0xFF000000,[True,"Solo","Arial",BTN_POS.Size,"Centre vCentre",0xFFD4FFFF])
BTN2 := o.CreateButton((BTN_POS.X:=BTN_POS.X + (BTN_POS.W+3)),BTN_POS.Y,BTN_POS.W,BTN_POS.H,"BTN_Duo",0xFF000000,[True,"Duo","Arial",BTN_POS.Size,"Centre vCentre",0xFFD4FFFF])
BTN3 := o.CreateButton((BTN_POS.X:=BTN_POS.X + (BTN_POS.W+3)),BTN_POS.Y,BTN_POS.W,BTN_POS.H,"BTN_Trio",0xFF000000,[True,"Trio","Arial",BTN_POS.Size,"Centre vCentre",0xFFD4FFFF])
BTN4 := o.CreateButton((BTN_POS.X:=BTN_POS.X + (BTN_POS.W+3)),BTN_POS.Y,BTN_POS.W,BTN_POS.H,"BTN_Squad",0xFF000000,[True,"Squad","Arial",BTN_POS.Size,"Centre vCentre",0xFFD4FFFF])
sleep 3000
DllCall("SetParent", ptr, o.GetSTRUCTInfo(Box1,3), ptr, o.GetSTRUCTInfo(BTN1,3))
DllCall("SetParent", ptr, o.GetSTRUCTInfo(Box1,3), ptr, o.GetSTRUCTInfo(BTN2,3))
DllCall("SetParent", ptr, o.GetSTRUCTInfo(Box1,3), ptr, o.GetSTRUCTInfo(BTN3,3))
DllCall("SetParent", ptr, o.GetSTRUCTInfo(Box1,3), ptr, o.GetSTRUCTInfo(BTN4,3))
DllCall("SetParent", ptr, o.GetSTRUCTInfo(Box1,3), ptr, o.GetSTRUCTInfo(Str1,3))
Alles anzeigen
Das Thema ist bereits für mich abgehakt, da die V2 hiervon auf einer Bitmap basiert, aber dennoch würde es mich brennend interessieren, ob und vorallem wie man die Gui Reihenfolge kontrollieren kann...
Gruß
Es ist nicht verboten?
Das vllt. nicht aber schon ne arme Sache...
Und es ist erst recht kein Cheat
Es ist ein Externes Programm das dir einen Vorteil InGame verschafft, definiere Cheat dann bitte
Gibt viele Leute, die so etwas auf RPG nutzen
Nicht nur AFK-Bots
Niemals!
Musste wohl Coden lernen um sowas zuschreiben, vorallem weil das "wie" ein Cheat ist, wird dir da denk ich mal niemand helfen...
Hey, ich habe lange zeit Beats und Tracks Produziert für mich und diverse andere aus meiner Stadt.
Die Interesse besteht weiterhin, aber ich mache nicht mehr soviel, wegen meinem Job etc...