Beiträge von Padarom

    Hallo,
    Ich habe ein kleines "Renn"-System oder zumindest etwas ähnliches. Dabei möchte ich, dass automatisch der erste freie Checkpoint (eine Art Position belegt, dann nächste Position) als nächster ausgewählt wird. Das klappt auch in 2 Fällen, aber beim dritten Fall klappt es nicht.

    position[id] = "lv"; // id = GetPlayerVehicleID(playerid)
    if(gatebelegt[5] == false)
    {
    SetPlayerRaceCheckpoint(playerid, 1, checkpoint[8][0], checkpoint[8][1], checkpoint[8][2], checkpoint[8][0], checkpoint[8][1], checkpoint[8][2], 15);
    cp[playerid] = 2;
    gate[id] = 5;
    gatebelegt[5] = true;
    }
    else if(gatebelegt[5] == true && gatebelegt[6] == false)
    {
    SetPlayerRaceCheckpoint(playerid, 1, checkpoint[9][0], checkpoint[8][1], checkpoint[9][2], checkpoint[9][0], checkpoint[9][1], checkpoint[1][2], 15);
    cp[playerid] = 2;
    gate[id] = 6;
    gatebelegt[6] = true;
    }
    else if(gatebelegt[6] == true)
    {
    SetPlayerRaceCheckpoint(playerid, 1, checkpoint[10][0], checkpoint[10][1], checkpoint[10][2], checkpoint[10][0], checkpoint[10][1], checkpoint[10][2], 15);
    cp[playerid] = 2;
    gate[id] = 7;
    gatebelegt[7] = true;
    }


    // Das hier ist die Funktion zum Starten der Checkpoints:
    case 3:
    {
    if(gatebelegt[5] == true && gatebelegt[6] == true && gatebelegt[7] == true) return SendClientMessage(playerid, COLOR_RED, "Alle Positionen belegt.");
    ziel[playerid] = 3;
    ImRennen[playerid] = true;
    cp[playerid] = 1;
    SetPlayerRaceCheckpoint(playerid, 0, checkpoint[7][0], checkpoint[7][1], checkpoint[7][2], checkpoint[8][0], checkpoint[8][1], checkpoint[8][2], 30);
    }

    Das ist bei OnPlayerLeaveRaceCheckpoint. Wie gesagt, das ist der 3. Fall. (die anderen beiden laufen genauso, funktionieren aber. Hier wird jedesmal Checkpoint[8] angezeigt. Ich verstehe aber nicht, wieso.


    Mit freundlichen Grüßen
    Padarom

    Nunja, die meisten in diesem Thread, ich will keine Namen nennen, haben diesen Satz aus einigen Zeilen des Webs kopiert:
    "C++ ist die aelteste Programmiersprache!"

    Ich kann in keinem Beitrag dieses Themas erkennen, dass jemand diese Aussage getätigt hat. Weder offensichtlich, noch verdeckt. Ich und die anderen Poster in diesem Thema haben von C/C++ als gute Sprache (nicht alte) geredet.
    Woher du also diese Behauptung nimmst, brauche ich glaube ich nicht zu verstehen.

    Entweder du drückst Strg+A, Strg-klickst dann deine gesetzten Objekte aus der Markierung und löschst die anderen mit Entf, oder du musst die anderen Objekte per Hand löschen. Anders kann man das mit MEd nicht machen (zumindest aus meiner Erfahrung).

    Ich glaube eigentlich nicht, dass wenn die Grafikkarte abschmiert nur das Flashvideo grün ist. Wenn mein Treiber abgestürzt ist, musste sich der ganze Monitor ein paar Sekunden neu aufbauen und Flash ist dabei abgestürzt. Aber wieso sollte der Browser wegen der Graka abstürzen?

    Es hat einen Grund, dass du nicht woanders kannst. Nämlich den, dass sich hier nicht ständig Leute registrieren, nur um nach Scriptern, Homepages, Domains oder Servern zu suchen.
    Und mit dieser Vorstellung/Suche wirst du wohl auch niemanden finden.


    Mit freundlichen Grüßen
    Padarom

    Du machst mehrere if(IsPlayerInRangeOfPoint(... Abfragen, bei denen du ein bestimmtes Tor nur öffnest, wenn die Abfrage zutrifft.
    if (strcmp("/tor", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,209.88281250,1875.65026855,8.377895355225))
    {
    MoveObject(Gate,209.88281250,1875.65026855,8.377895355225,5.0);
    SetTimer("Torschliessen",5000,0);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 10, TorX, TorY, TorZ))
    {
    Move Object...
    SetTimer...
    }
    else if(IsPlayerInRangeOfPoint(playerid, 10, Tor2X, Tor2Y, Tor2Z))
    {
    // ...
    }
    return 1;
    }

    Nein, der letzte Parameter steht für die Repeatfunktion. Ob man dort 0, false, 1 oder true hinschreibt- Ist alles richtig. In dem Fall soll er ja repeated werden, bis count auf 3 ist.

    Zum Thema qualitätslose werden direkt gelöscht... Das sehe ich überhaupt nicht so. Es gibt ständig neue Godfather-RPG-Themen die von, sagen wir mal ungenügender Qualität sind und mehrere Tage überleben. Dann sind sie zwar auf der nächsten Seite, gelöscht aber trotzdem nicht.
    Ich glaube die Moderatoren hätten daüfr garnicht genug Zeit, um alle Werbungen genau durchzulesen.

    if(dialogid == 3 && response)
    {
    new string[128];
    if(strval(inputtext) > 0) format(string,128,"Du hast $%s abgehoben.",inputtext);
    else format(string,128,"Du hast $%s eingezahlt.",inputtext);
    GivePlayerMoney(playerid, strval(inputtext));
    SendClientMessage(playerid, COLOR_GREEN, string);
    return 1;
    }
    Wenn ich das richtig verstanden habe ist das der Code, den du suchst, oder?

    Hast du schonmal gesehen, wieviele tausende Themen den Präfix "[ GODFATHER-RPG ]" haben? Ich habe die Tage einfach mal Stichprobenartig auf der ersten Seite welche rausgepickt, die sind 1. größtenteils nicht von berauschender sprachlicher Qualität und 2. wie erwähnt mit größtenteils gleichen "Features".
    Normale RPG's oder andere Serverarten kommen in dem Bereich ziemlich schnell weiter runter, da wirklich fast täglich neue Projekte und demzufolge neue Werbung aufgemacht wird.


    edit: Was auchnoch denkbar wäre (ob es umsetzbar ist, weiß ich nicht), wäre eine Art Präfix-Filter. Sodass man mit einem Filter gezielt nach RPG, Godfather, Stunt o.Ä. angezeigt bekommt.

    Alternativ könntest du allerdings noch mit dem AudioPlugin arbeiten um eine Sirene zu immitieren. Das benötigt zwar ein bisschen Eingewöhnung und Scriptkenntnisse, wäre aber meines Wissens nach die einzige Möglichkeit mit dem Horn.

    Hätte wesentlich leichter gescriptet werden können
    // (zum Beispiel folgendes)
    if(reason == 0)
    {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    new DisConnect[256];
    format(DisConnect,sizeof(DisConnect),"%s [ID:%d] Hat Die Verbindung Verloren!",Name,playerid);
    SendClientMessageToAll(0xF60000F6, DisConnect);
    }
    if(reason == 1)
    {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    new DisConnect[256];
    format(DisConnect,sizeof(DisConnect),"%s [ID:%d] Hat SBR Verlassen!",Name,playerid);
    SendClientMessageToAll(0xF60000F6, DisConnect);
    }
    if(reason == 2)
    {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,sizeof(Name));
    new DisConnect[256];
    format(DisConnect,sizeof(DisConnect),"%s [ID:%d] Wurde Vom Server Gekickt!",Name,playerid);
    SendClientMessageToAll(0xF60000F6, DisConnect);
    }



    // Zu:
    new Name[MAX_PLAYER_NAME], DisConnect[256];
    GetPlayerName(playerid,Name,sizeof(Name));
    switch(reason)
    {
    case 0: format(DisConnect,sizeof(DisConnect),"%s [ID:%d] Hat Die Verbindung Verloren!",Name,playerid);
    case 1: format(DisConnect,sizeof(DisConnect),"%s [ID:%d] Hat SBR Verlassen!",Name,playerid);
    case 2: format(DisConnect,sizeof(DisConnect),"%s [ID:%d] Wurde Vom Server Gekickt!",Name,playerid);
    }
    SendClientMessageToAll(0xF60000F6, DisConnect);


    Ansonsten kann ich da leider nicht viel an Reallife erkennen, sind eigentlich nur CMD's für Admins. Ich würde es dann an deiner Stelle eher als MySQL-Blank Gamemode + Admin-CMD's zur Verfügung stellen. Nicht als Selfmade Reallife

    nehli: Was soll es denn daran ändern?
    Eigentlich könnte man 2 Conditions weglassen.


    Mit deiner Version ist es so:
    Wenn ich A bin, dann mach B.
    Ansonsten überprüfe, ob ich A bin und mach C.
    Wenn ich immer noch nicht A bin, überprüfe ob ich A bin und mach D.


    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if((GetVehicleModel(playerid) == 487 || GetVehicleModel(playerid) == 469 || GetVehicleModel(playerid) == 447 ||
    GetVehicleModel(playerid) == 563 || GetVehicleModel(playerid) == 497 || GetVehicleModel(playerid) == 488 ||
    GetVehicleModel(playerid) == 417 || GetVehicleModel(playerid) == 425 || GetVehicleModel(playerid) == 548) && GetPVarInt(playerid,"Flugschein") == 0))
    {
    RemovePlayerFromVehicle(playerid);
    }
    if((GetVehicleModel(playerid) == 461 || GetVehicleModel(playerid) == 522 || GetVehicleModel(playerid) == 448 || GetVehicleModel(playerid) == 462 || GetVehicleModel(playerid) == 463 || GetVehicleModel(playerid) == 468 || GetVehicleModel(playerid) == 471 || GetVehicleModel(playerid) == 521 || GetVehicleModel(playerid) == 523 || GetVehicleModel(playerid) == 581 || GetVehicleModel(playerid) == 586) && GetPVarInt(playerid,"Motorradschein") == 0))
    {
    RemovePlayerFromVehicle(playerid);
    }
    else if(GetPVarInt(playerid,"Fuehrerschein") == 0)//hier wird überprüft ob der Spieler einen Führerschein hat die 0 zeigt das wenn er keinen Führerschein hat das der Code weiter geht und er vom Auto Rausgeschmissen wird.
    {
    SendClientMessage(playerid, COLOR_RED, " Du hast keinen Schein für dieses Fahrzeug/Flugzeug ");//Den Text könnt ihr ändern er wird dem Spieler gezeigt der in ein Auto einsteigt und keinen Führerschein hat.
    RemovePlayerFromVehicle(playerid);//So wird dann der Spieler der keinen Führerschein hat aus dem Auto geschmissen!
    }
    }
    So sollte es klappen. Deine if-Clause war irgendwie total unsinnig (wenn ich richtig denke), du hast überprüft, ob die Fahrzeug-ID KEIN Motorrad oder Heli ist. Das heißt, dass du immer rausgeschmissen wirst, wenn du in einem anderen Fahrzeug als einem Motorrad oder Flugzeug bist.

    Ich bin auch bis zur Raffinerie gekommen (Vollversion), bis ich weiterspiel muss ich warten bis meine Freundin das nächste Mal wieder bei mir übernachten kann, alleine scheißt man sich da wirklich total zusammen :D

    Yo, zur Softwareentwicklung würde ich mich für irgendeine Sprache entscheiden die mit dem .net Framework läuft (vorausgesetzt, dass du nicht unter Mac arbeitest, .net ist nicht für Mac nutzbar).
    Also ich empfehle entweder C#, C++, F# oder VB.net (ähneln sich alle ein bisschen, wie gesagt VB.net würde ich als Anfänger empfehlen. Zu C# kann man mit genug Erfahrung dann auch langsam umsteigen)


    edit: Ups, C++ ist garnicht .net-basiert - Aber trotzdem wohl die meistgenutzte Sprache (und mitunter eine der ältesten, von 1979).

    Es kommt darauf an zu welchem Bereich du gehen willst.
    Willst du eher eigene Spiele entwickeln, so eignen sich die C-Sprachen (C, C#, C++) ganz gut, evtl für Anfänger auch BlitzBasic.
    Wenn du allerdings Programme programmieren willst, und das dann irgendwann ein bisschen weitergehen soll (auch Spielerichtung) würde ich klar VB.net empfehlen. Das ist eigentlich die einfachste Scriptsprache die ich bisher kennengelernt habe. Sicher ist es auch mit C möglich Programme zu schreiben, allerdings für Anfänger nicht ganz so geeignet meines Erachtens nach.


    Was davon die neuste ist weiß ich leider nicht^^


    edit: Gambas ist eine recht neue Programmiersprache. Die hat sich aus Basic und danach natürlich VB entwickelt, ob sie wirklich bekannt ist oder viel genutzt wird weiß ich nicht, die Programmierumgebung ähnelt VB zumindest sehr stark.