Public Funktioniert 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
  • Hey,
    ich habe ein Public geschrieben, doch irgendwie Funktioniert das ganze nicht :/
    Der Spieler wird nicht geportet..


    forward OnPlayerPort(playerid, Float:X, Float:Y, Float:Z, Float:ZA);
    public OnPlayerPort(playerid, Float:X, Float:Y, Float:Z, Float:ZA)
    {
    new String[128];
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetPlayerVehicleSeat(playerid) == 0){
    new carid = GetPlayerVehicleID(playerid);
    SetVehiclePos(carid, X, Y, Z);
    SetVehicleZAngle(carid, ZA);
    PutPlayerInVehicle(playerid,carid, 0);
    GivePlayerMoney(playerid, -500);
    GameTextForPlayer(playerid, "~r~-~y~500~g~$", 3000, 1);
    format(String,sizeof(String), "=>%s hat sich nach %s geportet!<=", SpielerName(playerid));
    }
    else
    {
    SetPlayerPos(playerid, X, Y, Z);
    GivePlayerMoney(playerid, -500);
    SetPlayerFacingAngle(playerid, ZA);
    GameTextForPlayer(playerid, "~r~-~y~500~g~$", 3000, 1);
    }
    }
    return 1;
    }

  • if(strcmp("/sfair",cmdtext,true)==0)
    {
    if(GetPlayerMoney(playerid) < 500) return SendClientMessage(playerid, Rot, "Du hast nicht genug Geld! (500$)");
    OnPlayerPort(playerid, -1434.0973,-287.6029,13.7634,60.1926);
    new string[62];
    format(string,sizeof(string), "=>%s hat sich nach /SFAir teleportiert!<=", SpielerName(playerid));
    SendClientMessageToAll(Gelb, string);
    return 1;
    }

  • Warum nicht ?
    Muss man nicht jedes mal den gleichen Code unter jeden Befehl kopieren. Ob es wirklich public sein muss, ist eine Andere Sache.



    Mich würde ja mal interessieren, ob du /sfair aus dem Fahrzeug ( Fahrer- oder Beifahrersitz) oder zu Fuß aufrufst. Probier doch mal diese 3 Szenarien aus.
    Zu Fuß sollte nichts passieren, als Fahrer sollte es klappen und als Beifahrer wirst du ohne Fahrzeug teleportiert.
    Bekommst du denn auch die ClientMessage, dass du dich nach /sfair geportet hast?

  • Die Klammern waren falsch gesetzt.


    forward OnPlayerPort(playerid, Float:X, Float:Y, Float:Z, Float:ZA);
    public OnPlayerPort(playerid, Float:X, Float:Y, Float:Z, Float:ZA)
    {
    new String[128];
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new carid = GetPlayerVehicleID(playerid);
    SetVehiclePos(carid, X, Y, Z);
    SetVehicleZAngle(carid, ZA);
    PutPlayerInVehicle(playerid,carid, 0);
    GivePlayerMoney(playerid, -500);
    GameTextForPlayer(playerid, "~r~-~y~500~g~$", 3000, 1);
    format(String,sizeof(String), "=>%s hat sich nach %s geportet!<=", SpielerName(playerid));
    }
    }
    else
    {
    SetPlayerPos(playerid, X, Y, Z);
    GivePlayerMoney(playerid, -500);
    SetPlayerFacingAngle(playerid, ZA);
    GameTextForPlayer(playerid, "~r~-~y~500~g~$", 3000, 1);
    }
    return 1;
    }