Beiträge von Weed

    Wie mach ich Nebenjobs? Nicht mit gTeam oder? Denn man kann nur ein gTeam haben soweit ich weiß

    ICh möchte gerne eine paar Befehle die mit saven zu tun haben. Einmal möchte ich den cmd /savespawn womit user die saveposition speichern in der dini datei. Dann möchte den Befehl /showhaus [playerid] womit man sich selber(wenn eigene ID) oder jemand anderen sein haus zeigen kann. Und dann /showsave udn in der umgebung sollen alle savespawns rot aufleuchten. Habe die SuFu genutzt, aber das FS von Keks ist mir zum einen etwas zuviel, dann savet es nicht und ich hätte es gerne in dcmd und sscanf wenn es geht. Vielen dank schon mal
    weiß doch wer oder?????


    LG Weed

    Die sind echt geil. Aber bezweifele dass die frei sind. Ich möchte mal eher wissen wie man so was macht. Also zum einen das mit dem Gastmodus, dann das mit dem swichter und das mit den checkpoints^^

    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

    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

    an superdok, danke aber das muss auch einfacher gehn oder?
    und da fehlt noch: bomb= 1 oder so wie soll man sonst die bombe auf 1 setzten?
    und hier noch nen paar errors hab viel schon behoben:


    // alle news^^
    new imdienst[MAX_PLAYERS];
    new armygt[MAX_PLAYERS];
    new atomb[MAX_PLAYERS];
    new abomb[MAX_PLAYERS];
    new Bomb[MAX_PLAYERS];
    new gBomb;
    new gTimer;


    dcmd_abomb(playerid,params[])
    {
    if(Bomb > 0)
    {
    //Es gibt bereits eine
    SendClientMessage(playerid, ROT,"Es wurde bereits eine Bombe gelegt"); // Welche Farbe?
    return 1;
    }
    if(gTeam[playerid] == mafia)
    {
    new
    Float:X,
    Float:Y,
    Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    gBomb = CreateObject(345, X, Y, Z, 0.0, 0.0, 0.0); // Muss doch gefunden werden
    gTimer = SetTimer("abomb", 300000, 0);
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(gTeam[i] == GSG9 || gTeam[playerid] == Army)
    {
    GameTextForPlayer(i,"~r~ Eine Bombe wurde geortet",3000,3);
    SetPlayerCheckpoint(i, X,Y,Z, 50.0); // Da ist deine große "Zone"
    }
    }
    }
    }
    return 1;
    }


    dcmd_defusea(playerid,params[])
    {
    if(gTeam[playerid] == GSG9 || gTeam[playerid] == Army)
    {
    if(imdienst[playerid] = 1)
    {
    if(gBomb == 0)
    {
    // Es gibt keine Bombe
    return 1;
    }
    new
    Float:X,
    Float:Y,
    Float:Z;
    GetObjectPos(gBomb, X, Y, Z);
    if(PlayerToPoint(playerid,4.0,X,Y,Z))
    {
    DestroyObject(gBomb);
    KillTimer(gTimer);
    gBomb = 0;
    gTimer = 0;
    GameTextForAll("Das Bombencommando hat die Bombe entschärft",3000,3);
    return 1;
    }
    }
    }
    }


    forward abomb()
    {
    new
    Float:X,
    Float:Y,
    Float:Z;
    DestroyObject(gBomb);
    gBomb = 0;
    gTimer = 0;
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    // Alle Sterben
    GetPlayerPos(i, X, Y, Z);
    CreateExplosion(X, Y, Z,7, 200.0);
    return 1
    }
    }
    }


    MFG Weed

    hol dir nen anticheatfs das ober geil und es sind speedhack sowie money weapon hack usw drin einfach geil hier im showroom