Finde es sehr gut gelungen! Ich persönlich stehe auf "Schlicht", von daher, genau mein ding!
Beiträge von ZeroTheHero
-
-
fdtor[0] = SetObjectMaterial(CreateObject(2957, -257.95999, 1210.00000, 20.37000, 0.00000, 0.00000, 0.00000), 0, 11008, "firehouse_sfse", "ws_rollerdoor_fire", 0xFFFFFFFF);
fdtor[1] = SetObjectMaterial(CreateObject(2957, -251.85001, 1210.00000, 20.37000, 0.00000, 0.00000, 0.00000), 0, 11008, "firehouse_sfse", "ws_rollerdoor_fire", 0xFFFFFFFF);
fdtor[2] = SetObjectMaterial(CreateObject(2957, -245.74001, 1210.00000, 20.37000, 0.00000, 0.00000, 0.00000), 0, 11008, "firehouse_sfse", "ws_rollerdoor_fire", 0xFFFFFFFF);zu
fdtor[0] = CreateObject(2957, -257.95999, 1210.00000, 20.37000, 0.00000, 0.00000, 0.00000);
fdtor[1] = CreateObject(2957, -251.85001, 1210.00000, 20.37000, 0.00000, 0.00000, 0.00000);
fdtor[2] = CreateObject(2957, -245.74001, 1210.00000, 20.37000, 0.00000, 0.00000, 0.00000);
SetObjectMaterial(fdtor[0], 0, 11008, "firehouse_sfse", "ws_rollerdoor_fire", 0xFFFFFFFF);
SetObjectMaterial(fdtor[1], 0, 11008, "firehouse_sfse", "ws_rollerdoor_fire", 0xFFFFFFFF);
SetObjectMaterial(fdtor[2], 0, 11008, "firehouse_sfse", "ws_rollerdoor_fire", 0xFFFFFFFF); -
Du musst die Größe das anklickbaren Bereiches mit TextDrawTextSize anpassen. https://wiki.sa-mp.com/wiki/TextDrawTextSize Der X Wert ist die Position PLUS die Größe des nach rechts anklickbaren Bereiches. Der Y Wert ist die geschätzte Höhe.
Angenommen du erstellst dein Textdraw bei X = 120 und Y = 90. Dann machst du den Text "Hallo Welt" da rein. Sagen wir, der Text ist so groß, dass er in etwa über ein Zehntel deines Bildschirmes geht (musst du abschätzen, oder mit einem Lineal abmessen), dann heißt das 640 durch 10, das wäre 64. Somit ist TextDrawTextSize-X = 120 + 64 = 184.
Nun misst, bzw. schätzt, du die Höhe des Textdraws, sagen wir mal du bekommst den Text in etwa 20 mal untereinander hin, bis dein Bildschirm von oben nach unten voll damit wäre. Heißt also: 480 durch 20, das gibt 24. Somit wäre TextDrawTextSize-Y = 24.Ich verstehe leider nicht ganz was damit gemeint ist, bzw. wie das zu nutzen ist.
Habe folgendes geändert: Zu PlayerTextDraw umgeschrieben. Habe Positionen der Pfeile geändert.
stock CreateSkinSelectTD(playerid)
{
CancelSelectTextDraw(playerid);
SkinSelect[playerid] = CreatePlayerTextDraw(playerid,274.000000, 377.000000, "Auswaehlen");
PlayerTextDrawBackgroundColor(playerid,SkinSelect[playerid], 255);
PlayerTextDrawFont(playerid,SkinSelect[playerid], 2);
PlayerTextDrawLetterSize(playerid,SkinSelect[playerid], 0.300000, 2.000000);
PlayerTextDrawColor(playerid,SkinSelect[playerid], -1);
PlayerTextDrawSetOutline(playerid,SkinSelect[playerid], 0);
PlayerTextDrawSetProportional(playerid,SkinSelect[playerid], 1);
PlayerTextDrawSetShadow(playerid,SkinSelect[playerid], 1);
PlayerTextDrawSetSelectable(playerid,SkinSelect[playerid], 1);
ArrowSkin1[playerid] = CreatePlayerTextDraw(playerid,76.000000, 176.000000, "~<~");
PlayerTextDrawBackgroundColor(playerid,ArrowSkin1[playerid], 255);
PlayerTextDrawFont(playerid,ArrowSkin1[playerid], 1);
PlayerTextDrawLetterSize(playerid,ArrowSkin1[playerid], 1.000000, 3.000000);
PlayerTextDrawColor(playerid,ArrowSkin1[playerid], -1);
PlayerTextDrawSetOutline(playerid,ArrowSkin1[playerid], 0);
PlayerTextDrawSetProportional(playerid,ArrowSkin1[playerid], 1);
PlayerTextDrawSetShadow(playerid,ArrowSkin1[playerid], 1);
PlayerTextDrawSetSelectable(playerid,ArrowSkin1[playerid], 1);
ArrowSkin2[playerid] = CreatePlayerTextDraw(playerid,525.000000, 186.000000, "~>~");
PlayerTextDrawBackgroundColor(playerid,ArrowSkin2[playerid], 255);
PlayerTextDrawFont(playerid,ArrowSkin2[playerid], 1);
PlayerTextDrawLetterSize(playerid,ArrowSkin2[playerid], 1.000000, 3.000000);
PlayerTextDrawColor(playerid,ArrowSkin2[playerid], -1);
PlayerTextDrawSetOutline(playerid,ArrowSkin2[playerid], 0);
PlayerTextDrawSetProportional(playerid,ArrowSkin2[playerid], 1);
PlayerTextDrawSetShadow(playerid,ArrowSkin2[playerid], 1);
PlayerTextDrawSetSelectable(playerid,ArrowSkin2[playerid], 1);
return 1;
} -
Hallo!
Ich habe einen kleinen Bug, wenn ich versuche eine Text Draw Selection zu erstellen.Ich werde einen Screen anhängen, dieser Zeigt eines meiner Beispiele. Wenn ich auf "Auswaehlen" klicke, passiert das, was passieren sollte, wenn ich auf den nach Links zeigenden Pfeil klicke.
Ich verstehe einfach nicht warum, ich Füge ebenfalls den Code ein.Code
stock CreateSkinSelectTD()
{
for(new playerid = 0; playerid < MAX_PLAYERS; playerid++){
CancelSelectTextDraw(playerid);
SkinSelect[playerid] = TextDrawCreate(274.000000, 377.000000, "Auswaehlen");
TextDrawBackgroundColor(SkinSelect[playerid], 255);
TextDrawFont(SkinSelect[playerid], 2);
TextDrawLetterSize(SkinSelect[playerid], 0.300000, 2.000000);
TextDrawColor(SkinSelect[playerid], -1);
TextDrawSetOutline(SkinSelect[playerid], 0);
TextDrawSetProportional(SkinSelect[playerid], 1);
TextDrawSetShadow(SkinSelect[playerid], 1);
TextDrawSetSelectable(SkinSelect[playerid], 1);
ArrowSkin1[playerid] = TextDrawCreate(250.000000, 371.000000, "~<~");
TextDrawBackgroundColor(ArrowSkin1[playerid], 255);
TextDrawFont(ArrowSkin1[playerid], 1);
TextDrawLetterSize(ArrowSkin1[playerid], 1.000000, 3.000000);
TextDrawColor(ArrowSkin1[playerid], -1);
TextDrawSetOutline(ArrowSkin1[playerid], 0);
TextDrawSetProportional(ArrowSkin1[playerid], 1);
TextDrawSetShadow(ArrowSkin1[playerid], 1);
TextDrawSetSelectable(ArrowSkin1[playerid], 1);
ArrowSkin2[playerid] = TextDrawCreate(362.000000, 371.000000, "~>~");
TextDrawBackgroundColor(ArrowSkin2[playerid], 255);
TextDrawFont(ArrowSkin2[playerid], 1);
TextDrawLetterSize(ArrowSkin2[playerid], 1.000000, 3.000000);
TextDrawColor(ArrowSkin2[playerid], -1);
TextDrawSetOutline(ArrowSkin2[playerid], 0);
TextDrawSetProportional(ArrowSkin2[playerid], 1);
TextDrawSetShadow(ArrowSkin2[playerid], 1);
TextDrawSetSelectable(ArrowSkin2[playerid], 1);
}
return 1;
}Code public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid==ArrowSkin1[playerid])
{
if(SelectedSkin[playerid] < 0)
{
SelectedSkin[playerid]++;
}
SelectedSkin[playerid]--;
if(sInfo[playerid][geschlecht] == 1)
{
switch(SelectedSkin[playerid])
{
case 0:
{
SetPlayerSkin(playerid, 1);
Skin[playerid] = 1;
}
case 1:
{
SetPlayerSkin(playerid, 2);
Skin[playerid] = 2;
}
case 2:
{
SetPlayerSkin(playerid, 3);
Skin[playerid] = 3;
}
case 3:
{
SetPlayerSkin(playerid, 4);
Skin[playerid] = 4;
}
case 4:
{
SetPlayerSkin(playerid, 6);
Skin[playerid] = 6;
}
}
}
if(sInfo[playerid][geschlecht] == 2)
{
switch(SelectedSkin[playerid])
{
case 0:
{
SetPlayerSkin(playerid, 9);
Skin[playerid] = 9;
}
case 1:
{
SetPlayerSkin(playerid, 11);
Skin[playerid] = 11;
}
case 2:
{
SetPlayerSkin(playerid, 12);
Skin[playerid] = 12;
}
case 3:
{
SetPlayerSkin(playerid, 41);
Skin[playerid] = 41;
}
case 4:
{
SetPlayerSkin(playerid, 233);
Skin[playerid] = 233;
}
}
}
}
if(clickedid==ArrowSkin2[playerid])
{
if(SelectedSkin[playerid] > 4)
{
SelectedSkin[playerid]--;
}
SelectedSkin[playerid]++;
if(sInfo[playerid][geschlecht] == 1)
{
switch(SelectedSkin[playerid])
{
case 0:
{
SetPlayerSkin(playerid, 1);
Skin[playerid] = 1;
}
case 1:
{
SetPlayerSkin(playerid, 2);
Skin[playerid] = 2;
}
case 2:
{
SetPlayerSkin(playerid, 3);
Skin[playerid] = 3;
}
case 3:
{
SetPlayerSkin(playerid, 4);
Skin[playerid] = 4;
}
case 4:
{
SetPlayerSkin(playerid, 6);
Skin[playerid] = 6;
}
}
}
if(sInfo[playerid][geschlecht] == 2)
{
switch(SelectedSkin[playerid])
{
case 0:
{
SetPlayerSkin(playerid, 9);
Skin[playerid] = 9;
}
case 1:
{
SetPlayerSkin(playerid, 11);
Skin[playerid] = 11;
}
case 2:
{
SetPlayerSkin(playerid, 12);
Skin[playerid] = 12;
}
case 3:
{
SetPlayerSkin(playerid, 41);
Skin[playerid] = 41;
}
case 4:
{
SetPlayerSkin(playerid, 233);
Skin[playerid] = 233;
}
}
}
}
if(clickedid==SkinSelect[playerid])
{
if(SkinAuswahl[playerid] == 0) return 0;
TextDrawHideForPlayer(playerid, ArrowSkin1[playerid]);
TextDrawHideForPlayer(playerid, ArrowSkin2[playerid]);
TextDrawHideForPlayer(playerid, SkinSelect[playerid]);
SetPlayerVirtualWorld(playerid, 0);
if(sInfo[playerid][tutorial] == 0)
{
sInfo[playerid][tutorial]=1;
ShowPlayerDialog(playerid, DIALOG_REGINFO, DIALOG_STYLE_MSGBOX, ""cBlue"["SERVERTAG"]"cWhite" Willkommen!", ""cWhite" Willkommen auf "SERVERNAME"!\nDu erhälst von uns als Willkommensgeschenk:\n"cBlue"Ein Handy\n"cBlue"5000€\n"cBlue"Einen Personalausweis\n\n\n"cWhite"(Vituelle Gegenstände)", "Yay!", "");
CancelSelectTextDraw(playerid);
CancelSelectTextDraw(playerid);
}
SetPlayerSkin(playerid,Skin[playerid]);
sInfo[playerid][skin] = Skin[playerid];
SpawnPlayer(playerid);
ShowPlayerMoneyTextdraw(playerid);
SkinAuswahl[playerid] = 0;
}
return 1;
}
MfG!
-
Jeffry: Das Problem ist, dass die Karte teilweise komplett Rot wird, also die selbe Farbe bekommt, wie die Gang-Zones.
Apokrate:
enum nodmInfo{
Float:Xmax,
Float:Xmin,
Float:Ymax,
Float:Ymin,
ndid,
zoneid
};new ndInfo[][nodmInfo]=
{
{503.2751,407.8993,-1812.2313,-1728.5220,-1,-1},
{1837.3624,1725.1371,-1290.8875,-1190.9783,-1,-1}
};stock LoadNoDM()
{
for(new i=0; i<sizeof(ndInfo); i++)
{
ndInfo[i][zoneid]=GangZoneCreate(ndInfo[i][Xmin], ndInfo[i][Ymin], ndInfo[i][Xmax], ndInfo[i][Ymax]);
ndInfo[i][ndid]=CreateDynamicRectangle(ndInfo[i][Xmin], ndInfo[i][Ymin], ndInfo[i][Xmax], ndInfo[i][Ymax]);
}
return 1;
} -
Von euch natürlich auch sehr reif Außerdem ist das Rufmord von euch, ich habe immer meine Maps vorgestellt und nie damit angegeben.
Außerdem woher habt ihr das ich 11 bin? Bin nicht 11 aber auch net 14 oder älter, dafür bin ich reifer den es ist lächerlich euch so zu verhalten.Also, dafür, dass du dich hier als reifer als die beiden anderen darstellst, ist deine Rechtschreibung etwas "zurückgeblieben".
Aber ich würde sagen, back to topic.
Die Map ist ganz gut, verwenden würde ich sie aber nicht.
-
Hallo!
Ich habe das selbe Problem wie hierbeschrieben, allerdings wurde in dem Thread nicht die Lösung gepostet, daher muss ich leider nocheinmal nach fragen.
Vielen dank im Voraus für hilfe!
MfG!
-
Es wurde jemand gefunden! Danke trotzdem an alle!
-
Hallo!
Ich suche jemanden, der mir ein WBB3 Design Codet.
Dafür würde ich 20€ per PayPal anbieten.Mit freundlichen Grüßen!
______
Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier. -
TS3MusicBot wichtige Daten:
Nickname: ZeroTheHero
Passwort generieren lassen:[X]Ja,[]Nein
E-mail: zeroherowololo@gmail.com
Speicher platz(GB): [Leider keine Ahnung wie viel da so üblich ist, von daher egal]Ich hoffe, dass ich den bekomme, obwohl du keine Persönlichen Daten von mir bekommen hast,
Gruß! -
Hey!
Ich suche derzeit nach einem Forum-Design. Dieses sollte ein GTA SA:MP Theme haben.
Es muss nicht einzigartig sein, da ich auch preislich nicht all zu viel ausgeben möchte!
(Grobe Preisvorstellung 15-20€)Ja ich weiß, es ist sehr niedrig angesetzt, aber vielleicht findet sich ja doch etwas!
MfG!
______
Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier. -
Du könntest eine Ini file über UrlDownloadToFile Downloaden lassen beim Start des Keybinders. Dann über IniRead auslesen, welche Benutzer darin stehen.
-
Hey!
Ich versuche mich derzeit an einem Tazer Command, allerdings funktioniert der nicht so ganz.Es wird dem jenigen, der getazed wird angezeigt, dass er getazed wird, allerdings wird die Animation nicht ausgeführt. Vielleich kann mir ja jemand von euch helfen.
MfG!
Spoiler anzeigen
CMD:tazer(playerid, params[])
{
if(sInfo[playerid][frak]==1)
{
if(sInfo[playerid][gestorben]==1) return SendClientMessage(playerid, COLOR_RED, "[Info] Diesen Befehl kannst du nicht im Krankenhaus verwenden!");
if(sInfo[playerid][fduty] == 0) return SendClientMessage(playerid, COLOR_RED, "[Info] Du musst im Dienst sein, um diesen Befehl zu nutzen!");
switch(sInfo[playerid][tazer])
{
case 0:
{
sInfo[playerid][tazer]=1;
GivePlayerWeapon(playerid,23,68);
SetPlayerAmmo(playerid, 23, 68);
SetPlayerArmedWeapon(playerid, 23);
SendClientMessage(playerid, COLOR_BLUE, "[Info]"cWhite" Du hast deinen Tazer herausgeholt!");
return 1;
}
case 1:
{
sInfo[playerid][tazer]=0;
GivePlayerWeapon(playerid,sInfo[playerid][weapons][1],sInfo[playerid][ammo][1]);
SetPlayerAmmo(playerid, sInfo[playerid][weapons][1], sInfo[playerid][ammo][1]);
SendClientMessage(playerid, COLOR_BLUE, "[Info]"cWhite" Du hast deinen Tazer weggelegt!");
return 1;
}
}
}
else
{
return SendClientMessage(playerid, COLOR_RED, "[Info] Du darfst diesen Befehl nicht nutzen!");
}
return 1;
}
public OnPlayerShootPlayer(Shooter,Target,Float:HealthLost,Float:ArmourLost)
{
if(sInfo[Shooter][tazer] == 1)
{
if(GetPlayerWeapon(Shooter) == 23)
{
sInfo[Target][tazed] = 1;
GameTextForPlayer(Target, "~r~Tazed",5000, 3);
ApplyAnimation(Target, "CRACK", "crckdeth2", 1.0, 0, 0, 1, 0, 0);
SetTimerEx("Tazed", 1000*5, false, "i",Target);
new Float:Health, Float:Armour;
GetPlayerHealth(Target, Health);
SetPlayerHealth(Target, Health+HealthLost);
GetPlayerArmour(Target, Armour);
SetPlayerArmour(Target, Armour+ArmourLost);
}
}
return 1;
}Spoiler anzeigen public Tazed(playerid)
{
sInfo[playerid][tazed] = 0;
ClearAnimations(playerid);
return 1;
}
-
Was hast du denn geändert?
-
Die Nummernschild-Variable fehlt in den format-Parametern.
format(string, sizeof(string), "%s"cWhite"Farzeug: %s || Nummernschild: "cBlue""SERVERTAG"[%i]"cWhite" || Abgeschleppt: %s\n",string, carNames[model-400],/*hier*/,abgeschleppttext);Danke
-
Hallo!
Ich versuche derzeit einen /carlist befehl zu machen, der direkt aus der Datenbank abfragt, was für Fahrzeuge man besitzt.
An sich funktioniert der auch, allerdings wird der hier definierte "abgeschleppttext" nicht angezeigt, weder "Ja" noch "Nein".
Ich verstehe nicht warum, vielleicht kann mir ja jemand von euch helfen *hust* Jeffry: *hust*
public CheckPlayerCars(playerid)
{
new string[2000], vabgeschleppt, abgeschleppttext[128], model;
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,dbhandle);
if(!num_rows)return SendClientMessage(playerid, COLOR_RED, "[Info] Du besitzt keine Fahrzeuge!");
for(new i=0; i<num_rows; i++)
{
vabgeschleppt = cache_get_field_content_int(i,"abgeschleppt",dbhandle);
if(vabgeschleppt == 0)
{
format(abgeschleppttext, sizeof(abgeschleppttext), "{FF0000}Nein");
}
else
{
format(abgeschleppttext, sizeof(abgeschleppttext), "{00FF00}Ja");
}
model = cache_get_field_content_int(i,"modelID",dbhandle);
format(string, sizeof(string), "%s"cWhite"Farzeug: %s || Nummernschild: "cBlue""SERVERTAG"[%i]"cWhite" || Abgeschleppt: %s\n",string, carNames[model-400],abgeschleppttext);
}
ShowPlayerDialog(playerid, DIALOG_CARLIST, DIALOG_STYLE_MSGBOX, ""cBlue"["SERVERTAG"]"cWhite" Fahrzeugliste", string, "Schliessen", "");
return 1;
}Mit freundlichen Grüßen!
-
@Mencent: Die erste vernünftige Antwort. Ich sollte mal Android anschreiben und sehen was der dazu sagt. Bin einfach gerade auf 180 da mich das ganze jetzt wieder aufregt.
ZeroTheHero: Es geht ja darum das ich jetzt wegen angeblichem Spam´s verwarnt wurde, obwohl es 2 Antworten weiter aufgeklärt wurde und die Suche weiterging.
Danke für's Aufklären
Aber ich denke, dass das was @Mencent: geschrieben hat, wohl das sinnvollste sein wird. -
Also ich habe den Beitrag, den du wahrscheinlich meinst, gemeldet und darauf hin nur eine PN von Trooper bekommen, dass dies jetzt erlaubt sei. Von daher verstehe ich nicht ganz, was es mit der Verwarnung für das falsche Melden auf sich hat.
-
Hallo!
Ich bin derzeit auf der Suche nach einem TS³ Sponsor für mich und meine Kumpels.
Für weitere Infos schreibt mir bitte eine PN bzw. fragt hier nach und ich schreibe euch.Ich bitte Leute, die Channel anbieten, sich nicht zu melden, denn daran bin ich nicht interessiert.
MfG!
-
Hallo!
Der Titel sagt eigentlich schon alles :x
Hier der Code:
C
Alles anzeigen#SingleInstance force #NoENV #IfWinActive, GTA:SA:MP ; Folgende Hotkeys Funktionieren nur wenn GTA SA:MP geöffnet ist #UseHook #include improv3d.ahk if not A_IsAdmin { MsgBox, 16, FBI-Keybinder | Fehler, Du musst den Keybinder als Admin starten! ExitApp } Gui, 1:Add, Tab, x2 y-1 w483 h393 , Login|Register Gui, 1:Tab, Login Gui, 1:Add, Edit, x82 y59 w310 h20 vUsername, Gui, 1:Add, Edit, x82 y99 w310 h20 vPasswort Password, Gui, 1:Add, Button, x182 y139 w110 h30 gLogin, Login Gui, 1:Add, Text, x82 y39 w310 h20 , Username: Gui, 1:Add, Text, x82 y79 w310 h20 , Passwort: Gui, 1:Tab, Register Gui, 1:Add, Edit, x82 y59 w310 h20 vRegUsername, Gui, 1:Add, Edit, x82 y99 w310 h20 vRegPasswort Password, Gui, 1:Add, Button, x182 y139 w110 h30 gRegister, Register Gui, 1:Add, Text, x82 y39 w310 h20 , Wunsch Username: Gui, 1:Add, Text, x82 y79 w310 h20 , Wunsch Passwort: Gui, 1:Show, x683 y317 h383 w483, FBI-Keybinder | Login activated := 0 Eingeloggt := 0 Rang := 0 Return Register: Gui, Submit if( RegUsername=="" || RegPasswort=="") { MsgBox, 16, FBI-Keybinder | Fehler, Es muss ein Benutzername und Passwort angegeben werden! Gui, 1:Show, x277 y302 h379 w479, FBI-Keybinder | Login return } if(!imp_row_exist("Benutzer", RegUsername)) { imp_create_row("Benutzer", RegUsername) imp_write("Benutzer",RegUsername, "Passwort", RegPasswort) imp_write("Benutzer",RegUsername, "Freigeschaltet", "0") MsgBox, 64, FBI-Keybinder | Registriert, Du hast dich erfolgreich registriert %RegUsername%! Du musst nun von einem Leader freigeschaltet werden! } else { MsgBox, 16, FBI-Keybinder | Fehler, Der Benutzer %RegUsername% ist bereits registriert! Gui, 1:Show, x277 y302 h379 w479, FBI-Keybinder | Login } return Login: Gui, Submit if(imp_row_exist("Benutzer", Username)) { PW := imp_compare("Benutzer", Username, "Passwort", Passwort) if(PW == 1) { Freigeschaltet := imp_compare("Benutzer", Username, "Freigeschaltet", "1") if(Freigeschaltet != 1) { MsgBox, 16, FBI-Keybinder | Fehler, Der Benutzer %Username% ist nicht freigeschaltet! ExitApp } MsgBox, 64, FBI-Keybinder | Eingeloggt, Erfolgreich eingeloggt! Willkommen %Username% Eingeloggt = 1 Rang := imp_read("Benutzer", Username, "Rang") if(Rang = 0) { Gui, 1:Destroy Gui, Add, Text, x2 y39 w190 h30 , Num 1: Verkehrskontrolle (1) Gui, Add, Text, x2 y79 w190 h30 , Num 2: Verkehrskontrolle (2) Gui, Add, Text, x2 y119 w190 h30 , Num 3: Perso und Lizenzen Gui, Add, Text, x2 y159 w190 h30 , /countdown : 10 Sekunden Countdown Gui, Show, x683 y317 w800 h400, FBI-Keybinder | by plattkop } else { Gui, 1:Destroy Gui, Add, Tab, x2 y-1 w810 h410 , Standart|Ausbilder/Leader Gui, Tab, Standart Gui, Add, Text, x2 y39 w190 h30 , Num 1: Verkehrskontrolle (1) Gui, Add, Text, x2 y79 w190 h30 , Num 2: Verkehrskontrolle (2) Gui, Add, Text, x2 y119 w190 h30 , Num 3: Perso und Lizenzen Gui, Add, Text, x2 y159 w190 h30 , /countdown : 10 Sekunden Countdown Gui, Tab, Ausbilder/Leader Gui, Add, Text, x2 y39 w190 h30 , /sammeln : Sammelbefehl Gui, Show, x683 y317 w800 h400, FBI-Keybinder | by plattkop } UrlDownloadToFile,http://domain.de/keybinder/API.dll, %A_ScriptDir%/API.dll UrlDownloadToFile,http://domain.de/keybinder/API.h, %A_ScriptDir%/API.h UrlDownloadToFile,http://domain.de/keybinder/API.lib, %A_ScriptDir%/API.lib UrlDownloadToFile,http://domain.de/keybinder/need_backup.mp3, %A_ScriptDir%/need_backup.mp3 UrlDownloadToFile,http://domain.de/keybinder/alarm1.wav, %A_ScriptDir%/alarm1.wav SetTimer, BackupTimer, 500 activated := 1 Nutzer := Username return } else { MsgBox, 16, FBI-Keybinder | Fehler, Das angegebene Passwort ist falsch! Gui, 1:Show, x277 y302 h379 w479, FBI-Keybinder | Login } } else { MsgBox, 16, FBI-Keybinder | Fehler, Der Benutzer %Username% wurde nicht gefunden! Gui, 1:Show, x277 y302 h379 w479, FBI-Keybinder | Login } return #include API.ahk UrlDownloadToVar(URL, Proxy="", ProxyBypass="") { AutoTrim, Off hModule := DllCall("LoadLibrary", "str", "wininet.dll") If (Proxy != "") AccessType=3 Else AccessType=1 io_hInternet := DllCall("wininet\InternetOpenA" , "str", "" , "uint", AccessType , "str", Proxy , "str", ProxyBypass , "uint", 0) iou := DllCall("wininet\InternetOpenUrlA" , "uint", io_hInternet , "str", url , "str", "" , "uint", 0 , "uint", 0x80000000 , "uint", 0) If (ErrorLevel != 0 or iou = 0) { DllCall("FreeLibrary", "uint", hModule) return 0 } VarSetCapacity(buffer, 512, 0) VarSetCapacity(NumberOfBytesRead, 4, 0) Loop { irf := DllCall("wininet\InternetReadFile", "uint", iou, "uint", &buffer, "uint", 512, "uint", &NumberOfBytesRead) NOBR = 0 Loop 4 NOBR += *(&NumberOfBytesRead + A_Index-1) << 8*(A_Index-1) IfEqual, NOBR, 0, break DllCall("lstrcpy", "str", buffer, "uint", &buffer) res = %res%%buffer% } DllCall("wininet\InternetCloseHandle", "uint", iou) DllCall("wininet\InternetCloseHandle", "uint", io_hInternet) DllCall("FreeLibrary", "uint", hModule) AutoTrim, on return, res } ~F3:: if(Eingeloggt == 0) { ExitApp } if(activated == 1) { activated := 0 AddChatMessage("{FF0000}Keybinder deaktiviert!") } else { activated := 1 AddChatMessage("{00FF00}Keybinder aktiviert!") } return Numpad1:: if(Eingeloggt == 0) { ExitApp } if(activated = 0) { return } if(IsInChat) { return } SendChat("/m Hier Spricht das FBI! Fahren Sie unverzüglich rechts ran!") return Numpad2:: if(Eingeloggt == 0) { ExitApp } if(activated = 0) { return } if(IsInChat) { return } SendChat("/m Das ist die letze Warnung! Fahren Sie augenblicklich rechts ran!") return Numpad3:: if(Eingeloggt == 0) { ExitApp } if(activated = 0) { return } if(IsInChat) { return } GetPlayerName(name) SendChat("Guten Tag, Mein Name ist Agent " name "! Bitte zeigen Sie mir Ihren Personalausweis und Ihre Lizenzen!") SendChat("(/showperso " GetPlayerID() " & /showlicenses " GetPlayerID() ")") return :?:/countdown:: if(Eingeloggt == 0) { ExitApp } if(activated = 0) { AddChatMessage("{FF0000}Keybinder ist deaktiviert!") return } SendChat(">> 10 Sekunden <<") sleep, 1000 SendChat(">> 9 Sekunden <<") sleep, 1000 SendChat(">> 8 Sekunden <<") sleep, 1000 SendChat(">> 7 Sekunden <<") sleep, 1000 SendChat(">> 6 Sekunden <<") sleep, 1000 SendChat(">> 5 Sekunden <<") sleep, 1000 SendChat(">> 4 Sekunden <<") sleep, 1000 SendChat(">> 3 Sekunden <<") sleep, 1000 SendChat(">> 2 Sekunden <<") sleep, 1000 SendChat(">> 1 Sekunde <<") return :?:/sammeln:: if(Eingeloggt == 0) { ExitApp } if(activated = 0) { AddChatMessage("{FF0000}Keybinder ist deaktiviert!") return } if(Rang < 1) { AddChatMessage("{FF0000}Du hast keine Berechtigung dazu!") return } SendChat("/r>> !ALLE AN DER BASE SAMMELN! <<") SendChat("/r>> !ALLE AN DER BASE SAMMELN! <<") SendChat("/r>> !ALLE AN DER BASE SAMMELN! <<") SendChat("/r>> !ALLE AN DER BASE SAMMELN! <<") return BackupTimer: if(Eingeloggt == 0) { ExitApp } Freigeschaltet := imp_compare("Benutzer", Nutzer, "Freigeschaltet", "1") if(Freigeschaltet != 1) { MsgBox, 16, FBI-Keybinder | Fehler, Der Benutzer %Nutzer% ist nicht freigeschaltet! ExitApp } GetChatLine(0, chat) if(InStr(chat, "!NEED BACKUP!")) { SoundPlay, need_backup.mp3 } if(InStr(chat, "!ALLE AN DER BASE SAMMELN!")) { SoundPlay, alarm1.wav } return GuiClose: ExitApp