Beiträge von [EGC] selEcT

    thx...


    random geht net mit random(zahl-zahl), da muss einfach die menge der case's drinstehen (also z.B.) 3, dann gehts ;)


    danke nochmal



    BlackFox , wenn ich jetzzt nen Menü mache ein ganz normales mit.
    AddMenuComponent(name, "port");
    AddMenuComponent(name, "port2"); // oder wie das heißt
    Wenn ich das dann mit case & switch mache ist case 0 port und case1 port 2?

    das kannste ja selber festlegen:


    switch(random(2)) // 2 Case
    {
    case 0:
    {
    AddMenuComponent(name, "port"); //oder AddMenuComponent(name, "port2");
    }
    case 1:
    {
    AddMenuComponent(name, "port2"); //oder AddMenuComponent(name, "port");
    }
    }



    korrigiert mich wenns net stimmt ;) habs net getestet

    kann man auch ein zweites random in ein if(zufall == X) setzen?


    also z.B.



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/zufall", true) == 0)//Befehl beginnt
    {
    new geld = random(100);
    new zufall = random(3);//zufall wird erstellt und wird 1 oder 2 ausspucken
    if(zufall == 1)//Wenn zufall 1 ist
    {
    SendClientMessage(playerid,0x33FF00FF,"Du hast gewonnen!");//Befehl der sagt das man gewonnen hat
    GivePlayerMoney(playerid,geld);//Halt der Gewinn. Hier 1$
    return 1;//Befehl Ende
    }
    if(zufall == 2)//wenn zufall 2 ist
    {
    SendClientMessage(playerid,0xFF0000FF,"Du hast verloren!");//Nachricht das man verloren hat
    GivePlayerMoney(playerid,-geld);//Halt abzug von Geld weil man verloren hat
    return 1;//Befehl Ende
    }
    if(zufall == 3)//wenn zufall 3 ist
    {
    new zufall2 = random(2);
    if(zufall2 == 1) //wenn zufall2 1 ist
    {
    SendClientMessage(playerid,0x33FF00FF,"Du hast gewonnen!");//Befehl der sagt das man gewonnen hat
    GivePlayerMoney(playerid,geld);//Halt der Gewinn. Hier 1$
    return 1;//Befehl Ende
    }
    if(zufall2 == 2)//aber wenn zufall2 2 ist
    {
    SendClientMessage(playerid,0xFF0000FF,"Du hast verloren!");//Nachricht das man verloren hat
    GivePlayerMoney(playerid,-geld);//Halt abzug von Geld weil man verloren hat
    return 1;//Befehl Ende
    }
    return 1;
    }
    return 1;
    }
    return 1;
    }


    bei mir funktioniert das so nicht bzw. nur if(zufall == 1) und if(zufall == 2), aber die 3 nicht... geht das überhaupt?


    (ich weiss, das beispiel ist bescheuert, es soll halt einfach nur darstellen, wie ich es meine ;))


    MFG selEcT

    Ah stimmt, aber wie frage ich dann ab in welchem er ist?
    Es gibt ja keine Funktion wie PlayerInCheckpoint(playerid, checkpointname) oder?
    //EDIT: Zu spät gelesen, ich probiers mal danke^^


    public OnPlayerEnterCheckpoint
    {
    if(Checkpoint[playerid] == 1)
    {
    //Code
    }
    }


    ;)


    edit: warum willst du mehrere checkpoints einem spieler geben? Und auf diese Art geht das mit den mehreren Checkpoints nicht (ich wüsste auch nicht wie).

    Mit SetPlayerCheckpoint() weist du einem Spieler einen Checkpoint zu.


    du kannst ja variablen dazu benutzen, also z.B.


    oben einfügen

    new Checkpoint[MAX_PLAYERS]


    dann


    //Code
    SetPlayerCheckpoint(playerid,floatx,floaty,floatz,size);
    Checkpoint[playerid] = 1
    //Code


    nun kannst du bei OnPlayerEnterCheckpoint einfach


    if(Checkpoint[playerid] == 1)
    {
    //Code
    }


    machen



    edit: zu spät ^^ surrender's beitrag ist auch eine lösung (hab net gewusst ob das geht...)


    edit2: oder wenn du eindeutige namen möchtest, änderst du halt Checkpoint zu dem, was du willst (also z.B. CarDelivery)

    hmm, ich weiss nicht, aber ist der AddStaticPickup-Befehl nicht:


    AddStaticPickup(model,type,Float:X,Float:Y,Float:Z,Virtualworld)


    ?


    versuchs also mal mit


    AddStaticPickup(1273, 2, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], -1);


    (-1 macht das pickup in jeder "virtuellen welt" sichtbar)


    MFG selEcT

    hast recht.. werd ich mal probiern.. also bist du dir sicher, dass wenn das auto auf dem rücken liegt und anfang zu brennen, ich aussteige, das auto explodiert, dass ich dann auch ne meldung bekomme? xD



    Hmm.. geht net... ich hab einfach noch was eingebaut (gesamter Code):



    forward CheckVehicle();
    new AutoKaputt[MAX_PLAYERS];


    public OnGameModeInit()
    //...
    //...
    SetTimer("CheckVehicle",1000,1);
    //...
    //...


    public CheckVehicle()
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(GetPlayerState(i) == 2)
    {
    new Float:veh_h;
    new vehid = GetPlayerVehicleID(i);
    GetVehicleHealth(vehid, veh_h);
    if(veh_h < 100.0)
    {
    if(AutoKaputt[i] == 0)
    {
    if(IsACopCar(vehid))
    {
    TogglePlayerControllable(i,0);
    SendClientMessage(i, COLOR_RED,"Dein Copcar ist kaputt!");
    AutoKaputt[i] = 1;
    }
    else if(IsAAmbulanz(vehid))
    {
    TogglePlayerControllable(i,0);
    SendClientMessage(i, COLOR_RED,"Dein Ambulanzcar ist kaputt!");
    AutoKaputt[i] = 1;
    }
    }
    }


    }
    }
    }


    public IsAnAmbulance(carid)
    {
    for(new i = 0; i < sizeof(ambulanzcars); i++)
    {
    if(carid == ambulanzcars[i])
    {
    return 1;
    }
    }
    return 0;
    }
    //(dasselbe mit dem Copcar)



    was kann da noch falsch sein? Also ich bin einfach ausgestiegen, als das auto auf dem kopf war, dann ist es auch explodiert, bekam aber keine Meldung...

    Hallo Breadfish-Community!


    Ich weiss nicht, obs das schon gab, aber ich hab auf jeden fall nix gefunden ^^


    Also, ich möchte jetzt, dass wenn jemand fährt, und nachher sein Auto zu schrott fährt, aber der Spieler nicht mehr im Auto ist, das dann eine Meldung kommt, dass das Auto kaputt gegangen ist. Mit dem Callback "OnVehicleDeath" geht das ja nicht, oder irre ich mich da?


    MFG selEcT