Beiträge von Weed

    Ich habe eine frage, die Sufu hat nichts gebracht,
    wie erstelle ich einen COunter? Also z.b. für statistiken oder für verwarnungen?


    Dazu noch was:
    Wie mach ich das bei so nem TDM dass, sobald alle spieler eines teams tot sind das GM zu ende ist?


    irgendwer weiß das^^, keks z.b. weiß alles :thumbup:

    dcmd_klau(playerid,paramas[])
    new pID
    if(sscand(paramas, "d",pID))
    {
    return SendClientMessage(playerid,ROT,"Benutzung: /klau [playerID] ");
    }
    if (!IsPlayerConnected(pID))
    {
    return SendClientMessage(playerid,ROT,"Kein Spieler mit der angegebenen ID online");
    }
    new Float xx Float yy Float zz
    string[128]
    GetPlayerPos(pID,xx,yy,zz);
    if(PlayerToPoint(2.0,playerid,xx,yy,zz))
    {
    GivePlayerMoney(playerid,200);
    GivePlayerMoney(pID,-200);
    }
    else
    {
    SendClientMessage(playerid,FARBE,"Du bist nicht nah genug am Spieler");
    return 1
    }
    du musst natürlich dcmd und sscanf definiert haben


    das kann man nun noch zu nem Zufall erweitern oder wenn wer im auto ist geht das nit, aber so ist das grundprinzip


    das ist im editor geschrieben können fehler drin sein

    Wie wärs denn mal mit selber probieren?
    Weil ohne fleis kein Preis würd ich mal sagen.
    Und wenn du dann noch Probleme hast,
    poste deinen code und wir helfen dir weiter.

    wie soll ich es selber ausprobieren wenn ich überhaupt keinen plan hab wie der gästemodus funktioniert,bzw wie ich das machen soll. Ich bin an nem Adminteil dran, da mach ich was selber und da versuche ich das auch selber^^


    lukas, danke ich werds mal ausprobieren, werd das auch mal mit dem rank ausprobieren

    ICh suche einen befehel /look [ID].
    Der soll bewirken das man selber stirbt als admin, jedoch nicht respawnt wird, sondern die angegebene ID im gästemodus sieht. So einen befehl gibt es glaub ich bei GF. Ich verwende selfmade.
    Man soll sehen können was die person macht, aber selebr noch im Chat schreiben können.
    MfG Weed


    das muss doch wer wissen, der keks weiß immer alles.....

    Wie eröffne ich ein Casino? Also wie mache ich das z.b. beim 4dragon.
    Befhele:
    /o4dragon // öffnet casino, pick up port geht
    /c4dragon // schliet casino, pick up port geht nit


    bitte um hilfe


    LG weed

    das geht aber einfacher


    unter OnPlayerCommandText
    dcmd(savepos,7,cmdtext);
    dcmd(backtopos,9,cmdtext);


    dcmd_savepos(playerid,paramas[])
    new Float xx Float yy Float zz
    {
    GetPlayerPos(playerid,xx,yy,zz);
    }
    #prama unused paramas


    dcmd_backtopos(playerid,paramas[])
    {
    SetPlayerPos(playerid,xx,yy,zz);
    }
    #pragma unused paramas


    natürlich muss man dcmd definiert haben
    #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

    Ganz oben
    new Menu: Handfeuerwaffen // Menuname variabel
    new test


    dann unter On GameModeInit
    test = CreatPickUp(blabla)


    und
    Handfeuerwaffen = CreateMenu("Handfeuerwaffen",2, 200.0, 100.0, 150.0, 150.0); //Handfeuerwaffen
    AddMenuItem(Handfeuerwaffen,0, "9mm Pistol 500$");
    AddMenuItem(Handfeuerwaffen,0, "Silenced pistol 600$");
    AddMenuItem(Handfeuerwaffen,0, "Desert eagle 1000$");
    public OnPlayerSelectedMenuRow(playerid, row)
    {
    new Menu:CurrentMenu = GetPlayerMenu(playerid);
    if(CurrentMenu == Handfeuerwaffen)
    {
    switch(row)
    {
    case 0:
    {
    GivePlayerWeapon(playerid,22,300);
    GivePlayerMoney(playerid,-500);
    SendClientMessage(playerid,GELB,"Du hast eine Waffe für 500$ gekauft.");
    }
    case 1:
    {
    GivePlayerWeapon(playerid,23,300);
    GivePlayerMoney(playerid,-600);
    SendClientMessage(playerid,GELB,"Du hast eine Waffe für 600$ gekauft");
    }
    case 2:
    {
    GivePlayerWeapon(playerid,24,300);
    GivePlayerMoney(playerid,-1000);
    SendClientMessage(playerid,GELB,"Du hast eine Waffe für 1000$ gekaut.");


    }
    }
    }
    jenachdem wie viele cases du haben willst kann man das einstellen, du musst nur immer bei AddMenuItem mit zählen^^


    public OnPlayerPickUpPickup(playerid, pickupid)
    if(CurrentPickUp = test)// pickup name in diesem falle test, ist aber variabel
    {
    ShowMenuForPlayer(Handfeuerwaffen,playerid);
    return 1;
    }

    ich bin mir beim pick up nit so sicher ansonsten ist das so richtig

    Das versteh ich nit so ganz
    if(!IsPlayerAdmin(pID))// müsste hier nit playerid rein? Denn pID gibt ja den Parameter an,
    aber nit der Parameter muss Admin sein, sondern der ausführende
    {
    return SendClientMessage(playerid, 0xFF0000FF, "Du bist kein Admin !");
    }
    if(sscanf(params, "us",pID, Name))// und was hierdran falsch? das ist doch richtig, aber es kommt
    ne fehlermeldung(also SendClientMessage...)
    {
    return SendClientMessage(playerid,0xFFFFFFFF,"TIPPE: /name [playerid] [newname]");
    }

    da muss man alle objecte nach unten bewegen, ich habe das auf nem offiziellen serer gesehen als mod, da war kein sturm udn das wasser sstieg totzdem an

    du könntest das wasser schnell steigen lassen aber keine welle kreieren, und MTA is auch ober geil, nur es ist in der editor version, das ist langweilig^^

    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;
    }
    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }
    die definierungen


    PlayerRank gibbet nit als definierung nur new rank[MAX_PLAYERS];
    wie definiere ich den dann string und PlayerRank

    if(!strcmp(strget(cmdtext,0),"/setlevel"))
    {
    if(PlayerRank[playerid]<4)
    return
    SendClientMessage(playerid,ROT,"Du bist kein Admin oder bestitzt nicht das benötigte Level);
    }
    else
    {
    if(!strlen(strget(cmdtext,1)))
    return
    SendClientMessage(playerid,ROT,"/setlevel ID Rank");
    new typ=strval(strget(cmdtext,1));
    if(IsPlayerConnected(typ))
    {
    if(!strlen(strget(cmdtext,2)))
    return
    SendClientMessage(playerid,ROT,"/setlevel ID Rank");
    new rang=strval(strget(cmdtext,2));
    rank[typ]=rang;//hier seetzt du das level von ihm auf deinen 2ten parameter
    SendClientMessage(playerid,WEIS,"Du hast das Level des Players gesetzt");
    SendClientMessage(ziel,WEIS,"Dein Level wurde gesetzt");
    }
    else
    {
    SendClientMessage(playerid,ROT,"ID nicht vergeben");
    }
    return 1;
    }


    SQL
    C:\Programme\Rockstar Games\Server\dassolltebleiben.pwn(537) : warning 225: unreachable code
    C:\Programme\Rockstar Games\Server\dassolltebleiben.pwn(539) : error 017: undefined symbol "PlayerRank"
    C:\Programme\Rockstar Games\Server\dassolltebleiben.pwn(539) : warning 215: expression has no effect
    C:\Programme\Rockstar Games\Server\dassolltebleiben.pwn(539) : error 001: expected token: ";", but found "]"
    C:\Programme\Rockstar Games\Server\dassolltebleiben.pwn(539) : error 029: invalid expression, assumed zero
    C:\Programme\Rockstar Games\Server\dassolltebleiben.pwn(539) : fatal error 107: too many error messages on one line


    was nun?