Enter & Exit klappt nicht?

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 weiß einfach nicht wo mein Fehler ist.


    Hier Spawn ich:




    if (PlayerInfo[playerid][pMember] == 23 || PlayerInfo[playerid][pLeader] == 23) //RM spawn
    {
    SetPlayerToTeamColor(playerid);
    SetPlayerPos(playerid,323.8484,1127.9318,1083.8828);
    SetPlayerFacingAngle(playerid,281.6475);
    SetPlayerInterior(playerid,5);
    PlayerInfo[playerid][pInt] = 5;
    SetPlayerVirtualWorld(playerid,3);
    return 1;
    }
    Hier gehe ich Raus & Rein ( Was aber nicht klappt... )



    else if (IsPlayerInRangeOfPoint(playerid,4.0,1154.7332,-1181.1477,32.8187))// Russenmafia Enter
    {
    if(PlayerInfo[playerid][pLeader] == 23 || PlayerInfo[playerid][pMember] == 23 || IsACop(playerid))
    {
    SetPlayerPos(playerid,318.6134,1115.3098,1083.8828);
    SetPlayerInterior(playerid,5);
    PlayerInfo[playerid][pInt] = 5;
    SetPlayerVirtualWorld(playerid,3);
    SetPlayerFacingAngle(playerid,2.5225);
    }
    }
    else if (IsPlayerInRangeOfPoint(playerid,4.0,318.6134,1115.3098,1083.8828))// Russenmafia Exit
    {
    if(PlayerInfo[playerid][pLeader] == 23 || PlayerInfo[playerid][pMember] == 23 || IsACop(playerid))
    {
    SetPlayerPos(playerid,1154.7332,-1181.1477,32.8187);
    SetPlayerInterior(playerid,0);
    PlayerInfo[playerid][pInt] = 0;
    SetPlayerVirtualWorld(playerid,0);
    }
    }
    Hoffe Ihr könnt mir ein kleinen Denkanstoß geben.
    Hab es mal geändert ( das mit dem Enter Exit klappt ja normalerweise nur ebenhalt nicht bei Russenmafia
    Jeffry:
    @Homez:
    MfG

    2 Mal editiert, zuletzt von Separate ()

  • Da brauchen wir wohl etwas mehr Codeblock. Vermutlich vom If-Clause, der den Tastendruck abfragt.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Beitrag von ENEF ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Dann printe dir da drin mal PlayerInfo[playerid][pLeader] und PlayerInfo[playerid][pLeader] sowie IsACop(playerid)


    Denn einen Fehler sehe ich jetzt gerade nicht. Also sind entweder die Variablen inkorrekt und der If-Clause tritt gar nicht erst ein, oder die Koordinaten sind falsch und deswegen tritt der If-Clause nicht ein.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Also als aller erstes solltest du dir merken, dass man Keys mit & und nicht mit == vergleicht, sprich:

    if(newkeys & KEY_SECONDARY_ATTACK)


    Und zweitens printe mal, wie LeijaT es gesagt hat.

    //Das alles in einen Befehl oder so, den du ausführst während du in der Russenmafia bist
    printf("Leader: %d",PlayerInfo[playerid][pLeader]);
    printf("Member: %d", PlayerINfo[playerid][pMember]);
    printf("Cop: %d",IsACop(playerid));


    Um herauszufinden, an welcher if-Abfrage es scheitert, tust du folgendes:

    else if (IsPlayerInRangeOfPoint(playerid,4.0,318.6134,1115.3098,1083.8828))// Russenmafia Exit
    {
    print("1");
    if(PlayerInfo[playerid][pLeader] == 23 || PlayerInfo[playerid][pMember] == 23 || IsACop(playerid))
    {
    print("2");
    SetPlayerPos(playerid,1154.7332,-1181.1477,32.8187);
    SetPlayerInterior(playerid,0);
    PlayerInfo[playerid][pInt] = 0;
    SetPlayerVirtualWorld(playerid,0);
    }
    }


    Dann schreibst du mal hier rein, was alles in der Konsole steht.

    20€ geschenkt - bei Fragen gerne PN an mich


    Mehr über reCyclix
    reCyclix - more than recycling
    reyCyclix ist ein polnisches Recyclingunternehmen, welches jedem die Möglichkeit bietet, sich an ihrem Geschäftsmodell gewinnbringend zu beteiligen. Normalerweise passiert das, in dem man eine beliebige Summe in Kunststoffmüll investiert, allerdings schenkt reCyclix zur Zeit noch jedem neuem Nutzer 20€, die zur Investition genutzt werden können.

  • Du kannst es auch so machen.



    Die 2 Sachen ganz oben
    enum buildingsEnum{
    Float:b_x,
    Float:b_y,
    Float:b_z,
    Float:b_r,
    Float:b_ix,
    Float:b_iy,
    Float:b_iz,
    Float:b_ir,
    b_interior,
    b_world
    }
    new bInfo[][buildingsEnum] = {
    {b_x, b_y, b_z, b_r, b_ix, b_iy, b_iz, b_ir, b_interior, b_world} //Musst du halt eintragen.
    };


    Und das hier bei OnGamemodeInit
    for(new i=0; i<sizeof(bInfo); i++)
    {
    CreatePickup(1239,1,bInfo[i][b_x],bInfo[i][b_y], bInfo[i][b_z]);
    CreatePickup(1239,1,bInfo[i][b_ix],bInfo[i][b_iy], bInfo[i][b_iz]);
    Create3DTextLabel("Hier kannst du das Gebäude mit \n /enter betreten", COLOR_BLUE, bInfo[i][b_x],bInfo[i][b_y], bInfo[i][b_z], 40.0, 0, 0);
    Create3DTextLabel("Hier kannst du das Gebäude mit \n /exit verlassen", COLOR_BLUE, bInfo[i][b_ix],bInfo[i][b_iy], bInfo[i][b_iz], 40.0, bInfo[i][b_world], 0);
    }