Beiträge von SylpheedW

    Da musst du bei PNS mit OnVehicleDamageStatusUpdate arbeitenund den GetVehicleDamageStatus alles 0 ist und er IsPlayerInRangeOfPoint von einem PNS ist Geld abziehen lassen.
    Bei dem Tuning ist es schwerer weil du den Preis aller Komponenten wissen musst.


    MFG Piet

    Wäre es nicht Besser wenn du es über den Besitzer laden würdest oder einfach nacheinander.


    Ausserdem in deinem printf test welchen wert hat str bzw die ID?


    /e
    Wenn du es nacheinander laden willst würde ich die variable von MySQL setzten lassen.
    Hier der MySQL code wo du später nur noch var = mysql_num_rows(); machen musst.

    SQL
    SELECT COUNT(*) FROM `spielerautos`;


    MFG Piet

    Hier etwas geändert:

    stock GivePlayerEuro(playerid, e)
    {
    PlayerInfo[playerid][pGeld] += e;
    new cashtext[64];
    format(cashtext,64,"%d Euro",PlayerInfo[playerid][pGeld]);
    PlayerTextDrawSetString(playerid, Euro2[playerid], cashtext);
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, PlayerInfo[playerid][pGeld]);
    new stringl[184];
    format(stringl,sizeof(stringl),"%s Hat %d Euro Auf die Hand erhalten Insgesamt Geld auf der Hand: %d",SpielerName(playerid),e,PlayerInfo[playerid][pGeld]);
    Logen(stringl);
    return 1;
    }


    Müsste gehen.


    MFG Piet

    Hast du einen Textdraw?
    Wenn ja lass das GTA Geld immer auf deine Variable setzen.


    Also hier ein Schnipsel:

    if(GetPlayerMoney(playerid) != GetPlayerEuro(playerid))
    {
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, GetPlayerEuro(playerid));
    }

    Das muss dann in einem Timer sein.


    MFG Piet

    Falsch mach es so:

    forward Float:mysql_GetFloat(Table[], Field[], Where[], Is[]);
    stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }


    MFG Piet

    Weil bei den MySQL Stocks nur UPDATE drin ist nicht INSERT INTO.


    Mache dir ebend nen stock.


    /e
    Weiß nicht Ob es mit dem INSERT INTO geht aber hier der Stock mit String:

    stock mysql_SetString(Table[], Field[], Where[], Is[], To[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    mysql_real_escape_string(To, To);
    format(query, 128, "SELECT * FROM `%s` WHERE `%s` = '%s'", Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows())//Update
    {
    format(query, 128, "UPDATE %s SET `%s` = '%s' WHERE `%s` = '%s'", Table, Field, To, Where, Is);
    mysql_query(query);
    }
    else //Insert
    {
    format(query, 128, "INSERT INTO %s (`%s`, `%s`) VALUES ('%s', '%s')", Table, Field, Where, To, Is);
    mysql_query(query);
    }
    mysql_free_result();
    return true;
    }


    /e2 Fehler gefixxt


    MFG Piet

    mach einfach dass Beim Laden(also an die Abfrage hinten dran):

    SQL
    WHERE 1


    /e Hier die Stock's Überarbeitet:

    stock mysql_GetFrakInt(Table[], Field[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE 1", Field, Table);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }
    stock mysql_SetFrakInt(Table[], Field[], To)
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    format(query, 128, "UPDATE `%s` SET `%s` = '%d WHERE 1'", Table, Field, To);
    mysql_query(query);
    return true;
    }


    MFG Piet

    Also mit Namen tranzparent machen geht nicht da er in der liste immer FF nimmt.
    Da habe ich immer meinen Namen in komplett Schwarz bekommen(0x00000000)


    /e
    Das Icon 199 was garnicht existiert ist dass:


    /e2
    Es geht Danke.
    Ich habe mich Umgebracht wegen Skins und deswegen kam dass Bild aber geht jetzt mit Slot 500.
    Hier der Code:

    SendDeathMessage(500, 500, 199);


    MFG Piet

    Ich meine dass ich alle 15 sek ein Leeres Feld darein Schiebe.


    Hier mein Jetziger Code:

    //Oben
    new DeathMessageClear=0;


    //Etwas in der Mitte
    stock SendDeathMessage2(killerid, playerid, reason)
    {
    DeathMessageClear = 15*100;
    return SendDeathMessage(killerid, playerid, reason);
    }
    #define SendDeathMessage SendDeathMessage2


    //Unten im Timer
    if(DeathMessageClear > 0)DeathMessageClear--;
    else if(DeathMessageClear == 0)SendDeathMessage(INVALID_PLAYER_ID, INVALID_PLAYER_ID, 199);


    MFG Piet

    Nabend Community,


    Ich versuch gerade mit SendDeathMessage eine Zeile links zu überspringen.
    Also dass der eine Zeile Ohne Player(INVALID PLAYER ID) , Killer(INVALID PLAYER ID) und Ohne Icon zu Benutzen.
    Geht dass?


    MFG Piet

    Also hier ein Command mit OCMD:

    ocmd:a(playerid,params[])
    {
    new text[100], rang[16], string[128];
    if(!IstSpielerAdmin(playerid, 1))return SendClientMessage(playerid, ROT, "Du bist kein Admin.");
    if(sscanf(params,"s", text))return SendClientMessage(playerid, ROT, "Benutze /a [text].");
    if(IstSpielerAdmin(playerid,3))rang = "Admin";
    else if(IstSpielerAdmin(playerid,2)rang = "Moderrator";
    else if(IstSpielerAdmin(playerid,1))rang = "Supporter";
    format(string, 128, "%s [%d]%s: %s", rang, playerid, text, SpielerName(playerid));
    for(new i=0; i<MAX_PLAYER; i++)if(IsPlayerConnected(i) && IstSpielerAdmin(i,1))SendClientMessage(playerid, GRAU, string);
    return 1;
    }


    MFG Piet

    Du musst ja die Vehicleid abfragen nicht die Modelid:

    //oben
    enum AutohausCars
    {
    CarName[64],
    modelid,
    Float:carX,
    Float:carY,
    Float:carZ,
    Float:carA,
    Preis,
    vehid
    }
    #define MAX_SELLCARS 1
    new SellCar[MAX_SELLCARS][AutohausCars] = {
    {"Sultan",560,1543.9928,-2246.1135,13.5469,21.1330,60000, -1}//-1 Da nicht existiert bei vehid
    };



    //Beim Erstellen
    for(new i=0; i<sizeof(SellCar); i++)
    {
    SellCar[i][vehid]=AddStaticVehicle(SellCar[i][modelid],SellCar[i][carX],SellCar[i][carY],SellCar[i][carZ],SellCar[i][carA],1,1);
    }


    //Bei der Abfrage
    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(SellCar); i++)
    {
    if(GetPlayerVehicleID(playerid)==SellCar[i][vehid])
    {
    SendClientMessage(playerid,Grau,"Dies ist ein Auto, dass zu Verkaufen steht!");
    return 1;
    }
    }
    }

    So gehts und hast du es verstanden.


    MFG Piet