Problem mit /gethere Befehl

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
  • Moin



    Ich habe mal wieder ein kleines Problem, und zwar
    hab ich ein /gethere befehl womit ich Spieler zu mir Porten kann,
    nur es funktioniert nicht richtig. Das Porten funktioniert einwandfrei aber wenn er sich in einem Interior befindet
    und ich mich außerhalb eines Interior aufhalte und ihn dann Porte tue wird es zwar zu mir Geportet aber sieht dann nicht die umgebung sondern nur das was Gemappt wurde..


    Mein Code:


    ocmd:gethere(playerid,params[])
    {
    if(GetPVarInt(playerid,"Tutorial") == 1)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen, da du im Tutorial bist.");
    if(GetPVarInt(playerid,"loggedin") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    new string[128],pID;
    if(GetPVarInt(playerid,"Adminlevel") !=4 && GetPVarInt(playerid,"Adminlevel") != 1337 && GetPVarInt(playerid,"Adminlevel") != 2000)return SendClientMessage(playerid,GELB,"Du hast keine Rechte dazu!");
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,BLAU,"INFO: /gethere [Name/ID]");
    if(playerid == pID) return SendClientMessage(playerid,DUNKELROT,"Das funktioniert nicht");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online.");
    {
    new Float:X,Float:Y,Float:Z,autoid = GetPlayerVehicleID(pID);
    format(string,sizeof string,"Admin: %s hat dich zu sich Geportet",SpielerName(playerid));
    SendClientMessage(pID,BLAU,string);
    format(string,sizeof string,"Du portest %s zu dir",SpielerName(pID));
    SendClientMessage(playerid,BLAU,string);
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerInterior(playerid);
    GetPlayerVirtualWorld(playerid);
    if(IsPlayerInAnyVehicle(pID))
    {
    SetVehiclePos(autoid, X, Y+4, Z);
    SetPlayerVirtualWorld(playerid,pID);
    SetPlayerInterior(playerid,pID);
    }
    else
    {
    SetPlayerPos(pID,X,Y,Z+4);
    }
    }
    return 1;
    }


    Hoffe ihr könnt mir da weiter helfen




    Grüße

  • Probier mal so:


    ocmd:gethere(playerid,params[])
    {
    if(GetPVarInt(playerid,"Tutorial") == 1)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen, da du im Tutorial bist.");
    if(GetPVarInt(playerid,"loggedin") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    new string[128],pID;
    if(GetPVarInt(playerid,"Adminlevel") !=4 && GetPVarInt(playerid,"Adminlevel") != 1337 && GetPVarInt(playerid,"Adminlevel") != 2000)return SendClientMessage(playerid,GELB,"Du hast keine Rechte dazu!");
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,BLAU,"INFO: /gethere [Name/ID]");
    if(playerid == pID) return SendClientMessage(playerid,DUNKELROT,"Das funktioniert nicht");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online.");
    {
    new Float:X,Float:Y,Float:Z,autoid = GetPlayerVehicleID(pID);
    format(string,sizeof string,"Admin: %s hat dich zu sich Geportet",SpielerName(playerid));
    SendClientMessage(pID,BLAU,string);
    format(string,sizeof string,"Du portest %s zu dir",SpielerName(pID));
    SendClientMessage(playerid,BLAU,string);
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInAnyVehicle(pID))
    {
    SetVehiclePos(autoid, X, Y+4, Z);
    SetPlayerVirtualWorld(pID,GetPlayerVirtualWorld(playerid));
    SetPlayerInterior(pID,GetPlayerInterior(playerid));
    }
    else
    {
    SetPlayerPos(pID,X,Y,Z+4);
    }
    }
    return 1;
    }

  • ocmd:gethere(playerid,params[])
    {
    if(GetPVarInt(playerid,"Tutorial") == 1)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen, da du im Tutorial bist.");
    if(GetPVarInt(playerid,"loggedin") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    new string[128],pID;
    if(GetPVarInt(playerid,"Adminlevel") !=4 && GetPVarInt(playerid,"Adminlevel") != 1337 && GetPVarInt(playerid,"Adminlevel") != 2000)return SendClientMessage(playerid,GELB,"Du hast keine Rechte dazu!");
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,BLAU,"INFO: /gethere [Name/ID]");
    if(playerid == pID) return SendClientMessage(playerid,DUNKELROT,"Das funktioniert nicht");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online.");
    {
    new Float:X,Float:Y,Float:Z,autoid = GetPlayerVehicleID(pID);
    format(string,sizeof string,"Admin: %s hat dich zu sich Geportet",SpielerName(playerid));
    SendClientMessage(pID,BLAU,string);
    format(string,sizeof string,"Du portest %s zu dir",SpielerName(pID));
    SendClientMessage(playerid,BLAU,string);
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInAnyVehicle(pID))
    {
    SetVehiclePos(autoid, X, Y+4, Z);
    LinkVehicleToInterior(autoid, GetPlayerInterior(playerid));
    SetVehicleVirtualWorld(autoid, GetPlayerVirtualWorld(playerid));
    }
    else
    {
    SetPlayerPos(pID,X,Y,Z+4);
    }
    SetPlayerVirtualWorld(oID, GetPlayerVirtualWorld(playerid));
    SetPlayerInterior(pID,GetPlayerInterior(playerid));
    }
    return 1;
    }


    So gehört es.