Beiträge von Silvio.Castro

    Wie im Thema...
    Das "Tank" Textdraw (Textdraw8) wird icht angezeigt...
    Und kann vlt. jmd es so machen das der tank gespeichert wird...
    Aber hier ersmal alle funktionen wo das textdraw vorkommt.


    Ganz Oben:

    new PlayerText:Textdraw8[MAX_PLAYERS]; //tank
    new tank[2000];


    BeiOnGameModeInit:



    for(new playerid=0; playerid < MAX_PLAYERS; playerid++)
    {
    Textdraw8[playerid] = CreatePlayerTextDraw(playerid, 140.000000, 390.000000, "Tank: 100 %");
    PlayerTextDrawBackgroundColor(playerid ,Textdraw8 [playerid], 255);
    PlayerTextDrawFont(playerid ,Textdraw8 [playerid], 3);
    PlayerTextDrawLetterSize(playerid ,Textdraw8 [playerid], 0.320000, 0.899999);
    PlayerTextDrawColor(playerid ,Textdraw8 [playerid], -1);
    PlayerTextDrawSetOutline(playerid ,Textdraw8 [playerid], 0);
    PlayerTextDrawSetProportional(playerid ,Textdraw8 [playerid], 1);
    PlayerTextDrawSetShadow(playerid ,Textdraw8 [playerid], 1);
    PlayerTextDrawSetSelectable(playerid ,Textdraw8 [playerid], 0);
    }


    Das public:
    new tanktimer = 0;
    public sekunde()
    {
    new string[128];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    new vID = GetPlayerVehicleID(i);
    format(string, sizeof(string), "Tank: %i%%", tank[vID]);
    PlayerTextDrawSetString(i, Textdraw8[i], string);
    }


    tanktimer++;
    if(tanktimer == 1)
    {
    tanktimer = 0;
    //Tanks reduzieren
    for(new i=1; i<sizeof(tank); i++)
    {
    if(!hatAutoMotor(i))continue;
    if(!isMotorOn(i))continue;
    tank[i]--;
    if(tank[i]>0)continue;
    stopMotor(i);
    }
    }
    }


    Beim OnplayerStateChange (oder wie das auch genau heisst xD)
    if(oldstate==PLAYER_STATE_DRIVER)
    {
    PlayerTextDrawHide(playerid, Textdraw8[playerid]);
    }


    Auch das ist drin:
    if(newstate == PLAYER_STATE_DRIVER)
    {
    PlayerTextDrawShow(playerid, Textdraw8[playerid]);
    return 1;
    }


    Hoffe jmd kann das problem beheben :/ Wie gesagt es wird nicht angezeigt....
    Und wenns geht vlt. eine funktion wie der tank auch gespeichert wird, weil jz ist das so das immer wenn der server restartet jeder tank wieder voll ist

    for(new playerid=0; playerid < MAX_PLAYERS; playerid++)
    {
    PlayerTextdraw8[playerid] = TextDrawCreate(140.000000, 390.000000, "Tank: 100 %"); //Zeile 888
    PlayerTextDrawBackgroundColor(Textdraw8 [playerid], 255);
    PlayerTextDrawFont(Textdraw8 [playerid], 3);
    PlayerTextDrawLetterSize(Textdraw8 [playerid], 0.320000, 0.899999);
    PlayerTextDrawColor(Textdraw8 [playerid], -1);
    PlayerTextDrawSetOutline(Textdraw8 [playerid], 0);
    PlayerTextDrawSetProportional(Textdraw8 [playerid], 1);
    PlayerTextDrawSetShadow(Textdraw8 [playerid], 1);
    PlayerTextDrawSetSelectable(Textdraw8 [playerid], 0);
    }


    warning:
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(888) : error 017: undefined symbol "PlayerTextdraw8"
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(888) : warning 215: expression has no effect
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(888) : error 001: expected token: ";", but found "]"
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(888) : error 029: invalid expression, assumed zero
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(888) : fatal error 107: too many error messages on one line

    Das ist der code
    public sekunde()
    {
    new string[128];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    new vID = GetPlayerVehicleID(i);
    format(string, sizeof(string), "Tank: %i%%", tank[vID]);
    PlayerTextDrawSetString(i, Textdraw8[i], string); //Zeile 1078
    }


    tanktimer++;
    if(tanktimer == 1)
    {
    tanktimer = 0;
    //Tanks reduzieren
    for(new i=1; i<sizeof(tank); i++)
    {
    if(!hatAutoMotor(i))continue;
    if(!isMotorOn(i))continue;
    tank[i]--;
    if(tank[i]>0)continue;
    stopMotor(i);
    }
    }
    }


    Das der Warning:
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(1078) : warning 213: tag mismatch

    Jz sind es folgende Errors:


    if(newstate == PLAYER_STATE_DRIVER)
    {
    //tacho textdraw
    TextDrawShowForPlayer(playerid, Textdraw6);
    TextDrawShowForPlayer(playerid, Textdraw7); //Linie 2951
    TextDrawShowForPlayer(playerid, Textdraw8);
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new vehicleid = GetPlayerVehicleID(playerid), Float:h, string[1500], Float:speed; //Linie 3135
    GetVehicleSpeed(vehicleid, speed);
    format(string, 32, "Geschw.: %f Km/h", speed/SPEED_KOEFF);
    if(speed/SPEED_KOEFF<100) strdel(string, 10, 17);
    else strdel(string, 11, 18);
    TextDrawSetString(Textdraw7[playerid], string);
    }
    return 1;
    }


    errors:
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(2951) : error 035: argument type mismatch (argument 2)
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(3135) : warning 203: symbol is never used: "h"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Büttii<3:


    Ok aber jz bekomm ich error meesages:


    for(new playerid=0; playerid < MAX_PLAYERS; playerid++)
    {
    Textdraw7 [playerid] = TextDrawCreate(545.000000, 398.000000, "Geschw.: --- Km/h"); //Das ist die linie 888
    TextDrawBackgroundColor(Textdraw7 [playerid], 255);
    TextDrawFont(Textdraw7 [playerid], 3);
    TextDrawLetterSize(Textdraw7 [playerid], 0.230000, 1.000000);
    TextDrawColor(Textdraw7 [playerid], -1);
    TextDrawSetOutline(Textdraw7 [playerid], 0);
    TextDrawSetProportional(Textdraw7 [playerid], 1);
    TextDrawSetShadow(Textdraw7 [playerid], 1);
    TextDrawSetSelectable(Textdraw7 [playerid], 0);
    }


    Die Errors:
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(888) : error 028: invalid subscript (not an array or too many subscripts): "Textdraw7"
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(888) : warning 215: expression has no effect
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(888) : error 001: expected token: ";", but found "]"
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(888) : error 029: invalid expression, assumed zero
    C:\Users\Spiele\Desktop\Server Ordner\Server Projekt\gamemodes\ServerProjekt.pwn(888) : fatal error 107: too many error messages on one line

    Laos hier ist die funktion:
    stock getPlayerSpeed(playerid)
    {
    new Float:x, Float:y, Float:z,
    if(IsPlayerInAnyVehicle(playerid))
    {
    GetVehicleVelocity(GetPlayerVehicleId(playerid), x, y ,z);
    }
    else
    {
    GetPlayerVelocity(palyerid, x, y, z);
    }
    //rtn = wurzel(x*x + y*y+ z*z);
    rtn = floatsqroot(x*x + y*y+ z*z);
    return floatround(rtn * 100 * 1.61);
    }


    Und das ist das tacho:
    Textdraw7 = TextDrawCreate(140.000000, 373.000000, "Geschwindigkeit: 100km/h");
    TextDrawBackgroundColor(Textdraw7, 255);
    TextDrawFont(Textdraw7, 3);
    TextDrawLetterSize(Textdraw7, 0.230000, 1.000000);
    TextDrawColor(Textdraw7, -1);
    TextDrawSetOutline(Textdraw7, 0);
    TextDrawSetProportional(Textdraw7, 1);
    TextDrawSetShadow(Textdraw7, 1);
    TextDrawSetSelectable(Textdraw7, 0);


    Das ist das 1.
    Und 2.
    Wie mache ich es das wenn ich aus dem fahrzeug raus bin das tacho auch wieder weg ist?

    ok hat geklappt, aber wie mache ich es das ich die "100" beim km/h durch den richtigen wert ersetze?
    hab da auch ne funktion
    stock getPlayerSpeed(playerid)
    {
    new Float:x, Float:y, Float:z,
    if(IsPlayerInAnyVehicle(playerid))
    {
    GetVehicleVelocity(GetPlayerVehicleId(playerid), x, y ,z);
    }
    else
    {
    GetPlayerVelocity(palyerid, x, y, z);
    }
    //rtn = wurzel(x*x + y*y+ z*z);
    rtn = floatsqroot(x*x + y*y+ z*z);
    return floatround(rtn * 100 * 1.61);
    }


    Ernsthaft? Langweilig und Leer... Ich war nach 5 Stunden Arbeit. Erschöpft und hatte Wirklich keine Lust mehr ein Interior zu Bauen.
    Und sowieso wollt ich es Später noch Mehr einfügen und es Texturieren...


    Ganz ruhig du wolltest doch kritik.
    Und das ist meine Kritik.
    Mir gefällt es halt generell nicht

    Hei leute
    Ich habe ein /tor befehl mit einem boolean.
    Weil ich irgendwie überhauptnicht mit timer zurecht komme :/
    Kann mir das clt. jmd Mitm timer umschreiben wo sich das tor nach 5 sek wieder schliesst?


    Der befehl:
    ocmd:tor(playerid, params[])
    {
    if(sInfo[playerid][fraktion] == 2)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 3)
    {
    //öffnen
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 5) //Ordnungsamt
    {
    static bool:isOpen;
    if(!IsPlayerInRangeOfPoint(playerid,20,2260.46436, 2033.29016, 10.83170))return SendClientMessage(playerid,COLOR_YELLOW, "Du bist nicht an dem Tor deiner Base");
    if(!isOpen)
    {
    isOpen = true;
    MoveObject(OAmtTor, 2260.46436, 2033.29016, 10.83170+0.001, 0.5, 0.00000, 0.00000, 0.00000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geöffnet");
    }
    else
    {
    isOpen = false;
    MoveObject(OAmtTor, 2260.46436, 2033.29016, 10.83170-0.001, 0.5, 0.00000, -90.00000, 0.00000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geschlossen");
    }
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 7) //Hitman
    {
    static bool:isOpen;
    if(!IsPlayerInRangeOfPoint(playerid,20,2347.23779, 2723.17090, 11.41084))return SendClientMessage(playerid,COLOR_YELLOW, "Du bist nicht an dem Tor deiner Base");
    if(!isOpen)
    {
    isOpen = true;
    MoveObject(HitmanTor, 2347.23779, 2723.17090, -5, 1.5, 0.00000, 0.00000, -1.80000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geöffnet");
    }
    else
    {
    isOpen = false;
    MoveObject(HitmanTor, 2347.23779, 2723.17090, 11.41084, 1.5, 0.00000, 0.00000, -1.80000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geschlossen");
    }
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 8)
    {
    static bool:isOpen;
    if(!IsPlayerInRangeOfPoint(playerid,20,2532.62476, 1822.09314, 12.57020))return SendClientMessage(playerid,COLOR_YELLOW, "Du bist nicht an dem Tor deiner Base");
    if(!isOpen)
    {
    isOpen = true;
    MoveObject(YakuzaTor, 2532.62476, 1822.09314, 6.57020, 1.5, 0.00000, 0.00000, 90.00000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geöffnet");
    }
    else
    {
    isOpen = false;
    MoveObject(YakuzaTor, 2532.62476, 1822.09314, 12.57020, 1.5, 0.00000, 0.00000, 90.00000);
    SendClientMessage(playerid,COLOR_GREEN, "Tor geschlossen");
    }
    return 1;
    }
    else if(sInfo[playerid][fraktion] == 10)
    {
    //öffnen
    return 1;
    }
    return 1;
    }