Beiträge von Douq

    GetVehicleHealth gibt keinen Wert zurück, er setzt lediglich in den zweiten Parameter den HP-Wert des Fahrzeuges als float (Dezi / Kommazahl).

    //ZUSTAND
    new Float:hp, VHealth[64];
    GetVehicleHealth(GetPlayerVehicleID(i),hp);
    format(VHealth,sizeof(VHealth),"Zustand: %d%",hp);
    TextDrawSetString(Zustand[i],VHealth);

    Im Normalfall solltest du das Script garnicht compilen können, da folgendes PAWNO eigentlich stören sollte:
    dini_IntSet(Pfad,"Skin",GetPlayerSkin(playerid);); -> ); );

    Auch wenn mir persönlich nicht mehr viel am Projekt lieg, muss ich sagen, dass die Werbung in meinen Augen echt gelungen ist.


    @Fipsi:
    Scheinbar schaffst du es nicht mal die Credits zu lesen, denn dann wüsstest du, dass dadrunter die Projekt-Sunset Scripter stehen. Und warum sollte man etwas ändern, wenn es so wie es ist gut ist? Wäre in meinen Augen ziemlich sinnlos.


    if (!strcmp("/veh", cmdtext, true))
    {
    if(!strlen(strget(cmdtext,3))) return SendClientMessage(playerid, ROT,"Benutze /veh [VEHICLE] [COLOR1] [COLOR2]");
    new col1, col2, car;
    new modelid = GetPlayerVehicleID(playerid);
    new Float:X, Float:Y, Float:Z, Float:A;


    GetPlayerPos(playerid, X, Y, X);
    GetPlayerFacingAngle(playerid,A);


    modelid = strval(strget(cmdtext,1));
    col1 = strval(strget(cmdtext,2));
    col2 = strval(strget(cmdtext,3));


    car = AddStaticVehicle(modelid,X, Y, Z, col1, col2,-1);


    PutPlayerInVehicle(playerid,car,0);
    return 1;
    }



    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }


    stock SetPlayerUnDeath()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][Tot] == 1)
    {
    SpielerInfo[i][TotZeit]--;
    }
    if(SpielerInfo[i][TotZeit] == 0)
    {
    SpielerInfo[i][TotZeit] = -1;
    SpielerInfo[i][Tot] = 0;
    SendClientMessage(i,weiß,"ENTLASSEN");
    }
    }
    }
    return 1;
    }


    enum _Fahrzeuge
    {
    ID,
    Fahrzeugname[50],
    MaxTank
    };


    new Fahrzeuge[][_Fahrzeuge] =
    {
    {560,"Sultan", 200},
    {488,"NewsHeli", 300}
    };




    //Beispiel:
    printf("Sultan kann max. %d Liter tanken.",Fahrzeuge[0][MaxTank]);


    // Um nun z.B. den maximalen Tank eines Fahrzeuges zu erhalten.
    stock GetVehicleMaxTank(vehicleid)
    {
    for(new i = 0; i < sizeof(Fahrzeuge); i++)
    {
    if(Fahrzeuge[i][ID] == GetVehicleModel(vehicleid))
    {
    return Fahrzeuge[i][MaxTank];
    }
    }
    }


    // Beispiel:
    printf("Fahrzeug von playerid %d hat ein Tankvermögen von %d.",playerid, GetVehicleMaxTank(GetPlayerVehicleID(playerid)));

    €: GetVehicleMaxTank + Beispiel hinzugefügt.

    Die Koordinarten können richtig sein, aber es würde nie das gewünschte Feld detecten, da die Koordinarten in einer falschen Reihenfolge stehen. MinX kann nicht größer sein als MaxX - MaxX kann nicht kleiner sein als MinX. Beim ersten wäre es dementsprechend 1170.4673,-1305.7911, 1189.6478 , -1345.3881


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(killerid != INVALID_PLAYER_ID) SpielerInfo[killerid][pKills]=SpielerInfo[killerid][pKills]+1;
    SpielerInfo[playerid][pTode]=SpielerInfo[playerid][pTode]+1;
    Tot[playerid]=true;
    SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);
    SendClientMessage(playerid,COLOR_ROT,"Krankenhaus: Du wurdest ins Krankenhaus gebracht, da du stark verletzt wurdest.");
    SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105);
    SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119);
    SetPlayerInterior(playerid, 0);
    SetTimerEx("KrankenhausTimer",60000,0,"i",playerid);
    return 1;
    }

    Auch wenn ich das normalerweiße nicht tuhe, muss ich einmal diesen Server bewerten:


    Forum:
    Das Forum überzeugt mit dem schlichten Design und den dazu passenden Plugins. Im Normalfall halte ich mich kaum im Forum eines Reallifeservers auf, aber dort macht es richtig Spaß, da es etwas einzigartiges ist was mich jedesmal wieder fasziniert.


    Script:
    Das Script ansich ist spielbar ohne das man sich jede 5 Minuten fragen muss "Was ist das denn für ein Dreck?". Zwar hat das Script noch ein paar Fehler die ich wahrscheinlich in naher Zukunft im Forum posten werde, aber dennoch stört das nicht wirklich den Spielspaß. Im großen und ganzen kann ich behaupten, dass dieses Projekt, sofern man nur das Forum und das Script anguckt hohen potenzial hat,aber ..


    Community:
    Ich spiele nun schon seit fast über 2 Jahren SA:MP und war schon auf vielen Servern, selbst auf 0815 Servern, aber solch eine schlechte Community habe ich in meinem ganzen SA:MP dasein noch NIE gesehen. Ich habe den Server fast 3 Stunden getestet und wurde 4x auf dem Bürgersteig von einer NRG angefahren, war Zeuge von 2x SDM Attentaten und war selber 2x in einer verwickelt, wo einer davon sogar ein Supporter war - hallo? Ich wäre natürlich sofort ins Forum gegangen, nur ist das Problem dabei einen Screenshot zu machen wie der jeweilige ein Anfährt oder auf sein Wagen schießt - ich persönlich bin es nämlich nicht gewohnt jede Sekunde bereit zu sein, um ein Screenshot machen zu können, sprich Finger auf der F8 Taste. Für Atrox tut mir das wirklich leid, denn er hat da wirklich gute Arbeit geleistet, die von irgendwelchen dämlichen Kindern kaputt gemacht wird - schade drum.

    Fazit:

    Die Arbeit von Atrox im Forum sowie am Script ist wirklich gut, aber durch die Community macht es kaum Spaß / Sinn dort zu spielen. Bewertung: 18 / 30 Punkten, obwohl ich für die Community sogar noch Minus Punkte vergeben sollte.