[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
  • Ouh ja habs jetzt auch gesehen ^^
    Habe zuerst nur auf den dritten Fehler geachtet D:

    ]R3D[ ~Red Mapping Team~
    .::NEW SANTOS::.
    Los Santos komplett umgemappt !
    Einzigartig
    Bank/Stadthalle/PD/BSN`s/Öffentliche Orte
    detailliert gemappt
    Straßen und Gebäude geschmückt
    REAL AIRPORT MAP
    Und es folgt noch viel mehr
    R3D Quality
    0.3x/0.3e Features enthalten
    BALD IM MARKTPLATZ



  • Beschreibe den Vorfall bitte genauer .
    Mit einem Codeschnipsel kann keiner was anfangen :)

    ]R3D[ ~Red Mapping Team~
    .::NEW SANTOS::.
    Los Santos komplett umgemappt !
    Einzigartig
    Bank/Stadthalle/PD/BSN`s/Öffentliche Orte
    detailliert gemappt
    Straßen und Gebäude geschmückt
    REAL AIRPORT MAP
    Und es folgt noch viel mehr
    R3D Quality
    0.3x/0.3e Features enthalten
    BALD IM MARKTPLATZ



  • Ich will die CarID in der Datenbank setten. Da carid aber ja schon sagt das es ne zahl ist, geht
    mysql_real_escape_string(carid,carid);


    nicht. Was muss ich für Integer nehmen?


    mysql_real_escape_integer(carid,carid);


    gibts nicht bzw. geht nicht.


    - Tomsen



    Einmal editiert, zuletzt von Tomsen ()

  • Soweit ich weis kannst du einen Integer verwenden ....
    Probiers mal einfach aus und sage Bescheid ob es funkt .

    ]R3D[ ~Red Mapping Team~
    .::NEW SANTOS::.
    Los Santos komplett umgemappt !
    Einzigartig
    Bank/Stadthalle/PD/BSN`s/Öffentliche Orte
    detailliert gemappt
    Straßen und Gebäude geschmückt
    REAL AIRPORT MAP
    Und es folgt noch viel mehr
    R3D Quality
    0.3x/0.3e Features enthalten
    BALD IM MARKTPLATZ




  • mysql_query("SELECT ID FROM Vehicles WHERE Besitzer='Tomsen'");
    mysql_store_result();
    new row[32], id;
    mysql_fetch_row(row);
    id = strval(row);


    mysql_free_result();


    Probier das mal ;)

    now @ glowfire CMS.

  • Ich zeig mal den public dann versteht ihr villt. mehr was ich meine. ^^ Es wird eine komplett neue Zeile erstellt.


    stock CreateCar(playerid)
    {
    new query[256],Name[MAX_PLAYER_NAME];
    new carid = GetPVarInt(playerid,"CarID");
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name,Name);
    mysql_real_escape_integer(carid,carid);
    format(query, sizeof(query), "INSERT INTO `autos` (`Besitzer`, `CarID`) VALUES ('%s', '%d')", Name, carid);
    mysql_query(query);
    return 1;
    }


    - Tomsen

  • "!" bedeutet "not", also "nicht".
    Dies bezeichnet in einer if-Abfrage, ob etwas nicht stattgefunden hat.
    Das kommt aber immer auf den Sachverhalt an!


    Mit freundlichen Grüßen
    Saitek | Timo


    Du redest hier eindeutig quatsch.
    ! bedeutet zwar als Vergleichsoperator ungleich,
    aber hier hat das eine vollkommende andere Bedeutung (in der If-Abfrage).
    Das ! vor der Abfrage sagt hier aus, dass der return Wert 0 sein soll, weil strcmp eben 0 returnt, wenn die Strings stimmen.
    Wenn du jetzt jedoch das ! bei strcmp weglässt, ist die Bedingung, dass der Return Wert 1 ist, aber was bei strcmp ja das Ergebnis verfälschen würde.


    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • mysql_real_escape_integer(carid,carid);
    Sowas gibts nicht 8| !


    ]R3D[ ~Red Mapping Team~
    .::NEW SANTOS::.
    Los Santos komplett umgemappt !
    Einzigartig
    Bank/Stadthalle/PD/BSN`s/Öffentliche Orte
    detailliert gemappt
    Straßen und Gebäude geschmückt
    REAL AIRPORT MAP
    Und es folgt noch viel mehr
    R3D Quality
    0.3x/0.3e Features enthalten
    BALD IM MARKTPLATZ



  • mysql_real_escape_integer(carid,carid);
    Sowas gibts nicht 8| !



    Warum sollte es auch so etwas geben ?
    Die o.g. Funktion benutzt man um SQL Injections zu verhindern, und eine Zahlwert kann wohl schlecht ein String sein :O


    Edit: Dann schreib das per Aussagesatz und nicht per oO, kann man leicht falsch verstehen :rolleyes:


    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • Deswegen meine Reaktion ^^

    ]R3D[ ~Red Mapping Team~
    .::NEW SANTOS::.
    Los Santos komplett umgemappt !
    Einzigartig
    Bank/Stadthalle/PD/BSN`s/Öffentliche Orte
    detailliert gemappt
    Straßen und Gebäude geschmückt
    REAL AIRPORT MAP
    Und es folgt noch viel mehr
    R3D Quality
    0.3x/0.3e Features enthalten
    BALD IM MARKTPLATZ



  • if(PlayerInfo[playerid][pJob] == 1) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID1"); }
    else if(PlayerInfo[playerid][pJob] == 0) {
    SendClientMessage(playerid, COLOR_LIGHTRED,"*** Arbeitslos ***"); }
    else if(PlayerInfo[playerid][pJob] == 2) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID2"); }
    else if(PlayerInfo[playerid][pJob] == 3) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID3"); }
    else if(PlayerInfo[playerid][pJob] == 4) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID4"); }
    else if(PlayerInfo[playerid][pJob] == 5) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID5"); }
    else if(PlayerInfo[playerid][pJob] == 7) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID7"); }
    else if(PlayerInfo[playerid][pJob] == 8) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID8"); }
    else if(PlayerInfo[playerid][pJob] == 9) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID9"); }
    else if(PlayerInfo[playerid][pJob] == 10) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID10"); }
    else if(PlayerInfo[playerid][pJob] == 12) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID12"); }
    else if(PlayerInfo[playerid][pJob] == 14) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID14"); }
    else if(PlayerInfo[playerid][pJob] == 16) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID16"); }
    else if(PlayerInfo[playerid][pJob] == 17) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID17"); }
    else if(PlayerInfo[playerid][pJob] == 20) {
    SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID20"); }


    1. Frage: Wie kann ich das kürzer fassen?
    2. Frage: Wie packe ich das nun in einen Befehle-Dialog? - Ohne immer einen neuen Dialog zu definieren. (Habe bereits alle anderen Befehle drin, nur die mit den Jobs fehlen noch^^)

  • Random: So hier evtl.?
    if(PlayerInfo[playerid][pJob] == 0)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED,"*** Arbeitslos ***");
    }
    else
    {
    new string[64];
    format(string, sizeof(string), "*** Job *** Befehle_ID%d", PlayerInfo[playerid][pJob]);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    }

    Ich bin Dittis Signatur.

  • Das "Befehle_ID1" habe ich nur durch die Befehle ersetzt, da ich hier keinen unendslangen Code einfügen wollte. :P

  • ganz einfach als array


    new JobStrings[][] = {
    {"*** Arbeitslos ***"},
    {"*** Job *** Befehle_ID1"},
    {"*** Job *** Befehle_ID2"},
    {"*** Job *** Befehle_ID3"},
    {"*** Job *** Befehle_ID4"},
    {"*** Job *** Befehle_ID5"},
    {"*** Job *** Befehle_ID6"}
    };


    SendClientMessage(playerid, COLOR_LIGHTRED,JobStrings[PlayerInfo[playerid][pJob]]);

  • Statt SendClientMessage kann ich es im Dialog bspw. so machen?:
    ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Jobs", JobStrings[PlayerInfo[playerid][pJob]], "OK", "");



    Und..
    new JobStrings[][]


    Was kommt nun in die jeweiligen Klammern? Leer lassen?



  • Die kannst du ausfüllen oder leer lassen.
    Wenn du diese leer lässt wird das ganze automatisch angepasst kannst auch selbst testen in dem du das ganze mit definierung compilst und einmal ohne.
    ^^


    //edit


    zu deiner ersten Frage ja
    da
    JobStrings[PlayerInfo[playerid][pJob]] ein string ausgibt


    wenn PlayerInfo[playerid][pJob] den wert 2 hätte so würde dies in der msgbox stehen
    *** Job *** Befehle_ID2

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