Beiträge von Dudalus

    Hallo


    Das Problem ist, dass Beifahrer, welche ins Auto steigen auch rausgekickt werden, jedoch soll das nur beim Fahrer passieren. Das einizge was ich darüber weiss ist, dass der Beifahrer Platz Nr 2 hat (Kann mich auch irren).
    Wegen den schwierigen Lösungen. Teilweise ist es alleine schon witzig, zu knobeln. Ich will eigentlich auch nicht immer fertige Lösungen, ich frage mich, wie ich mit einer Funktion oder einem Callback sowas abfragen kann ;)


    dUDA

    Hallo


    Endlich haben wir unser Lizensystem einigermassen am funktionieren, jedoch werden alle User ohne Lizenz aus dem Auto geworfen, auch als Beifahrer. Ich will jedoch nur, das der Fahrer rausgeworfen wird. Gibts da andere Funtionen dafür ? Ist das überhaupt am richtigen Ort, da es ja noch ein OnPlayerEnterVehicle gibt. Wie kann man sowa smit ispassenger machen ?



    public OnPlayerStateChange(playerid, newstate, oldstate) // - Führerschein
    {
    if(newstate == 2)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(FLUGZEUGCAR(vehicleid) && PlayerInfo[playerid][pFlugLiz] != 1)
    {
    GameTextForPlayer(playerid, "~r~Du hast noch keinen Flugschein", 2000, 5);
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    else if(PlayerInfo[playerid][pAutoLiz] != 1)
    {
    RemovePlayerFromVehicle(playerid);
    GameTextForPlayer(playerid, "~r~Du hast noch keinen Fuehrerschein", 2000, 5);
    return 1;
    }
    ..........



    Wie kann ich jetzt mache, dass nur der Fahrer aus dem Auto entfernt wird und nicht alle ?


    MfG dUDALUS

    Ah ja , nein es ist kein GF


    Du kannst mit mit jedem beliebigen "Text" den Fraktionschannel aufrufen, sofern du in einer Fraktion bist und ein / verwendest


    /f Text -->geht
    /flalalalal (kein Text) -->geht leider auch, sogar ohne Text !
    /lolalala Text --> geht


    Es erscheint folglich gar keine "Unbekannter Befehl"- Meldung, da jeder Befehl der nicht im Script definiert ist, richtig ist und in den Fraktionschannel schreibt.
    Mit Channel aufrufen meine ich, das der Player in den Fraktionschannel, der eigentlich nur mit /f Text benutzbar sein sollte, schreibt/schreiben kann.


    MfG dUDA

    Hallo


    Ich bins ma wieder ;)
    Ich habe ein Problem, hatte/habe auch eine Vermutung und das schon ausprobiert, jedoch ohne Erfolg. Das Problem ist folgendes, dass ich mit allen CMDs, welche es im Script nicht gibt, den Fraktionschannel /f aufrufen kann.
    Es geht also zB / jaja /lolala etc.. Es muss nichtmal ein Text stehen.
    Was mich verwundertist die Tatsache, dass


    if(strcmp(cmd, "/f", true) == 0)


    in Anführungs- und Schlusszeichen steht, ich habe es also ohne probiert, jedoch ging das auch nicht. Ich habe dann mal so aus Wunder bei anderen Strcmp Sachen reingeschaut und gemerkt, dass der Fraktionschannel gar kein dcmd_f hat, was mich wie oben gesagt etwas verwunder.


    Hier der Code:



    new string[256];
    new cmd[256];
    new sendername[MAX_PLAYER_NAME];
    new idx;
    if(strcmp(cmd, "/f", 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_WHITE, "Verwendung: /f [Text]");
    return 1;
    }
    if (PlayerInfo[playerid][pTeam] != 0)
    {
    if(PlayerInfo[playerid][pMember] != 0)
    {
    format(string, sizeof(string), " Fraktion %s: %s. )) ", sendername, result);
    SendFamilyMessage(PlayerInfo[playerid][pMember], COLOR_YELLOW, string);
    return 1;
    }
    if(PlayerInfo[playerid][pLeader] != 0)
    {
    format(string, sizeof(string), " Fraktion (Leader) %s: %s. )) ", sendername, result);
    SendFamilyMessage(PlayerInfo[playerid][pLeader], COLOR_YELLOW, string);
    return 1;
    }
    }
    }
    return 1;
    }
    return 1;
    }


    MfG dUDALUS

    Hallo


    In den letzten Tagen gings bei mir auch sehr lange. Trotz VDSL 20k dauerte es komischerweise teilweise 15 Sekunden. Zudem dauert in letzter Zeit das Laden generell einfach 1-2 Sekunden länger ;)


    dUDA

    Hallo MWP


    Ich hätte dir noch einen super Tipp:
    Mach bei den GUI Kapitel ein paar Bilder mit.


    Du hast micht echt neugierig gemacht, paar Freunde von mir in der Klasse kennen Autohotkey, jetzt kann ich mir endlich mal sowas genau anschauene und lernen.


    MfG dUDALUS

    Hallo


    Ich wollte mal fragen, wie ich einen Text über einem Pickup einblenden kann. Die Frage wurde auch schon gestellt. Muss ich mit der Funktion 3D Text Labels arbeiten ? Ich habe dort auf den ertsen schnellen Blick keine solche Funktion gefunden. Kann mir jemand helfen ?


    MfG dUDA


    Edit: Geht es mit :
    CreatePlayer3DTextLabel
    ?

    Hmm..ok


    Kann ich bei dem Beispiel:



    if(IsPlayerInRangeOfPoint(i, 1.0, gPickKoords[2][0], gPickKoords[2][1], gPickKoords[2][2]))
    {
    GameTextForPlayer(i, "~r~Garage~n~~w~Betreten: ~g~/enter", 4000, 5);
    return 1;
    }



    Das "i" durch playerid ersetzen und dann oben die Schleife weglassen ?


    MfG dUDA

    Also ist im Wike-Beispiel das Format nur da,weil die Model/Car-ID ausgelesen wird ?
    Ich möchte zB einfach schreiben:


    Los Santos Police Department
    Betreten: /enter
    (Das mit dem Zeilenumbruch ist klar).


    Wofür steht das ? Muss ich bei meinem System auch so etwas einbauen. Ich bin am Punkt X und Meldung Y soll erscheinen.
    for(new i = 0; i<MAX_PLAYERS; i++)

    Hallo


    So, ich habe eine Frage zu GameTextForPlayer ( http://wiki.sa-mp.com/wiki/GameTextForPlayer ) .
    Muss ich den String vorher definieren und dann per format umwandeln ? Ich bin mir da nicht ganz sicher, da im alten System der Text direkt in die GameTextForPLayer geschrieben wurde. Das verwirt mich deshalb.


    Irgendwie sah das so aus :



    public IsPlayerAtEnterExit(playerid)
    {
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerInRangeOfPoint(i, 1.0, gPickKoords[0][0], gPickKoords[0][1], gPickKoords[0][2]))
    {
    GameTextForPlayer(i, "~r~Los Santos Police Department~n~~w~Betreten: ~g~/enter", 4000, 5);
    return 1;
    }
    if(IsPlayerInRangeOfPoint(i, 1.0, gPickKoords[1][0], gPickKoords[1][1], gPickKoords[1][2]))
    {
    GameTextForPlayer(i, "Verlassen: ~r~/exit", 4000, 5);
    return 1;
    }
    if(IsPlayerInRangeOfPoint(i, 1.0, gPickKoords[2][0], gPickKoords[2][1], gPickKoords[2][2]))
    {
    GameTextForPlayer(i, "~r~Rathaus~n~~w~Betreten: ~g~/enter", 4000, 5);
    return 1;
    }
    if(IsPlayerInRangeOfPoint(i, 1.0, gPickKoords[3][0], gPickKoords[3][1], gPickKoords[3][2]))
    {
    GameTextForPlayer(playerid, "Verlassen: ~r~/exit", 4000, 5);
    return 1;
    }
    if(IsPlayerInRangeOfPoint(i, 1.0, gPickKoords[4][0], gPickKoords[4][1], gPickKoords[4][2]))
    {
    GameTextForPlayer(i, "~r~Admin Base~n~~w~Betreten: ~g~/enter", 4000, 5);
    return 1;
    }
    }
    return 0;
    }




    Wie kann ich so etwas scripten, ohne den String zu formatieren, den im Wike steht es anderst und ich bekomme sonst auch Fehlermeldungen.
    MfG dUDA

    Hallo


    Jein, der Hintergrund ist der, das das LVPD und das Bundespolzei das gleiche Interior haben und ich deshalb eine neue Virtuelle World Abfrage einabeun muss (Da es ja logischerwiese sonst 2 Exits gibt ;) ).
    Welches ist die normale Welt ? 0 ?
    Könntest du mal den Code posten, ich poste noch schnell den gesamtne mom.


    dUDA

    Hallo


    Ich will eine Abfrage machen, ob der Spieler im Breich X ist und in der Virtual World Y ist. Warum geht das so nicht ? Ich verwende ja GetPlayerVirtaulWorld



    if(IsPlayerInRangeOfPoint(i, 1.0, gPickKoords[13][0], gPickKoords[13][1], gPickKoords[13][2]) && GetPlayerVirtualWorld == 1 )
    {
    GameTextForPlayer(i, "~r~Garage~n~~w~Betreten: ~g~/enter", 4000, 5);
    return 1;
    }



    Um eine schnelle Info wäre ich echt sehr dankbarm, da ich es gerade sehr gebrauchen könnte ;)


    MfG dUDA

    Hmm..gut es gibt eine soclhe Funktion. Damit hat sich einiges geklärt. Wie soll ich aber so ein System aufbauen ?


    Könnte man nicht eine Art Liste machen , zB so :


    {ModelID,Lizenzart},
    ........


    Ach weisste was, ich schau schnell mal in einen anderen GM rein ;)


    dUDA, dank dir !

    Hallo


    Ich habe hier ein Führerscheinsystem, das geht, es bezweckt aber nicht das, was ich möchte.
    Ich habe verscheidene Führerscheinarten (Autoschein,LKW-Schein,Flugschein,Bootsschein)


    Wie muss ich etwas machen, dass jede Model-ID eine Lizenzzugehörigkeit hat. Zum Beispiel, wenn ich in ein Auto mit der ModelID 431 (Weiss nicht grad ob das stimmt ;) ) einsteige, word geprüft, mit welcher Lizenz diese ModelID gefahren werden kann, sofern man die Lizenz nicht hat, wird man aus dem Auto geworfen.


    MfG dUDA