/Pay System (Für einem Deatmatch server)! Plz Help

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
  • unter OnPLayerCommandText:
    dcmd(pay,3,cmdtext);
    außerhalb eines callbacks:
    dcmd_pay(playerid,paramas[])
    {
    new pID;
    new betrag;
    if(sscanf,paramas, "dd",pID,betrag)
    {
    return SendClientMessage(playerid,FARBE,"BENUTZUNG: /pay [ID] [Betrag]");
    }
    if(!IsPlayerConnected(pID))
    {
    return SendClientMessage(playerid,FARBE,"Kein Spieler mit der angegebenen ID online");
    }
    new money;
    GetPlayerMoney(playerid,money);
    if(money[playerid]< betrag)
    {
    return SendClientMessage(playerid,FARBE,"Du hast zu wenig geld");
    }
    new name[MAX_PLAYER_NAME];
    new pname[MAX_PLAYER_NAME];
    new string[128];
    new s[128];
    GetPlayerName(pID,name,sizeof(name));
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"Dir wurden %d $ von %s gegeben",betrag,pname);
    format(s,sizeof(s),"Du hast %s(ID: %d) %d $ gegeben",name,pID,betrag);
    SendClientMessage(playerid,s);
    SendClientMessage(pID,string);
    return 1;
    }


    du musst aber dcmd und sscanf definiert haben

    Einma vorbei schaun lohnt sich
    www.prt-clan.com der GamerClan für GTA-SAMP.Wir haben einen leistungsstarken vServer und ein hoch entwickeltes RealLife Script der Marke eigenbau, zu 100% Selfmade.
    Bald geht der RL-Server on, seid alle dabei. Regestriert euch und fiebert mit!!!


    Einmal editiert, zuletzt von Weed ()

  • ich mache irgendwas falsch habe gemacht



    #define dcmd();
    #define sscanf();



    dcmd(pay,3,cmdtext); // habe ich unter public OnPlayerCommandText(playerid, cmdtext[]) gepackt



    dcmd_pay(playerid,paramas[])
    {
    new pID;
    new betrag;
    if(sscanf,paramas, "dd",pID,betrag)
    {
    return SendClientMessage(playerid,FARBE,"BENUTZUNG: /pay [ID] [Betrag]");
    }
    if(!IsPlayerConnected(pID))
    {
    return SendClientMessage(playerid,FARBE,"Kein Spieler mit der angegebenen ID online");
    }
    new money;
    GetPlayerMoney(playerid,money);
    if(money[playerid]< betrag)
    {
    return SendClientMessage(playerid,FARBE,"Du hast zu wenig geld");
    }
    new name[MAX_PLAYER_NAME];
    new pname[MAX_PLAYER_NAME];
    new string[128];
    new s[128];
    GetPlayerName(pID,name,sizeof(name));
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"Dir wurden %d $ von %s gegeben",betrag,pname);
    format(s,sizeof(s),"Du hast %s(ID: %d) %d $ gegeben",name,pID,betrag);
    SendClientMessage(playerid,s);
    SendClientMessage(pID,string);
    return 1;
    }


    denke habe alle gemacht was da steht jetzt kreuge ich folgende fehler:
    C:\Dokumente und Einstellungen\Kevin Koch\Desktop\Razer Porject\gamemodes\RAZER.pwn(162) : error 017: undefined symbol "dcmd"
    C:\Dokumente und Einstellungen\Kevin Koch\Desktop\Razer Porject\gamemodes\RAZER.pwn(259) : warning 203: symbol is never used: "dcmd_pay"

  • stock sscanf(string[], format[], {Float,_}:...)
    {
    if (!strlen(string))
    {
    return format[0];
    }
    new
    formatPos = 0,
    stringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    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 (ch >= '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
    ch,
    num = 0;
    while ((ch = string[stringPos]) > ' ' && ch != delim)
    {
    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;
    }
    }
    }
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, string[stringPos++]);
    }
    case 'f':
    {
    setarg(paramPos, 0, _:floatstr(string[stringPos]));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    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++;
    }
    while (format[formatPos] == 'z') formatPos++;
    if (format[formatPos] > ' ') return format[formatPos];
    return 0;
    }


    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

  • das is richtig, ich rall nur das mit diesen schei- fehlern nit brauchen mal einen
    und edire deine beiträge, die erscheinen in der letzen beiträge bo trotzdem wusst ich auc hvorher nit aber sonst bekommste VP^^

  • wollte es auch mal versuchen aber bei dm ist das voll schwer

  • das is nicht schwer das ist so richtig nur diesen fehler den hab ihc nohc nit raus einfahc zun kot--- das ganze was soll daran falsch sein?