Beiträge von Jeffry

    Das hat nichts mit dem Enum zu tun.
    Der Fehler dürfte in der Zeile drüber liegen. Und zwar fehlt dort ein: "


    Kompiler: Ich habe ein STRING ENDE erwartet, habe aber keinen gefunden.

    Aha.


    Dann füg es mal so ein, und sage uns was in dem server_log steht.
    for(new i=0; i<sizeof(buscar); i++)
    {
    printf("Called %d"; i);
    if(buscar[i] == -1) continue;
    printf("Passed %d"; i);
    Bus3DText[i]=Create3DTextLabel("Leerfahrt",0x00C8E9FF,0.0,0.0,0.0,50.0,0,1);
    Attach3DTextLabelToVehicle(Bus3DText[i],buscar[i],0.0,0.0,2.0);
    printf("Progressed %d (Label %d attached to %d)"; i, _:Bus3DText[i], buscar[i]);
    }

    Versuche es mal so:

    Spoiler anzeigen
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_NO && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(GetEngineState(GetPlayerVehicleID(playerid)) == 1)
    {
    ToggleEngine(GetPlayerVehicleID(playerid),0);
    GameTextForPlayer(playerid, "~r~Engine turned off", 2000, 3);
    }
    else
    {
    ToggleEngine(GetPlayerVehicleID(playerid),1);
    GameTextForPlayer(playerid, "~r~Engine turned on", 2000, 3);
    }
    }
    //------------------------------------------------------------------------------------------------------------------------------------------------------------
    if(newkeys & (KEY_SPRINT))
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 1344.98877, 1244.95239, 41.18820))
    {
    ShowPlayerDialog(playerid,4,DIALOG_STYLE_LIST,"Spectate RW","Runway 69 North\nRunway 69 South\nRunway 5 North\nRunway 5 South","Spectate","Close");
    }
    else if(IsPlayerInRangeOfPoint(playerid, 5.0, 1623.52991, -2286.77075, 94.26330))//LS
    {
    ShowPlayerDialog(playerid,5,DIALOG_STYLE_LIST,"Spectate RW","Runway 69 West\nRunway 69 East\nRunway 5 West\nRunway 5 East","Spectate","Close");
    }
    else if(IsPlayerInRangeOfPoint(playerid, 5.0, -1275.72742, 56.47289, 74.24910))//sf
    {
    ShowPlayerDialog(playerid,6,DIALOG_STYLE_LIST,"Spectate RW","Runway 69 North\nRunway 69 South","Spectate","Close");
    }
    }
    //----------------------------------------------------------------------------------CART----------------------------------------------------------------
    if (CartState[playerid] == 1)
    {
    if (newkeys & (KEY_SECONDARY_ATTACK ))
    {
    new Float:oX,Float:oY,Float:oZ;
    GetPlayerPos(playerid,oX,oY,oZ);
    RemovePlayerFromVehicle(playerid);
    SetPlayerPos(playerid,oX,oY,oZ+1);
    DestroyObject(CartObj[playerid]);
    DestroyVehicle(CartID[playerid]);
    CartState[playerid] = 0;
    }
    }
    //---------------------------------haussystem-----------------------------------------------------------------------------------------------------------
    if(newkeys & (KEY_SECONDARY_ATTACK))
    {
    for(new i = 0; i != MAX_HOUSES; i++)
    {
    if(IsPlayerInCheckpoint(playerid) && IsPlayerInDynamicCP(playerid, hausInfo[i][hCpID]))
    {
    SetPlayerPos(playerid, hausInteriorData[hausInfo[i][hInterior]][iX], hausInteriorData[hausInfo[i][hInterior]][iY], hausInteriorData[hausInfo[i][hInterior]][iZ]);
    SetPlayerVirtualWorld(playerid, hausInfo[i][hID]);
    SetPlayerInterior(playerid, hausInteriorData[hausInfo[i][hInterior]][iInterior]);
    break;
    }
    }
    new playerWorld = GetPlayerVirtualWorld(playerid);
    if(playerWorld != 0)
    {
    for(new i = 0; i != MAX_HOUSES; i++)
    {
    if(hausInfo[i][hID] == playerWorld)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3, hausInteriorData[hausInfo[i][hInterior]][iX], hausInteriorData[hausInfo[i][hInterior]][iY], hausInteriorData[hausInfo[i][hInterior]][iZ]))
    {
    SetPlayerPos(playerid, hausInfo[i][hX], hausInfo[i][hY], hausInfo[i][hZ]);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    break;
    }
    }
    }
    }
    }
    return 1;
    }


    Ich hab dir auch gleich mal das Durcheinander behoben.

    Ich sehe grade, dass du "bus" verwendest, und nicht "buscar"
    bus[0]=AddStaticVehicle(...);



    Dann müsste es so aussehen:
    new bus[ANZAHL] = {-1,...};


    for(new i=0; i<sizeof(bus); i++)
    {
    if(bus[i] == -1) continue;
    Bus3DText[i]=Create3DTextLabel("Leerfahrt",0x00C8E9FF,0.0,0.0,0.0,50.0,0,1);
    Attach3DTextLabelToVehicle(Bus3DText[i],bus[i],0.0,0.0,2.0);
    }

    for(new i=0; i<sizeof(buscar); i++)
    {
    Bus3DText[i]=Create3DTextLabel("Leerfahrt",0x00C8E9FF,0.0,0.0,0.0,50.0,0,1);
    Attach3DTextLabelToVehicle(Bus3DText[i],buscar[i],0.0,0.0,2.0);
    }


    Falls es so nicht tut, wie ist denn "buscar" definiert und zu was wird es gesetzt? Und wie ist "Bus3DText" definiert?

    strcat(str1,Spieler[playerid][Flugschein]);
    strcat(str1,Spieler[playerid][Waffenschein]);
    strcat(str1,Spieler[playerid][AutoPunkte]);
    strcat(str1,Spieler[playerid][BikePunkte]);
    strcat(str1,Spieler[playerid][LKWPunkte]);


    Oder besser:
    format(str1,sizeof(str1), "%s%s%s%s%s", Spieler[playerid][Flugschein],Spieler[playerid][Waffenschein],Spieler[playerid][AutoPunkte],Spieler[playerid][BikePunkte],Spieler[playerid][LKWPunkte]);

    Den einzigen gescheiten Rat den ich dir dazu geben kann: Lass es und nutze weiter ocmd.
    Du erlangst dadurch keine Vorteile, es wird nur unnötig umständlich jedes mal die Parameter abzusplitten, letztenendes kommst du dann auf das Selbe raus, nur dass es unter dem callback OnPlayerCommandText steht, anstatt bei den Befehlen von ocmd.


    Welche Vorteile hättest du dir davon denn erhofft?

    Ja, ich denke schon. Du schältst einfach die Box aus:
    TextDrawUseBox(textdraw, 0);


    Bzw, wenn du es mit dem Editor machst, siehst du ja ob sich was ändert. Alternativ könntest du als Hintergrundfarbe/Boxfarbe auch 0x00000000 nehmen.

    Nutzt du zufällig einen anderen Editor als den Standardeditor?


    Probier es mal so:
    new vehicleid, ID1;
    vehicleid = GetPlayerVehicleID(playerid);


    Wobei so wie du es hast es eigentlich richtig ist.

    Schick mir mal in PM deine TeamViewer Daten, dann schau ich mir das mal genauer an, sonst können wir hier noch 100 mal posten und das macht ja wenig Sinn. Ich hätte grade 30 Minuten frei.



    EDIT: Es liegt nicht an MySQL, soweit sind wir schon mal gekommen. Der Rest werden wir später noch machen, die Lösung wird sich dann hier finden, sobald sie gefunden wurde.
    Fehlerstelle ist diese Zeile:
    ssinfo[GetPlayerID(vdata[i][owner])][outVehicle] --;

    Hast du meinen Code vom Post über dir eingefügt? Was ist mit den "print("Test1.2");", werden die gezeigt, oder haste das gar nicht eingefügt?
    Das wäre wichtig zu wissen wie weit er vor dem query kommt.

    Sofern das bei OnPlayerConnect aufgerufen wird, solltest du:
    SetPlayerSkin(playerid, dini_Int(Playerdatei, "Skin"));


    zu OnPlayerSpawn setzen, samt der Angabe des Pfads versteht sich.
    Oder du speicherst es in einer Variable (wie Level) und setzt dann über die Variable bei OnPlayerSpawn den Skin.