[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
  • hat jemand kurz zeit und lust mir zu helfen ?


    Es geht dadrum ein System von ein Script ins andere zu machen.


    als "fnder" lohn bekommst du dann DayZ Standalone ;3

  • Ich habe da wieder ein Problem mit den Textdraws ^^
    Ich habe ne Statisik Box erarbeitet und die klappt nun wunderbar.


    Jedoch werden jetzt keine anderen Textdraws mehr angezeigt.
    (Datum,Uhrzeit, Forum ...)


    Was kann der Grund dafür sein, bzw. wie kann ich das fixxen ?


    Mfg Saphire

  • Wieso wird meine Datenbank nicht geupdatet? -.-



    stock savePlayer(playerid) {
    if(GetPVarInt(playerid, "eingeloggt") != 1) return 1;
    new query[600];
    new id = GetPVarInt(playerid, "id");
    new Skin = GetPlayerSkin(playerid);
    new Money = GetPlayerMoney(playerid);
    new Fraktion = GetPVarInt(playerid, "Fraktion");
    new Rang = GetPVarInt(playerid, "Rang");
    new AdminLevel = GetPVarInt(playerid, "AdminLevel");
    new AutoLic = GetPVarInt(playerid, "AutoLic");
    new BikeLic = GetPVarInt(playerid, "BikeLic");
    new BootLic = GetPVarInt(playerid, "BootLic");
    new FlyLic = GetPVarInt(playerid, "FlyLic");
    new Level = GetPlayerScore(playerid);
    format(query, sizeof(query), "UPDATE users SET Skin='%i', Money='%i', Fraktion='%i', Rang='%i', AdminLevel='%i', AutoLic='%i', BikeLic='%i', BootLic='%i', FlyLic='%i', Level='%i' WHERE id='%i'", Skin, Money, Fraktion, Rang, AdminLevel, AutoLic, BikeLic, BootLic, FlyLic, Level, id);
    mysql_function_query(dbhandle, query, false,"","");
    return 1;
    }

  • Hallo,
    ich hab das Problem, das bei mir wenn ich beim Haus den Preis editiere irgentwie nichts passiert.
    Der Debug hängt immer hier: "HausInfo[GetPVarInt(playerid, "AtHouse")][hPreis] = strval(inputtext);"
    Wenn ich die Variable "HausInfo[GetPVarInt(playerid, "AtHouse")][hPreis]" einzelnd printen möchte, passiert nix. Es kommt nicht einmal eine leere Zeile in der Konsole.


    Mein Code:
    print("DEBUG 1");//Die Konsole zeigt mir nur "DEBUG 1" an.
    HausInfo[GetPVarInt(playerid, "AtHouse")][hPreis] = strval(inputtext);//Die Variable lasse ich mir RICHTIG via /gethid zuweisen.
    print("DEBUG 2");
    mysql_escape_string(HausInfo[GetPVarInt(playerid, "AtHouse")][hPreis], HausInfo[GetPVarInt(playerid, "AtHouse")][hPreis]);
    print("DEBUG 3");
    format(SQL, sizeof(SQL), "UPDATE haus SET Preis='%i' WHERE ID='%i'", HausInfo[GetPVarInt(playerid, "AtHouse")][hPreis], GetPVarInt(playerid, "AtHouse"));
    print("DEBUG 4");
    mysql_tquery(Handle, SQL);
    print("DEBUG 5");
    SendClientMessage(playerid, GELB, "Du hast den Preis in $%i geändert", strval(inputtext));
    print("DEBUG 6");
    LoadHouses();
    print("DEBUG 7");


    MfG

  • Code


    if(!strcmp("/motor", cmdtext, true, 10)) {
    if(!IsInCar(playerid) && !IsInPlane(playerid) && !IsInBike(playerid) && !IsInBoat(playerid)) return SendClientMessage(playerid, COLOR_RED, "Du bist in keinem Fahrzeug");
    if(IsInCar(playerid)){
    if(GetPVarInt(playerid, "AutoLic") != 1 && GetPVarInt(playerid, "Aduty") == 0) return SendClientMessage(playerid, COLOR_RED, "Du hast keinen Führerschein");
    GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, light, alarm, door, bonnet, boot, objective);
    if(engine == 1) {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_ON, light, alarm, door, bonnet, boot, objective);
    } else {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_OFF, light, alarm, door, bonnet, boot, objective);
    }
    }
    if(IsInBike(playerid)){
    if(GetPVarInt(playerid, "BikeLic") != 1 && GetPVarInt(playerid, "Aduty") == 0) return SendClientMessage(playerid, COLOR_RED, "Du hast keinen Führerschein");
    GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, light, alarm, door, bonnet, boot, objective);
    if(engine == 1) {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), 0, light, alarm, door, bonnet, boot, objective);
    } else {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), 1, light, alarm, door, bonnet, boot, objective);
    }
    }
    if(IsInPlane(playerid)){
    if(GetPVarInt(playerid, "FlyLic") != 1 && GetPVarInt(playerid, "Aduty") == 0) return SendClientMessage(playerid, COLOR_RED, "Du hast keinen Führerschein");
    GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, light, alarm, door, bonnet, boot, objective);
    if(engine == 1) {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), 0, light, alarm, door, bonnet, boot, objective);
    } else {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), 1, light, alarm, door, bonnet, boot, objective);
    }
    }
    if(IsInBoat(playerid)){
    if(GetPVarInt(playerid, "BootLic") != 1 && GetPVarInt(playerid, "Aduty") == 0) return SendClientMessage(playerid, COLOR_RED, "Du hast keinen Führerschein");
    GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, light, alarm, door, bonnet, boot, objective);
    if(engine == 1) {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), 0, light, alarm, door, bonnet, boot, objective);
    } else {
    SetVehicleParamsEx(GetPlayerVehicleID(playerid), 1, light, alarm, door, bonnet, boot, objective);
    }
    }
    return 1;
    }


    Der Motor geht nicht an. Der Spieler hat einen Führerschein.

  • if(!strcmp(cmdtext,"/motor",true)){
    GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,light,alarm,door,bonnet,boot,objective);
    if(IsInCar(playerid)){
    if(!GetPVarInt(playerid,"AutoLic") && !GetPVarInt(playerid,"Aduty"))return SendClientMessage(playerid,COLOR_RED,"Du hast keinen Führerschein!");
    if(engine)return SetVehicleParamsEx(GetPlayerVehicleID(playerid),0,light,alarm,door,bonnet,boot,objective);
    return SetVehicleParamsEx(GetPlayerVehicleID(playerid),1,light,alarm,door,bonnet,boot,objective);
    }
    else if(IsInBike(playerid)){
    if(!GetPVarInt(playerid,"BikeLic") && !GetPVarInt(playerid,"Aduty"))return SendClientMessage(playerid,COLOR_RED,"Du hast keinen Führerschein!");
    if(engine)return SetVehicleParamsEx(GetPlayerVehicleID(playerid), 0, light, alarm, door, bonnet, boot, objective);
    return SetVehicleParamsEx(GetPlayerVehicleID(playerid),1, light, alarm, door, bonnet, boot, objective);
    }
    else if(IsInPlane(playerid)){
    if(!GetPVarInt(playerid,"FlyLic") && !GetPVarInt(playerid,"Aduty"))return SendClientMessage(playerid,COLOR_RED,"Du hast keinen Führerschein!");
    if(engine)return SetVehicleParamsEx(GetPlayerVehicleID(playerid), 0, light, alarm, door, bonnet, boot, objective);
    return SetVehicleParamsEx(GetPlayerVehicleID(playerid), 1, light, alarm, door, bonnet, boot, objective);
    }
    else if(IsInBoat(playerid)){
    if(!GetPVarInt(playerid,"FlyLic") && !GetPVarInt(playerid,"Aduty"))return SendClientMessage(playerid,COLOR_RED,"Du hast keinen Führerschein!");
    if(engine)return SetVehicleParamsEx(GetPlayerVehicleID(playerid), 0, light, alarm, door, bonnet, boot, objective);
    return SetVehicleParamsEx(GetPlayerVehicleID(playerid),1, light, alarm, door, bonnet, boot, objective);
    }
    return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug!");
    }
    Du hattest einmal VEHICLE_PARAMS_ON gemacht, obwohl der Motor schon an war.
    So sollte das klappen.

  • Noch ein kleiner Error:

    Code
    C:\Program Files (x86)\Rockstar Games\Grand Theft Auto San Andreas\Server\gamemodes\WhitelifeRoleplay.pwn(495) : error 033: array must be indexed (variable "Rang")


    Scriptzeilen

    ocmd:f(playerid, params[]) {
    if(GetPVarInt(playerid, "Fraktion") == 0) return SendClientMessage(playerid, COLOR_RED, "Du bist in keiner Fraktion");
    new text[128];
    if(sscanf(params, "s", text)) return SendClientMessage(playerid, COLOR_RED, "Verwendung: {ffffff}/f [Text]");
    new PFrak = GetPVarInt(playerid, "Fraktion"),
    PR = GetPVarInt(playerid, "Rang"),
    Rang[128];
    format(Rang, sizeof(Rang), "r%i", PR);
    new PRang = FraksRang[PFrak][Rang];

    Scriptzeilen
    return 1;
    }

  • Zeig uns mal die Zeile von dem, außerdem was bedeutet das:
    format(string,200,"r %i",GetPVarInt(playerid,"Rang"));
    Was möchtest du damit bewirken?

  • @CrashGamesDE:
    Merkst du was?


    ocmd:f(playerid, params[]) {
    if(GetPVarInt(playerid, "Fraktion") == 0) return SendClientMessage(playerid, COLOR_RED, "Du bist in keiner Fraktion");
    new text[128];
    if(sscanf(params, "s", text)) return SendClientMessage(playerid, COLOR_RED, "Verwendung: {ffffff}/f [Text]");
    new PFrak = GetPVarInt(playerid, "Fraktion"),
    PR = GetPVarInt(playerid, "Rang"),
    l_Rang[128];
    format(l_Rang, sizeof(l_Rang), "r%i", PR);
    new PRang = FraksRang[PFrak][Rang];


    return 1;
    }

  • new PRang = FraksRang[PFrak][Rang];


    Du hast hier "Rang" benutzt, dann musst du es auch im zugehörigen enum von FraksRang deklariert haben. Hast du das? Wenn nicht, mach das.


    Für weitere Posts: Markiere bitte IMMER die Zeile in der der Fehler ist!

  • enum


    enum frakRang {
    r1[128],
    r2[128],
    r3[128],
    r4[128],
    r5[128],
    r6[128],
    r7[128],
    r8[128],
    r9[128],
    r10[128],
    r11[128],
    r12[128]
    };

    enum
    new FraksRang[][frakRang] = {
    {"111", "222", "333", "444", "555", "666", "777", "888", "999", "101010", "111111", "121212"}, // Nicht beachten ^^
    {"Anwärter", "Officer in Education", "Officer I", "Officer II", "Officer III", "Detective", "Sergent", "Lieutenant", "Captain", "Commander", "Deputy Chief", "Chief of Police"},
    {"Anwärter", "Officer in Education", "Officer I", "Officer II", "Officer III", "Detective", "Sergent", "Lieutenant", "Captain", "Commander", "Deputy Chief", "Chief of Police"}
    };


    Das ist mein Enum. Ich verstehe irgendwie meinen Fehler nicht :S

  • if(udb_Exists(PlayerName2(playerid)))
    {
    new file[30];
    new tmp3[256];
    new ip[19];
    if(dini_Int(file,ip) != GetPlayerIp(playerid,tmp3,100))
    {
    new lstring[256];
    format(lstring,256,"Your IP Adress does not match with your Account, %s{FFFFFF} !\n\nPlease enter your password:",pName(playerid));
    ShowPlayerDialog(playerid,DIALOGID+67,DIALOG_STYLE_INPUT,"Login",lstring,"Login","Leave");
    return 1;
    }
    return 1;
    }
    return 1;
    }


    Ich möchte abfragen mit welcher IP der Spieler den Server betreten hat. Wenn es seine IP ist, also die IP mit der er sich immer eingeloggt hat, sollte er einfach den Skin auswählen und spielen können. Falls die IP mit seinen Stats nicht übereinstimmt, sollte er sein Passwort erneut eingeben. Nur leider funktioniert das Ganze irgendwie nicht.


  • Wie wäre es mit der Fehlermeldung?