Beiträge von Goldkiller

    Dann ist zu diesem Zeitpunkt die Energie wohl 0.0 . Je nachdem wann du abspeichern lässt,auch nicht gerade unlogisch.


    Kannst es ja mal debuggen.
    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Float:health;
    GetPlayerHealth(playerid, health);
    printf("health -> %.1f",health);
    dini_FloatSet(Spielerdatei, "Leben", health);
    /* blaaaaa blaaa blaaa */

    Die Fehlermeldung sagt es eigentlich schon.Deine deklaration von den Variablen liegt in einem unerlaubtem Bereich
    ocmd:erstellen(playerid,params[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/Accounts/%s.ini",pname);
    new Admin = dini_Int(accFormat,"Admin");
    if(Admin == 0)
    SendClientMessage(playerid, error, "Du bist kein Admin!");
    if(Admin == 1)
    new Float:x,Float:y,Float:z; // <-- Landet sowieso unter der if Anweisung.
    CreateHaus(x,y,z,100,"Keiner",strval(params));



    return 1;
    }
    Entweder du machst die { } Klammern für "if(Admin == 1)" , damit auch mehr als nur 1 Anweisung möglich ist ODER du schiebst "new Float:x,Float:y,Float:z;" direkt unter den Funktionskopf.


    if( Admin == 1 ) {
    // bla 1
    // bla 2
    }

    Das von Tommyx3 ist schon richtig, es kann man halt nur verbessern.
    Die genannten Sachen von mir bekommst du doch sicherlich auch alleine hin.Die Schleife soll bei 1 beginnen und die extra if Abfrage muss entfernt werden ...



    Spoiler anzeigen
    Oder auch hier ... :\
    for(new i = 1 ; i != MAX_VEHICLES; i++)
    {
    GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(i,engine,lights,alarm,VEHICLE_PARAMS_OFF,bonnet,boot,objective);
    }
    return 1;

    Mh ?
    Schleife durch alle Spieler.
    Prüfen ob es ein NPC ist.
    ggf den Namen des Bots mit dem Namen vergleichen,den dein Spectate-Bot haben soll.
    PlayerSpectatePlayer


    Zitat

    Wie macht man eine 50% Gewinnchance beim Casino?
    also Spieler macht /playdice [Geld 5000-50000]
    und er er hat eine 50% gewinnchance, wie mach ich das :O?


    50% ist
    random(2) == 0 v. 1
    oder
    random(100) < 50

    Kannst auch einfach die größe entfernen.
    new JoinPed[][1] = {
    Lässt die Größe weg,so wird sie automatisch errechnet.
    Übrigens sieht es als Multidimensionales Array total hässlich aus.Es wäre auch so möglich:
    new JoinPed[] = {
    Alle Werte dürften dann allerdings nicht mit { } umklammert werden.

    const steht für Konstante.Heisst, du kannst den Wert nicht mehr verändern. Wann du genau const benutzen sollst hängt von dir ab. Je nachdem ob die Werte bei dir sowieso nie geändert werden,kannst du sie als konstante deklarieren.

    Keine elegante Lösung für den Fall ich schreibe folgendes:

    Zitat

    hupsdahabichdochtatsächlichdasleerzeichenvergessen. Was mach ich denn nun ? a b c d e f g h i j k l m n und jetzt wieder etwas halbwegs sinnvolles.


    Sowas solltest du lieber in erster Linie auf Textlänge beziehen und danach,falls eine Textlänge von X erreicht ist, ab dem nächsten LEERZEICHEN trennen.


    So zum Beispiel:
    stock gPM_StripMessageLines( message[ GPM_MAX_STRING ] ) {
    #define SPLIT_LEN 50
    new
    bool:_bBasic = true,
    _iParts,
    _iCount,
    _iTempLen = 0,
    _iPos = 0,
    _iTempPos = 0,
    _iLen;
    _iLen = strlen( message );
    while( ( _iPos = strfind( message , " " , false ,_iPos + 1) ) != -1 ) {
    _iCount++;
    _iTempLen += ( _iPos - _iTempPos );
    _iTempPos = _iPos;
    if( _iTempLen >= SPLIT_LEN ) {
    if( _iPos++ < sizeof( message ) ) {
    strins( message , "\n" , _iPos );
    _iCount = 0;
    _iPos += 2;
    _bBasic = false;
    _iTempLen = 0;
    }
    }
    }
    if( _bBasic ) {
    _iParts = ( _iLen / SPLIT_LEN );
    for( new i = 0 ; i < _iParts ; i++ ) {
    strins(message,"\n", ( ( i + 1 ) * SPLIT_LEN ) );
    }
    }
    #undef SPLIT_LEN
    return message;
    }
    Dann kann es so aussehen..

    Ich mach dann mal dort weiter,wo Deuce aufgehört hat.
    Da sind noch mehr Dinge,die nicht korrekt sind.Langeweile hin oder her, wer soll von falschem Code lernen ?
    new mietroller;
    SetPVarInt(playerid,"Mietroller",mietroller);

    Z.26-27
    Wozu ist die Variable gut ?


    format(string,sizeof(string),"Du hast den Roller erfolgreich gemietet!");
    SendClientMessage(playerid,weiß,string);

    Z.28-29
    Wozu formatierst du ? Da dort keine Platzhalter sind,kannst es auch direkt in die ClientMessage schreiben und sparst a) die Funktion format und b) das Array string.


    #include <sscanf2>
    Z.5
    Du benutzt kein sscanf. Was ist wenn ich die Include nicht habe und sie trotzdem gesucht wird ? Es gibt einen Fehler, obwohl die Datei sowieso nicht gebraucht wird.


    Das Mieten funktioniert doch sowieso nicht.Wo wird dort der Spieler als Besitzer festgelegt ?

    Ich versteh nicht den Sinn dahinter.
    Wenn du immer bei "Vehicles[ %playerid% ]" die playerid speicherst,wozu brauch ich dann die playerid als Index :-O ? Da weiss man doch automatisch,dass es sich beim Index AUCH um den Wert handelt,der dahinter gespeichert werden soll.


    Erklär mal etwas genauer was du vor hast.

    Wieso zeigst du nicht mal den komplett formatierten SQL Befehl.
    format(data,sizeof(data),"SELECT * FROM `vehicles` WHERE `Autobesitzer` = '%s'",_Besitzer);
    print(data);
    Deine Tabellenstruktur hättest du auch schon längst mal posten sollen. Woher sollen wir denn wissen,ob du nicht vllt Autobesitzer als Tabellenfeld nicht hast.
    Eigentlich wird dir ja gesagt was du machen sollst:

    Zitat

    [Sun Mar 18 23:37:51 2012] Error (0): Failed to exeute query. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[GGR]Radio_Bot)' at line 1.


    Übrigens ist deine Postformatierung ziemlich nervig. Dein Beitrag wirkt auch nicht seriöser wenn du immer das Forenlogo zentriert über jeden Post ballerst.

    Das ist ja total schlecht!
    Einfach so eine OCMD-Include genommen, bischen bearbeitet (Wobei die Bearbeitung anscheinen keinen Sinn machte) und released als seine Include.


    MfG


    Ja echt! Total schlecht sowas zu machen ... .



    Moment, ocmd ist ja auch nur so entstanden :sleeping: . Sich deshalb darüber aufzuregen ist also total sinnlos.