Beiträge von Alf21

    Frage^^


    Wie wird eigentlich in SAMP die Velocity / Geschwindigkeit benutzt? Normalerweise wird die Geschwindigkeit mit Gesamtdistance / Zeit berechnet, jetzt stellt sich aber die Frage wie es in SAMP geregelt wird bzw wie die Zeitvariable heißt, brauche das für genaue Berechnungen :)


    Standart geht so (in km/h):


    X,Y und Z sind die Variablen von GetVehicleVelocity.
    Math.sqrt bedeutet "QuadratWurzel ziehen"
    speed = Math.sqrt(X*X+Y*Y+Z*Z)*136.666667;
    Woher kommt jetzt diese Zahl: "136.666667"? Normalerweise (um mp/h) zu berechnen steht da glaube "100", dennoch, wozu multipliziert man bzw warum mit 100?

    Ich suche nacher das Tutorial das bei mir geklappt hat ;)
    Aber eig müsste es wirklich so gehen:
    Gehe sicher, dass du GTA_SA.exe nicht im Kompatibilitätsmodus startest. Starte GTA SA, schließe es wieder. Dann deinstallierst du SAMP. Dann löscht du den Userfiles Ordner, also bei den 'Eigenen Dokumenten' den San Andreas Userfiles Ordner. Dann haust du SAMP wieder drauf und startest SAMP (nichts am Kompatibilitätsmodus ändern und nicht GTA_SA zwischendurch starten!). Falls das nicht klappt, dann das Spiel einfach neuinstallieren, SAMP rauf und dann müsste es auch gehen.

    Also dass es noch viele nicht erfundene Sachen gibt, da habt ihr natürlich recht, aber im Grundsätzlichen gibt es das wichtigste schon. Ich habe vor kurzem ein Tacho gebaut und musste erfahren, dass ich es wohl geklaut habe, also gibts doch schon viele Sachen, die in der Zeit wohl verloren gegangen sind, iwo aber gibt und es unsinnig ist, diese neu zu erfinden (ich hätte suchen müssen :D). Desweiteren bietet SAMP nicht mehr ausreichend Möglichkeiten, etwas für Spieler zu schaffen, das "ANDERS" ist, denn da spielt die Performance nicht mit. Sei es bei mir mit den Textdraws (es gibt ein Limit, somit kann man keine Kreise aus Rechtecke bauen und für Textdraws gibt es nicht genug Möglichkeiten, abgesehen von Sprites, die aber auch jeder User selbst downloaden muss). Mit den Clients hast du auch recht @m4a_X, viele wollen und trauen sich nicht einen Client zu downloaden, im englischen Forum wollte ich auch nen AntiCheat Client downloaden und einbauen, aber waren erstmal zich Trojaner drin ;) Man müsste alles in allem eher so wie bei Garrys Mod das Serverside mit Download regeln lassen, über von SAMP geprüfte Databases, sowas wie ein "Appstore", aber das ist denke ich viel zu kompliziert und wird nie kommen. Mir fehlt es auch an einfachen Funktionen oder wenn ein Spieler sich auf dem Desktop befindet wird onPlayerUpdate nicht mehr ausgeführt, was auch Bugs hervorruft und nervt. Somit liegt denke ich vieles bei Kalcor, denn was atemberaubendes fordert meist viel Performance, was wiederum für das Gameplay oder den Server nicht gut ist, da man auch ne Community haben will. Meine Idee wäre dem User mehr Freiheit zu lassen, klar gibt es viele Umsetzungen von Reallife servern, aber es gibt noch viel zu entdecken. Wollte ma selbst mit nem Temperatursystem anfangen, halt Winter, Sommer, man muss sich nach der Kälte kleiden usw. ^^ Wäre ziemlich Sims Like aber auch was..

    Er spricht vom Kompatibilitätsmodus der Windows Anwendungen.Siehst du, wenn du auf einer Anwendung einen Rechtsklick machst, unter Eigenschaften und oben im Reiter auf "Kompatibilität".

    Genau, ich glaube dass das damals bei Windows XP oder Windows 7 (bei mir) so war, dass ich SAMP und GTA.exe immer im Kompatibilitätsmodus Windows Me starten musste^^ Jedenfalls muss ich das jetzt nicht mehr, alle Gamefeatures werden unterstützt und es macht sich echt mega praktisch, den eingebauten Recorder zu benutzen, um Videos aufzunehmen.

    Ja ich erst vor kurzem... Musste dafür aber mein gta.set Datei löschen (oder wie diese Datei in den GTA San Andreas Userfiles heißt) und dann einfach starten ohne Kompatibilität. Falls das auch nicht geht SAMP desinstallieren, GTA über setup oder CD neuinstallieren und SAMP wieder draufhauen. Gibt viele Guides im Net, aber ja, es geht.
    (Bei mir besser als auf Windows7).

    @Markuslobicher find ich ganz schön gewagt das einfach in den Raum zu stellen, dass ich geklaut habe ;)
    Falls du dich mit Java auskennst würde ich dir empfehlen, ma meinen Source Code zu überprüfen, ich bin sicher dass er anders ist, da es komplett selbst geschrieben und designed ist. Ich habe so ein Tacho auch noch nicht gesehen, aber ich bin nicht viel auf Servern unterwegs. Falls du dann immernoch der Meinung bist, dann dein Ding, aber ich kann dir versichern, dass alles selbst gemacht ist ;) Werde das Tacho auch updaten, denke dann ähnelt es keinem mehr.

    Danke für eure Meinung, nur dann kann ich auch was verbessern... Wobei es hier sehr Geschmackssache ist, der eine findet es gut, der andere wieder nicht ^^


    @BlackAce:
    Und wie siehts hiermit aus? :P

    Externer Inhalt youtu.be
    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.


    //edit
    Ich könnte die Punkte des neuen Tachos auch dünner und vervielfachen, dann würde es fast wie nen richtiger Zeiger aussehen, nur dass es noch mehr Bandbreite frisst ^^


    Textdraws zum neuen Tacho:
    Textdraw0 = TextDrawCreate(551.500000, 412.500000, "|");
    TextDrawBackgroundColor(Textdraw0, 255);
    TextDrawFont(Textdraw0, 1);
    TextDrawLetterSize(Textdraw0, 0.969999, 3.399998);
    TextDrawColor(Textdraw0, 16777215);
    TextDrawSetOutline(Textdraw0, 1);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawSetSelectable(Textdraw0, 0);


    Textdraw1 = TextDrawCreate(546.000000, 404.000000, "|");
    TextDrawBackgroundColor(Textdraw1, 255);
    TextDrawFont(Textdraw1, 1);
    TextDrawLetterSize(Textdraw1, 1.669999, 6.599998);
    TextDrawColor(Textdraw1, 255);
    TextDrawSetOutline(Textdraw1, 1);
    TextDrawSetProportional(Textdraw1, 1);
    TextDrawSetSelectable(Textdraw1, 0);


    Textdraw2 = TextDrawCreate(551.000000, 395.000000, "|");
    TextDrawBackgroundColor(Textdraw2, 100);
    TextDrawFont(Textdraw2, 1);
    TextDrawLetterSize(Textdraw2, 0.969999, 3.399998);
    TextDrawColor(Textdraw2, 255);
    TextDrawSetOutline(Textdraw2, 1);
    TextDrawSetProportional(Textdraw2, 1);
    TextDrawSetSelectable(Textdraw2, 0);


    Textdraw3 = TextDrawCreate(551.000000, 381.000000, "|");
    TextDrawBackgroundColor(Textdraw3, 100);
    TextDrawFont(Textdraw3, 1);
    TextDrawLetterSize(Textdraw3, 0.969999, 3.399998);
    TextDrawColor(Textdraw3, 255);
    TextDrawSetOutline(Textdraw3, 1);
    TextDrawSetProportional(Textdraw3, 1);
    TextDrawSetSelectable(Textdraw3, 0);


    Textdraw4 = TextDrawCreate(551.000000, 367.000000, "|");
    TextDrawBackgroundColor(Textdraw4, 100);
    TextDrawFont(Textdraw4, 1);
    TextDrawLetterSize(Textdraw4, 0.969999, 3.399998);
    TextDrawColor(Textdraw4, 255);
    TextDrawSetOutline(Textdraw4, 1);
    TextDrawSetProportional(Textdraw4, 1);
    TextDrawSetSelectable(Textdraw4, 0);


    Textdraw5 = TextDrawCreate(564.000000, 355.000000, "_");
    TextDrawAlignment(Textdraw5, 2);
    TextDrawBackgroundColor(Textdraw5, 255);
    TextDrawFont(Textdraw5, 1);
    TextDrawLetterSize(Textdraw5, 0.500000, 9.100003);
    TextDrawColor(Textdraw5, -1);
    TextDrawSetOutline(Textdraw5, 0);
    TextDrawSetProportional(Textdraw5, 1);
    TextDrawSetShadow(Textdraw5, 1);
    TextDrawUseBox(Textdraw5, 1);
    TextDrawBoxColor(Textdraw5, -206);
    TextDrawTextSize(Textdraw5, 0.000000, 142.000000);
    TextDrawSetSelectable(Textdraw5, 0);


    Textdraw6 = TextDrawCreate(620.000000, 417.000000, "200");
    TextDrawAlignment(Textdraw6, 2);
    TextDrawBackgroundColor(Textdraw6, 255);
    TextDrawFont(Textdraw6, 2);
    TextDrawLetterSize(Textdraw6, 0.300000, 1.000000);
    TextDrawColor(Textdraw6, -1);
    TextDrawSetOutline(Textdraw6, 1);
    TextDrawSetProportional(Textdraw6, 1);
    TextDrawSetSelectable(Textdraw6, 0);


    Textdraw7 = TextDrawCreate(559.000000, 357.000000, "100");
    TextDrawAlignment(Textdraw7, 2);
    TextDrawBackgroundColor(Textdraw7, 255);
    TextDrawFont(Textdraw7, 2);
    TextDrawLetterSize(Textdraw7, 0.300000, 1.000000);
    TextDrawColor(Textdraw7, -1);
    TextDrawSetOutline(Textdraw7, 1);
    TextDrawSetProportional(Textdraw7, 1);
    TextDrawSetSelectable(Textdraw7, 0);


    Textdraw8 = TextDrawCreate(507.000000, 417.000000, "0");
    TextDrawAlignment(Textdraw8, 2);
    TextDrawBackgroundColor(Textdraw8, 255);
    TextDrawFont(Textdraw8, 2);
    TextDrawLetterSize(Textdraw8, 0.300000, 1.000000);
    TextDrawColor(Textdraw8, -1);
    TextDrawSetOutline(Textdraw8, 1);
    TextDrawSetProportional(Textdraw8, 1);
    TextDrawSetSelectable(Textdraw8, 0);


    Textdraw9 = TextDrawCreate(504.000000, 401.000000, "20");
    TextDrawAlignment(Textdraw9, 2);
    TextDrawBackgroundColor(Textdraw9, 255);
    TextDrawFont(Textdraw9, 2);
    TextDrawLetterSize(Textdraw9, 0.300000, 1.000000);
    TextDrawColor(Textdraw9, -1);
    TextDrawSetOutline(Textdraw9, 1);
    TextDrawSetProportional(Textdraw9, 1);
    TextDrawSetSelectable(Textdraw9, 0);


    Textdraw10 = TextDrawCreate(511.000000, 385.000000, "40");
    TextDrawAlignment(Textdraw10, 2);
    TextDrawBackgroundColor(Textdraw10, 255);
    TextDrawFont(Textdraw10, 2);
    TextDrawLetterSize(Textdraw10, 0.300000, 1.000000);
    TextDrawColor(Textdraw10, -1);
    TextDrawSetOutline(Textdraw10, 1);
    TextDrawSetProportional(Textdraw10, 1);
    TextDrawSetSelectable(Textdraw10, 0);


    Textdraw11 = TextDrawCreate(521.000000, 371.000000, "60");
    TextDrawAlignment(Textdraw11, 2);
    TextDrawBackgroundColor(Textdraw11, 255);
    TextDrawFont(Textdraw11, 2);
    TextDrawLetterSize(Textdraw11, 0.300000, 1.000000);
    TextDrawColor(Textdraw11, -1);
    TextDrawSetOutline(Textdraw11, 1);
    TextDrawSetProportional(Textdraw11, 1);
    TextDrawSetSelectable(Textdraw11, 0);


    Textdraw12 = TextDrawCreate(537.000000, 362.000000, "80");
    TextDrawAlignment(Textdraw12, 2);
    TextDrawBackgroundColor(Textdraw12, 255);
    TextDrawFont(Textdraw12, 2);
    TextDrawLetterSize(Textdraw12, 0.300000, 1.000000);
    TextDrawColor(Textdraw12, -1);
    TextDrawSetOutline(Textdraw12, 1);
    TextDrawSetProportional(Textdraw12, 1);
    TextDrawSetSelectable(Textdraw12, 0);


    Textdraw13 = TextDrawCreate(584.000000, 362.000000, "120");
    TextDrawAlignment(Textdraw13, 2);
    TextDrawBackgroundColor(Textdraw13, 255);
    TextDrawFont(Textdraw13, 2);
    TextDrawLetterSize(Textdraw13, 0.300000, 1.000000);
    TextDrawColor(Textdraw13, -1);
    TextDrawSetOutline(Textdraw13, 1);
    TextDrawSetProportional(Textdraw13, 1);
    TextDrawSetSelectable(Textdraw13, 0);


    Textdraw14 = TextDrawCreate(601.000000, 371.000000, "140");
    TextDrawAlignment(Textdraw14, 2);
    TextDrawBackgroundColor(Textdraw14, 255);
    TextDrawFont(Textdraw14, 2);
    TextDrawLetterSize(Textdraw14, 0.300000, 1.000000);
    TextDrawColor(Textdraw14, -1);
    TextDrawSetOutline(Textdraw14, 1);
    TextDrawSetProportional(Textdraw14, 1);
    TextDrawSetSelectable(Textdraw14, 0);


    Textdraw15 = TextDrawCreate(612.000000, 385.000000, "160");
    TextDrawAlignment(Textdraw15, 2);
    TextDrawBackgroundColor(Textdraw15, 255);
    TextDrawFont(Textdraw15, 2);
    TextDrawLetterSize(Textdraw15, 0.300000, 1.000000);
    TextDrawColor(Textdraw15, -1);
    TextDrawSetOutline(Textdraw15, 1);
    TextDrawSetProportional(Textdraw15, 1);
    TextDrawSetSelectable(Textdraw15, 0);


    Textdraw16 = TextDrawCreate(617.000000, 401.000000, "180");
    TextDrawAlignment(Textdraw16, 2);
    TextDrawBackgroundColor(Textdraw16, 255);
    TextDrawFont(Textdraw16, 2);
    TextDrawLetterSize(Textdraw16, 0.300000, 1.000000);
    TextDrawColor(Textdraw16, -1);
    TextDrawSetOutline(Textdraw16, 1);
    TextDrawSetProportional(Textdraw16, 1);
    TextDrawSetSelectable(Textdraw16, 0);

    Wenn du mit Bots arbeiten willst kann ich dir auch nur FCNPC empfehlen, da gibts nen Fork auf GitHub (OPEN-GTO/FCNPC), bei dem das Plugin geupdatet wurde und auch auf Wunsch die einheitlichen virtuellen Welten implementiert. Zudem könntest du bei komplexen Strecken sowas wie einen Pathfinder bauen / aus dem englischen Forum benutzen.


    Sorry dass ich die Links nicht parat habe, bin am Handy, werde sie morgen nachtragen.


    Wegen den Bots: du musst auch in der server.cfg ne maximale Anzahl der Bots einstellen / erhöhen. Falls du das FS eingetragen hast, dann nutzt du vllt den falschen Befehl, wie siehts mit /ofrecord aus?

    vehicle-system

    Externer Inhalt www.youtube.com
    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.

    Externer Inhalt youtu.be
    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.


    Das ist ein Vehiclesystem, erstmal nur mit Tachometer fürs Shoebill Plugin, natürlich etwas designed, mit Berechnungen und "Animationen" ^^


    Download: https://github.com/Alf21/vehicle-system


    Textdraws für PAWN:

    Vielleicht liegt es daran. Hast du vielleicht eine Lösung dafür?

    Hm da können dir die anderen mit einem Code sicher besser helfen. Generell muss klar sein, dass du die Freundesliste irgendwo gespeichert hast und initialisierst.
    Dann kann man noch überprüfen, ob ein String leer ist if(strcmp(f_Friend_2[playerid][i], "") == 0){}.


    Wie ist deine ReturnPlayerID Methode programmiert? Ich kenne nur diese https://wiki.sa-mp.com/wiki/GetPlayerID und um zu checken, ob ein Spieler connected ist geht auch das http://forum.sa-mp.com/showthread.php?t=180140 (isPlayerConnected(playerid), playerid != INVALID_PLAYER_ID)

    Okay also ich kenne mich überhaupt nicht mehr mit Pawn aus :D Aber probiere mal dem String (falls er leer ist) einen Standardwert zu geben. Außerdem ist mir aufgefallen, dass du MAX_FRIENDS global definiert hast, was ist aber wenn ein Spieler weniger als die definierte Anzahl hat? Dann wird der for-Loop zwar ausgeführt, f_Friend_2[playerid][i] ist aber leer.

    Nur mein GTA crasht.

    Dann hast du vielleicht nicht unterstütze Zeichen in deinem Dialog oder du hast ein leeres Feld, son Problem hatte ich schonmal.


    ShowPlayerDialog(playerid, DIALOG_FREUNDE_LIST, DIALOG_STYLE_LIST, "{10549E}• Freundesliste", str, "Auswählen", "Schließen");
    vielleicht ist der 'str' leer oder es ist dieses Zeichen mit einer falschen Kodierung '•'

    ColorCode supported Info Chat

    Externer Inhalt www.youtube.com
    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.

    https://www.youtube.com/watch?v=65JCdFzNLAM


    Das ist ein Info Chat, der PlayerTextdraws erstellt und diese in einer einstellbaren Zeit erscheinen lässt (mit Animation) und diesen PlayerTextdraw eine einstellbare Zeit anzeigt.




    Nutzung:
    In einem Plugin bei onEnable() oder im Gamemode bei onInit() den Chat initialisieren, indem ihr die Referenz speichert (Chat chat = new Chat()) und bei onDisable() den Chat mit chat.destroy(); zerstören und dann z.B. unter Commands


    Java
    @Command
    	@CommandHelp("/chatme")
    	public boolean chatme(Player player, String msg) {
    		EventSystem.getInstance().getChat().sendMessage(player, msg);
    		return true;
    	}


    Ich würde mich über ein Feedback oder Ideen freuen!