..:Error:..

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
  • Hallo,


    Ich hab ein Problem, ich bekomme diesen Error aber ich krieg den net weg ;(


    Errors:


    C:\Users\windows\Desktop\SA-MP 0.3c R4\gamemodes\LosAngelesReallife.pwn(15478) : error 028: invalid subscript (not an array or too many subscripts): "bonnet"
    C:\Users\*****\Desktop\SA-MP 0.3c R4\gamemodes\LosAngelesReallife.pwn(15478) : warning 215: expression has no effect
    C:\Users\*****\Desktop\SA-MP 0.3c R4\gamemodes\LosAngelesReallife.pwn(15478) : error 001: expected token: ";", but found "]"
    C:\Users\*****\Desktop\SA-MP 0.3c R4\gamemodes\LosAngelesReallife.pwn(15478) : error 029: invalid expression, assumed zero
    C:\Users\*****\Desktop\SA-MP 0.3c R4\gamemodes\LosAngelesReallife.pwn(15478) : 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.


    Die Zeile:


    if(bonnet[vid] == false)


    und der ganze Befehl:


    if(strcmp(cmdtext, "/motorhaube", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vid = GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(bonnet[vid] == false)
    {
    SetVehicleParamsEx(vid,engine,lights,alarm,doors,VEHICLE_PARAMS_ON,boot,objective);
    bonnet[vid] = true;
    SendClientMessage(playerid,0xFF0000,"Du hast die Motorhaube geöffnet!");
    }
    else
    {
    SetVehicleParamsEx(vid,engine,lights,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective);
    bonnet[vid] = false;
    SendClientMessage(playerid,0xFF0000,"Du hast die Motorhaube geschlossen!");
    }
    }
    return 1;
    }


    Viele Grüße
    Pro Scripter

  • Geht nicht..


    EDIT: MiniYoda Sorry das ich zu dir You Are Fail! gesagt hatte..

    Einmal editiert, zuletzt von ProScripter ()

  • if(strcmp(cmdtext, "/motorhaube", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vid = GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet[256],boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet[vid],boot,objective);
    if(bonnet[vid] == false)
    {
    SetVehicleParamsEx(vid,engine,lights,alarm,doors,VEHICLE_PARAMS_ON,boot,objective);
    bonnet[vid] = true;
    SendClientMessage(playerid,0xFF0000,"Du hast die Motorhaube geöffnet!");
    }
    else
    {
    SetVehicleParamsEx(vid,engine,lights,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective);
    bonnet[vid] = false;
    SendClientMessage(playerid,0xFF0000,"Du hast die Motorhaube geschlossen!");
    }
    }
    return 1;
    }


    somit haste nurnoch einen Tag-Mismatch... ich kenn mich mit dem enuen RC4 leider noch nicht so gut aus... vllt. kriegste des noch hin.


    //EDIT: oder auf BloodyEric's Thread ober mir schaun.

  • Zug ist abgefahren :) Hättest lieber mal denken sollen und nicht einfach mit fremden Codeschnippseln arbeiten, die nur eine Ausweichlösung anbietet.


    Wie gesagt, lies dir das durch, was ich zu Strings geschrieben habe und fang an ein wenig über dein Problem nachzudenken.


    Glaube mir, wenn du das einmal richtig verstanden hast, wird es dir absofort super leicht fallen mit strings zu arbeiten. Bloody hat das nicht verstanden und sucht sich eine Ausweichlösung. Das ist auch eine Methode... aber Weglaufen vor dem Feind gilt bei mir nicht ;)



    Edit: Problem bei dieser Lösung: Schmeiß mal ganz am anfang des Scriptes ein new bonnet[MAX_VEHICLES]; hin ;) musst das doch defninieren.

  • Grundlagen lernen.
    if(strcmp(cmdtext, "/motorhaube", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vid = GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(bonnet == false)
    {
    SetVehicleParamsEx(vid,engine,lights,alarm,doors,VEHICLE_PARAMS_ON,boot,objective);
    //bonnet = true; unnötig
    SendClientMessage(playerid,0xFF0000,"Du hast die Motorhaube geöffnet!");
    }
    else
    {
    SetVehicleParamsEx(vid,engine,lights,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective);
    //bonnet = false;unnötig
    SendClientMessage(playerid,0xFF0000,"Du hast die Motorhaube geschlossen!");
    }
    }
    return 1;
    }
    Müsste so sein,falls Ich den Code richtig verstanden habe.

  • geht 100 pro immer noch nicht :) wie setzen bonnet als Variable ein, Goldkiller... mir dämmerts gerade, dass du das doch in vehicleparams setzen musst xD


    Schau mal wie du vehicleparams setzt. xD


    Edit: Du hast es ja schon selbst herausgefunden ... fieeeß xD

  • Mh?
    Ich versteh dich jetzt nicht wirklich,muss aber auch zugeben GetVehicleParamsEx und SetVehicleParamsEx noch nie benutzt zu haben.Mir ging es lediglich um die Syntax.


    //Edit:

    Zitat

    //bonnet = false;unnötig
    //bonnet = true; unnötig


    Meinst wohl das. Ist ja eigentlich nur eine unnötige Verarbeitung.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • wir haben am Anfang eben nicht auf den params geguckt - ich nutzte das auch noch nicht. Von daher sagte ich, dass wir sie setzen müssen und bonnet gar nicht mehr berühren müssen, da wir das Ergebnis ja abfragen :)