Beiträge von .Gottkomplex.

    Wenn du nicht weißt was es ist, frage ich mich, wie das überhaupt in dein Script kommt.
    Copy und Paste bringt's halt nicht, wenn man nicht versteht, was man da kopiert.


    Die 49k Zeilen hat er sich sicher nicht zusammenkopiert.. ich denke eher er editiert ein Godfather.

    Ich glaube ich hab einen Fehler gemacht, du müsstest es anders herum machen, vom kleinen zum größeren Abstand.


    €: So sollte es richtig sein:



    stock SendMeChat(string[],playerid) //DIe Funktion wird aufgerufen, wenn wir etwas ohne Befehl schreiben.
    {
    for(new i = 0;i < MAX_PLAYERS; i++) //Er durchläuft alle Spieler
    {
    if(GetDistanceBetweenPlayers(i,playerid) <= 5) // 0-5 Meter
    {
    SendClientMessage(i,Grau,string); //Klar eure Farbe ^^
    }
    else if(GetDistanceBetweenPlayers(i,playerid) <= 10) // 6-10 Meter
    {
    SendClientMessage(i,Grau,string); //dunklere farbe
    }
    else if(GetDistanceBetweenPlayers(i,playerid) <= 15) // 11-15 Meter
    {
    SendClientMessage(i,Grau,string); //noch dunklere farbe
    }
    else if(GetDistanceBetweenPlayers(i,playerid) <= 20) // 16-20 Meter
    {
    SendClientMessage(i,Grau,string); //noch dunklere farbe
    }


    }
    return 1;
    }


    stock SendMeChat(string[],playerid) //DIe Funktion wird aufgerufen, wenn wir etwas ohne Befehl schreiben.
    {
    for(new i = 0;i < MAX_PLAYERS; i++) //Er durchläuft alle Spieler
    {
    if(GetDistanceBetweenPlayers(i,playerid) <= 25) //Die Funktion wird unten erklärt ;) Die 25 heißt, wie viel Meter soll man das Lesen können.
    {
    SendClientMessage(i,Grau,string); //Klar eure Farbe ^^
    }
    else if(GetDistanceBetweenPlayers(i,playerid) <= 20)
    {
    SendClientMessage(i,Grau,string); //andere farbe
    }
    }
    return 1;
    }



    Meinst du das oder habe ich was falsch verstanden?

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    nicht wirklich.....Selbst GTA 4 läuft auf gescheite Rechner lagfrei...Zu behaupten, dass Lags zu einem Spiel gehört ist einfach nicht wahr.


    "Selbst auf gescheiten Rechnern" ist die falsche Formulierung. Denn die mögliche Grafikwiedergabe der PS3 ist mit Abstand sehr viel niedriger als die eines Computers, da die Grafikkarte der PS3 einfach zu schwach ist. Wenn es überhaupt möglich ist, das Spiel auf höchster Auflösung zu spielen, dann auf einem PC.


    ocmd:makeleader(playerid, params[])
    {
    new pID, nummer;
    if(IstSpielerAdmin(playerid,5))
    if(sscanf(params,"ud",pID,nummer)) return SendClientMessage(playerid,rot,"Verwendung: /makeleader [spielerid] [Fraktionsid]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,rot,"Dieser Spieler ist nicht online !");
    if(nummer > 1 && nummer < maxFraktion)
    {
    new str[128], name[24], pname[24];
    GetPlayerName(pID, name, 24);
    GetPlayerName(playerid, pname, 24);
    format(str, 128,"Du wurdest von %s zum Leader gemacht !",pname);
    SendClientMessage(pID,blau,str);
    format(str, 128,"Du hast %s zum Leader gemacht !",name);
    SendClientMessage(playerid,blau,str);
    SpielerInfo[pID][sLeader] = nummer;
    SpielerInfo[pID][sRang] = 6;//6 = höchster Rang in meinem Beispiel
    new Spielerdatei[64];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Fraktion",nummer);
    dini_IntSet(Spielerdatei,"Rank",6);
    return 1;
    }
    else return SendClientMessage(playerid, rot,"Diese Fraktionsid hat einen ungültigen Wert !");
    }


    Und das:

    SpielerInfo[pID][sLeader] = nummer;

    würde ich dazu machen:

    SpielerInfo[pID][sFraktion] = nummer;

    Denn Rank 6 ist ja automatisch Leader oder nicht?
    Liegt aber bei dir.

    Du musst die Dialoge verschieden benennen.
    Außerdem musst du den Dialog auch abfragen, um Aktionen bei "response" zu setzen.
    Btw: Benutz zum Einrücken lieber Tab anstatt Leertaste.


    -----


    Ganz oben unter die Includes musst du noch DIALOG_WAFFENSHOPLSPISTOLEN und DIALOG_WAFFENSHOPLSNAHMAPF definen.


    Und

    ShowPlayerDialog(playerid,DIALOG_WAFFENSHOPLS,DIALOG_STYLE_LIST,"Waffen Menü","Nahkampfwaffen\nPistolen","Weiter","Abbruch");


    solltest du je nach dem wie man bei dir Waffen kauft z.B. unter OnPlayerCommandText oder OnPlayerKeyStateChange setzen.
    Und wenn er dabei noch irgendwo in der Nähe sein muss, IsPlayerInRangeOfPoint benutzen.



    if(dialogid == DIALOG_WAFFENSHOPLS)
    {
    if(response == 1)
    {


    if(listitem == 0)//Nahkampfwaffen
    {
    ShowPlayerDialog(playerid,DIALOG_WAFFENSHOPLSNAHKAMPF,DIALOG_STYLE_LIST,"Nahkampfwaffen","Schlagring: PREIS\nMesser: PREIS\nKatana: PREIS\n","Kaufen","Zurück");


    }
    if(listitem == 1)//Pistolen
    {
    ShowPlayerDialog(playerid,DIALOG_WAFFENSHOPLSPISTOLEN,DIALOG_STYLE_LIST,"Pistolen","9MM: PREIS\nSilenced 9MM: PREIS\nDesert Eagle: PREIS\n","Kaufen","Zurück");
    }


    }
    else
    {


    SendClientMessage(playerid,ROT,"Vielleicht überlegst du es dir.");
    return 1;


    }
    }
    if(dialogid==DIALOG_WAFFENSHOPLSNAHKAMPF)//Nahkampfwaffen
    {
    if(response)
    {
    if(listitem == 0)
    {
    GivePlayerWeapon(playerid,1,1);
    SendClientMessage(playerid,BLAU,"Du hast dir einen Schlagring gekauft!");
    }
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_WAFFENSHOPLS,DIALOG_STYLE_LIST,"Waffen Menü","Nahkampfwaffen\nPistolen","Weiter","Abbruch");
    }


    }
    if(dialogid==DIALOG_WAFFENSHOPLSPISTOLEN)//Pistolen
    {
    if(response)
    {
    if(listitem == 0)
    {
    //Hier das Geld abziehen und die Waffen vergeben

    }
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_WAFFENSHOPLS,DIALOG_STYLE_LIST,"Waffen Menü","Nahkampfwaffen\nPistolen","Weiter","Abbruch");
    }


    }


    if(dialogid == DIALOG_VERLEIH)
    {
    if(response == 0)
    {
    SendClientMessage(playerid, FARBE_ROT, "Du hast den Vorgang abgebrochen!");
    }
    if(response == 1)
    {

    if(GetPVarInt(playerid, "RollerGemietet") == 1)
    {
    SendClientMessage(playerid, FARBE_ROT, "Du hast bereits einen Roller");
    return 1;
    }
    else
    {
    Meetroller[playerid] = SetVehicleNumberPlate(CreateVehicle(462,1103.3105,-1435.9202,15.7969,355.9865,44,6,-1),"Zivi");
    SetTimerEx("Destroytimer",900000,false,"ii",playerid,Meetroller[playerid]);
    SendClientMessage(playerid, FARBE_ORANGE, "Du hast dir erfolgreich einen Roller gemietet!");
    SendClientMessage(playerid, FARBE_ORANGE, "Bitte warte einen Moment, während der Roller gespawnt wird.");
    SendClientMessage(playerid, FARBE_ROT, "Du kannst nun mit dem Roller 15 Minuten fahren.");
    GivePlayerMoney(playerid,-50);
    SetPVarInt(playerid, "RollerGemietet", 1)
    }

    }
    }


    Das ocmd: kannst du so stehen lassen.