Beiträge von MysteriX

    public OnPlayerDisconnect(playerid, reason)
    {
    new SpielerDatei[128];
    format(SpielerDatei,sizeof(SpielerDatei),"/Spieler/%s.ini",SpielerName(playerid));
    if(GetPVarInt(SpielerDatei,"Eingeloggt") == 1)
    {
    SpielerSpeichern(playerid);
    }
    return 1;
    }

    if(strcmp(cmd,"/knast",true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 4)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /knast [knastid 1-3] [playerid] [zeit(in Minuten)] [grund]");
    return 1;
    }
    new knastid = strval(tmp);
    if(knastid < 1 || knastid > 3)
    {
    SendClientMessage(playerid,COLOR_WHITE," KnastID nicht höher als 3 oder kleiner als 1!");
    return 1;
    }
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /knast [knastid 1-3] [playerid] [zeit(in Minuten)] [grund]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(!IsPlayerConnected(giveplayerid))
    {
    SendClientMessage(playerid,COLOR_WHITE," Spieler ist nicht Online!");
    return 1;
    }
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /knast [knastid 1-3] [playerid] [zeit(in Minuten)] [grund]");
    return 1;
    }
    new zeit = strval(tmp);
    if(zeit < 1 || zeit > 5)
    {
    SendClientMessage(playerid,COLOR_WHITE," Zeit nur zwischen 1 und 5 Minuten!");
    return 1;
    }
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /knast [knastid 1-3] [playerid] [zeit(in Minuten)] [grund]");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string,sizeof(string)," AdmCmd: %s hat %s für %d Minuten in Knast%d gesteckt. Grund: %s",sendername,giveplayer,zeit,knastid,result);
    ABroadCast(COLOR_LIGHTRED,string,1);
    format(string,sizeof(string)," Admin %s hat dich für %d Minuten in Knast%d gesteckt. Grund: %s",sendername,zeit,knastid,result);
    SendClientMessage(giveplayerid,COLOR_LIGHTRED,string);
    Knast[giveplayerid] = knastid;
    KnastTime[giveplayerid] = zeit;
    SetPlayerToKnast(giveplayerid,knastid);
    }
    return 1;
    }


    So müsste es jetzt aber gehn.

    if(strcmp(cmd,"/knast",true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 4)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /knast [knastid 1-3] [playerid] [zeit(in Minuten)] [grund]");
    return 1;
    }
    new knastid = strval(tmp);
    if(knastid < 1 || knastid > 3)
    {
    SendClientMessage(playerid,COLOR_WHITE," KnastID nicht höher als 3 oder kleiner als 1!");
    return 1;
    }
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /knast [knastid 1-3] [playerid] [zeit(in Minuten)] [grund]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(!IsPlayerConnected(giveplayerid))
    {
    SendClientMessage(playerid,COLOR_WHITE," Spieler ist nicht Online!");
    return 1;
    }
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /knast [knastid 1-3] [playerid] [zeit(in Minuten)] [grund]");
    return 1;
    }
    new zeit = strval(tmp);
    if(zeit < 1 || zeit > 5
    {
    SendClientMessage(playerid,COLOR_WHITE," Zeit nur zwischen 1 und 5 Minuten!");
    return 1;
    }
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /knast [knastid 1-3] [playerid] [zeit(in Minuten)] [grund]");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string,sizeof(string)," AdmCmd: %s hat %s für %d Minuten in Knast%d gesteckt. Grund: %s",sendername,giveplayer,zeit,knastid,result);
    ABroadCast(COLOR_LIGHTRED,string,1);
    format(string,sizeof(string)," Admin %s hat dich für %d Minuten in Knast%d gesteckt. Grund: %s",sendername,zeit,knastid,result);
    SendClientMessage(giveplayerid,COLOR_LIGHTRED,string);
    Knast[giveplayerid] = knastid;
    KnastTime[giveplayerid] = zeit;
    SetPlayerToKnast(giveplayerid,knastid);
    }
    return 1;
    }


    Müste so gehen.

    Der Bus oder was du halt Freezen willst, wird gefreezet aber fährt weiter.
    versuch einfach mal in der datei von NPC-Models oder so da die Busdatei:
    alle 5 secunden(wie du es haben willst) wird die aufnahme gestoppt für ca. 3 secunden und dan wird es wieder weiter gemacht.


    /e Ups verfehlt... xD


    /e2 aber nehm den Bot auf und zähl jeweils die secunden..


    Wer hat denn was gesagt, dass ich Bots aufnehmen will?

    Also meines Wissens nach ist ein integer eine kleine Zahl. Und wenn sie größer ist nimmt man soweit ich weis d(Weis nicht was es genau heißt). Und das mit diesem Freezeproblem, ist zwar nicht die schlaueste Lösung aber probier mal DisableCheckpoint... vor dem Freeze. Weis nicht ob es hilft.


    Okay, habe das mal gemacht.
    Ich werde den Beitrag editieren wenn es funktioniert.



    //Edit: Funktioniert nicht.


    //Edit2: Weißt niemand weiter?

    Hallo,
    ich habe ein Problem mit meinem Busliniensystem.
    Undzwar wenn ich in einen Checkpoint fahre,
    soll es mich freezen, nach 7 Sekunden wieder entfreezen.
    Das tut es auch.
    Aber nachdem es mich entfreezed tut es mich sofort wieder freezen.
    Und genau das soll nicht passieren, doch ich weis nicht wo der fehler liegt.


    Code:


    else if(bustour[playerid] == 1 && IsPlayerInRangeOfPoint(playerid,5.0,1409.0907,-1735.1627,13.3906))//Stadthalle
    {
    FreezePlayer(playerid);
    SetTimerEx("Bus",5000,0,"i",playerid);
    format(string, sizeof(string), "Nächster Halt: Hauptbahnhof");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,1819.1792,-1910.6357,13.3907,5.0);
    bustour[playerid]= 2;
    return 1;
    }


    Function Bus(playerid)
    {
    UnfreezePlayer(playerid);
    return 1;
    }



    LG
    MysteriX


    //Edit: Kann niemand helfen?


    //Edit2: Was bedeutet eigentlich diese "i" bei SetTimerEx?

    Hallo,
    mein /sup geht nicht richtig.
    Undzwar möchte ich das die Supporter wo das Ticket angenommen haben,
    dass die mit /sup antworten können.
    Kann mir da irgendwer helfen?


    Befehl:
    ocmd:sup(playerid,params[])
    {
    new text[256], swort[128];
    if(sscanf(params,"s",text))
    {
    Echo(playerid, cTürkis,"[Benutzung]: /sup [text]");
    }
    else
    {
    format(swort,sizeof(swort),"/sup %s", text);
    SWort(playerid, text);
    if(TicketAngenommen[playerid] == 0)
    {
    new pname[MAX_PLAYER_NAME],save[512], string[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(save,sizeof save,"Tickets/%s.ini",pname);
    if(!dini_Exists(save) && TicketZeile[playerid] == 0) // Wenn noch kein Ticket existiert und auch die TicketZeile auf 0 ist.
    {
    SupportTicket[playerid] = 1;
    TicketZeile[playerid] = 1;
    dini_Create(save);
    dini_Set(save,"Suptext",text);
    Echo(playerid, cTürkis, "[Support] Du hast ein Ticket erstellt. Bitte warte, bis es ein Admin annimt.");
    format(string, sizeof(string), "%s", text);
    Echo(playerid, cTürkis, string);
    Echo(playerid, cTürkis, "[Support] Mit /sup [text] kannst du noch 2 weitere Zeilen schreiben.");
    Echo(playerid, cTürkis, "[Support] Mit /dt kannst du dein Ticket löschen.");
    UpdateTickets();
    return 1;
    }
    else if(TicketZeile[playerid] == 1) // Wenn die erste Zeile schon geschrieben wurde
    {
    new string2[128];
    dini_Set(save, "Suptext2",text);
    Echo(playerid, cTürkis, "[Support] Der folgende Text wurde an dein Ticket angehängt:");
    format(string2, sizeof(string2), "%s", text);
    Echo(playerid, cTürkis, string2);
    Echo(playerid, cTürkis, "[Support] Mit /sup [text] kannst du noch 1 weitere Zeilen schreiben.");
    TicketZeile[playerid] = 2;
    return 1;
    }
    else if(TicketZeile[playerid] == 2) // Wenn bereits 2 Zeilen ausgefüllt sind
    {
    new string3[128];
    dini_Set(save, "Suptext3",text);
    Echo(playerid, cTürkis, "[Support] Der folgende Text wurde an dein Ticket angehängt:");
    format(string3, sizeof(string3), "%s", text);
    Echo(playerid, cTürkis, string3);
    Echo(playerid, cTürkis, "[Support] Dein Ticket ist nun vollgeschrieben. Du kannst nichts mehr anhängen.");
    TicketZeile[playerid] = 3;
    return 1;
    }
    else if(TicketZeile[playerid] == 3) // Wenn das Ticket bereits 3 Zeilen hat
    {
    Echo(playerid, cTürkis, "[Support] Dein Ticket ist vollgeschrieben. Warte, bis ein Admin es annimmt.");
    return 1;
    }
    }
    if(TicketAngenommen[playerid] == 1) // Zum direkten Antworten per /sup , wenn das Ticket angenommen wurde.
    {
    new pID = DeinSupport[playerid];
    new antwort[128], antwort2[128], DerFragende[MAX_PLAYER_NAME], DerSup[MAX_PLAYER_NAME];
    GetPlayerName(playerid, DerFragende, sizeof (DerFragende));
    GetPlayerName(pID, DerSup, sizeof (DerSup));
    format(antwort, sizeof (antwort),"--> %s", text);
    Echo(playerid, cSupGelb, antwort);
    format(antwort2, sizeof (antwort2), "( %s: %s )", DerFragende, text);
    Echo(pID, cSupGelb, antwort2);
    }
    }
    return 1;
    }


    LG
    MysteriX


    //Edit: Kann niemand helfen, bitte es ist wirklich sehr wichtig...


    //Edit2: Kann den wirklich niemand helfen, ich meine ihr habt doch bestimmt auch ein Support System...

    Hallo,
    mein /a geht nicht richtig.
    Undzwar können nur die Projektleiter im /a Chat schreiben.
    Aber ich will das die anderen Ränge das auch können.


    Befehl:
    if(strcmp(cmd, "/admin", true) == 0 || strcmp(cmd, "/a", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "NUTZE: (/a)dmin [admin chat]");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    format(string, sizeof(string), "*%d Probe-Supporter %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
    format(string, sizeof(string), "*%d Supporter %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    if(PlayerInfo[playerid][pAdmin] >= 3)
    {
    format(string, sizeof(string), "*%d Moderator %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    if(PlayerInfo[playerid][pAdmin] >= 4)
    {
    format(string, sizeof(string), "*%d Probe-Admin %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    if(PlayerInfo[playerid][pAdmin] >= 5)
    {
    format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    if(PlayerInfo[playerid][pAdmin] >= 6)
    {
    format(string, sizeof(string), "*%d Projektleiter %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }


    else return 1;
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pSupporter] >= 1 || PlayerInfo[i][pAdmin] >= 1)
    {
    SendClientMessage(i,COLOR_YELLOW,string);
    }
    }
    }
    Log("OA-Chat.txt",string);
    }
    return 1;
    }


    LG
    MysteriX

    Comabt Arms,
    Fiesta,
    TrackMania Nations Forever,
    Wolfteam,
    OP7,
    APB Realoaded,
    AION,
    Ghost Recon Online,
    Need for Speed World,
    Runes of Magic,
    World of Tanks,


    Hoffe du findest was :)