Beiträge von [RG]Stormi25

    Jeffry es geht immernoch nicht


    hier mal ein Code mit Prints


    ocmd:carpark(playerid,params[])
    {
    new vID,seat,Float:x,Float:y,Float:z,Float:r;
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,RED,"Du bist in keinem Fahrzeug!");
    seat = GetPlayerVehicleSeat(playerid);
    if(seat != 0)
    {
    SendClientMessage(playerid,RED,"Du musst der Fahrer deines Fahrzeugs sein, um dieses zu speichern!");
    }
    else
    {
    vID = GetPlayerVehicleID(playerid);
    printf("vID = %i",vID);
    GetVehiclePos(vID,x,y,z);
    x = cInfo[vID][c_x];
    y = cInfo[vID][c_y];
    z = cInfo[vID][c_z];
    GetVehicleZAngle(vID,r);
    r = cInfo[vID][c_r];
    printf("x = %f y=%f z=%f r=%F",x,y,z,r);
    SendClientMessage(playerid,CL_ORANGE,"Dein Auto wird gespeichert. Dieser Vorgang dauert ca 10 Sekunden!");
    SendClientMessage(playerid,CL_ORANGE,"[Hinweis]: Du bist solange gefreezed!");
    SetTimerEx("UodateCarInDB",10000,false,"ii",vID,playerid);
    printf("playerid = %i vID = %i",playerid,vID);
    }

    return 1;
    }


    es wird NUR die vID geprintet
    die angeblich 166 ist. Die kann ich mir nicht erklären....
    haste da vlt ne idee woran das liegt

    Habs leider nicht ganz mitbekommen,


    wie ich das zuerst gelesen habe hab ich gedacht WTF


    dann hab ich auf die Letzte seite geguckt und musste grinsen :)
    Ich hätte das bestimmt gelguabt war aber auch zuerst stutzig



    Da braucht ihr nächstes Jahr was besseres :)



    VLT macht ihr ja jetzt ne "Best OF Aprilscherz" und jeder schickt vorschläge für nächstes Jahr :)

    F:\SAMP\gamemodes\Script1.pwn(10058) : warning 203: symbol is never used: "mediccars"
    F:\SAMP\gamemodes\Script1.pwn(10058) : warning 203: symbol is never used: "ordcars"
    F:\SAMP\gamemodes\Script1.pwn(10058) : warning 203: symbol is never used: "regcars"
    F:\SAMP\gamemodes\Script1.pwn(10058) : warning 203: symbol is never used: "sancars"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Header size: 9880 bytes
    Code size: 387908 bytes
    Data size: 351180 bytes
    Stack/heap size: 16384 bytes; estimated max. usage=5348 cells (21392 bytes)
    Total requirements: 765352 bytes


    4 Warnings.


    bitte Jeffry

    Hallo zusammen, ich habe das Problem dass neuerdings meine Befehle nicht mehr vollständig aufgerufen werden.


    Ein kurzes Beispiel


    Ich gebe /motor ein


    Sitze ich nicht auf dem Fahrzeug kommt die Fehlermeldung "Ich sitze nicht auf einem Fahrzeug"


    Sitze ich drauf - passiert nix ...



    Hier mal als BSP der /motor Code


    ocmd:motor(playerid,params[])
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return
    SendClientMessage(playerid,RED,"Du bist nicht der Fahrer von einem Fahrzeug!");
    new vID=GetPlayerVehicleID(playerid),
    tmp_engine,
    tmp_lights,
    tmp_alarm,
    tmp_doors,
    tmp_bonnet,
    tmp_boot,
    tmp_objective;
    if(cInfo[vID][liter]<1) return SendClientMessage(playerid,CL_RED,"Dein Tank ist leer");
    //Motor an/ausschalten
    GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    if(tmp_engine==1){
    tmp_engine = 0;
    }else{
    tmp_engine = 1;
    }
    SetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    return 1;
    }


    wenn ich prints setze passiert auch nix...



    LG


    Jeffry hast du ne idee?

    Hallo zusammen,


    ich habe hier eine Formatierungszeile wo ich 1 Error (Invalid Expression Azumed Zero) und 2 Warnings (expression has no Effect) bekomme


    vlt habt ihr ja ne Lösung für mich


    hier die Zeileformat(string,sizeof(string),"UPDATE autos SET tank='%i' AND Zustand='%i' WHERE besitzer='%i' AND id='%i'",cInfo[vID][liter],cInfo[vID][zustand],[sInfo[playerid][db_id],cInfo[vID][db_id];


    Danke im Vorraus

    Hast du dir ein Godfather runtergeladen? Wenn ja würde ich dir empfehlen ein Selfmade zu starten, hat den Vorteil, es ist einzigartig und du kennst deine Funktionen im Script selber


    Godfather ist für den Anfang zu schwer find ich :)

    hallo Goldkiller


    habe nun folgendes gemacht


    enum busroutenEnum{ //brInfo
    Float:b_x,
    Float:b_y,
    Float:b_z,
    Float:b_rad,
    win,
    r_id

    }
    enum busstartsenum{ //brInfo

    Float:b_x,
    Float:b_y,
    Float:b_z,
    bool:aktiv,
    Checkpoints



    }


    new brInfo[][busstartsenum] = {
    {2221.6140,1866.6394,10.3858,false,10}
    //{},


    };
    //brInfo[playerid][b_x]
    //brroutes[playerid][b_x]
    new brroutes[][busroutenEnum] = {
    // X Y Z Radius Gewinn,RoutenID


    //RoutenID 0 = LV nach LS
    {2154.9355,1961.0078,10.2405,5.0,250,0},
    {2178.5608,2349.9243,10.2335,5.0,250,0},
    {2119.5234,2061.8625,10.2251,5.0,250,0},
    {2039.7462,1005.9709,10.2359,5.0,250,0},
    {1789.3076,801.3461,10.6779,5.0,250,0},
    {1673.3729,-785.5421,54.4621,5.0,250,0},
    {1186.4357,-934.5354,42.2987,5.0,250,0},
    {958.2468,-1080.1121,24.5061,5.0,250,0},
    {1028.4401,-1331.0526,12.9473,5.0,250,0},
    {1151.0576,-1409.2263,13.0779,5.0,250,0}



    oben das ist der Startpunkt welcher zuerst aufgerufen werden soll, dann halt die mehreren unten


    dann bei OnPlayerEnterCheckpoint


    if(brInfo[playerid][aktiv])
    {
    brInfo[playerid][Checkpoints] ++; // ++ ist das gleiche wie +1
    DisablePlayerCheckpoint(playerid);
    new playercp = brInfo[playerid][Checkpoints];
    if(playercp == sizeof(brroutes))
    {
    brInfo[playerid][aktiv]=false;
    }
    else
    {
    SetPlayerCheckpoint(playerid,brroutes[playerid][b_x],brroutes[playerid][b_y],brroutes[playerid][b_z],brroutes[playerid][b_rad]);
    SCMTOADMIN("TEst neuer Checkpoint");
    }

    }


    und bei der Routenwahl hab ich folgendes gemacht


    if (listitem == 2) //LV TO LS
    {
    brInfo[playerid][aktiv] = true;
    SetPlayerCheckpoint(playerid,brroutes[playerid][b_x],brroutes[playerid][b_y],brroutes[playerid][b_z],brroutes[playerid][b_rad]);
    Busfahrer1[playerid] = -1;
    Busfahrer2[playerid] = -1;
    brInfo[playerid][Checkpoints] = 0;

    return 1;
    }




    ist das so korrekt? so in deiner Vorstellung des umsetzens?


    danke im vorraus


    LG stormi

    @Rocky gut geguckt aber leider falsch


    da kommt ja noch mehr an Code und unten wird die Klammer dann geschlossen


    woltlte euch jetzt nicht mit 500 Zeilen Code überschütten :D


    @Filzeilla hab ich gemacht aber ohne veränderung


    stürzt immer noch ab...


    Edit:



    ich konnte den Fehler nicht finden


    habt ihr noch ne Idee ?

    Hallo zsm


    habe nach dem Muster von seegras Tutorial für Checkpoints angefangen das zu bauen


    nun sieht das ganze bei mir so aus


    enum busroutenEnum{ //brInfo
    Float:b_x,
    Float:b_y,
    Float:b_z,
    Float:b_rad,
    win,
    r_id

    }
    enum busstartsenum{ //brInfo

    Float:b_x,
    Float:b_y,
    Float:b_z,
    bool:aktiv,
    Checkpoints



    }
    new brInfo[][busstartsenum] = {
    {2221.6140,1866.6394,10.3858,false,0}
    //{},


    };
    //brInfo[playerid][b_x]
    //brroutes[playerid][b_x]
    new brroutes[][busroutenEnum] = {
    // X Y Z Radius Gewinn,RoutenID


    //RoutenID 0 = LV nach LS
    {2154.9355,1961.0078,10.2405,5,250,0},
    {2178.5608,2349.9243,10.2335,5,250,0},
    {2119.5234,2061.8625,10.2251,5,250,0},
    {2039.7462,1005.9709,10.2359,5,250,0},
    {1789.3076,801.3461,10.6779,5,250,0},
    {1673.3729,-785.5421,54.4621,5,250,0},
    {1186.4357,-934.5354,42.2987,5,250,0},
    {958.2468,-1080.1121,24.5061,5,250,0},
    {1028.4401,-1331.0526,12.9473,5,250,0},
    {1151.0576,-1409.2263,13.0779,5,250,0}



    //{},




    };


    if (listitem == 2) //LV TO LS
    {
    if(response) return SendClientMessage(playerid,RED,"wahl abgebrochen!");

    brInfo[playerid][aktiv] = true;
    SetPlayerCheckpoint(playerid,brroutes[playerid][b_x],brroutes[playerid][b_y],brroutes[playerid][b_z],brroutes[playerid][b_rad]);
    brInfo[playerid][Checkpoints] = 0;
    brInfo[playerid][r_id] = 0;
    return 1;
    }


    außerdem bei OnPlayerEnterCheckpoint



    public OnPlayerEnterCheckpoint(playerid)
    {
    //brInfo[playerid][b_x]
    //brroutes[playerid][b_x]
    //Busstrecke LV nach LS

    if(brInfo[playerid][aktiv])
    {
    brInfo[playerid][Checkpoints] ++; // ++ ist das gleiche wie +1
    DisablePlayerCheckpoint(playerid);
    new playercp = brInfo[playerid][Checkpoints];
    if(playercp == sizeof(brroutes))
    {
    brInfo[playerid][aktiv]=false;
    }
    else
    {
    SetPlayerCheckpoint(playerid,brroutes[playerid][b_x],brroutes[playerid][b_y],brroutes[playerid][b_z],brroutes[playerid][b_rad]);
    }

    }


    jetzt schmiert leider mein compiler ab


    vlt kann mir jmd helfen

    Zitat

    Dieses tolle Tutorial möchte ich ganz gerne mal aus der Versenkung holen


    (erspart mir die schreiberei)



    Hallo Goldkiller


    wie würdest du das denn machen wenn du mehrere Routen festlegen willst,
    machst du dann für jedes ein neues Enum etc oder geht das auch in einem?


    also im Grunde genommen braucht jede Route ja dann eine ID