Goto/Gethere Fehler bei der namesauslesung

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 zusammen,


    ich habe folgendes Problem ich klicke auf einen SpielerXY mit der ID 3 (als beispiel)
    ich habe ID 0 mit dem Namen Nils24hero
    ich klicke im Menü auf Goto/gethere und immer kommt die Meldung die ich eigentlich wollte aber da ist der falsche name drin "Du hast dich zu Nils24hero Teleportiert " nun will ich aber das kommt "du hast dich zu XY teleportiert "


    das gleiche problem mit dem gethere
    "Du hast Nils24hero zu dir Teleportiert" aber gewünscht ist "Du hast XY zu dir teleportiert"


    Schreibt ma was ihr an Codes braucht


    MFG Nils24

  • Ohne Code, kann man nichts machen.

  • hier ma der komplette Code der damit zu tun hat
    Bei OnPlayerClickPlayer
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    if(PlayerInfo[playerid][pAdmin] == 0 || PlayerInfo[playerid][pAdmin] == 1) return 1;
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
    ShowPlayerDialog(playerid,DIALOG_CLICKEN_PLAYER_ADMIN,DIALOG_STYLE_LIST,PlayerInfo[playerid][pName],"Goto\nGethere\nKick\nBan\nHealth\nSlap\nTV\nInterior","OK","Abbrechen");
    pClicked[playerid] = clickedplayerid;
    return 1;
    }
    return 1;
    }


    Dann bei OnDialogResponse
    new sendername[MAX_PLAYER_NAME];
    new Float:leben;
    GetPlayerName(playerid,sendername,sizeof(sendername));


    if(dialogid == DIALOG_CLICKEN_PLAYER_ADMIN)
    {
    switch(listitem)
    {
    case 0:
    {
    new Float:X,Float:Y,Float:Z;
    new nachricht[129];
    new string[128];
    new pID;
    new pname[128];
    GetPlayerName(pID,pname,sizeof(pname));
    GetPlayerPos(pClicked[playerid],X,Y,Z);
    SetPlayerPos(playerid,X+1,Y+1,Z);
    format(string,sizeof(string),"ADMCMD: Du hast dich zu %s Teleportiert. ",pname);
    SendClientMessage(playerid,knallrot,string);
    format(nachricht,sizeof(nachricht),"ADMCMD: Admin %s hat sich zu dir teleportiert!",PlayerInfo[playerid][pName]);
    SendClientMessage(pClicked[playerid],knallrot,nachricht);
    return 1;
    }
    case 1:
    {

    new Float:X,Float:Y,Float:Z;
    new nachricht[129];
    new string[128];
    new pname[MAX_PLAYER_NAME];
    new name[128];
    new pID;
    if(PlayerInfo[playerid][pAdmin] < PlayerInfo[pID][pAdmin]) return SendClientMessage(pID,knallrot,"ADMCMD-Fehler: Du hast dazu keine berechtigung !");
    GetPlayerName(playerid,name,sizeof(name));
    GetPlayerName(pID,pname,sizeof(pname));
    GetPlayerPos(playerid,X,Y,Z);
    SetPlayerPos(pClicked[playerid],X+1,Y+1,Z);
    format(string,sizeof(string),"ADMCMD: Du hast %s zu dir Teleportiert. ",pname);
    SendClientMessage(playerid,knallrot,string);
    format(nachricht,sizeof(nachricht),"ADMCMD: Du wurdest von dem Admin %s zu sich teleportiert !",name);
    SendClientMessage(pClicked[playerid],knallrot,nachricht);
    return 1;
    }
    case 2: return ShowPlayerDialog(playerid,DIALOG_KICKINPUT,DIALOG_STYLE_INPUT,"Gebe einen Grund an:","Um den Spieler Kicken zu können, musst du zunächst einen Grund angeben!","Kicken","Abbrechen");
    case 3:
    {
    }
    case 4:
    {
    }
    case 5:
    {
    }
    case 6:
    {
    }
    case 7:
    {
    }


    }
    return 1;
    }


    und den Kick Dialog der eig nichts damit zu tun hat
    if(dialogid == DIALOG_KICKINPUT)
    {
    if(!response) return 1;
    if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_KICKINPUT,DIALOG_STYLE_INPUT,"Gebe einen Grund an:","Um den Spieler Kicken zu können, musst du zunächst einen Grund angeben!","Kicken","Abbrechen");
    new kicktext[200];
    format(kicktext, 200, "ADMCMD: %s wurde von %s vom Server gekickt! Grund: %s", PlayerInfo[pClicked[playerid]][pName],PlayerInfo[playerid][pName],inputtext);
    SendClientMessage(playerid, COLOR_ORANGE, kicktext);
    KickedPlayer(pClicked[playerid]);
    return 1;
    }


    Danke schonmal

  • Tue das bei dir unten ins Script.

    stock SpielerName(playerid){
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    und dann z.B.

    new pID;
    format(string,sizeof(string),"ADMCMD: Du hast %s zu dir Teleportiert. ",SpielerName(pID));
    SendClientMessage(playerid,knallrot,string);
    format(nachricht,sizeof(nachricht),"ADMCMD: Du wurdest von dem Admin %s zu sich teleportiert !",SpielerName(playerid));
    SendClientMessage(pID,knallrot,nachricht);


    MfG :thumbup: