[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
  • Danke jedoch weitere Errors:


    error 001: expected token: ";", but found ")"
    error 029: invalid expression, assumed zero
    fatal error 107: too many error messages on one line
    error 029: invalid expression, assumed zero
    ShowPlayerDialog(playerid,DIALOG_BUYCAR,DIALOG_STYLE_MSGBOX,"Autohaus Information",agc,"Kaufen","Aussteigen");

  • Zeig mir mal die Zeilen darüber, wo du agc erstellst und par Zeilen darunter.


    if(newstate == PLAYER_STATE_DRIVER){
    gLastCar[playerid] = GetPlayerVehicleID(playerid);
    // format(string,sizeof(string),"~w~Geschw: \t~g~0 km/h ~n~~w~Benzin:\t~g~ %d%%~n~~w~Fahrzeug:\t~p~ %s",Gas[GetPlayerVehicleID(playerid)],VehNames[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
    new VID = GetPlayerVehicleID(playerid);
    new value,
    Float:xX,
    Float:yY,
    Float:zZ,
    Float:X,
    Float:Y,
    Float:Z;
    GetVehiclePos(VID, xX, yY, zZ);
    GetVehicleVelocity(VID, X, Y, Z);
    value = floatround(floatsqroot((X*X) + (Y*Y) + (Z*Z)) * 100 * 1.40);
    new Speed[20];
    new Float:leben;
    if(value >= 0 && value <= 75){Speed = "~g~";}
    if(value > 75){Speed = "~r~";}
    new Tank[20];
    if(Gas[VID] > 10 && Gas[VID] <= 20){Tank = "~y~";}
    if(Gas[VID] <= 10){Tank = "~r~";}
    if(Gas[VID] > 20){Tank = "~g~";}
    //GetVehicleHealth(VID,leben);
    VehSpeed[VID] = value;
    GetVehicleHealth(VID,leben);
    format(string,sizeof(string),"~r~%s",VehNames[GetVehicleModel(VID)-400]);
    format(string1,sizeof(string1),"~r~KM/H:~g~ %d",value);
    format(string2,sizeof(string2),"~r~Tank:~g~ %s %d", Tank, Gas[VID]);
    format(string4,sizeof(string4),"~r~Zustand:~g~ %.1f",leben/10);
    format(string3,sizeof(string3),"~r~KM:~g~ Deaktiviert");


    TextDrawSetString(Tacho3[playerid], string);
    TextDrawSetString(Tacho4[playerid],string1);
    TextDrawSetString(Tacho6[playerid],string2);
    TextDrawSetString(Tacho5[playerid],string4);
    TextDrawSetString(Tacho7[playerid],string3);
    TextDrawShowForPlayer(playerid, Tacho[playerid]);
    TextDrawShowForPlayer(playerid, Tacho1[playerid]);
    TextDrawShowForPlayer(playerid, Tacho2[playerid]);
    TextDrawShowForPlayer(playerid, Tacho3[playerid]);
    TextDrawShowForPlayer(playerid, Tacho4[playerid]);
    TextDrawShowForPlayer(playerid, Tacho5[playerid]);
    TextDrawShowForPlayer( playerid,Tacho6[playerid]);
    TextDrawShowForPlayer(playerid, Tacho7[playerid]);
    //TextDrawShowForPlayer(playerid, AntiAFK[playerid]);
    new newcar = GetPlayerVehicleID(playerid);
    new typ = IsAutohausCar(newcar);
    new GATyp = IsGangAutohausCar(newcar);
    if(GetVehicleModel(newcar) == 447 || GetVehicleModel(newcar) == 425 || GetVehicleModel(newcar) == 432)
    {
    if(IsACop(playerid) && OnDuty[playerid] == 1 || PlayerInfo[playerid][pAdminOnDuty] == 1)
    {
    }
    else
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Du kannst in dieses Fahrzeug nicht einsteigen, du wurdest gekickt");
    Kick(playerid);
    }
    }
    GetPlayerName(playerid, playername, sizeof(playername));
    SetPlayerArmedWeapon(playerid, 0);
    //new string[128];
    //Autohaus
    if(PlayerInfo[playerid][pAdminOnDuty] == 0){
    if(PlayerInfo[playerid][pJailed] != 0){
    SetPlayerHealth(playerid, 0);
    format(string, sizeof(string), ">> %s wurde bei dem versuch in ein Auto zu steigen gekillt <<", playername);
    ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
    }}
    if(typ != -1){
    if(Kaufliste[typ][Autohaus] == 2 && PlayerInfo[playerid][pDonatorRank] != 2){
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Du hast keinen Donator Rank !");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    //TogglePlayerControllable(playerid,0);
    Spectating[playerid] = typ;
    ForAllPlayers(i){
    if(IsPlayerConnected(i)){
    SetVehicleParamsForPlayer(newcar, i, 0, 1);
    }}
    new agc[120];
    format(agc, sizeof agc, "Dieses Fahrzeug steht zum Verkauf.\nName: %s\nPreis: %s",Kaufliste[typ][Name], Kaufliste[typ][Name],GetPoint(Kaufliste[typ][Preis])); //<- Variable anpassen
    ShowPlayerDialog(playerid,DIALOG_BUYCAR,DIALOG_STYLE_MSGBOX,"Autohaus Information",agc,"Kaufen","Aussteigen");
    /*SendClientMessage(playerid, COLOR_GRÜN, "~*~ Autohaus ~*~");
    format(string,sizeof(string),"Name: %s",Kaufliste[typ][Name]);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    format(string,sizeof(string),"Preis: %s$",GetPoint(Kaufliste[typ][Preis]));
    SendClientMessage(playerid, COLOR_YELLOW, string);
    format(string,sizeof(string),"Reparaturkosten: %s$",GetPoint(Kaufliste[typ][Reparatur]));
    SendClientMessage(playerid, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_GREEN, "Dieses Fahrzeug ist zu verkaufen. Um es zu kaufen, benutze: /buycar");*/
    }

  • Hmm, okay.
    Zeig mir noch mal die Errors + die dazugehörigen Zeilen.-


    n(7771) : error 029: invalid expression, assumed zero
    (7771) : warning 215: expression has no effect
    (7771) : warning 215: expression has no effect
    (7771) : warning 215: expression has no effect
    (7771) : warning 215: expression has no effect
    (7771) : warning 215: expression has no effect
    (7771) : error 001: expected token: ";", but found ")"
    (7771) : error 029: invalid expression, assumed zero
    (7771) : fatal error 107: too many error messages on one line

    Zeile 7771: ShowPlayerDialog(playerid,DIALOG_BUYCAR,DIALOG_STYLE_MSGBOX,"Autohaus Information",agc,"Kaufen","Aussteigen");

    • Offizieller Beitrag

    Ich finde nichts..


    Klammer mal diese Zeilen aus:
    ForAllPlayers(i){
    if(IsPlayerConnected(i)){
    SetVehicleParamsForPlayer(newcar, i, 0, 1);
    }}


    Und schau mal ob noch ein Fehler erscheint.


    @duengonalex: Richtig gucken, dass ist ein formatierter String, also ohne Gänsefüßchen.


  • Errors Bleiben. So sah der Standart code aus:
    if(typ != -1){
    if(Kaufliste[typ][Autohaus] == 2 && PlayerInfo[playerid][pDonatorRank] != 2){
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Du hast keinen Donator Rank !");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    //TogglePlayerControllable(playerid,0);
    Spectating[playerid] = typ;
    ForAllPlayers(i){
    if(IsPlayerConnected(i)){
    SetVehicleParamsForPlayer(newcar, i, 0, 1);
    }}
    SendClientMessage(playerid, COLOR_GRÜN, "~*~ Autohaus ~*~");
    format(string,sizeof(string),"Name: %s",Kaufliste[typ][Name]);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    format(string,sizeof(string),"Preis: %s$",GetPoint(Kaufliste[typ][Preis]));
    SendClientMessage(playerid, COLOR_YELLOW, string);
    format(string,sizeof(string),"Reparaturkosten: %s$",GetPoint(Kaufliste[typ][Reparatur]));
    SendClientMessage(playerid, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_GREEN, "Dieses Fahrzeug ist zu verkaufen. Um es zu kaufen, benutze: /buycar");
    }

  • Okay.
    Zeig mir mal die Zeile format(agc, sizeof agc, ...
    und die Funktion GetPoint.


    format(agc, sizeof agc, "Dieses Fahrzeug steht zum Verkauf.\nName: %s\nPreis: %s", Kaufliste[typ][Name], GetPoint(Kaufliste[typ][Preis]));
    stock GetPoint(Betrag)
    {
    new string[20],string2[50];
    format(string, sizeof(string), "%d", Betrag);
    if(strlen(string) <= 3){format(string2, sizeof(string2), "%s", string);}
    else if(strlen(string) == 4)
    {
    new anstring[2],
    zwstring[4];
    format(anstring, sizeof(anstring), "%s", string);
    format(zwstring, sizeof(zwstring), "%s", string[1]);
    format(string2, sizeof(string2), "%s.%s", anstring,zwstring);
    }
    else if(strlen(string) == 5)
    {
    new anstring[3],
    zwstring[4];
    format(anstring, sizeof(anstring), "%s", string);
    format(zwstring, sizeof(zwstring), "%s", string[2]);
    format(string2, sizeof(string2), "%s.%s", anstring,zwstring);
    }
    else if(strlen(string) == 6)
    {
    new anstring[4],
    zwstring[5];
    format(anstring, sizeof(anstring), "%s", string);
    format(zwstring, sizeof(zwstring), "%s", string[3]);
    format(string2, sizeof(string2), "%s.%s", anstring,zwstring);
    }
    else if(strlen(string) == 7)
    {
    new anstring[2],
    zwstring[4],
    enstring[4];
    format(anstring, sizeof(anstring), "%s", string);
    format(zwstring, sizeof(zwstring), "%s", string[1]);
    format(enstring, sizeof(enstring), "%s", string[4]);
    format(string2, sizeof(string2), "%s.%s.%s", anstring,zwstring,enstring);
    }
    else if(strlen(string) == 8)
    {
    new anstring[3],
    zwstring[4],
    enstring[4];
    format(anstring, sizeof(anstring), "%s", string);
    format(zwstring, sizeof(zwstring), "%s", string[2]);
    format(enstring, sizeof(enstring), "%s", string[5]);
    format(string2, sizeof(string2), "%s.%s.%s", anstring,zwstring,enstring);
    }
    else if(strlen(string) == 9)
    {
    new anstring[4],
    zwstring[4],
    enstring[4];
    format(anstring, sizeof(anstring), "%s", string);
    format(zwstring, sizeof(zwstring), "%s", string[3]);
    format(enstring, sizeof(enstring), "%s", string[6]);
    format(string2, sizeof(string2), "%s.%s.%s", anstring,zwstring,enstring);
    }
    else if(strlen(string) == 10)
    {
    new anstring[2],
    zwstring1[4],
    zwstring2[4],
    enstring[4];
    format(anstring, sizeof(anstring), "%s", string);
    format(zwstring1, sizeof(zwstring1), "%s", string[1]);
    format(zwstring2, sizeof(zwstring2), "%s", string[4]);
    format(enstring, sizeof(enstring), "%s", string[7]);
    format(string2, sizeof(string2), "%s.%s.%s.%s", anstring,zwstring1,zwstring2,enstring);
    }
    else {format(string2, sizeof(string2), "%s", string);}
    return string2;
    }

  • Ich habe da ein Problem, undzwar :


    Wenn man sich neu registriert hat bekommt man 25.000$, wenn man nun in ein Interrior geht verdoppelt sich der Betrag.
    Das passiert auch, wenn man ein Relogg macht.


    Ich weis nicht woran das genau liegt, aber kann das der Grund dafür sein ?



    public GivePlayerMoneyEx(playerid,money){
    ACNewMoney[playerid] = ACNewMoney[playerid] + money;
    return GivePlayerMoney(playerid,ACNewMoney[playerid]);
    }


    public SetPlayerMoneyEx(playerid,money){
    ACNewMoney[playerid] = money;
    ResetPlayerMoney(playerid);
    return GivePlayerMoney(playerid,ACNewMoney[playerid]);
    }


    Mfg Saphire

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