Beiträge von Splash


    ^geht auch noch effizienter:


    if(newstate==PLAYER_STATE_DRIVER)
    {
    switch(GetVehicleModel(GetPlayerVehicleID(playerid))
    {
    case 481,509,510:
    {
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
    }
    }
    }

    Es gibt keine richtige deutsche Szene dafür. Ich selber kenne nur zwei Server:


    German-Trucking (100% Selfmade) only German!
    84.200.21.40:9057 <-0/25


    @ibr ( nutzt dass PPC_Trucking Gamemode)
    @ibr :178.63.55.47:7820 <-2/75 Spielern


    PS:Wie gesagt gibt es nicht wirklich deutsche Server in diesem Bereich. Jedoch wenn du Englisch kannst empfehle ich dir Convoy Trucking (by mick88 ), American Trucking by Jakku (by Jakku) und TruckingWorld (by Ash)


    Convoy Trucking: play.convoytrucking.net:7777
    American Trucking by Jakku: 198.20.110.131:6872
    TruckingWorld: 178.238.236.52:1996

    2. ja leider aber ich weiss nicht wie mann das ändert der Server Convoytrucking hatt es ja auch geschaft das die objecte dauerhaft geladen sind und die haben über 3000 objecte die auch bewohnbar sind usw


    mick88 nutzt auch das streamer Plugin dazu und es läuft auf einem mittlerweile rechenstarken server. ^^


    Und alle Objekte werden auch auf Convoy Trucking nicht dauerhaft geladen, dies würde das Limit zu schnell sprengen.


    BTW es sind weit über 10k Objekte auf CT. :P

    Dir ist klar das er eh nen stock fürn Spielernamen hat? Ich habe nur seins einfach übernommen da reingehaun und es funzt zu 100%...

    Einfach nen stock erstellen and done ><


    stock PathToSave(playerid)
    {
    new Spielerdatei[64];
    format(Spielerdatei,64,"/Accounts/%s.ini",SpielerName(playerid));
    }


    Verwendung nun:


    PathToSave(playerid); //für den eigenen Spieler
    PathToSave(pID); //Für einen anderen Speieler


    Ihr seit doch sonst nicht so sparsam mit den stocks...

    Du kannst ja auch keine Spielerid in einem Callback versuchen zu bekommen wo es keine gibt. Starte deinen Timer doch einfach wenn jemand ein Fahrzeug betritt und kill diesen wenn er das Fahrzeug verlässt. (Spielerbezogenen Timer erstellen)


    Kleiner Tipp: OnPlayerStateChange ist ein nützlicher Callback dafür.

    Ändere einmal den string pID von MAX_PLAYER_NAME auf eine definierte Größe um z.B. 32.


    Da MAX_PLAYER_NAME nämlich niemals 32 ist, sondern 24+1 also 25 Zellen.


    Oder ändere s[32] auf s[24] um.


    @K3V1N die Stringgröße wird bei sscanf2 benötigt.

    Wie viele Sammelthreads noch? Und "Was soll ich mit X€ machen.." Existiert schon. Wir müssen nun auch nicht für jeden Mist einen Sammelthread machen oder?..


    Du hast ihn falsch verstanden. Er hat vorgeschlagen, dass für die Sammelthreads ein neues Board gemacht wird. Nicht einen neuen Topic für die Topics xD


    Anyway dagegen, hat weder Sinn noch Verstand. Da dann auch Sammelthreads wie "Kleine Scriptingfragen" darein gehören würden was falsch wäre.

    Alle Scriptfiles Ordner vorhanden? Dann bei Windows den Streamer auch so eingefügt:


    plugins streamer


    und bei Linux so:


    plugins streamer.so


    Desweiteren wird der Streamer geladen? Also steht er in der server_log als geladen?

    Nur einmal am Rande hier fehlen so oder so einige Präfixe.


    Like:


    [Movie]
    [Trucking]
    [Piloting]
    [Survival]
    [Race/Drift]
    etc.

    Kombilierte Version des streamer Includes passt nicht mit dem Plugin. Streamer Plugin erneut herunterladen und das Include sowie das Plugin ersetzen, dann das Script erneut compilen.

    Reihenfolge:



    RemoveBuildings dazu:


    1.RemoveBuildingForPlayer(playerid,2887,263.5376,1807.3190,33.8984,10);
    RemoveBuildingForPlayer(playerid,2888,263.5376,1807.3190,33.8984,10);
    RemoveBuildingForPlayer(playerid,2889,263.5376,1807.3190,33.8984,10);


    2.RemoveBuildingForPlayer(playerid,2887,268.4958,1894.7808,33.8984,10);
    RemoveBuildingForPlayer(playerid,2888,268.4958,1894.7808,33.8984,10);
    RemoveBuildingForPlayer(playerid,2889,268.4958,1894.7808,33.8984,10);


    3.RemoveBuildingForPlayer(playerid,2887,234.8610,1934.6929,33.8984,10);
    RemoveBuildingForPlayer(playerid,2888,234.8610,1934.6929,33.8984,10);
    RemoveBuildingForPlayer(playerid,2889,234.8610,1934.6929,33.8984,10);


    4.RemoveBuildingForPlayer(playerid,2887,163.3370,1932.8984,33.8984,10);
    RemoveBuildingForPlayer(playerid,2888,163.3370,1932.8984,33.8984,10);
    RemoveBuildingForPlayer(playerid,2889,163.3370,1932.8984,33.8984,10);


    5.RemoveBuildingForPlayer(playerid,2887,103.6508,1902.3335,33.8984,10);
    RemoveBuildingForPlayer(playerid,2888,103.6508,1902.3335,33.8984,10);
    RemoveBuildingForPlayer(playerid,2889,103.6508,1902.3335,33.8984,10);


    6.RemoveBuildingForPlayer(playerid,2887,112.7760,1812.7150,33.8984,10);
    RemoveBuildingForPlayer(playerid,2888,112.7760,1812.7150,33.8984,10);
    RemoveBuildingForPlayer(playerid,2889,112.7760,1812.7150,33.8984,10);


    7.RemoveBuildingForPlayer(playerid,2887,167.3777,1850.3060,33.8984,10);
    RemoveBuildingForPlayer(playerid,2888,167.3777,1850.3060,33.8984,10);
    RemoveBuildingForPlayer(playerid,2889,167.3777,1850.3060,33.8984,10);


    Objekt Ids dazu:


    2887:



    2888:



    2889:



    Diese 3 Objekt IDS brauchst du dann um sie neu zusetzen.

    Welchen Button möchtest du mit zurück belegen?


    Bei dem ersten Button ist es imemr if(response)und bei dem zweiten Button bzw, ESC ist es if(!response)hierbei lässt du bei dem jeweiligen Button einfach nur den vorhergehenden Dialog zeigen. D.h. So wie du in vor dem 2ten Dialog aufgerufen hast, rufst du ihn erneut auf.


    Wäre bei dir:ShowPlayerDialog(playerid,UPDATE,DIALOG_STYLE_LIST,"Aktuelle Updates,","Update 0.1\nUpdate 0.2","Auswählen","Abbrechen");

    @TE wie du Dinge speicherst und lädst weisst du wenn ja. So wird gpci genutzt (ein beispiel):


    OnPlayerConnect(playerid)
    {
    new serial[38]/*gpci gibt einen maximalen hash von 38 Zeichen aus)*/msg[128];
    gpci(playerid,serial,sizeof(serial));
    format(msg,sizeof(msg),"Dein aktueller Serial lautet: %s",serial);
    SendClientMessage(playerid,-1,msg);
    return 1;
    }


    Du speicherst auf gut deutsch den gpci Hash nur in eine Datei und suchst diese beim connecten eines Spielers ab. Sollte der Hash vorhanden sein kickst du den Spielern.

    Es scheinen immer noch einige das lesen verlernt zu haben, ich sowie $this->getUser(); haben die Funktion gpci erklärt besser gesagt aus was sie besteht. Sie ist NICHT effektiv. Einen HDD Ban gibt es nicht. Wie soll man eine Harddisk Drive den auch bannen ><


    Ich habe weiteroben eine relativ effektive Möglichkeit genannt, hierbei SOLLTET ihr aber mit eurem Hoster davor reden!