[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
  • Ups sorry hab nur was übersehen, deswegen.
    Habe es einfach so ersetzt und nun 2 weitere errors, welche irgendwas sagen das die array größe überschritten ist.


    Spoiler anzeigen

    C:\Users\Arbeits-PC\Desktop\gamemode\filterscripts\tank.pwn(78) : warning 228: length of initialler exceeds size of the enum field
    C:\Users\Arbeits-PC\Desktop\gamemode\filterscripts\tank.pwn(78) : error 018: initialization data exceeds declared size
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    1 Error.

    //betreffende zeile:
    {"Berkley's RC Van",Diesel},


    Von der Zeile aus her ist es irgendwie verwirrend, da ja alle so sind.


    //e
    Hat sich erledigt war doch nur die größe beim Namen im enumerator.
    Danke dir :)

  • eine Kleine Frage wie frage ich ab z.b
    Ob der Spieler Admin Level 1 oder Supporter Level 1 ist und wenn nicht kommt diese Nachricht SendClientMessage(playerid,ROT,"Du bist dazu nicht befugt!");
    meine Admin/supp abfrage
    isSupp(playerid,s_level)
    {
    if(sInfo[playerid][slevel]>=s_level)return 1;
    return 0;
    }


    isAdmin(playerid,a_level)
    {
    if(sInfo[playerid][alevel]>=a_level)return 1;
    return 0;
    }

  • if(isSupp(playerid,1) || isAdmin(playerid,1))
    {
    //Ist Supporter oder Admin
    }
    else return SendClientMessage(playerid,ROT,"Du bist dazu nicht befugt!");


    oder so:
    if(!isSupp(playerid,1) && !isAdmin(playerid,1)) return SendClientMessage(playerid,ROT,"Du bist dazu nicht befugt!");
    //Code der nur von Supportern/Admins ausgeführt werden darf hier drunter.

  • if (!strcmp("/arrest", cmd, true))
    {
    if (!IsACop(playerid)) return SendClientMessage(playerid, COLOR_ERRORTEXT, " Du bist kein Polizist / FBI Agent Soldier !");
    if (!OnDuty[playerid]) return SendClientMessage(playerid, COLOR_ERRORTEXT, "Du bist nicht im Dienst");
    if (!PlayerToPoint(6.0, playerid, 198.1741,158.6524,1003.0234) && !PlayerToPoint(6.0, playerid, 268.5258,77.6269,1001.0391) && !PlayerToPoint(6.0, playerid, 268.4561,84.9885,1001.0391) && !PlayerToPoint(6.0, playerid, 321.8767,314.1259,999.1484)) return SendClientMessage(playerid, COLOR_ERRORTEXT, "Du bist nicht in der Nähe der Zellen.");
    tmp = strtok(cmd, idx);
    if (!strlen(tmp) || !strval(tmp)) return SendClientMessage(playerid, COLOR_ERRORTEXT, "Benutze: /arrest [ID]");
    new suspect = GetClosestPlayer(playerid);
    if (GetDistanceBetweenPlayers(playerid, suspect) > 5) return SendClientMessage(playerid, COLOR_ERRORTEXT, "Der Spieler ist zu weit von dir entfernt.");
    if (PlayerInfo[suspect][pWantedLevel] < 1) return SendClientMessage(playerid, COLOR_ERRORTEXT, "Der Spieler muss mindestens 1 Wanted haben.");
    new giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME];
    GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du hast %s eingesperrt!", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    new bail = PlayerInfo[suspect][pWantedLevel] * 750; // Kautionsgeld
    GivePlayerMoneys(playerid, bail);

    format(string, sizeof(string), "Eingesperrt von %s ~n~fuer $%d", sendername, bail);
    GameTextForPlayer(suspect, string, 5000, 5);
    ResetPlayerWeapon(suspect);
    if(PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7) format(string, sizeof(string), "<< FBI Agent %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    else if(PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pLeader] == 14) format(string, sizeof(string), "<< LSPD Officer %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    else if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16) format(string, sizeof(string), "<< SFPD Officer %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    else if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) format(string, sizeof(string), "<< LVPD Officer %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    if(PlayerToPoint(6.0, playerid, 198.1741,158.6524,1003.0234))
    {
    PlayerInfo[suspect][pJailed] = 1;
    SetPlayerInterior(suspect, 3);
    SetPlayerPos(suspect,198.8241,161.8588,1003.0300);
    }
    if(PlayerToPoint(6.0, playerid, 268.5258,77.6269,1001.0391) || PlayerToPoint(6.0, playerid, 268.4561,84.9885,1001.0391) || PlayerToPoint(6.0, playerid, 321.8767,314.1259,999.1484))
    {
    PlayerInfo[suspect][pJailed] = 3;
    SetPlayerInterior(suspect, 6);
    new zufall = random(3);
    if(zufall == 1)
    {
    SetPlayerPos(suspect, 264.3521,82.2144,1001.0391);
    }
    else if(zufall == 2)
    {
    SetPlayerPos(suspect, 264.1788,86.7012,1001.0391);
    }
    else
    {
    SetPlayerPos(suspect, 264.7485,77.6824,1001.0391);
    }
    PlayerInfo[suspect][pLocal] = -1;
    }
    PlayerInfo[suspect][pJailTime] = PlayerInfo[suspect][pWantedLevel] * 240;
    JailPrice[suspect] = bail;
    format(string, sizeof(string), "Du wurdest für %d Minuten eingesperrt. Kaution: $%d", PlayerInfo[suspect][pJailTime]/60, JailPrice[suspect]);
    SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
    SetPlayerFree(suspect, playerid, string, 0);
    PlayerInfo[suspect][pArrested] += 1;
    PlayerInfo[suspect][pWantedLevel] = 0;
    WantLawyer[suspect] = 1;
    format(string,sizeof(string),"%s hat den Verdächtigen %s eingesperrt", sendername, giveplayer);
    EnterToLog("arrest",string);
    }


    Warum nimmt er die ID nicht?


  • Okay danke genau das :))
    Wer's ich heute im laufe des Tages testen genauso Wie den /carlock Befehl weil muss heute Musik machen und gehe schlafen
    Guten nacht ihr kleinen Scripter :D

  • forward TachoUpdaten();
    public TachoUpdaten()
    {
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerInAnyVehicle(i))
    {
    new string[24],string1[24],string2[24],Float:hp;
    format(string,sizeof(string),"KM/H: %d",Geschwindigkeit(i,true));
    TextDrawSetString(Speed, string);


    GetVehicleHealth(GetPlayerVehicleID(i),hp);
    hp = (hp-250.0) / 7.5;
    format(string1,sizeof(string1),"HP: %d%%",floatround(hp));
    TextDrawSetString(Zustand,string1);


    format(string2,sizeof(string2),"%s",FahrzeugName[GetVehicleModel(GetPlayerVehicleID(i))-400]);
    TextDrawSetString(Name,string2);
    }
    }
    return 1;
    }


    Wie könnte man es machen das der Zustand nicht tiefer als 0 geht?
    Weil der Wert beim Zustand in - Bereicht geht.

  • Wo ist da bitte ein fuckin' Error?
    Ich muss blind sein, oder irre ich mich?


    ShowPlayerDialog(playerid,DIALOG_REGHELP,DIALOG_STYLE_MSGBOX,"Hilfe und Befehle","Willkommen auf Deathmatch-Reloaded!\nUm dir den Start und die Registration etwas zu erleichtern\nsind hier erstmal Befehle aufgelistet die dir zunächst bestimmt weiterhelfen.\n\n/skin - Zum ändern des Skin's\n/arenen - Für eine Liste der Arenen auf Deathmatch-Reloaded\n\n{FF0000}Für eine Liste aller Befehle tippe /commands bzw. /cmds oder /help.\n\n{00FF78}Viel Spaß weiterhin auf Deathmatch-Reloaded!","Danke!","");


    C:\Users\Benutzername\Desktop\DM-R\gamemodes\DM-R.pwn(2451) : error 029: invalid expression, assumed zero
    C:\Users\Benutzername\Desktop\DM-R\gamemodes\DM-R.pwn(2451) : warning 215: expression has no effect
    C:\Users\Benutzername\Desktop\DM-R\gamemodes\DM-R.pwn(2451) : warning 215: expression has no effect
    C:\Users\Benutzername\Desktop\DM-R\gamemodes\DM-R.pwn(2451) : warning 215: expression has no effect
    C:\Users\Benutzername\Desktop\DM-R\gamemodes\DM-R.pwn(2451) : warning 215: expression has no effect
    C:\Users\Benutzername\Desktop\DM-R\gamemodes\DM-R.pwn(2451) : warning 215: expression has no effect
    C:\Users\Benutzername\Desktop\DM-R\gamemodes\DM-R.pwn(2451) : error 001: expected token: ";", but found ")"
    C:\Users\Benutzername\Desktop\DM-R\gamemodes\DM-R.pwn(2451) : error 029: invalid expression, assumed zero
    C:\Users\Benutzername\Desktop\DM-R\gamemodes\DM-R.pwn(2451) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • Der Dialog ist fehlerfrei.
    ShowPlayerDialog(playerid,DIALOG_REGHELP,DIALOG_STYLE_MSGBOX,"Hilfe und Befehle","Willkommen auf Deathmatch-Reloaded!\nUm dir den Start und die Registration etwas zu erleichtern\nsind hier erstmal Befehle aufgelistet die dir zunächst bestimmt weiterhelfen.\n\n/skin - Zum ändern des Skin's\n/arenen - Für eine Liste der Arenen auf Deathmatch-Reloaded\n\n{FF0000}Für eine Liste aller Befehle tippe /commands bzw. /cmds oder /help.\n\n{00FF78}Viel Spaß weiterhin auf Deathmatch-Reloaded!","Danke!","");