Suche /support Command

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
    Ich habe gerade ein Halbes Report Sys Erstellt, aber bekomme es nicht Komplett
    Da wollte ich Fragen, ob mir jemand ein Command machen kann,


    Er sollte Heisen,
    /support
    Was soll er machen ?
    Er soll einen Text an einen Spieler Senden, diesen Command sollen nur Admins Nutzen können,.


    Wäre dankbar wenn mit das jemand machen kann.


    MFG Dr.Turk

  • ich kann dir eins geben wie siht es aus mit gegenleistung ? weil das ist ein gutes support system

  • Hier ist mal so ein Command, habe ihn so ähnlich auch bei mir im Test-Script drinnen:


    ocmd:support(playerid,params[])
    {
    if(!Adminabfrage) return SendClientMessage(playerid,orange,"Sonst Text, wenn er kein Admin ist");
    {
    new string1[128], string2[128], string3[128];
    new pID,text[128];
    if(sscanf(params,"us", pID,text))
    return SendClientMessage(playerid,lila,"Benutzung: /support [ID/Name] [Text]");
    format(string1,sizeof(string1),"Du hast {FF6E00}%s{FFFFFF}: {FFFF00}%s {FFFFFF}geschrieben.",SpielerName(pID),text);//Diesen Text bekommt der Admin
    format(string2,sizeof(string2),"{00FF00}%s {FF6E00}%s {FFFFFF}schrieb zu dir:",SpielerName(playerid));// Hier steht wer wem schreibt
    format(string3,sizeof(string3),"=>{FFFF00} %s",text);//Hier steht was der admin der person schreibt
    SendClientMessage(playerid,weiß,string1);
    SendClientMessage(pID,weiß,string2);
    SendClientMessage(pID,weiß,string3);
    }
    return 1;
    }


    edit: ist aber jetzt auf ocmd

    Back to the roots!

  • Bekomme diesen Error bei der Sscanf Abfrage
    C:\Users\Rudi_Rammler\Desktop\Server\Script\gamemodes\Selfmade1.0.pwn(534) : error 017: undefined symbol "params"



    Aber ich habe den sscanf Code im Script ?

  • ocmd:support(playerid,params[])
    {
    if(!AdminAbfrage)return SendClientMessage(playerid, farbe, "Du has keine Rechte");
    new pID, msg, string[128];
    if(sscanf(params,"us",pID,msg))return SendClientMessage(playerid, farbe, "/support [SpielerID] [Nachricht]");
    format(string, sizeof(string), "Nachricht von %s: %s", SpielerName(playerid), msg);
    SendClientMessage(pID, farbe, string);
    format(string, sizeof(string),"Nachricht \"%s\" an %s gesendet!", msg, SpielerName(pID));
    SendClientMessage(playerid, farbe, string);
    return 1;
    }


    Sollte eigentlich so gehen. ;)

  • du musst auch scanf drin haben :D


    stock sscanf(string[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(string))
    #else
    if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    stringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (string[stringPos] && string[stringPos] <= ' ')
    {
    stringPos++;
    }
    while (paramPos < paramCount && string[stringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = string[stringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = string[++stringPos];
    }
    do
    {
    stringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = string[stringPos];
    do
    {
    stringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, string[stringPos++]);
    }
    case 'f':
    {


    new changestr[16], changepos = 0, strpos = stringPos;
    while(changepos < 16 && string[strpos] && string[strpos] != delim)
    {
    changestr[changepos++] = string[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    stringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = stringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = string[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    string[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - stringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, string[stringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    string[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    stringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = string[stringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = string[stringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    stringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
    {
    stringPos++;
    }
    while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
    {
    stringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }

  • 1. Ich habe sscanf dir ganze zeit schon drinnen xD
    2. Error ist immernoch da ^^