Wieso gehts bei mir auch wenn ich es dort rein Installiere hast du es ausprobiert ? Glaube weniger
@J.Woods Bingo! @Ferip. Einfach mal den englischen Text im GTA:N Forum zu Problemen, Installationsanleitung und FAQ durchstöbern, da steht beschrieben, dass es auf keinen Fall in den GTA V Ordner gepackt werden soll. Hat auch was mit der Sicherheit der eigenen Daten zu tun
Hast du mal deinen Grafiktreiber aktualisiert? Was sagt die Windows Fehlermeldung? Was sagt der GTA:N Error Log? Wie hoch ist dein Ram beim Start?
Ich hatte damals Java als erste Objektorientierte Sprache gelernt. Da du C++ und C# zur Wahl stellst: C#.
In der modernen Welt mit den ganzen Möglichkeiten reicht selbst zur Spielentwicklung C# und dazugehörige Libraries und Bridges. Ist ähnlich wie Java und lernt sich schnell. Zudem bietet es viele Vorteile. Du kannst zB über Xamarin wie RoboVM oder ähnliches, mit einem Quellcode (in C#) Anwendungen für mehrere Geräte programmieren. Gerade könnte man C# gut lernen, wenn man nen Projekt bei GTA:N startet!
Falls du allerdings auf Reverse Engineering mit Memory Hooking und Binary/Byte Patching oder ähnliches hinaus willst, führt an C++ (wegen des MemoryZugriffs (pointer), bei C# nicht ohne weiteres möglich) kein Weg dran vorbei. Gerade beim Hooking. Das setzen von Daten wäre aber auch noch über C# möglich, sieh dir dazu SAMPFox an, falls es dich interessiert
Ne T2/R* bannt auch manchmal aus Fail. Nen Kumpel wurde auch in GTA O gebannt, wegen eines Hacks/Mods. Hatte aber wirklich keine Mods oder Hacks drauf, auch wenn er GTAN sich geholt haben könnte, was er nicht gemacht hat. Also FailBan ohne Grund
Benutze doch am besten den BugReport, da ist die Wahrscheinlichkeit höher, dass du kostenlos und aus erster Hand mit Erfahrung und Ahnung Hilfe bekommst. Denn nur die Hersteller kennen den Code. Zudem werden das Problem sicher noch andere dort haben. Just read some english articles
Würde halt komplett AdminRechte vergeben (launcher + gta v), Zugriff auf die dll's zulassen, Verzeichnis sollte von GTA:N dort installiert sein, wo man keine Adminrechte braucht, ggf die commandline.txt von gta v löschen und über den Launcher (neueste Version) starten
Beim Programmieren muss man keine Funktionen können, sondern die Sprache ;D Generell nutzt man Funktionen, um sich alles einfacher zu machen. Denn diese bauen auch nur auf Libraries und Tools auf, welche auf einer niedrigeren Programmiersprache programmiert wurden. PHP und CSS sind relativ einfach. Dazu muss man nicht sonderlich viel für lernen, im Vergleich zu C++. Ich würde dir auch Bootstrap oder Frameworks davon empfehlen. Ist das einfachste. Dann musst du dich kaum noch um den CSS Code kümmern. Eine Sprache also weniger.
Du musst also die Hauptsyntax von PHP beherrschen (die gleiche wie in allen anderen Sprachen, ausgenommen if-else-elseif/elif-endif) und HTML, um deine Seite erstellen zu können.
Nützlich wäre es noch, ein gewisses Datenbank bzw. MySQL Wissen zu haben. Viele Sachen lassen sich MySQL-intern (ohne PHP) lösen, was man oft berechnen will. Für die Interaktion mit den Userdaten ist natürlich PHP da. Du stellst eine Verbindung her, lädst die Daten und speicherst sie. Also brauchst du 1. eine MySQL Verbindung, wenn du den einfachen Weg nutzen willst. 2. ein Login. Dazu gibt es viele Tutorials. Mithilfe des Logins und der sog. SESSION ($_SESSION) kannst du auf jeder Seite die Daten des Nutzers aus der MySQL DB laden. Der Rest ist Wunschsache, was du ins UCP hineinbringst. Sicher wäre noch ein Register und Abmeldung wichtig.
@Jadeclon ich bin auch nicht sooo viel älter als du und gehe noch zur Schule Das alles hat - wie du richtig sagst - mit Interesse zu tun. Denn es ist nichts anderes als ein Hobby. Um also aus einem Hobby sich eine Zukunft zu bauen, muss man weit mehr als nur seine Lust hinein investieren. Man muss sich in der Freizeit nicht nur auf Copy&Paste konzentrieren, sondern tiefer in die Materie gehen. Ich habe damals mit Java angefangen. Hier gibts nen Plugin namens Shoebill, womit man Java Gamemodes und Plugins für SAMP schreiben kann. Ist echt cool und spätestens dann wirst du merken, was es für Möglichkeiten gibt, wie auch schon @MnX sagte. So verlierst du die Lust nicht und es bleibt dir Spaß, da Java und die tollen Editors / IDEs wie IntelliJ IDEA oder Eclipse viel Arbeit abnehmen. Zum Beispiel entstehen beim Programmieren normalerweise "Speicherleichen", da man ja Variablen deklariert und die irgendwo auf dem Heap rumlungern, es sei denn es handelt sich um normale Integers oder chars,... die gammeln auf dem Stack rum. Auf jedenfall muss man in C++ diese manuell löschen, da sie sonst Speicher fressen. In Java gibts den GarbageCollector, der dir die Arbeit abnimmt. Drum wäre das meine Empfehlung, ist echt toll
Und wenn du ordentliche Referenzen, Projekte, Interesse und Erfahrung aufweisen kannst, wirst du mit Sicherheit genommen, denn an praktischer Erfahrung fehlt es dann nicht mehr!
Hätte mich auch gewundert, wenn hier jetzt jemand was anderes gesagt hätte Btw du kannst auch Makros erstellen, falls du noch was zusätzliches zu der Meldung hinzufügen willst Falls dich das mit den Ressourcen und der Performance interessiert, dann solltest du lieber auf Strukturen achten (if-else, switch, foreach, while, do-while usw.).
Es ist auch nicht schlimm, von PreprocessorSprachen oder ähnliches im Bereich der Programmierung mit PAWN nichts zu wissen (wobei man eigentlich bei C auch schon vom Precompiler oder ner abstract machine gehört haben sollte). PAWN hat viele coole Dinge, die viele nicht kennen. Man kann auch direkt in PAWN mit Assembler arbeiten. Assembler ist eine Preprocessor Sprache, die man zum Beispiel beim debuggen eines Programmes erhält (also den Quellcode in dieser Sprache). Wenn man sich damit auskennt, kann man bei einigen Dingen deutlich die Performance verbessern (wobei das meiste nicht mehr optimierbar ist)
B ist zwar zwar relativ komplex, aber mein Favorit. 1. wird es nicht langweilig, 2. kann man so seine Zeit vertreiben und überlegen. 3. klingt es mehr nach Reallife, da sowas auch nur auf einem Reallife Server Sinn macht (man pflügt schließlich auf keinem DM Server Äpfel^^).
Berechtigung des icons Ordner ändern. (Sollte aber theretisch nicht daran liegen, da sonst eine Fehlermeldung "Permissions denied" dastehen müsste).
Öffne auch mal das Bild, vielleicht ist es beschädigt.
Zudem kannst du bei <a> Tags beim href Attribut ein "#" benutzen, um einen leeren Link anzugeben < a href="#" / >
Gegebenenfalls ist dir auch ein Upload Fehler unterlaufen. Verzeichnis mal aktualisieren und überprüfen. Muss an der Struktur der Dateien liegen bzw. dass sie nicht existieren
Auch wenn ich nicht mit PAWN arbeite, interessante Idee! Habe sowas damals in Java umgesetzt (mit zusätzlich eigenen Callbacks für ein besseres Handling sowie ein Grundsystem für alle Missionen, damit man ne Basis hat. Aber in Java ist das viel einfacher ^^). Bin gespannt was es wird
Genau hätte auch gedacht, dass du dann nur die Website bzw. HTML Datei downloadest, aber 11MB sind dafür recht groß. Entweder sind auf dem Link noch ein paar Bilder oder das ist die RAR Datei, nur ohne .rar Endung. Kannst es ja überprüfen indem du den Link in deinen eigenen Browser eingibst und testest, ob er die richtige Datei downloadet oder einfach nur ne Seite öffnet.
Hört sich echt nice an, man hat auf jeden Fall eine schöne Auswahl!!
@HelpShaper: dafür kann aber der Server nichts, falls es dir klar ist. Gegen solche Cheats/Hacks ist SAMP einfach nicht ausgelegt. Da kann man überhaupt nichts machen, außer man benutzt eine ThirdParty Software, bei denen es immer zahlreiche Gegenstimmen gibt und was die Spielerzahl drückt - Als Denkanstoß
Naja joa, VirtualBox ist von Oracle. Da kann man ne virtuelle Maschine drauf laufen lassen, also Linux auf deinem Windows. Das ist beispielsweise auch praktisch, wenn man mit Viren/Trojanern oder empfindlichen/aggressiven Dateien arbeitet (Sandbox is ne gute Alternative).
Aber ja, wenn du dir ne Internetverbindung über ne Bridge herstellst, kannste das dann wie einen kompletten Linux Computer auf deinem Computer nutzen ;). Also kannste dann testen, dein SAMP Server oder CSGO durch Steam zu installieren. Nur keine Ahnung wie das mit der Firewall, IP und dem Zugriff auf den Server von außen läuft
Eine andere günstige Alternative wäre in Raspberry Pi (Raspy). Ich hab mich mit dem Zero auseinandergesetzt. Unglaubliche Performance für das kleine Ding! Super günstig, kannst dich ja mal erkundigen Und als Server kannst dus auch nutzen, wobei ich dir gleich empfehlen würde, den teuersten aber am besten ausgestatteten nehmen würde. (Btw. die zusätzliche Ausstattung / das Equipment hat bei mir das 10fache des Pi zero gekostet, ergo Zero für ca. 5€ - falls es noch richtig in meiner Erinnerung ist :D)
Ich denke, dass es einige abschreckt, dass es auf Java statt auf PAWN programmiert ist. Aber es ist im normalen Gebrauch eher besser mit der Performance. Zudem habt ihr so ein System und ein Beispiel, wie man dynamisch GUIs programmiert. Erweiterunfen und Ideen wie 'Switcher' habe ich bereits eingefügt. Falls ich Zeit habe, werde ich alles noch ergänzen. Aber momentan gibt es wegen fehlenden Anfragen und fehlender Interesse keine Motivation, dies zu implementieren.
Falls ihr einen Guide oder hilfe braucht, kann ich das gerne anfertigen. Ansonsten läuft es problemlos und sehr gut von der Performance her. Einfache Bedienung. Falls es jedoch Probleme gibt, werde ich oder @123marvin123 (der fortführende Entwickler des Plugins sicher helfen.
Ich bin auch für PNs offen oder Posts an die Pinwand
@iPower: Indem ich in Java Klassen erstellt habe, welche man simple erweitern kann und modifizieren kann. Falls du dich in Java mit ArrayLists auskennst, diese nehmen dynamisch Objekte eine bestimmten Klasse als Element entgegen. Das ist auch mit den ComponentData möglich, um die Daten eines Komponenten zu bekommen. Wenn ihr Wünsche habt, könnt ihr diese hier auch gerne einfügen. Aber für mich macht Java einfach am meisten Sinn, da es objektorientiert und eher die Zukunft ist
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
Meine Präsentation des System ist schon etwas länger her (SAMP GUI Library).
Ich habe mich dazu entschieden, dieses System zu veröffentlichen, da es immer wieder Personen gibt, die ein eigenes GUI nutzen wollen, aber dazu keine Erweiterungen wie Clientside Plugins bzw. diese nicht selbst schreiben wollen. Zudem ist es für mich nicht mehr sinnvoll, da es Textdraw Limits gibt und ich ein GUI System erschaffen will, das eine gute Performance und neue Grafiken hat. Dazu eigne ich mir Modifizieren und C++ an, damit ich selbst dieses System als GUI als clientside & serverside Plugin nutzen kann. Dieses Plugin läuft serverside und ist für Shoebill in Java geschrieben.
In der Readme auf GitHUB ist ein Beispielcode. Wie ihr in den Videos seht, ist vieles möglich und man kann es auch einfach erweitern (da das Grundgerüst komplett fertig gebaut ist). Es gibt Components ("Komponenten") und Attachments. Die Komponente kann man einfach zu jeder Seite hinzufügen. Die Attachments kann man an die Komponenten anheften. Das ist Beispielsweise praktisch, wenn man eine Bar ("Balken") hat und dort einen Text als Attachment anheftet. So kann man einfach viele Seiten dynamisch erstellen, dynamisch Komponenten und Attachments hinzufügen oder entfernen, Daten über Text/String Identifizierung setzen und entgegennehmen.
Weitere Infos kommen morgen, wollte das erstmal hinter mich bringen mit dem Release, bevor ich das vergesse
[tabmenu]
[tab='Informationen']
Programmiersprache: Java (für das Shoebill Plugin)
Programmierdauer: Einige Wochen, je nachdem, wie man Lust und Zeit hatte
Bugs vorhanden: Ja, kenne bisher nur 2, aber bin mir nicht sicher, ob die jemand finden wird
Probleme: Man sollte das Plugin bis jetzt nur mit anderen Shoebill Plugins oder Gamemodes nutzen, da bis Shoebill 2.0 draußen ist, es keine Detection gibt, wann von PAWN aus TextDraws erstellen wurden -> Man kann Probleme mit den Limits bekommen und das Plugin kann abschmieren
Bedienung: Sehr einfach, jedenfalls kann man sich mit IntelliJ IDEA sehr schön daran ausprobieren
Fragen / Probleme? Immer her damit [tab='Aufbau (Struktur + Technisch)'][subtab='Struktur'] Um das System dynamisch gestalten zu können, habe ich es vom kleinsten Baustein bis zum größten Baustein aufgebaut. Doch was heißt das genau: Das kleinste Element sind die Attachments. Diese kann man den Components hinzufügen, welche man wiederum einem Container oder Page hinzufügen kann. Und diese wird dann einem Panel hinzugefügt. Alle Elemente sind modifizierbar, so z.B. auch das Design sehr einfach durch hinzufügen und standardisieren. [subtab='Technisch'] Beim Programmieren geht man jedoch entgegengesetzt vor: Zuerst erstellt man oder lädt die Referenz zum Panel. Jeder Spieler besitzt nur ein Standardpanel. Weiter wurde (noch?) nicht programmiert. Das Panel ist die Verwaltungsebene. Es speichert alle anderen Referenzen wie Seiten, Container, Überschrift usw... Danach erstellt man eine Seite oder einen Dialog, welcher zum Panel hinzugefügt werden muss. Danach kann man auf die Komponenten eingehen. Durch events kann man alles dynamisch und zeitlich unabhängig abspielen lassen. An die Komponente kann man schließlich noch Attachments anfügen und am Ende, falls man einen Dialog erstellt hat, sollte man diesen noch anzeigen. [subtab='Besonderheiten'] Wie man auch am Beispiel des ColorPickers sieht, kann man das System auch ohne Dialoge und Seiten benutzen. Dazu muss man einfach einen Container erstellen und ihn dem Panel hinzufügen, damit der Container verwaltet werden kann. [tab='Beispielcode Colorpicker']Beispielcode wie man den beim Colorpicker den rechten Rand mit den Farbboxen einfach erstellen konnte + handling dieser:
Code
Color[] color = { .... }; // Farben hinzufügen
for (int y = 0; y < color.length; y++) {
Button button = Button.create(this, startX, startY + paddingY * y, width, "_", "Bar_Button_" + y);
Color tmp = color[y];
button.getButtonTextdraw().setBoxColor(tmp);
button.setClickHandler(handler -> {
clearColorContent();
createColorContent(tmp);
showColorContent();
});
button.toggleActivationEffect(false);
this.addButton(button);
}
Alles anzeigen
[tab='Beispielcode Dialog+MsgBox'] Beispielcode für einen Dialog:
Example how to create a panel with a list, a panelDialog and a MessageBox:
Code
Panel panel = TextdrawSystem.createPanel(player);
TextdrawSystem.setPanel(player, panel);
panel.setDialogLayout(DialogLayout.FORM); //standard layout
panel.getLeftButton().setText(localizedStringSet.get(player, "Dialogs.Back")); //set Text of left button to the localizedStringSet of "Dialogs.Back". That means that we use a language plugin to support multiple languages and translate the string of an .yml file to the language of the player
panel.getRightButton().setText(localizedStringSet.get(player, "Dialogs.Next"));
//example panelDialog
PanelDialog panelDialog = TextdrawSystem.createPanelDialog(player);
// add a list to the dialog
List list = panelDialog.addList("optionList");
//create a listItem
//create group (code example)
list.addListItem("createGroup")
.setClickHandler(handler -> createGroupDialog());
//delete group (ce)
list.addListItem("deleteGroup")
.setClickHandler(handler -> deleteGroupDialog());
//edit group (ce)
list.addListItem("EditGroup")
.setClickHandler(handler -> editGroupDialog());
//disable the okButton (leftButton)
panelDialog.toggleOkButton(false);
//set caption of dialog
panelDialog.setCaption("Caption");
//display the dialog
panelDialog.show();
//MsgBox
MsgBox msgBox = new MsgBox(player, "Caption", "Message", groupName));
msgBox.setCancelButton("No");
msgBox.setOkButton("Yes");
msgBox.setClickOkHandler(msgBoxHandler -> createGroupDialog());
msgBox.setClickCancelHandler(msgBoxHandler -> createOptions());
msgBox.show(); //also possible to use the panel with content !
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen.Weitere InformationenSchließen