[Problem] brauche hilfe bei einem /sayto 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
  • hallo community, ich bin noch ein ziemlicher anfänger im thema SAMP Scripting, möchte aber lernen. Habe schon ein Account- sowie Adminsystem. Jetzt möchte ich, das Admins mit dem Befehl /sayto [ID] [Nachricht] Spielern eine Nachricht senden können. Ich bin schon so weit, das der richtige Spieler die ClientMessage bekommt, nur der Text der Nachricht lässt noch auf sich warten :D .
    Ich sitz jetzt schon seit heute Mittag an diesem einem Befehl und bekomms einfach nciht hin.
    Ich habe mit DCMD und Sscanf gearbeitet.
    Hier der Quelltext:


    dcmd_sayto(playerid, params[])
    {
    new pid, text;
    if(sscanf(params,"us", pid, text))
    {
    return SendClientMessage(playerid,WHITE,"Verwendung: /sayto [ID] [Text]");
    }
    if(sSpieler[playerid][Adminlevel] >= 1)
    {


    if(pid == INVALID_PLAYER_ID)
    {
    return SendClientMessage(playerid, ROT,"Spieler wurde nicht gefunden!");
    }
    else
    {
    new string[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Admin %s sagt zu dir: %s",name,text);
    SendClientMessage(pid,LILA,string);
    }
    }
    return 1;
    }


    ich hoffe ihr könnt mir helfen :)


    Mit Freundlichen Grüßen
    LoL0147

  • dcmd_sayto(playerid, params[])
    {
    new pid, text[156];
    if(sscanf(params,"us", pid, text))
    {
    return SendClientMessage(playerid,WHITE,"Verwendung: /sayto [ID] [Text]");
    }
    if(sSpieler[playerid][Adminlevel] >= 1)
    {


    if(pid == INVALID_PLAYER_ID)
    {
    return SendClientMessage(playerid, ROT,"Spieler wurde nicht gefunden!");
    }
    else
    {
    new string[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Admin %s sagt zu dir: %s",name,text);
    SendClientMessage(pid,LILA,string);
    }
    }
    return 1;
    }


    Probier mal, hab [156] hinter den "Text" geschrieben, ob es jetzt klappt.. müsste eigtl. :)

  • muss dich leider enttäuschen. das geht immer nocht nicht. es kommt gar keine nachricht.
    hmm
    __________________________________________________________


    Hat sich erledigt. das script war richtig, ich hatte nur nicht das richtige admin-level^^

    Einmal editiert, zuletzt von Alexus ()

  • Ich schreib den mal etwas um vielleicht funzt es ja so..
    Habe den Fehler auch net gefunden, deshalb einfach neu geschrieben ^^



    dcmd_sayto(playerid,params[])
    {
    new pID, text[128];
    if(sscanf(params,"us",pID,text))return SendClientMessage(playerid,WHITE,"Verwendung: /sayto [playerid] [Naricht]");
    if(pID == INVALID_PLAYER_ID)return SendClientMessage(playerid, ROT,"Spieler wurde nicht gefunden!");
    if(sSpieler[playerid][Adminlevel] >= 1)
    {
    new string[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Administrator %s sagt zu dir %s",name,text);
    SendClientMessage(pID,LILA,string);
    return 1;
    }
    return 1;
    }


    Mein Schatz:*

  • wie oben schon ergänzt ist das problem gelöst. das script war richtig, nur hatte ich nicht das nötige adminlevel :D
    trotzdem danke für diese schnelle hilfe. ich fange an, diese forum zu lieben!