Problem mit /port ort

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 Breadfish :)


    Ich habe ein Problem mit meinem /port Befehl.
    Ich habe das jetzt so gemacht, dass man "/port ort" eingeben muss, und dann sollte man an den angegebenen Ort teleportiert werden.
    Allerdings wird man, wenn man /port eingibt, an alle möglichen Orte geportet..
    Was mache ich da falsch?


    Hier der Code:
    //---------------------------------/port--------------------------------------//
    dcmd_port(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,1))
    {
    new ort[10];
    if(sscanf(params,"s",ort))
    {
    if(!strlen(ort))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutze: /port [airport] [startower] [hafen] [alka] [bsn]");
    }
    else if(strcmp(ort,"airport",true) == 0)
    {
    SetPlayerPos(playerid,1884.7861,-2551.8882,17.2422);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Los Santos Airport teleportiert.");
    return true;
    }
    else if(strcmp(ort,"startower",true) == 0)
    {
    SetPlayerPos(playerid,1541.1393,-1365.9103,329.7969);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich auf den Startower teleportiert.");
    GivePlayerWeapon(playerid,46,1);
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast einen Fallschirm für einen Fallschirmsprung bekommen.");
    return true;
    }
    else if(strcmp(ort,"hafen",true) == 0)
    {
    SetPlayerPos(playerid,835.0450,-2055.7283,12.8672);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Los Santos Hafen teleportiert.");
    return true;
    }
    else if(strcmp(ort,"alka",true) == 0)
    {
    SetPlayerPos(playerid,-3088.8301,1715.5558,3.2983);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Alcatraz teleportiert.");
    return true;
    }
    else if(strcmp(ort,"bsn",true) == 0)
    {
    SetPlayerPos(playerid,1198.8127,-920.6879,43.0326);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum BSN teleportiert.");
    return true;
    }
    }
    }
    return 1;
    }


    MfG
    Cr4sh

    Mit freundlichen Grüßen,
    Cr4sh


  • sscanf fordert immer alle Parameter.
    Du kannst höchstens noch hinzufügen "/port [Hilfe]" oder so.

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|

  • dcmd_port(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,1))
    {
    new ort[10];
    if(sscanf(params,"s",ort))
    {
    if(!strlen(ort))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutze: /port [airport] [startower] [hafen] [alka] [bsn]");
    }
    if(strcmp(ort,"airport",true) == 0)
    {
    SetPlayerPos(playerid,1884.7861,-2551.8882,17.2422);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Los Santos Airport teleportiert.");
    return true;
    }
    if(strcmp(ort,"startower",true) == 0)
    {
    SetPlayerPos(playerid,1541.1393,-1365.9103,329.7969);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich auf den Startower teleportiert.");
    GivePlayerWeapon(playerid,46,1);
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast einen Fallschirm für einen Fallschirmsprung bekommen.");
    return true;
    }
    if(strcmp(ort,"hafen",true) == 0)
    {
    SetPlayerPos(playerid,835.0450,-2055.7283,12.8672);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Los Santos Hafen teleportiert.");
    return true;
    }
    if(strcmp(ort,"alka",true) == 0)
    {
    SetPlayerPos(playerid,-3088.8301,1715.5558,3.2983);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Alcatraz teleportiert.");
    return true;
    }
    if(strcmp(ort,"bsn",true) == 0)
    {
    SetPlayerPos(playerid,1198.8127,-920.6879,43.0326);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum BSN teleportiert.");
    return true;
    }
    }
    }
    return 1;
    }
    oder
    dcmd_port(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,1))
    {
    new ort[10];
    if(sscanf(params,"s",ort))
    {
    if(!strlen(ort))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutze: /port [airport] [startower] [hafen] [alka] [bsn]");
    }
    if(strcmp(ort,"airport",true) == 0)
    {
    SetPlayerPos(playerid,1884.7861,-2551.8882,17.2422);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Los Santos Airport teleportiert.");
    return true;
    }
    if(strcmp(ort,"startower",true) == 0)
    {
    SetPlayerPos(playerid,1541.1393,-1365.9103,329.7969);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich auf den Startower teleportiert.");
    GivePlayerWeapon(playerid,46,1);
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast einen Fallschirm für einen Fallschirmsprung bekommen.");
    return true;
    }
    if(strcmp(ort,"hafen",true) == 0)
    {
    SetPlayerPos(playerid,835.0450,-2055.7283,12.8672);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Los Santos Hafen teleportiert.");
    return true;
    }
    if(strcmp(ort,"alka",true) == 0)
    {
    SetPlayerPos(playerid,-3088.8301,1715.5558,3.2983);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Alcatraz teleportiert.");
    return true;
    }
    if(strcmp(ort,"bsn",true) == 0)
    {
    SetPlayerPos(playerid,1198.8127,-920.6879,43.0326);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum BSN teleportiert.");
    return true;
    }
    }
    }
    return 0;
    }

  • der unterschied ist nur das return am ende, oder?


    /das problem ist nach wie vor aktuell. :(


    Deadmau5: auf vielen servern geht das aber so, dass man zb nur /port eingibt und dann kommen die möglichkeiten...

    Mit freundlichen Grüßen,
    Cr4sh


    Einmal editiert, zuletzt von Cr4sh ()

  • Habe es mal so probiert, aber wenn ich /port [den jeweiligen ort] eingeben, dann kommt die info Message und bei nur /port werde ich an den airport teleportiert...


    //---------------------------------/port--------------------------------------//
    dcmd_port(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,1))
    {
    new ort[15];
    if(!sscanf(params,"s",ort))
    {
    //if(!strlen(ort))
    //{
    SendClientMessage(playerid,COLOR_WHITE,"Benutze: /port [Airport] [Startower] [Hafen] [Alka] [BSN]");
    }
    else if(sscanf(params,"s",ort))
    {
    if(strcmp(ort,"airport",true) == 0)
    {
    SetPlayerPos(playerid,1884.7861,-2551.8882,17.2422);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Los Santos Airport teleportiert.");
    return true;
    }
    if(strcmp(ort,"startower",true) == 0)
    {
    SetPlayerPos(playerid,1541.1393,-1365.9103,329.7969);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich auf den Startower teleportiert.");
    GivePlayerWeapon(playerid,46,1);
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast einen Fallschirm für einen Fallschirmsprung bekommen.");
    return true;
    }
    if(strcmp(ort,"hafen",true) == 0)
    {
    SetPlayerPos(playerid,835.0450,-2055.7283,12.8672);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Los Santos Hafen teleportiert.");
    return true;
    }
    if(strcmp(ort,"alka",true) == 0)
    {
    SetPlayerPos(playerid,-3088.8301,1715.5558,3.2983);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Alcatraz teleportiert.");
    return true;
    }
    if(strcmp(ort,"bsn",true) == 0)
    {
    SetPlayerPos(playerid,1198.8127,-920.6879,43.0326);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum BSN teleportiert.");
    return true;
    }
    }
    }
    return 1;
    }

    Mit freundlichen Grüßen,
    Cr4sh


  • Versuchs mal statt strcmp mit strfind

    Wer ist der Mensch hinter der Uniform? Ist euch das bekannt?
    Es ist der selbe der noch eben in Zivil neben euch stand.
    Warum wird er gehasst und so selten respektiert?
    Warum ist er derjenige der seinen Hals für euch riskiert?
    Trägt der Bulle eine Weste, das hat er früher nie gemacht,
    die Zeiten haben sich geändert und jeder Dienst ist ein Kampf!
    Warum gibt’s das SEK und warum sind sie so brutal?
    Und wieso hat wieder einer mit seinem Leben bezahlt?

  • Danke :) immerhin eine Sache besser :) wenn ich /port eingebe, dann kommt nur die Info Message, aber wenn ich /port [den gewünschten ort] eingebe, dann passiert garnichts...


    Hier der neuste Code:
    //---------------------------------/port--------------------------------------//
    dcmd_port(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,1))
    {
    new ort[15];
    if(sscanf(params,"s",ort))
    {
    if(!strlen(ort))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutze: /port [Airport] [Startower] [Hafen] [Alka] [BSN]");
    }
    if(strfind(ort,"airport",true) == 0)
    {
    SetPlayerPos(playerid,1884.7861,-2551.8882,17.2422);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Los Santos Airport teleportiert.");
    return true;
    }
    if(strfind(ort,"startower",true) == 0)
    {
    SetPlayerPos(playerid,1541.1393,-1365.9103,329.7969);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich auf den Startower teleportiert.");
    GivePlayerWeapon(playerid,46,1);
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast einen Fallschirm für einen Fallschirmsprung bekommen.");
    return true;
    }
    if(strfind(ort,"hafen",true) == 0)
    {
    SetPlayerPos(playerid,835.0450,-2055.7283,12.8672);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Los Santos Hafen teleportiert.");
    return true;
    }
    if(strfind(ort,"alka",true) == 0)
    {
    SetPlayerPos(playerid,-3088.8301,1715.5558,3.2983);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum Alcatraz teleportiert.");
    return true;
    }
    if(strfind(ort,"bsn",true) == 0)
    {
    SetPlayerPos(playerid,1198.8127,-920.6879,43.0326);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_PURPLE,"Du hast dich zum BSN teleportiert.");
    return true;
    }
    }
    }
    return 1;
    }

    Mit freundlichen Grüßen,
    Cr4sh


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen