Beiträge von IPrototypeI

    @ MB-Tech


    Du kannst das nicht machen da dir danach ein Error kommt da dies schon definiert ist.


    Zum Minusgeld es könnte sein das du ein fehler machst beim auslesen der daten und somit ein string übermittelt wird.



    @ Tommyx3


    kannst du nochmal dein Problem erläutern da versteht man nicht genau was du willst.
    Ich geh jedoch mal davon aus das du mit deinem einen Textdraw nix auswählen kannst oder habe ich das falsch verstanden ?
    oder geht es darum auf den vorherigen skin zu wechseln, da schreib doch einfach das ganze um .

    du kannst die funktion von FireFan umschreiben




    dazu brauchst du die float include von samp da sin und cosinus benutzt werden
    orginallink:


    http://forum.sa-mp.de/san-andr…Ctzliche-codeschnipsel-36

    Unerfahren.. Änder die Font, dann hat das ganze ein komplett neues Bild


    Diesem komentar muss ich bei pflichten die Font ist nicht so das ware im Header beziehungsweise dem Logo sieht das ganze ziemlich gut aus aber die Font an den anderen punkten ist eher unpassend und störend und bei dem unterren container hast du immer noch den selben fehler


    Ich hoffe dir ist bewusst wie diese include aufgebaut ist , wenn ja überdenke nochmal deine Aussage

    Zitat

    Dazu würde ich dieses Include empfehlen ;)


    Hier werden zwei TImer aufgerufen die alle 5 millisekunden einmal abfragen ob die munition immer noch gleich ist und ob es noch die selbe waffe ist und nochmal ob der spieler ihrgend was verliert mit der selben waffe.


    Da reicht 1 Timer der nicht wiederholt werden muss und OnPlayerKeyStateChange , na gut ich hatte unten noch den Timer hinzufügen sollen da er sonst nur
    die munnition nach jedem tastendrück verglichen hätte wäre jedoch auch so möglich gewesen.

    Könnte mir jemand die Bedienung erklären?...


    Ist doch einfach

    Code
    GetPointZPos(const Float: fX, const Float: fY, &Float: fZ = 0.0);


    Die ersten zwei Parameter sind die X und Y Achse und die letzte an die gibt er den wert zurück
    BeispieL:

    Code
    new Float: example;
    GetPointZPos(10.0,5.0,example);


    So enthält die neu definierte Float: den wert der von GetPointZPos zurück gegeben wird.


    Dies war ein beispiel für die inlcude bei dem Plugin ist es nicht anders außer das die FUnktion anders heißt. ^^

    Gibt es eine bessere Altanative als Map Andreas, das zb. leichter zu
    bedienen ist?


    nicht direkt was verstehst du da nicht genau?


    Jedoch gibt ein eine besser alternative nur die include von Ryder oder das editierte MapAndreas plugin von Mauzen welches weniger Ram verbraucht also optimiert ist.


    //Zum ersten teil
    klar wird die amx um einen ganz ganz ganz kleinen teil größer.
    Aber er hat geschrieben, dass sie von 2kb auf 137kb hochschiest (irwie sowas), und das, denke ich kann man schon vervielfachen nennen oder ?
    //zum zweiten
    in der amx steht ja nur die anweisung dieses array zu instanzieren, endgültig instanziert, also der reale speicherplatz dafür, wird aber erst geschaffen, wenn die .amx benutzt wird (samp-server)


    Das mit der ersten aussage das war ein kleine klugscheißer provokationen :D nicht ernst nehmen, ich wusste schon was du meinst.


    Aber zum eigentlichen Thema du hast schon recht das der Speicher auch zugesichert wird , wenn die amx ausgeführt wird (samp-server).
    Jedoch um nochmal auf das kompilen zurück zu kommen und der Tabelle , wie sich die array zusammen setzt meiner meinung nach so wie ich es auch mal aufgefasst habe.
    Sollte man sich das array vorstellen wie eine Tabelle das kann man auch ausgeben lassen , wenn man den asm output angeben lässt.


    Jetzt als bestes beispiel was ich mein kannst dir zum beispiel ein einfachen texteditor nehmen.
    Und gibst dort mal 2000 zeichen ein da wird das textfile auch schon etwas groß und das ist das was ich meine.
    Das ein array die vereinfachte form im ist zum beispiel von variabeln.
    also

    Code
    new var1
    new var2
    new var3


    wird so gesehen angeben in der .amx oder als asm code
    0
    0
    0


    Code
    new array[3];


    hingegen so dargestellt wird als tabelle 1 Zeile und 3 Spalten

    Code
    0 0 0


    Also ich gebe ehrlich zu ich hab nicht genau ahnung wie sich das ganze genau bei dem preprozessor auseinenader.


    bei OnPlayerDeath



    klar, trotzdem vervielfacht die amx sich dadurch nicht,
    also ist ein array bei der .amx genauso platzsparend wie eine ganz normale zahl,
    okay fast...


    Natürlich nicht vervielfacht sich die .amx nicht :P .
    Die größe verändert sich.


    Zu dem sagst du ja das variabeln fast das gleiche sind wie arrays obwohl das je nach verwendung ja natürlich unterschiedlich sind daher das fast , jetzt nur auf
    die variabeln bezogen.


    also


    new var1;
    new var2;
    new var3;


    ist das selbe wie


    new array[3]; und enthält auch diese drei variabeln
    array[0], array[1], array[2].


    Solltest du immer noch einer anderen meinung sein dann solltest du dir erstmal selbst erklären warum
    die .amx größe so beinflusst wird bei multidimensionalen arrays.


    Das ganze sollte man sich wie eine tabelle vorstellen die erste dimension wäre die Zeilen die zweite die Spalten etc...
    jetzt mal bezogen auf zweidimensionale arrays.


    Also da ist es ganz klar das eine Tabelle welche nur 10 EInträge hat kleiner ist als eine mit 1000 Einträgen.

    Ich geh mal davon aus du willst nur den punkt haben wo der Spieler hin sieht oder letzt willst du wissen ob sich dort ein objekt befindet wo der spieler hinschaut ?


    zum Thema die koordinate herraus finden wo der spieler hin schaut kannst du GetPlayerCameraFrontVector mit GetPlayerCameraPos zussammen nutzen dies sollte da sgewünschte ergbenis geben . Ein Beispiel ist auf der Wikiseite zu finden


    http://wiki.sa-mp.com/wiki/GetPlayerCameraFrontVector


    Also zum Thema objekte die solltest du durch gehen mit einer schleife und die positionen vergleichen.
    Schau einfach mal bei Codeschnipsel rein da wirst du schon was finden ich hatte da mal eine Funktionen geschrieben IsPlayerViewInRangeOfPoint
    oder so ähnlich. Solltest du es nicht finden dann schau ist selbst noch mal nach in meinen Systemen, da habe ich die Funktion noch.

    Das kann man so nicht sagen, klar, der samp Server legt ein Array an, ein ziemlich groses, dass viel ram braucht. Allerdings hat er gesagt, dass seine amx größer wird und das kann nicht an nem großen Array liegen, dass ram frisst ;)

    Das kann man so nicht sagen, klar, der samp Server legt ein Array an, ein ziemlich groses, dass viel ram braucht. Allerdings hat er gesagt, dass seine amx größer wird und das kann nicht an nem großen Array liegen, dass ram frisst ;)


    trotzdem benötigt all dies speicher , was man an der .amx sehen kann.
    Du solltest auch wissen das die .amx durch eine abstrakte maschine entsteht die die ganzen pawn-codes umwandelt in pcodes
    und das macht auch die größe aus ein beispiel:


    Code
    enum test{
       a,
       b,
       c[100],
       Float:t,
    };
    new array[MAX_PLAYERS][test];


    den code gibst du mal dort ein und lässt dir mal den assemblercode anzeigen.
    dann weisst du ja grob was da für eine menge raus kommt. Es sind zwar keine pcodes , jedoch
    es reicht in sachen umgang recht na daran also ich geh dort von amx scripting aus.


    wegen den bytes alles verbraucht bytes arrays , variabeln , strings etc .....
    Jedoch verbrauchen arrays weniger Speicher als wenn du alles einzelnt definieren würdest .
    so verbraucht eine variabel zum beispiel 4 bytes
    das kannst du mal 2000 nehmen sind als 8000 bytes und 8 kb mehr das böseste sind nunmal hier noch die strings die verbauchen am meisten.

    Das ist mal foll der schmarn. würde dir das mysql-plugin von strickenkid ans herzlegen (in diesem werden die querys wiegewoht ausgeführt).

    Wie ich die Leute mag , die eigentlich nur das rote lesen beziehungsweise nur den einen satz und den dort drüber nicht .

    Zitat


    und zu dem geh ich mal aus das du das falsche mysql plugin verwendest
    oder einfach nur falsch anwendest bei dem r7 plugin von BlueG




    gibt es mysql_query nicht mehr sondern mysql_function_query

    daher bedenke nochmal deine Aussage.

    Der Error kommt , da es ein falscher Name für die library ist.


    daher kannst du das ganze mal umbenennen


    Code
    # sudo ln -s /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so.10


    und sollte das immer noch nicht gehen


    Code
    # sudo ln -s /lib/libcrypto.so.0.9.8 /lib/libcrypto.so.10

    - SpielerSpeichern ist nicht definiert
    - Du hast eine Semicolon vergessen ";"
    und zu dem geh ich mal aus das du das falsche mysql plugin verwendest oder einfach nur falsch anwendest bei dem r7 plugin von BlueG


    gibt es mysql_query nicht mehr sondern mysql_function_query

    es kann auch gut daran liegen das es nicht ausgelesen wird oder übergibst du den Wert nicht .
    Mann kann hier auch nicht eindeutig sagen woran das liegt dazu müsstest du mehr code freilegen.
    Der Teil wo du den account laden lässt wäre da sinvoll.


    aber bevor du das machst gebe erstmal den wert aus beim laden.
    also


    Code
    printf("Ban = %d",GetPVarInt(playerid,"Banned"));

    Das Problem ist Tround, dass bei mir bei XAMPP Errors kommen, und Apache nicht startet. Somit kann MySQL auch nicht starten :/


    Dieses Problem haben sehr viele einfach mal im Forum suchen. Tipp Firewall und Ports frei geben (" blockierung durch skype").
    Ich hatte damals das selbe problem und naja ich bin auf wamp umgestiegen mir war auch die fehlerquelle ehrlich gesagt auch egal .
    Daher kannst du wamp noch als alternative benutzen.