Beiträge von DraloX

    Anfangs fand ich den Server garnichtmal so schlecht. Doch was ich in den ersten Minuten auf dem Server erlebt hab hat mir grad schon gereicht.


    Zuerst wollte ich zur Stadthalle um mir den Perso zu kaufen wie es mir im Tutorial erklärt wurde. Direkt wurde ich gesnipert.


    Als ich dann endlich in der stadthalle war kam direkt der erste Boxer und ging auf mich los..


    Danach startet auch direkt mal eine Hydra vorm LSPD 8|


    Später wurd ich wieder von meinem Roller gesnipert.


    Läuft das auf dem Server immer so ab? Oder wurd nur ich so nett begrüßt?

    Er liest doch alles mit dini_Get aus. Egal ob String, int oder was auch immer. Laut deinem Link muss er es einfach nur so anpassen das er bei allen integer werten auch "dini_Int" benutzt.
    dini_Float eben bei Floats.

    Du hast in der if-Abfrage auch > und nicht < verwendet. Außerdem willst du ja wie ich sehe den Spieler aus dem Car werfen. Also wäre es doch sinnvoller wie ich gesagt habe alle Spieler zu überprüfen und nicht die Cars da du ja die playerid brauchst und nicht die carid. Versuch deswegen am besten so:



    forward Motorschaden();
    public Motorschaden()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) {
    if(IsPlayerInAnyVehicle(i) {
    new Float:health;
    new veh;
    veh = GetPlayerVehicleID(i);
    GetVehicleHealth(veh, health);
    if(health < 400)
    {
    SendClientMessage(i,0xFF0000FF,"Debug!");
    //ausfürung
    }
    }
    }
    }
    return 1;
    }


    // Edit Habs gerade frei aus dem Kopf geschrieben falls Fehler kommen einfach schreiben welche.

    Was soll er jetzt aufeinmal mit der playerid? Ihr geht die ganze Zeit mit der Schleife über die Cars und jetzt soll er auch noch alle Player durchgehen? Entweder man geht über alle Cars oder über alle Player. Aber nicht über beides.

    Die Variable veh braucht du garnicht. Also musst du auch die 2 Zeilen löschen. (new veh; und veh = ... )


    //Edit: Aber warum sollte man eig. alle Cars überprüfen. Wäre es nicht sinnvoller alle Spieler zu überprüfen und wenn dieser in einem Fahrzeug ist auf die Hp des Cars zu schauen? Naja wie man es letztendlich macht ist jedem selbst überlassen, aber man muss ja nicht jeder Car das einfach nur in der Base steht permanent überprüfen.

    Wieso teilste das jetzt in 3 Zeilen auf?
    Lass es doch einfach in einer.


    new waffe = GetPlayerWeapon(playerid);
    if(waffe == 1 || waffe == 2 || waffe == 3 ||...


    Hat schon einer in deinem anderen Thread vorgeschlagen. Dann wird die Zeile auch nicht solang.


    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
    {
    new Float:Armour;
    GetPlayerArmour(playerid, Armour);
    if(Armour >= 1)
    {


    }
    else if(GetPlayerTeam(playerid) == TEAM_RED && GetPlayerTeam(issuerid) == TEAM_BLUE)
    {
    new waffe = GetPlayerWeapon(issuerid);
    if(waffe == 1 || waffe == 2 || ... )
    {
    SetPlayerHealth(playerid, 0);
    }
    }
    return 1;
    }

    So wie du die if-Abfrage gemacht hast stirbt man IMMER wenn OnPlayerTakeDamage aufgerufen wird und man keine Rüstung hat.


    Du musst vor jeder WaffenID GetPlayerWeapon(issuerid) == schreiben. Hier darf man das || ( oder ) nicht wörtlich übersetzten. Also nicht GetPlayerWeapon == 4 oder 5 oder 6 ...
    Hier wird nähmlich einfach nur geschaut ob irgentetwas zwischen den "Oderzeichen" zutrifft. Und wenn da nur eine Zahl steht kann das halt nie falsch sein. Deswegen führt er immer das SetPlayerHealth aus.


    Ausserdem würde ich das noch in 2 Abfragen trennen.


    else if(GetPlayerTeam(playerid) == TEAM_RED && GetPlayerTeam(issuerid) == TEAM_BLUE)
    {
    if(GetPlayerWeapon(issuerid) == 0 || GetPlayerWeapon(issuerid) == 1 || GetPlayerWeapon(issuerid) == 2 || ....)
    {
    SetPlayerHealth(playerid, 0);
    }
    }

    Deswegen ja der Link. Da ist alles erklärt.


    Mit Valstr den Integer in einen String umwandeln.
    Mit Strlen die Länge abfragen damit du weißt wieviele "Punkte" du brauchst.
    Mit Strins kannst du dann jenachdem was bei strlen rauskam den Punkt an den stellen an denen du ihn haben willst einfügen.


    Beispiele findest du im Wiki (Siehe Links in meinem letzten Post)

    Rechtsklick auf deinen Desktop -> "Bildschirmauflösung" auswählen -> Dort solltest du deine beiden "Monitore" sehen die momentan angeschlossen sind. Bei "Mehrere Anzeigen:" wählst du einfach "Diese anzeige duplizieren" aus.


    So sollte das bei Windows 7 funktionieren. Ich vermute einfach mal ganz stark das das bei einem Laptop nicht anderst ist als bei meinem normalen PC ;).

    Ja, zum Beispiel durch prüfen, ob eine IP schon da ist. Wenn sie dann mehr als n mal da ist, Kicken, Bannen, whatever.


    Hier haste doch schon eine Lösung, da die Bots im normalfall alle die gleiche IP haben.

    Anstatt abzufragen was auf dem Nummernschild steht, sorg einfach dafür das alle SAPD Autos das Nummernschild beim erstellen bekommen.


    Z.B. so:


    new SAPDCars[10];
    SAPDCars[0] = [Fahrzeug erstellen]
    SetVehicleNumberPlate(SAPDCars[0],"SAPD 1");
    ...


    Bei der IF-Abfrage musste dann nur Abfragen ob das Fahrzeug ein SAPDCars[] ist...


    Dann haste eig. genau das was du wolltest. Nur Polizisten können mit dem Fahrzeug fahren bei dem auf dem Nummernschild SAPD 1, 2, 3 etc steht.


    Ich hoffe du bekommst den Code selbst hin.


    //Edit:


    Vielleicht hilft dir aber auch das, dann griegste es so hin wie du es willst. http://forum.sa-mp.com/showthread.php?p=1894836&langid=5


    Musst aber den String anpassen. Also einfach nur die ersten 4 Zeichen im String abfragen und schauen ob da SAPD steht ;).

    Du musst ja auch nicht verstehen was das ist.. Machs einfach.


    - Es wurd schon mehrfach geschrieben:
    "Von unten nach Oben". Also gehst du die Liste aus dem 1. Post von unten nach oben durch.
    - Auf der Seite im 1. Post findest du die verschiedenen Verschlüsselungsalgorythmen. Such dir die, die im 1. Post stehen aus und füg den verschlüsselten Link ein.
    (Natürlich den Text der beim 1. mal entschlüsseln rauskommt in den 2. reinschreiben also nicht überall den gleichen :D )
    - Beim letzten musste nur das Passwort mit angeben. Es wurd schon oft genug gesagt wo du dieses findest.


    Und schon haste den Downloadlink. Hab jetzt eig. nur zusammengefasst was im 1. Post und denen danach geschrieben wurde.


    //Edit hatte was vergessen. ^^

    Bei verschiedenen Auflösungen macht das Design noch einige Probleme. Ich z.B. habe 1920 x 1080 jedoch da meine Taskleiste an der rechten Seite vom Monitor ist, ist der Bereich den Firefox zur Verfügung hat etwas kleiner und dadurch sehe ich nur die "Hauptbox" ^^. Runterscrollen geht auch nicht.


    //Edit:

    Zitat

    Anscheinend schon, Leute die "Reif" sind aber das nicht entschlüsseln können sind in eure Augen Kiddys oder was auch immer ?
    Sehr interessant.


    Es geht nicht darum ob "Reif" oder "nicht Reif"... So wie ich das sehe ists einfach nur so das man sich schon etwas Mühe geben muss um den DL zu bekommen. Ich mein die Lösung / ein Lösungsweg wurd hier schon mehrfach gepostet. Und die 3 Klicks + das eine Wort schreiben wird ja wohl jetzt jeder hinbekommen...