[Help] Dynamic Interior system

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
  • Guten abend user


    Ich schreibe gerade ein interior system das per dini leuft


    er zeigt mir die icons usw ordentlich an in der datei steht alles ordentlich drin...


    wenn ich denn cmd zum betreten ein tippe portet er mich nicht an die gesetzte position sondern irgendwo in die pampa


    der command:


    if (strcmp(cmd, "/betreten", true) == 0)
    {
    for(new h = 0; h < sizeof(Intsystem); h++)
    {
    if(Intsystem[h][OnGang] == 0)
    {
    if(PlayerToPoint(5.0,playerid,Intsystem[h][EEnterx],Intsystem[h][EEntery],Intsystem[h][EEnterz]))
    {
    GivePlayerMoney(playerid,-Intsystem[h][Eintritt]);
    Intsystem[h][Kasse] += Intsystem[h][Eintritt];
    Intsystem[h][Eint] = dini_Int(string,"Eint");
    SetPlayerInterior(playerid,Intsystem[h][Eint]);
    Intsystem[h][EExitx] = dini_Int(string,"EExitx");
    Intsystem[h][EExity] = dini_Int(string,"EExity");
    Intsystem[h][EExitz] = dini_Int(string,"EExitz");
    SetPlayerVw(playerid, h);
    SetPlayerPos(playerid,Intsystem[h][EExitx],Intsystem[h][EExity],Intsystem[h][EExitz]);
    }
    }
    else if(Intsystem[h][OnGang] == 1)
    {
    if(PlayerInfo[playerid][Fraktion]== Intsystem[h][GangID])
    {
    if(PlayerToPoint(5.0,playerid,Intsystem[h][EEnterx],Intsystem[h][EEntery],Intsystem[h][EEnterz]))
    {
    SetPlayerInterior(playerid,Intsystem[h][Eint]);
    SetPlayerVw(playerid, h);
    //SetPlayerInterior(playerid,Intsystem[h][EInterior]);
    SetPlayerPos(playerid,Intsystem[h][EExitx],Intsystem[h][EExity],Intsystem[h][EExitz]);
    SetPlayerInterior(playerid,Intsystem[h][Eint]);
    }


    }
    }
    }
    return 1;
    }



    Die ladung:



    public LoadInts()
    {
    new Interiorid[64];
    for(new InteriorID = 0; InteriorID < sizeof(Intsystem); InteriorID++)
    {
    format(Interiorid, sizeof(Interiorid), "/ints/%d.ini", InteriorID);
    if(dini_Exists(Interiorid))
    {
    Intsystem[InteriorID][EEnterx] = dini_Float(Interiorid, "EEnterx");
    Intsystem[InteriorID][EEntery] = dini_Float(Interiorid, "EEntery");
    Intsystem[InteriorID][EEnterz] = dini_Float(Interiorid, "EEnterz");
    strmid(Intsystem[InteriorID][EnterText],dini_Get(Interiorid,"EnterText"),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    Intsystem[InteriorID][EExitx] = dini_Float(Interiorid, "EExitx");
    Intsystem[InteriorID][EExity] = dini_Float(Interiorid, "EExity");
    Intsystem[InteriorID][EExitz] = dini_Float(Interiorid, "EExitz");
    Intsystem[InteriorID][Eint] = dini_Int(Interiorid, "Eint");
    Intsystem[InteriorID][GangID] = dini_Int(Interiorid, "GangID");
    Intsystem[InteriorID][OnGang]= dini_Int(Interiorid, "OnGang");
    Intsystem[InteriorID][Kasse]= dini_Int(Interiorid, "Kasse");
    Intsystem[InteriorID][Eintritt]= dini_Int(Interiorid, "Eintritt");
    new string[256];
    format(string, sizeof(string), "ID:%d\n%s\nEintritt: %s",InteriorID,Intsystem[InteriorID][EnterText],Intsystem[InteriorID][Eintritt]);
    Int3d = Create3DTextLabel(string,COLOR_ORANGE,Intsystem[InteriorID][EEnterx], Intsystem[InteriorID][EEntery],Intsystem[InteriorID][EEnterz]+1,25,0,1);
    CreatePickup(1239, 2, Intsystem[InteriorID][EEnterx], Intsystem[InteriorID][EEntery], Intsystem[InteriorID][EEnterz]);
    }
    }
    return 0;
    }


    //edit
    // ich habs mal so probiert passiert aber nix.....


    if(strcmp(cmd, "/enter",true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    for(new h = 0; h < sizeof(EnterExitSys); h++)
    {
    if (PlayerToPoint(3, playerid,EnterExitSys[h][EEnterx], EnterExitSys[h][EEntery], EnterExitSys[h][EEnterz]))
    {
    GivePlayerMoney(playerid,-EnterExitSys[h][Eintritt]);
    //EnterExitSys[h][Kasse] += EnterExitSys[h][Eintritt];
    SetPlayerInterior(playerid,EnterExitSys[h][Eint]);
    SetPlayerVirtualWorld(playerid, h);
    SetPlayerPos(playerid,EnterExitSys[h][EExitx],EnterExitSys[h][EExity],EnterExitSys[h][EExitz]);
    }
    }
    }
    return 1;
    }


    //edit fehler entfernt
    mfg fußboden

    2 Mal editiert, zuletzt von Fußboden () aus folgendem Grund: cmd hinzugefügt