[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Was ist hier bitte schön falsch?


    if (strcmp("/addgeschenk", cmdtext, true, 10) == 0)
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid, pX, pY, pZ);
    new query[128];
    format(query, sizeof(query), "INSERT INTO `presents` (`X`, `Y`, `Z`, `Value`) VALUES (`%f`, `%f`, `%f`, `1`)", pX, pY, pZ);
    db_query(xmasdb, query);
    RemovePresents();
    LoadPresents();
    return 1;
    }

  • Danke Kaliber.


    Nun ein weiteres Problem:
    public LoadPresents()
    {
    new query[128];
    query = "SELECT * FROM `presents`";
    new DBResult:result = db_query(xmasdb, query);
    if(db_num_rows(result) > 0)
    {
    new xid=getFreeXMasID();
    db_get_field(result, 1, Present[xid][xp_X], 24);
    db_get_field(result, 2, Present[xid][xp_Y], 24);
    db_get_field(result, 3, Present[xid][xp_Z], 24);
    /*db_get_field_assoc(result, "X", Present[xid][xp_X], 32);
    db_get_field_assoc(result, "Y", Present[xid][xp_Y], 32);
    db_get_field_assoc(result, "Z", Present[xid][xp_Z], 32);*/
    Present[xid][xp_ID] = CreateObject(19055, Present[xid][xp_X], Present[xid][xp_Y], Present[xid][xp_Z], 0.0, 0.0, 0.0, 100.0);
    }
    return 1;
    }

  • public LoadPresents()
    {
    new query[128];
    query = "SELECT * FROM `presents`";
    new DBResult:result = db_query(xmasdb, query);
    if(db_num_rows(result) > 0)
    {
    new xid=getFreeXMasID();
    db_get_field(result, 1, query, 24);
    Present[xid][xp_X] = floatstr(query);
    db_get_field(result, 2, query, 24);
    Present[xid][xp_Y] = floatstr(query);
    db_get_field(result, 3, query, 24);
    Present[xid][xp_Z] = floatstr(query);
    Present[xid][xp_ID] = CreateObject(19055, Present[xid][xp_X], Present[xid][xp_Y], Present[xid][xp_Z], 0.0, 0.0, 0.0, 100.0);
    }
    return 1;
    }


    Du musst es erst in einen String auslesen.

  • Danke Jeffry.


    Nun Ladet nur ein Geschenk obwohl ich mehrere habe!


    LG,
    Skoam

  • Achso. Dann so:
    public LoadPresents()
    {
    new query[128];
    query = "SELECT * FROM `presents`";
    new DBResult:result = db_query(xmasdb, query);
    if(db_num_rows(result) > 0)
    {
    do
    {
    new xid=getFreeXMasID();
    db_get_field(result, 1, query, 24);
    Present[xid][xp_X] = floatstr(query);
    db_get_field(result, 2, query, 24);
    Present[xid][xp_Y] = floatstr(query);
    db_get_field(result, 3, query, 24);
    Present[xid][xp_Z] = floatstr(query);
    Present[xid][xp_ID] = CreateObject(19055, Present[xid][xp_X], Present[xid][xp_Y], Present[xid][xp_Z], 0.0, 0.0, 0.0, 100.0);
    }
    while(db_next_row(result));
    }
    return 1;
    }

  • Beitrag von tayson87 ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Ich brauch das ganze leider dynamischer. Der NPC soll einen Taxikunden darstellen, der beim abholen auf die Rückbank geportet werden soll. Gibts da auch eine Möglichkeit? Eine aufnahme im Fahrzeug ist zu statisch und hilft mir leider nicht weiter.. Danke für die schnelle Antwort :)


    Hatte bisher ein Plugin dafür genutzt, das lief super, aber ist nicht mit der neuen SAMP Version kompatibel. Das Plugin hieß FCNPC.

  • Eine aufnahme im Fahrzeug ist zu statisch und hilft mir leider nicht weiter


    Wieso nicht? :huh:


    Du setzt dich hinten auf eine Rückbank und nimmst den NPC auf...und dann kannst du den NPC doch immer in ein Auto setzen und er wird hinten auf die Rückbank gesetzt ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Der Textdraw wird nicht angezeigt..


    Habs mal so gemacht und unter OnPlayerPickUpPickup(playerid,pickupid) geschrieben.
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    new query[128];
    if(HausInfo[haus][hauscreatet] != 0)
    {
    if(pickupid == HausInfo[haus][haus_pickup])
    {
    format(string,sizeof(string),"~g~Hausnummer: ~w~%i",haus);
    TextDrawSetString(HausLabelTD[0],string);
    format(string,sizeof(string),"~g~Besitzer: ~w~%s",HausInfo[haus][haus_besitzer]);
    TextDrawSetString(HausLabelTD[1],string);
    format(string,sizeof(string),"~g~Kosten: ~w~%i$",HausInfo[haus][haus_preis]);
    TextDrawSetString(HausLabelTD[2],string);
    format(string,sizeof(string),"~g~Miete: ~w~%i$",HausInfo[haus][haus_miete]);
    TextDrawSetString(HausLabelTD[3],string);
    format(string,sizeof(string),"~g~Level: ~w~%i",HausInfo[haus][haus_level]);
    TextDrawSetString(HausLabelTD[4],string);
    format(string,sizeof(string),"~g~Mieter Slots: ~w~%i/%i",HausInfo[haus][haus_eingemitetenzaehler],HausInfo[haus][haus_slots]);
    TextDrawSetString(HausLabelTD[5],string);
    mysql_format(MySqlConnection,query,sizeof(query),"SELECT * FROM "#SQLTAG"_account_main WHERE `HausMieter` = '%d'", haus);
    mysql_function_query(MySqlConnection,query,true,"LoadHouseRentFinish","siii",query,_SQL_HOUSEMIETER_LOAD,0,MySqlConnection);
    TextDrawShowForPlayer(playerid,HausLabelTD[0]);
    TextDrawShowForPlayer(playerid,HausLabelTD[1]);
    TextDrawShowForPlayer(playerid,HausLabelTD[2]);
    TextDrawShowForPlayer(playerid,HausLabelTD[3]);
    TextDrawShowForPlayer(playerid,HausLabelTD[4]);
    TextDrawShowForPlayer(playerid,HausLabelTD[5]);
    TextDrawShowForPlayer(playerid,HausLabelTD[6]);
    TextDrawShowForPlayer(playerid,HausLabelTD[7]);
    TextDrawShowForPlayer(playerid,HausLabelTD[8]);
    TextDrawShowForPlayer(playerid,HausLabelTD[9]);
    }
    else
    {
    TextDrawHideForPlayer(playerid,HausLabelTD[0]);
    TextDrawHideForPlayer(playerid,HausLabelTD[1]);
    TextDrawHideForPlayer(playerid,HausLabelTD[2]);
    TextDrawHideForPlayer(playerid,HausLabelTD[3]);
    TextDrawHideForPlayer(playerid,HausLabelTD[4]);
    TextDrawHideForPlayer(playerid,HausLabelTD[5]);
    TextDrawHideForPlayer(playerid,HausLabelTD[6]);
    TextDrawHideForPlayer(playerid,HausLabelTD[7]);
    TextDrawHideForPlayer(playerid,HausLabelTD[8]);
    TextDrawHideForPlayer(playerid,HausLabelTD[9]);
    }
    return 1;
    }
    }

  • for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(HausInfo[haus][hauscreatet] != 0)
    {
    if(pickupid == HausInfo[haus][haus_pickup])
    {
    format(string,sizeof(string),"~g~Hausnummer: ~w~%i",haus);
    TextDrawSetString(HausLabelTD[0],string);
    format(string,sizeof(string),"~g~Besitzer: ~w~%s",HausInfo[haus][haus_besitzer]);
    TextDrawSetString(HausLabelTD[1],string);
    format(string,sizeof(string),"~g~Kosten: ~w~%i$",HausInfo[haus][haus_preis]);
    TextDrawSetString(HausLabelTD[2],string);
    format(string,sizeof(string),"~g~Miete: ~w~%i$",HausInfo[haus][haus_miete]);
    TextDrawSetString(HausLabelTD[3],string);
    format(string,sizeof(string),"~g~Level: ~w~%i",HausInfo[haus][haus_level]);
    TextDrawSetString(HausLabelTD[4],string);
    format(string,sizeof(string),"~g~Mieter Slots: ~w~%i/%i",HausInfo[haus][haus_eingemitetenzaehler],HausInfo[haus][haus_slots]);
    TextDrawSetString(HausLabelTD[5],string);
    new query[128];
    mysql_format(MySqlConnection,query,sizeof(query),"SELECT * FROM "#SQLTAG"_account_main WHERE `HausMieter` = '%d'", haus);
    mysql_function_query(MySqlConnection,query,true,"LoadHouseRentFinish","siii",query,_SQL_HOUSEMIETER_LOAD,0,MySqlConnection);
    TextDrawShowForPlayer(playerid,HausLabelTD[0]);
    TextDrawShowForPlayer(playerid,HausLabelTD[1]);
    TextDrawShowForPlayer(playerid,HausLabelTD[2]);
    TextDrawShowForPlayer(playerid,HausLabelTD[3]);
    TextDrawShowForPlayer(playerid,HausLabelTD[4]);
    TextDrawShowForPlayer(playerid,HausLabelTD[5]);
    TextDrawShowForPlayer(playerid,HausLabelTD[6]);
    TextDrawShowForPlayer(playerid,HausLabelTD[7]);
    TextDrawShowForPlayer(playerid,HausLabelTD[8]);
    TextDrawShowForPlayer(playerid,HausLabelTD[9]);
    return 1;
    }
    }
    }
    TextDrawHideForPlayer(playerid,HausLabelTD[0]);
    TextDrawHideForPlayer(playerid,HausLabelTD[1]);
    TextDrawHideForPlayer(playerid,HausLabelTD[2]);
    TextDrawHideForPlayer(playerid,HausLabelTD[3]);
    TextDrawHideForPlayer(playerid,HausLabelTD[4]);
    TextDrawHideForPlayer(playerid,HausLabelTD[5]);
    TextDrawHideForPlayer(playerid,HausLabelTD[6]);
    TextDrawHideForPlayer(playerid,HausLabelTD[7]);
    TextDrawHideForPlayer(playerid,HausLabelTD[8]);
    TextDrawHideForPlayer(playerid,HausLabelTD[9]);


  • Funkt auch nicht :/


    Habs mal mit IsPlayerInRangeOf nun probiert wo könnte man des am besten unter welchen Public posten ?


    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(HausInfo[haus][hauscreatet] != 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    {
    format(string,sizeof(string),"~g~Hausnummer: ~w~%i",haus);
    TextDrawSetString(HausLabelTD[0],string);
    format(string,sizeof(string),"~g~Besitzer: ~w~%s",HausInfo[haus][haus_besitzer]);
    TextDrawSetString(HausLabelTD[1],string);
    format(string,sizeof(string),"~g~Kosten: ~w~%i$",HausInfo[haus][haus_preis]);
    TextDrawSetString(HausLabelTD[2],string);
    format(string,sizeof(string),"~g~Miete: ~w~%i$",HausInfo[haus][haus_miete]);
    TextDrawSetString(HausLabelTD[3],string);
    format(string,sizeof(string),"~g~Level: ~w~%i",HausInfo[haus][haus_level]);
    TextDrawSetString(HausLabelTD[4],string);
    format(string,sizeof(string),"~g~Mieter Slots: ~w~%i/%i",HausInfo[haus][haus_eingemitetenzaehler],HausInfo[haus][haus_slots]);
    TextDrawSetString(HausLabelTD[5],string);
    new query[128];
    mysql_format(MySqlConnection,query,sizeof(query),"SELECT * FROM "#SQLTAG"_account_main WHERE `HausMieter` = '%d'", haus);
    mysql_function_query(MySqlConnection,query,true,"LoadHouseRentFinish","siii",query,_SQL_HOUSEMIETER_LOAD,0,MySqlConnection);
    TextDrawShowForPlayer(playerid,HausLabelTD[0]);
    TextDrawShowForPlayer(playerid,HausLabelTD[1]);
    TextDrawShowForPlayer(playerid,HausLabelTD[2]);
    TextDrawShowForPlayer(playerid,HausLabelTD[3]);
    TextDrawShowForPlayer(playerid,HausLabelTD[4]);
    TextDrawShowForPlayer(playerid,HausLabelTD[5]);
    TextDrawShowForPlayer(playerid,HausLabelTD[6]);
    TextDrawShowForPlayer(playerid,HausLabelTD[7]);
    TextDrawShowForPlayer(playerid,HausLabelTD[8]);
    TextDrawShowForPlayer(playerid,HausLabelTD[9]);
    }
    else if(!IsPlayerInRangeOfPoint(playerid,5,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    {
    TextDrawHideForPlayer(playerid,HausLabelTD[0]);
    TextDrawHideForPlayer(playerid,HausLabelTD[1]);
    TextDrawHideForPlayer(playerid,HausLabelTD[2]);
    TextDrawHideForPlayer(playerid,HausLabelTD[3]);
    TextDrawHideForPlayer(playerid,HausLabelTD[4]);
    TextDrawHideForPlayer(playerid,HausLabelTD[5]);
    TextDrawHideForPlayer(playerid,HausLabelTD[6]);
    TextDrawHideForPlayer(playerid,HausLabelTD[7]);
    TextDrawHideForPlayer(playerid,HausLabelTD[8]);
    TextDrawHideForPlayer(playerid,HausLabelTD[9]);
    }
    return 1;
    }
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen