Beiträge von linux_

    Hallo,


    ich wollte ein paar TextDraws erstellen und paar von diesen soll man auswählen können. Das Problem hierbei ist, dass ich nicht nur 1 TextDraw mit einem Hovereffekt habe, sondern wenn ich über z.B. den Schalter "Erstellen" fahre, dass ich dann alle TextDraw's die obendrüber sind auswählen kann bzw. mit ausgewählt werden.


    So sieht mein TextDraw normal aus:


    So sieht das aus, wenn ich über "Abbrechen" fahre:

    Was mache ich genau falsch?


    GlobalTextDraw's:

    C4CreateTextDraw_Box = TextDrawCreate(0,0, "usebox");
    TextDrawLetterSize(C4CreateTextDraw_Box, 0,0);
    TextDrawTextSize(C4CreateTextDraw_Box, 0,0);
    TextDrawAlignment(C4CreateTextDraw_Box, 1);
    TextDrawColor(C4CreateTextDraw_Box, 0);
    TextDrawUseBox(C4CreateTextDraw_Box, true);
    TextDrawBoxColor(C4CreateTextDraw_Box, 255);
    TextDrawSetShadow(C4CreateTextDraw_Box, 0);
    TextDrawSetOutline(C4CreateTextDraw_Box, 0);
    TextDrawBackgroundColor(C4CreateTextDraw_Box, 255);
    TextDrawFont(C4CreateTextDraw_Box, 0);
    TextDrawSetSelectable(C4CreateTextDraw_Box, false);

    C4CreateTextDraw_Title = TextDrawCreate(0,0, "~y~C4 erstellen");
    TextDrawLetterSize(C4CreateTextDraw_Title, 0,0);
    TextDrawAlignment(C4CreateTextDraw_Title, 1);
    TextDrawColor(C4CreateTextDraw_Title, -1);
    TextDrawSetShadow(C4CreateTextDraw_Title, 0);
    TextDrawSetOutline(C4CreateTextDraw_Title, 1);
    TextDrawBackgroundColor(C4CreateTextDraw_Title, 51);
    TextDrawFont(C4CreateTextDraw_Title, 1);
    TextDrawSetProportional(C4CreateTextDraw_Title, 1);


    C4CreateTextDraw_Text = TextDrawCreate(0,0, "Bringe die Zutaten in die richtige Reihenfolge.");
    TextDrawLetterSize(C4CreateTextDraw_Text, 0,0);
    TextDrawAlignment(C4CreateTextDraw_Text, 1);
    TextDrawColor(C4CreateTextDraw_Text, -1);
    TextDrawSetShadow(C4CreateTextDraw_Text, 0);
    TextDrawSetOutline(C4CreateTextDraw_Text, 1);
    TextDrawBackgroundColor(C4CreateTextDraw_Text, 51);
    TextDrawFont(C4CreateTextDraw_Text, 1);
    TextDrawSetProportional(C4CreateTextDraw_Text, 1);


    C4CreateTextDraw_Create = TextDrawCreate(0,0, "Erstellen");
    TextDrawLetterSize(C4CreateTextDraw_Create, 0,0);
    TextDrawAlignment(C4CreateTextDraw_Create, 1);
    TextDrawColor(C4CreateTextDraw_Create, -1);
    TextDrawSetShadow(C4CreateTextDraw_Create, 0);
    TextDrawSetOutline(C4CreateTextDraw_Create, 1);
    TextDrawBackgroundColor(C4CreateTextDraw_Create, 51);
    TextDrawFont(C4CreateTextDraw_Create, 1);
    TextDrawSetProportional(C4CreateTextDraw_Create, 1);


    C4CreateTextDraw_Cancel = TextDrawCreate(0,0, "Abbrechen");
    TextDrawLetterSize(C4CreateTextDraw_Cancel, 0,0);
    TextDrawAlignment(C4CreateTextDraw_Cancel, 1);
    TextDrawColor(C4CreateTextDraw_Cancel, -1);
    TextDrawSetShadow(C4CreateTextDraw_Cancel, 0);
    TextDrawSetOutline(C4CreateTextDraw_Cancel, 1);
    TextDrawBackgroundColor(C4CreateTextDraw_Cancel, 51);
    TextDrawFont(C4CreateTextDraw_Cancel, 1);
    TextDrawSetProportional(C4CreateTextDraw_Cancel, 1);


    Meine PlayerTextDraw's:

    C4CreateTextDraw_Item1[playerid] = CreatePlayerTextDraw(playerid, 0,0, "1: Kein Item ausgewaehlt");
    PlayerTextDrawLetterSize(playerid, C4CreateTextDraw_Item1[playerid], 0,0);
    PlayerTextDrawAlignment(playerid, C4CreateTextDraw_Item1[playerid], 1);
    PlayerTextDrawColor(playerid, C4CreateTextDraw_Item1[playerid], -1);
    PlayerTextDrawSetShadow(playerid, C4CreateTextDraw_Item1[playerid], 0);
    PlayerTextDrawSetOutline(playerid, C4CreateTextDraw_Item1[playerid], 1);
    PlayerTextDrawBackgroundColor(playerid, C4CreateTextDraw_Item1[playerid], 51);
    PlayerTextDrawFont(playerid, C4CreateTextDraw_Item1[playerid], 1);
    PlayerTextDrawSetProportional(playerid, C4CreateTextDraw_Item1[playerid], 1);


    C4CreateTextDraw_Item2[playerid] = CreatePlayerTextDraw(playerid, 0,0, "2: Kein Item ausgewaehlt");
    PlayerTextDrawLetterSize(playerid, C4CreateTextDraw_Item2[playerid], 0,0);
    PlayerTextDrawAlignment(playerid, C4CreateTextDraw_Item2[playerid], 1);
    PlayerTextDrawColor(playerid, C4CreateTextDraw_Item2[playerid], -1);
    PlayerTextDrawSetShadow(playerid, C4CreateTextDraw_Item2[playerid], 0);
    PlayerTextDrawSetOutline(playerid, C4CreateTextDraw_Item2[playerid], 1);
    PlayerTextDrawBackgroundColor(playerid, C4CreateTextDraw_Item2[playerid], 51);
    PlayerTextDrawFont(playerid, C4CreateTextDraw_Item2[playerid], 1);
    PlayerTextDrawSetProportional(playerid, C4CreateTextDraw_Item2[playerid], 1);


    C4CreateTextDraw_Item3[playerid] = CreatePlayerTextDraw(playerid, 0,0, "3: Kein Item ausgewaehlt");
    PlayerTextDrawLetterSize(playerid, C4CreateTextDraw_Item3[playerid], 0,0);
    PlayerTextDrawAlignment(playerid, C4CreateTextDraw_Item3[playerid], 1);
    PlayerTextDrawColor(playerid, C4CreateTextDraw_Item3[playerid], -1);
    PlayerTextDrawSetShadow(playerid, C4CreateTextDraw_Item3[playerid], 0);
    PlayerTextDrawSetOutline(playerid, C4CreateTextDraw_Item3[playerid], 1);
    PlayerTextDrawBackgroundColor(playerid, C4CreateTextDraw_Item3[playerid], 51);
    PlayerTextDrawFont(playerid, C4CreateTextDraw_Item3[playerid], 1);
    PlayerTextDrawSetProportional(playerid, C4CreateTextDraw_Item3[playerid], 1);


    (( Die Koordinaten wurden von mir durch "0" ersetzt. Möchte nicht, dass hier jemand Copy&Paste macht. ))


    So sieht mein Command aus um das TextDraw anzeigen zu lassen:

    else if (strcmp("/c4create", strget(cmdtext, 0), true, 25) == 0)
    {
    TextDrawSetSelectable(C4CreateTextDraw_Create, true);
    TextDrawSetSelectable(C4CreateTextDraw_Cancel, true);

    PlayerTextDrawSetSelectable(playerid, C4CreateTextDraw_Item1[playerid], true);
    PlayerTextDrawSetSelectable(playerid, C4CreateTextDraw_Item2[playerid], true);
    PlayerTextDrawSetSelectable(playerid, C4CreateTextDraw_Item3[playerid], true);

    TextDrawShowForPlayer(playerid, C4CreateTextDraw_Box);
    TextDrawShowForPlayer(playerid, C4CreateTextDraw_Title);
    TextDrawShowForPlayer(playerid, C4CreateTextDraw_Text);
    TextDrawShowForPlayer(playerid, C4CreateTextDraw_Create);
    TextDrawShowForPlayer(playerid, C4CreateTextDraw_Cancel);

    PlayerTextDrawShow(playerid, C4CreateTextDraw_Item1[playerid]);
    PlayerTextDrawShow(playerid, C4CreateTextDraw_Item2[playerid]);
    PlayerTextDrawShow(playerid, C4CreateTextDraw_Item3[playerid]);

    SelectTextDraw(playerid, lightgreen);
    }


    Ich habe auch schon probiert TextDrawSetSelectable & PlayerTextDrawSetSelect bei der TextDraw Erstellung drunter zu klatschen. Selbes Ergebnis.

    Eine neue Version von der API wurde veröffentlicht: 1.0.0 Beta 1 (für eine RC Version hat es leider nicht ganz gereicht - da müssen noch mehrere Sachen folgen)


    Changelog und Download: http://www.gta-api.de/index.php?page=Download
    GitHub Source Code: https://github.com/Slider1338/GTA-API


    Es wurde teils des Source Codes überarbeitet, einige Funktionen gefixt und entfernt und es wurden wichtige Funktionen wie z.B. AddChatMessage hinzugefügt. Die Entwickler der einzelnen Funktionen stehen im Source Code. Agrippa war so freundlich und hat seinen SourceCode für AddChatMessage, ShowDialog und ShowGameText bereit gestellt, damit wir unteranderem davon profitieren können. Danke hier nochmal an Dich!


    Die Funktionen von agrippa wurden eingebaut. Auch wenn es noch ziemlich unschön aussieht. Ich muss da nochmal den Source überarbeiten und gucken, wie ich das besser einbinden kann.


    Die anderen zwei Entwickler Grab und DreameR haben zusätzlich noch ein paar Funktionen programmiert. Die Entwickler der einzelnen Funktionen können im Source Code angesehen werden.


    Vielen Dank für die Unterstützung!

    Hallo,


    ich weiß nicht, wie ich zwei Zeiger char* miteinander verbinden kann.


    Hier ist mein Funktionsaufbau:


    Ich möchte den Inhalt von "text" an _text anhängen. Ich habe nach meinem Problem gegoogelt und folgende Funktionen ausprobiert:
    - memcpy
    - strcat
    - strncat
    - strcpy


    Allerdings sind die letzten 3 Funktionen bereits deprecated und ich möchte diese nicht mehr verwenden.


    Bei memcpy funktioniert dies ebenfalls nicht. So sieht mein neuer Code mit memcpy aus:


    Das einzige was ich agezeigt bekomme (in der Console wenn ich unter samp.addChatMessage noch "cout << _text << endl;" anhänge), ist nur der erste Teil. Sprich: • {ffffff}


    Was mache ich falsch?

    Schnell und einfach "zu verstehen" geht auch, wenn Du die MySQL Docs liest. Dein Titel heißt "geht nicht". Wenn Du uns sagst, was nicht geht, kann man Dir auch helfen.

    Hallo,


    ist eigentlich ganz einfach. Ein print_r verrät folgendes:


    Beispiel Ansprechung:


    Kannst auch ein foreach bei den Attributen. Mach einfach mal einen var_dump und ein print_r als Beispiel.

    Ich verstehe nicht, was Du meinst. Du hast geschrieben, dass es vermutlich ein Problem mit der API gibt und ich habe daraufhin gesagt, dass ich es nicht glaube, da es bei mir auch funktioniert.

    leute wenn er das mit sendinput macht ist es eine ganz normale drecks Funktion


    @Windows:
    Das wird ein Problem bei der API sein.
    Welchen Server spielst du?
    Frag doch mal bei deinem Server Forum nach oder im GTA API Forum

    Es funktioniert. Es liegt nicht an der API. Ich habe ihm schon geraten den Keybinder im ANSI Mode zu compilieren.
    __


    Exakt, in AHK heißen die Funktionen alle gleich, nur das API_ davor wurde entfernt. In C++ sieht das aktuell noch anders aus.

    Hallo,


    die Möglichkeit habe ich schon versucht. War ein frisches Projekt. Man mag es nicht glauben, aber es lag tatsächlich an dem Verzeichnis, in dem ich das Projekt erstellt habe... Habe nämlich nicht das standartmäßige C++ Verzeichnis verwendet.


    Trotzdem Danke, für Deine Hilfe.
    ___


    @BlackAce: Jetzt habe ich wieder ein Projekt angelegt und diesesmal im VS2013 Verzeichnis und es funktioniert wieder nicht. Obwohl das Projekt erfolgreich compiliert wird...

    Hallo,


    wenn ich eine DLL Datei erstellen möchte und ich diese compile, erstellt mir Visual Studio 2013 bzw. der Compiler keine "lib" Datei im Release/Debug Verzeichnis. Ich brauche diese Lib Datei, um die DLL in C++ Projekten verwenden zu können. Zuvor bei Visual Studio 2010 hat das noch funktioniert. Hatte jemand schonmal so einen Fehler?

    Die API Version 1.0.0 RC 1 wird aktuell programmiert. Es wird wahrscheinlich nicht mehr lange dauern, bis ihr den SourceCode und die Release DLL von der RC1 Version downloaden könnt. Es werden viele neue Funktionen vorhanden sein.


    Wir werden demnächst auch noch mehr Informationen in unserem Forum posten.
    Dank der Hilfe von dem ehemaligen Entwickler agrippa1994, wird RC1 eventuell noch dieses Wochenende zum Download bereit stehen. Euch erwarten underanderem folgende neue Funktionen: AddChatMessage, ShowGameText, ShowDialog


    http://forum.gta-api.de
    https://github.com/Slider1338/GTA-API
    ______


    Da uns ein Entwickler verlassen hat, suchen wir noch weitere C++ Programmierer, die im Bereich Memory Hacking und Reverse Engineering gute Kenntnisse haben und eine Vorliebe für OpenSource besitzen. Bitte meldet euch per PN im API Forum.

    Ja dann sollte das doch nicht öffentlich diskutiert werden. Man kann auch einfach Speeder direkt anschreiben... Letztendlich hat das dann eh die Community nicht zu entscheiden. Nicht jeder kann wissen, dass der Betreiber dafür belangt werden kann, omg... Ich z.B. bin kein Jurist und bin davon ausgegangen, dass wenn die Käufer es untereinander ausmachen, dass der Verkäufer dann haftet. Wie wäre es einfach, wenn der ganze Thread geschlossen wird? Sonst ist das ja eh Schwachsinn...