Beiträge von Double-O-Seven

    Schiffchen fahren: TESTPHASE


    Nun, guten Abend Community.


    Vor kurzem habe ich ein kleines Script angefangen: Alle grossen Schiffe in SA fahrbar machen. Bis jetzt gibts es nur 2 Schiffe: Das Piratenschiff und den Flugzeugträger. Allerdings sind die restlichen kein Problem mehr. Um diesen Script mit mehreren Leuten zu testen, habe ich nun eine Testserver aufgemacht, wo nun jeder grosse Schiffe fahren kann. Das Problem bei den Schiffen war, dass sie aus mehreren Teilen bestanden. Egal...


    Nun, da dies nur ein vorübergehender Testserver ist, ist das eher ein Event.


    Der Server
    - Jeder kann connecten^^
    - Spawnpunkte in Bayside mit einigen "normalen" Schiffen und 4 gescripteten
    - Jeder kann gescriptete Schiffe fahren: Steuerung genau gleich wie in Autos
    - Um ein Schiff zu steuern, muss man F drücken (an der richtigen Stelle)
    Bei Piratenschiff ist das hinten, beim Flugzeugträger ist das vorne auf einer grünen Plattform, wo normalerweise Raketenwerfer wären.


    Nunja, es gibt noch ein paar Sachen zu tun und wahrscheinlich werde ich den Script releasen.


    Also, wer die Schiffchen mal testen will, soll auf folgende IP connecten:


    188.40.86.76:7782


    Dies dient hauptsächlich dazu, Bugs zu finden.


    dos

    Mal wieder ein neues Minigame!


    Rennen im MTA Style: Hier genannt: Parcour!
    - Wenn man einen Checkpoint betritt, kann es sein, dass man ein Fahrzeug bekommt oder sich das Fahrzeug ändert, ohne Geschwindigkeitsverlust
    - Top 8 werden gespeichert
    - Rennen zu Fuss, im Wasser, mit Fallschirm, und natürlich mit vielen Fahrzeugen.
    - Es können bis zu 12 Leute dran teilnehmen
    - Ingame-Editor, allerdings nur für Admins (im Moment jedenfalls)
    - Wenn man einen Checkpoint betritt, kann es auch sein, dass man eine Waffe bekommt und so die Chance hat, die Gegner zu töten.
    - Maps, welche via Parcourfile geladen werden. (Da werden auch Koordinaten für CPs etc. gespeichert)


    Es gibt im Moment nur wenige Maps, nur etwa 5, aber das liegt daran, dass es erst seit gestern Nacht auf dem Server ist.
    Wer also mal Rennen anders erleben will in SAMP, ist hier richtig!

    Wenn viele Leute online sind, ist das ein Problem (in 2-Shot-Fights, wo man hin und her rennt). Allerdings konnte ich das in letzter Zeit ein bisschen vermindern, ich habe ein paar unnötige Berechnungen entfernt.


    //Edit: Ahja, wenn ich schon was schreibe:


    Update von gestern Abend:
    - Anzeige für Gebietsnamen geändert
    - Webseite unten rechts ändert immer von http://www.MG3-Clan.us.ms zu http://www.TSG-Hosting.de
    - GW-Sperre von 00:00 bis 09:00
    - /Autos 8 (Flugzeuge zum kaufen)
    - Admin Level 1338+ ist unsichtbar in der /Admins Liste (Jaja, ist bei Godfather auch so. Möge er zur Hölle fahren.)
    - Performanceupdate (vlt bringts was^^)
    - Bugfixes


    #define ForEachPlayer(%0) for(new index_%0=0, %0=ConnectedPlayerList[0]; index_%0<ConnectedPlayers; index_%0++, %0=ConnectedPlayerList[index_%0])


    new ConnectedPlayers;
    new ConnectedPlayerList[MAX_PLAYERS+1];//Bug bei Loop verhindern, wenn voller Server.


    stock AddPlayer(playerid)//Unter OnPlayerConnect: AddPlayer(playerid); hinmachen
    {
    if(ConnectedPlayers>=MAX_PLAYERS)
    return 0;

    ConnectedPlayerList[ConnectedPlayers++]=playerid;
    return 1;
    }


    stock RemovePlayer(playerid)//Unter OnPlayerDisconnect RemovePlayer(playerid); hinmachen
    {
    for(new i=0;i<ConnectedPlayers;i++)
    {
    if(ConnectedPlayerList[i]==playerid)
    {
    ConnectedPlayers--;
    ConnectedPlayerList[i]=ConnectedPlayerList[ConnectedPlayers];
    return 1;
    }
    }
    return 0;
    }


    Wer Y_Less' foreach Funktion kennt, der weiss um was es dabei geht. Diese Funktion bewirkt dasselbe. Jedoch ist sie nur auf die Spieler bezogen.
    ForEachPlayer ist eine Schleife, die ihr anstelle von for(new i=0;i<MAX_PLAYERS;i++) benutzen könnt. Ihr müsst dann in dieser neuen ForEachPlayer-Schleife kein IsPlayerConnected mehr benutzen.


    Beispiel:
    Alt:

    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    GivePlayerMoney(i,3000);
    SendClientMessage(i,0xFF0000FF,"Zahltag: $3000");
    }
    }


    Neu:

    ForEachPlayer(i)
    {
    GivePlayerMoney(i,3000);
    SendClientMessage(i,0xFF0000FF,"Zahltag: $3000");
    }


    Da diese Schleife nur durch alle Connecteten Spieler loopt, ist sie viel schneller als die andere.

    Neues

    • Ein neues FlatOut-Minigame: Man fährt über eine lange Strasse und es stellen sich einem immer wieder riesige Cowboys und Stripperinnen in den Weg. Das Ziel ist es, so schnell wie möglich, ans andere Ende der Bahn zu gelangen und den Spieler durch den roten Ring zu werfen.
    • Streamer Plugin ist nun auf dem Server, damit der Server ein bisschen weniger laggt
    • Es gibt nun Statistiken zum Server. Diese werden seit dem 6.1.2010 gespeichert. Darin sieht man, wieviele Bans, Kills, Commands etc. insgesamt um am jeweiligen Tag gemacht/benutzt/etc. wurden.
    • Es gibt nun über 650 Häuser in ganz San Andreas! Und zudem 200 Immobilien
    • Eine rotierende Kamera in der Classselection
    • SAMs: Flugabwehrraketen. Diese gibt es in der Area 69, beim grossen Schiff in SF und auf 2 VIP Insel.
    • Anticheat Updates: Anti-Checkpointteleport, Anti-Airbreak, Kick für erlaubte, aber gecheatete Waffen


    So, wer einen Server sucht, der täglich um die 100 Leute hat, viele Features, wenig Bugs (bekannte Bugs, werden meist sofort behoben) und immer wieder Updates hat, ist auf diesem Server richtig.


    dos

    stock GetPlayerSpeed(playerid,get3d=true)
    {
    new Float:x,Float:y,Float:z;
    if(IsPlayerInAnyVehicle(playerid))
    GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z);
    else
    GetPlayerVelocity(playerid,x,y,z);
    return floatround((get3d?floatsqroot(x*x+y*y+z*z):floatsqroot(x*x+y*y))*100.0*1.6);
    }


    new AFK[MAX_PLAYERS];


    public OnPlayerUpdate(playerid)
    {
    AFK[playerid]=0;
    return 1;
    }


    forward AFKCheck();
    public AFKCheck()
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    AFK[i]++;
    if(AFK[i]>=(15*60))
    {
    AFK[i]=0;
    Kick(i);
    }
    }
    }
    }


    SetTimer("AFKCheck",1000,true);


    >>ODER<<


    new AFK[MAX_PLAYERS];
    new Float:OldPos[MAX_PLAYERS][3];


    forward AFKCheck();
    public AFKCheck()
    {
    new Float:x,Float:y,Float:z;
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetPlayerPos(i,x,y,z))
    {
    if(x==OldPos[i][0] && y==OldPos[i][1] && z==OldPos[i][2])
    {
    AFK[i]++;
    if(AFK[i]>=(15))
    {
    AFK[i]=0;
    Kick(i);
    }
    }
    else
    AFK[i]=0;
    OldPos[i][0]=x;
    OldPos[i][1]=y;
    OldPos[i][2]=z;
    }
    }
    }


    SetTimer("AFKCheck",60*1000,true);

    Update vom 18.12.2009


    • Neue Listen: /admins, /afkliste, /hdfliste, /jaillist, /blocklist, /wanted, /kopfgeld etc. ...
      => Alles in GUI. Auf Spieler klicken für seine Stats.
    • Neues DM: /BF (muss aber noch verbessert werden) Battlefield: Man spawnt in der Area 69 und bekommt M4, Uzi und Granaten, sind weitere Waffen wie Sniper oder Minigun verteilt, zudem gibt es Panzer, Hydra und Hunter.
    • SADM "Logo" unten grösser und sieht nun besser aus.
    • Im DM werden nun Kills, Deaths und Amoklaufscore angezeigt in Form eines Textdraws
    • 125 Slots
    • Bugfixes


    Es gibt auch einen Tannenbaum in der Grove Street, der jedoch schon seit ein paar Tagen da ist.

    Es heisst "Waffenladen", nicht "Waffen Laden"...
    Diese Seuche scheint mir in der SA-MP-Szene weit verbreitet zu sein. Wörter, die aus mehreren Wörter bestehen einfach zu trennen.
    "Vogel Scheuche"
    "Ehe Mann"
    "Deutsch Land" könnten wir ja auch schreiben...