Beiträge von PaintNETutorial

    @ Ed.F
    reg dich doch mal ab alter -.-

    Was?!
    Also, irgendwie hast du was falsches gegessen, oder wieso sagst du "Alter"?
    Eyy ALTER, mach' die neuen nicht runter, klar?


    Sonst Altere ich dich auch mal, ok habe ich ja schon, mit Eyy ALTER, aber hör' mal auf nur dauernt auf andere rumzuhacken & so arogant zuwirken.


    /edit:
    Gawd, vor lauter Wut habe ich ja ganz vergessen zu bewerten!

    Feedback:


    Tor vorm' Eingang:
    7/10 dafür das es deine erste ist, 9/10


    Die Hüte beim Parkplatz:


    5/10 dafür das es deine erste ist, 7/10
    Versuch' nicht soviele zu benutzen & mache sie mehr in einer Reihe.

    Willst du, sidisido, ein Grafik-Forum, welches keinen Sinn hat, erstellen ..?
    Dann sage NEIN.


    Nee Spaß.


    Hmm, es gibt aber schon ein paar Grafik-Foren, sogar welche von Usern asu diesem forum hier.


    Klar, ich wäre direkt mit von der Partie ..


    Nah, ok bin dabei! :D

    Ja, dass.
    Ist ja nun auch egal, es funktioniert. :3
    So, [NeXt]Ed.F meinte aber, und das war eigendlich die Hauptaufgabe, das ich ein CMD für den Admin erstelle, der genau diesem /ooc chat abschalten kann.
    So, ich tippe mal ganz stark darauf, das ich ein CMD erstelle, das bei dem /ooc cmd das Return 1; zu return 0; mache, und wieder zurück.


    Nur meine Frage ...
    Wie soll das funktionieren?
    Ich habe echt keinen Plan. :pinch:

    Zitat

    G:\Programme\SA-MP Server\gamemodes\Selfmade.pwn(513) : error 021: symbol already defined: "Playername"
    G:\Programme\SA-MP Server\gamemodes\Selfmade.pwn(512) : warning 204: symbol is assigned a value that is never used: "namestring"
    G:\Programme\SA-MP Server\gamemodes\Selfmade.pwn(505) : warning 204: symbol is assigned a value that is never used: "Playername"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.



    /edit:
    Mein "Meister" hat es mir kurz erklärt - Fertig!


    Nur noch ingame testen! :3

    AdnaN
    ja, habe ich.
    Derzeitig habe ich schonmal das FARBEN Problem gelöst und auch einen Error.
    Nun nur noch 2 Error:

    Zitat

    G:\Programme\SA-MP Server\gamemodes\Selfmade.pwn(512) : error 035: argument type mismatch (argument 1)
    G:\Programme\SA-MP Server\gamemodes\Selfmade.pwn(512) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    /edit:
    Aber ganz sicher das SSCANF 250 zeilen lang ist?
    Achja, das ist Zeile 512:
    GetPlayerName(Playername,sizeof(Playername));

    MiniYoda,
    Das ist ein Scriptwünsche Bereich, ich habe ja schon angefragt wie man soetwas machen kann, in einem anderen Scripting Baser Thema, aber niemand ja wircklich geantwortet.



    /edit:
    G:\Programme\SA-MP Server\gamemodes\Selfmade.pwn(509) : error 017: undefined symbol "sscanf"
    G:\Programme\SA-MP Server\gamemodes\Selfmade.pwn(510) : error 017: undefined symbol "FARBE"
    G:\Programme\SA-MP Server\gamemodes\Selfmade.pwn(512) : error 035: argument type mismatch (argument 1)
    G:\Programme\SA-MP Server\gamemodes\Selfmade.pwn(512) : error 035: argument type mismatch (argument 2)
    G:\Programme\SA-MP Server\gamemodes\Selfmade.pwn(514) : error 017: undefined symbol "FARBE"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.




    xPPP

    Zwar hast du recht, jedoch hat mir dein Post auch nichts gebracht :D
    ( also, der post über diesem. )


    SSCANF habe ich ja unten drin:
    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;
    }


    Oder ist dass dass falsche?

    War sscanf nicht eeetwas kürzer?


    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;
    }


    Wenn nicht, bekomme ich errors:
    ( Farben errors sind ja erklärbar. )


    *facepalm*
    Ich hätte aber auch mal gucken können X(


    FARBE(n) Error's sind klar. sscanf - kann mir mal bitte jemand schnell das posten?
    Hab's noch nicht drin.^^
    aber die zwei argument error's verstehe ich nicht ...


    dcmd_ooc(playerid,params[])
    {
    new Playername[MAX_PLAYER_NAME],
    string[256],
    Text;


    if(sscanf(params, "s",pID)) {
    return SendClientMessage(playerid,FARBE,"USAGE: /ooc [Text]");
    }
    GetPlayerName(Playername,sizeof(Playername));
    format(string,sizeof(string),"&s: &s",Playername,Text);
    SendClientMessageToAll(FARBE,string);
    return 1;
    }

    @ AdnaN:

    Zitat

    G:\Programme\SA-MP Server\gamemodes\Selfmade.pwn(199) : error 017: undefined symbol "dcmd_ooc"
    G:\Programme\SA-MP Server\gamemodes\Selfmade.pwn(507) : warning 203: symbol is never used: "dcmd_kick"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[256],idx;
    cmd = strtok(cmdtext,idx);
    if(!strcmp("/goto",cmd,true)) {
    new tmp[256], OtherID;
    if(IsPlayerAdmin(playerid)) {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp)) {
    return SendClientMessage(playerid, 0x55FF00FF, "Verwendung: /goto [id]");
    }
    OtherID = strval(tmp); // Falls "OtherID = ReturnUser(tmp);" ein Error gibt, einfach in "OtherID = strval(tmp);" ändern
    if(IsPlayerConnected(OtherID) || IsPlayerNPC(OtherID)) {
    new Float: x, Float: y, Float: z;
    GetPlayerPos(OtherID,x,y,z);
    if(IsPlayerInAnyVehicle(playerid)) {
    new veh = GetPlayerVehicleID(playerid);
    SetVehiclePos(veh, x+3, y+3, z+0.5);
    // eigentlich nicht nötig, doch nur damit nicht das auto sich alleine portet, kann man auch weglassen ;)
    PutPlayerInVehicle(playerid, veh, 0);
    SendClientMessage(playerid, 0x55FF00FF, "Du hast dich teleportiert.");
    return 1;
    }
    else {
    SetPlayerPos(playerid, x+3, y+3, z+0.5);
    SendClientMessage(playerid, 0x55FF00FF, "Du hast dich teleportiert.");
    return 1;
    }
    }
    else {
    return SendClientMessage(playerid,0x55FF00FF,"Der angegebene Spieler ist nicht online!");
    }
    }
    else {
    return SendClientMessage(playerid, 0xFF6300FF, "Du bist kein Administrator!");
    }
    }
    dcmd(ooc,3,cmdtext);
    return 0;
    }


    @ Ed:
    Wow, Ty, ich schauß' mir direkt mal an! :)

    Wow, danke.
    Ich werde es sofort testen.


    Leider kann man den CMD nicht alleine testen ...
    Naja, mal gucken! :3

    /edit:


    Public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(ooc,3,cmdtext); return 0; }


    Hmm,
    Das dcmd(ooc,3,cmdtext);, wo soll das im public hin?
    Habe ja nun schon ein paar Commands.


    schon gut!