Beiträge von myu

    Um euch noch Up-to-Date zu halten, wir nehmen gerne noch Vorschläge an..
    Wir haben wahrscheinlich vor noch einige andere Tools einzubinden wie Map Mover etc.
    Falls da Ideen existieren kann man uns Kontaktieren.


    /E: Existieren bei einigen euch Anpassungsfehler ?

    Die IsDebuggerAttached Funktion ist doch in der kernel32.dll definiert und wird auch exportiert.
    Einfach dort noppen und fertig, @BlackAce :b

    Das musse nichtmal noppen, dazu Reicht ollydbg und ein Plug-in.
    Aber es gibt noch andere Methoden wie Hardware BP's die Debugger durch einander bringen und die werden nicht mal so Exportiert.

    MfG, NewborN
    Also Kreativ bin ich auf jeden Fall, aber auch wie du schon sagtest, das man dort keine Bugs sieht. Ich achte halt sehr drauf, das keinerlei Spuren von irgendwelchen komischen Fehlern auftreten. :)


    Ist ja nicht so das wir die Map Ingame ca 30-60 Minuten "entflackert" haben.
    /E: Und natürlich auch die Fenster neu gemacht.



    Guten Tag liebe Community,


    Hiermit präsentiere ich euch eine Texturen Seite für GTA SA, welche alle Verfügbaren Texturen von GTA:SA besitzt.
    Durch diese
    Seite soll es nun möglich sein endlich GTA ein neuen Look zu verpassen und Spieler eine Map zu präsentieren
    wie sie es so noch nie gesehen haben. Die Idee und die Umsetzung stammt von mir, starke Unterstützung von xGreekz7x der im späteren Verlauf bei der Entwicklung mit wirken wird / beziehungsweise dies schon tut.


    Als kurze Information, die Seite ist absichtlich English gehalten das andere auf dieser Seite (nicht Deutsche) auch klar kommen.


    Ich hoffe sie gefällt euch !


    Mit freundlichen Grüßen
    MyU


    Der Link zu Website:

    Morgen, du Morgenmuffel.


    Find ich ganz Interessant, vorallem der Quick Overview :thumbup:


    MfG

    Danke ;)
    Vorschläge sind immer Erwünscht.


    Ich habe die Update- Time der Statistiken auf 3 Stunden gestellt, somit kann sich die Seite langsam "einweihen" und sie wird wahrscheinlich auch so bleiben.

    Hallo, liebe Morgenmuffel.


    Heute möchte ich euch eine "schnell" Entwickelte Seite Vorstellen, sie nennt sich "SA:MP Statistics" besitzt aber keine eigene TLD da es ein neben Projekt von mir ist.


    Diese Seite "Bunkert" Statistiken von der SA:MP Seite Tag für Tag (GMT | 6:00) um diese dann Öffentlich darzustellen.


    Da, es nicht viel zu Erzählen gibt diese Seite wurde in 1ner Stunde erstellt sie kann noch Rechtschreibfehler & Logikfehler enthalten momentan existiert ein Seiten System und eine schnelle Übersicht.


    Es sind noch Grafische Darstellungen geplant.



    Seite: Klicke hier um auf die Seite zu gelangen.


    Um mich kurz zu Halten, Ja jedenfalls in der Stabilität...


    Gründe habe ich oben genannt.

    Y_Less hat eine Include gemacht mit der es möglich ist sowas ohne Plugin zu machen..


    Und, schon wieder kommen wir zu der Sache das die PAWN Version von SA:MP einfach nicht für Dynamischen Speicher umgang ausgelegt ist auch wenn es Y_LESS für einige der "Meister" Zauberer ist heißt es nicht das dieser Code nach einer längeren Laufzeit Stabil & ohne Probleme läuft.


    Soweit, ich es der Include entnommen habe löst diese immer die Adressen für Funktionen wie "strlen,strcat,format,uvm" auf...


    Mit diesem Plugin umgehe ich dies und Löse die Adressen für SendClientMessage etc nur EINMAL auf, und der Rest wird nicht über format oder anderes geleitet sondern von mir selbst in C++ Verwaltet.

    Jeder, hat sein eigenen Geschmack und sollte wissen was er Verwendet daher bitte ich darum mit Sachlicher Kritik zu kommen (.. und nicht den Texten von jemanden anderen) als immer wieder zu probieren irgendetwas mit irgendwas anderen zu unterjochen.

    @Firerfan
    So, oder so bist du darauf angewiesen wenigstens etwas mit Speicher Manipulation zu Arbeiten wenn es Effizient und ohne Überschneidungen funktionieren soll.
    Ich kann dir jetzt keine genauere Ergebnisse oder anderes Liefern, da ich jetzt in PAWN noch nicht solche Versuche gewagt hatte / benötigt habe.


    Und über die Makro würdest du dann sowieso wieder "format" Aufrufen, was wieder etwas Ausführzeit benötigt was ich hier zB nicht mache.



    SIEHE: http://forum.sa-mp.com/showthread.php?t=257849

    Warum das ganze als Plugin rausbringen und nicht als Pre-Compiler Funktion?


    Ich habe schon erwähnt, das es Möglichkeiten gibt (Ryder hatte mal so etwas "versucht).


    Aber, die Sache ist das sich der Speicher bei PAWN nicht ganz Dynamisch verändern / beeinflussen lässt.


    Das heißt, das du oft in die Gefahr raus läufst das du Referenzen zu Memory- Regionen verlierst und somit ein Memory Leak hast.

    Ich habe vor 3 Minuten ein Dateianhang in meinem Thread hinzugefügt, nun hat er auf einmal 154 Downloads obwohl gerade mal 15 im Thread waren.



    Thread: [ PLUGIN ] Better Format


    Es gibt nicht viel zu erklären, wollte es nur mal erwähnen.


    /E: Entweder eine Fehlfunktion, oder ein User der den Download vergewaltigt hat.

    Zitat

    Ist doch relativ ob man wenige ms spart oder nicht?

    Ja, wenn man sich überlegt der Benchmark führt den Code 100x10000 aus (1000000 mal)...
    Um jetzt schnell genau zu werden, es wird im normalen Einsatz kein großen Unterschied machen da du wohl unmöglich in einer Sequenz 1000000 eine Nachricht sendest oder anderes...


    Es wird bald eine neue Version folgen mit mehr Natives & kleine Optimierungen (200ms weniger Execution- Time unter Windows). (LINUX noch nicht getestet)


    myu: bitte nachholen - danke.


    Nachgeholt, Danke.



    Dieses kleine Plug-in, hilft dir dabei mehr Ordnung in deinem Skript zu bringen.
    Es bietet momentane eine Übersichtliche Liste an Funktionen:



    SendClientMessageX - Als Ersatz für SendClientMessage
    PlayerTextDrawSetStringX - Als Ersatz für PlayerTextDrawSetString
    GameTextForPlayerX - Als Ersatz für GameTextForPlayer


    SendClientMessageToAllX - Als Ersatz für SendClientMessageToAll
    TextDrawSetStringX - Als Ersatz für TextDrawSetString
    GameTextForAllX - Als Ersatz für GameTextForAll
    (Mehr geplant, schreibe einfach darunter was für eine Funktion du benötigst!)


    Momentane, Benchmarks sind unschlüssig bei einigen ist die Performance gut bei einigen um die 200MS Langsamer als die Herkömmliche Art (array,format,sendclientmessage)...


    Hier, ist es ganz einfach den Spieler eine Nachricht mit mehreren Input's zu senden...



    Beispiel:


    Mit Better Format:
    public OnPlayerConnect(playerid) {


    new version[40], name[MAX_PLAYER_NAME];
    GetPlayerVersion(playerid, version, 40);
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);


    SendClientMessageX(playerid, 0xFFFFFFFF, "Hallo %s, deine momentane SA:MP Version ist: %s!", name, version);


    return 1;
    }


    Ohne Better Format:
    public OnPlayerConnect(playerid) {


    new version[40], name[MAX_PLAYER_NAME];
    GetPlayerVersion(playerid, version, 40);
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);


    #define _S_LENGTH (50 + MAX_PLAYER_NAME + 40)
    new msg [ _S_LENGTH ]; // Text Länge + EOS, Namenslänge, Versionslänge
    format ( msg, _S_LENGTH, "Hallo %s, deine momentane SA:MP Version ist: %s!", name, version);
    SendClientMessageX(playerid, 0xFFFFFFFF, msg);


    return 1;
    }


    Man sieht, mit Better Format ist schon mal viel mehr Übersichtlichkeit im Code und da C++ die Vorteile bietet das man Speicher ohne Große Probleme Dynamisch anlegen kann und danach wieder "auslöschen" ist Speicher gespart.
    // Später ist eine Version mit Fester Speicher Zuweisung geplant.


    Ohne viel Gerede ( da es nichts besonderes mehr zum sagen gibt):


    Downloads:
    @ Dateianhang

    Mirrors:
    PAWN Include File - Linux .so File - Windows .dll File - All- in- One Pack - Benchmark Filterscript



    Die Veröffentlichung ohne Sourcecode wurde von dem Moderator "BlackAce" genehmigt.

    myu Ich kann bestätigen, das diese Methode wirklich zu 90% geht, diese Funktion ist bereits auf seinem Server und auf noch ein paar.

    1. Welche Methode
    2. Man kann sich bei SA:MP auf nichts Verlassen, ich sage es mal so das was ihr von SA:MP wisst bzw. die meisten denken zu wissen verstört einige ;D

    Bisher kann man sich nur durch Clients 100% schützen.


    Also, sowas ohne irgendwelche Beweiße zu Behauten tz.tztz jetzt mal ernst..


    Es heißt nicht umsonst "Never trust the Client", Clientseitig kann ALLES wirklich ALLES modifiziert werden...

    Man kann Bugs in "s0beit" ausnutzen zu seinem Vorteil (die findet man schnell wenn man den Code etwas analysiert).


    Aber sobald man den Check, etwas mehr benutzt wird es von den Cheat Erstellern gefixt.


    Vor allem alle Publik Methoden, selbst suchen ist hier wirklich die beste Lösung.