Spieler nicht gefunden einfügen

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
  • Hi Community,


    Ich habe mich heute mal wieder ans Scripten gesetzt. Aber viel weiß ich nicht mehr. Deswegen ist meine frage wie füge ich ein das eine Meldung kommt wenn der Spieler nicht gefunden wurde. Hier das Script:



    ocmd:tp(playerid,params[])
    {
    new pID1,pID2;
    new name1[128],name2[128], string[400];
    new Float:x, Float:y, Float:z;
    GetPlayerName(pID1,name1,sizeof(name1));
    GetPlayerName(pID2,name2,sizeof(name2));
    if(sscanf(params,"uu",pID1,pID2)) return SendClientMessage(playerid,rot,"Befehl: /tp [ID1] [ID2]");
    GetPlayerPos(pID2,x,y,z);
    SetPlayerPos(pID1,x,y,z);
    format(string,sizeof(string),"%s wurde zu %s telepotiert.",name1,name2);
    SendClientMessage(playerid,gelb,string);
    printf("Der Spieler %s wurde zu X:%f Y:%f Z:%f telepotiert.",name1,x,y,z);
    print(string);
    return 1;
    }


    mfg FaPlays

  • ocmd:tp(playerid,params[])
    {
    new pID1,pID2;
    new name1[128],name2[128], string[400];
    new Float:x, Float:y, Float:z;
    if(!IsPlayerConnected(name1))return SendClientMessage(playerid,COLOR_ROT,"Spieler nicht Gefunden!");
    GetPlayerName(pID1,name1,sizeof(name1));
    GetPlayerName(pID2,name2,sizeof(name2));
    if(sscanf(params,"uu",pID1,pID2)) return SendClientMessage(playerid,rot,"Befehl: /tp [ID1] [ID2]");
    GetPlayerPos(pID2,x,y,z);
    SetPlayerPos(pID1,x,y,z);
    format(string,sizeof(string),"%s wurde zu %s telepotiert.",name1,name2);
    SendClientMessage(playerid,gelb,string);
    printf("Der Spieler %s wurde zu X:%f Y:%f Z:%f telepotiert.",name1,x,y,z);
    print(string);
    return 1;
    }


    Dazu benutzt du einfach IsPlayerConnected.
    Wenn das nicht klappt mach es einfach so:
    ocmd:tp(playerid,params[])
    {
    new pID1,pID2;
    new name1[128],name2[128], string[400];
    new Float:x, Float:y, Float:z;
    if(name1 == INVALID_PLAYER_ID)SendClientMessage(playerid,ROT,"Spieler nicht Gefunden");
    GetPlayerName(pID1,name1,sizeof(name1));
    GetPlayerName(pID2,name2,sizeof(name2));
    if(sscanf(params,"uu",pID1,pID2)) return SendClientMessage(playerid,rot,"Befehl: /tp [ID1] [ID2]");
    GetPlayerPos(pID2,x,y,z);
    SetPlayerPos(pID1,x,y,z);
    format(string,sizeof(string),"%s wurde zu %s telepotiert.",name1,name2);
    SendClientMessage(playerid,gelb,string);
    printf("Der Spieler %s wurde zu X:%f Y:%f Z:%f telepotiert.",name1,x,y,z);
    print(string);
    return 1;
    }


    //EDIT:
    Keine ahung ob du damit name1 abfragen willst ansonsten änder das zu pID oder so.

  • Du solltes nur von einem Spieler die Position herausfinden und den 2. Spielr zu der Position hinporten.


    Zu dem wenn es nicht gefunden wurde :
    if(!IsPlayerConnected(pID1))return SendClientMessage(playerid,Rot,"Ungultiger Spieler!");
    if(!IsPlayerConnected(pID2))return SendClientMessage(playerid,Rot,"Der 2ter Spieler ist nicht online!");



    Lg :)


    ~ Handy

  • setz die 3 zeilen

    if(name1 == INVALID_PLAYER_ID)SendClientMessage(playerid,ROT,"Spieler nicht Gefunden");
    GetPlayerName(pID1,name1,sizeof(name1));
    GetPlayerName(pID2,name2,sizeof(name2));


    unter der sscanf abfrage sonst bekommst du immer den wert von ID 0