Mein Tacho klappt nicht :/ | Anzeige fehler

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Moin leute, iwi geht mein tacho nicht.


    Tacho:


    new Text:Tacho1[MAX_PLAYERS];
    new Text:Tacho2[MAX_PLAYERS];
    new Text:Tacho3[MAX_PLAYERS];
    new Text:Tacho4[MAX_PLAYERS];
    new Text:Tacho5[MAX_PLAYERS];


    //UpdateTacho
    new SpielerTacho[MAX_PLAYERS];
    forward UpdateTacho(playerid);
    #define UPDATE_T_TIME 1000


    //Fahrzeugnamen
    new VehicleNames[212][] =
    {
    "400 - Landstalker", "401 - Bravura", "402 - Buffalo", "403 - Linerunner", "404 - Pereniel", "405 - Sentinel", "406 - Dumper", "407 - Firetruck", "408 - Trashmaster", "409 - Limosine",
    "410 - Manana", "411 - Infernus", "412 - Voodoo", "413 - Pony", "414 - Mule", "415 - Cheetah", "416 - Ambulance", "417 - Leviathan", "418 - Moonbeam", "419 - Esperanto", "420 - Taxi",
    "421 - Washington", "422 - Bobcat", "423 - Mr Whoopee", "424 - BF Injection", "425 - Hunter", "426 - Premier", "427 - Enforcer", "428 - Securicar", "429 - Banshee", "430 - Predator",
    "431 - Bus", "432 - Rhino", "433 - Barracks", "434 - Hotknife", "435 - Trailer", "436 - Previon", "437 - Coach", "438 - Cabbie", "439 - Stallion", "440 - Rumpo", "441 - RC Bandit", "442 - Romero",
    "443 - Packer", "444 - Monster", "445- Admiral", "446 - Squalo", "447 - Seasparrow", "448 - Pizzaboy", "449 - Tram", "450 - Trailer", "451 - Turismo", "452 - Speeder", "453 - Reefer", "454 - Tropic", "455 - Flatbed",
    "456 - Yankee", "457 - Caddy", "458 - Solair", "459 - Berkley's RC Van", "460 - Skimmer", "461 - PCJ-600", "462 - Faggio", "463 - Freeway", "464 - RC Baron", "465 - RC Raider",
    "466 - Glendale", "467 - Oceanic", "468 - Sanchez", "469 - Sparrow", "470 - Patriot", "471 - Quad", "472 - Coastguard", "473 - Dinghy", "474 - Hermes", "475 - Sabre", "476 - Rustler",
    "477 - ZR350", "478 - Walton", "479 - Regina", "480 - Comet", "481 - BMX", "482 - Burrito", "483 - Camper", "484 - Marquis", "485 - Baggage", "486 - Dozer", "487 - Maverick", "488 - News Chopper",
    "489 - Rancher", "490 - FBI Rancher", "491 - Virgo", "492 - Greenwood", "493 - Jetmax", "494 - Hotring", "495 - Sandking", "496 - Blista Compact", "497 - Police Maverick",
    "498 - Boxville", "499 - Benson", "500 - Mesa", "501 - RC Goblin", "502 - Hotring Racer", "503 - Hotring Racer", "504 - Bloodring Banger", "505 - Rancher", "506 - Super GT",
    "507 - Elegant", "508 - Journey", "509 - Bike", "510 - Mountain Bike", "511 - Beagle", "512 - Cropdust", "513 - Stunt", "514 - Tanker", "515 - RoadTrain", "516 - Nebula", "517 - Majestic",
    "518 - Buccaneer", "519 - Shamal", "520 - Hydra", "521 - FCR-900", "522 - NRG-500", "523 - HPV1000", "524 - Cement Truck", "525 - Tow Truck", "526 - Fortune", "527 - Cadrona", "528 - FBI Truck",
    "529 - Willard", "530 - Forklift", "531 - Tractor", "532 - Combine", "533 - Feltzer", "534 - Remington", "535 - Slamvan", "536 - Blade", "537 - Freight", "538 - Streak", "539 - Vortex", "540 - Vincent",
    "541 - Bullet", "542 - Clover", "543 - Sadler", "544 - Firetruck", "545 - Hustler", "546 - Intruder", "547 - Primo", "548 - Cargobob", "549 - Tampa", "550 - Sunrise", "551 - Merit", "552 - Utility",
    "553 - Nevada", "554 - Yosemite", "555 - Windsor", "556 - Monster", "557 - Monster", "558 - Uranus", "559 - Jester", "560 - Sultan", "561 - Stratum", "562 - Elegy", "563 - Raindance", "564 - RC Tiger",
    "565 - Flash", "566 - Tahoma", "567 - Savanna", "568 - Bandito", "569 - Freight", "570 - Trailer", "571 - Kart", "572 - Mower", "573 - Duneride", "574 - Sweeper", "575 - Broadway",
    "576 - Tornado", "577 - AT-400", "578 - DFT-30", "579 - Huntley", "580 - Stafford", "581 - BF-400", "582 - Newsvan", "583 - Tug", "584 - Trailer", "585 - Emperor", "586 - Wayfarer",
    "587 - Euros", "588 - Hotdog", "589 - Club", "590 - Trailer", "591 - Trailer", "592 - Andromada", "593 - Dodo", "594 - RC Cam", "595 - Launch", "596 - Police Car (LSPD)", "597 - Police Car (SFPD)",
    "598 - Police Car (LVPD)", "599 - Police Ranger", "600 - Picador", "601 - S.W.A.T. Van", "602 - Alpha", "603 - Phoenix", "604 - Glendale", "605 - Sadler", "606 - Luggage Trailer A",
    "607 - Luggage Trailer B", "608 - Stair Trailer", "609 - Boxville", "610 - Farm Plow", "611 - Utility Trailer"
    };


    //Textdraws(MAX_PLAYERS)
    for(new i = 0;i<MAX_PLAYERS; i++)
    {
    new playerid = i;
    Tacho1[playerid] = TextDrawCreate(622.666687, 347.040740, "usebox");
    TextDrawLetterSize(Tacho1[playerid], 0.000000, 8.100207);
    TextDrawTextSize(Tacho1[playerid], 463.333312, 0.000000);
    TextDrawAlignment(Tacho1[playerid], 1);
    TextDrawColor(Tacho1[playerid], 0);
    TextDrawUseBox(Tacho1[playerid], true);
    TextDrawBoxColor(Tacho1[playerid], 102);
    TextDrawSetShadow(Tacho1[playerid], 0);
    TextDrawSetOutline(Tacho1[playerid], 0);
    TextDrawFont(Tacho1[playerid], 0);


    Tacho2[playerid] = TextDrawCreate(473.000000, 354.251831, "LD_SPAC:white");
    TextDrawLetterSize(Tacho2[playerid], 0.000000, 0.000000);
    TextDrawTextSize(Tacho2[playerid], 142.666625, 57.244476);
    TextDrawAlignment(Tacho2[playerid], 1);
    TextDrawColor(Tacho2[playerid], 65535);
    TextDrawSetShadow(Tacho2[playerid], 0);
    TextDrawSetOutline(Tacho2[playerid], 0);
    TextDrawFont(Tacho2[playerid], 4);


    Tacho3[playerid] = TextDrawCreate(475.666534, 352.177795, "Typ:");
    TextDrawLetterSize(Tacho3[playerid], 0.449999, 1.600000);
    TextDrawAlignment(Tacho3[playerid], 1);
    TextDrawColor(Tacho3[playerid], -1);
    TextDrawSetShadow(Tacho3[playerid], 0);
    TextDrawSetOutline(Tacho3[playerid], 1);
    TextDrawBackgroundColor(Tacho3[playerid], 51);
    TextDrawFont(Tacho3[playerid], 1);
    TextDrawSetProportional(Tacho3[playerid], 1);


    Tacho4[playerid] = TextDrawCreate(475.333160, 365.866699, "KM/H:");
    TextDrawLetterSize(Tacho4[playerid], 0.324999, 1.517037);
    TextDrawAlignment(Tacho4[playerid], 1);
    TextDrawColor(Tacho4[playerid], -1);
    TextDrawSetShadow(Tacho4[playerid], 0);
    TextDrawSetOutline(Tacho4[playerid], 1);
    TextDrawBackgroundColor(Tacho4[playerid], 51);
    TextDrawFont(Tacho4[playerid], 1);
    TextDrawSetProportional(Tacho4[playerid], 1);


    Tacho5[playerid] = TextDrawCreate(474.333282, 375.407409, "Zustand:");
    TextDrawLetterSize(Tacho5[playerid], 0.449999, 1.600000);
    TextDrawAlignment(Tacho5[playerid], 1);
    TextDrawColor(Tacho5[playerid], -1);
    TextDrawSetShadow(Tacho5[playerid], 0);
    TextDrawSetOutline(Tacho5[playerid], 1);
    TextDrawBackgroundColor(Tacho5[playerid], 51);
    TextDrawFont(Tacho5[playerid], 1);
    TextDrawSetProportional(Tacho5[playerid], 1);


    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
    {
    TextDrawHideForPlayer(playerid,Tacho1[playerid]);
    TextDrawHideForPlayer(playerid,Tacho2[playerid]);
    TextDrawHideForPlayer(playerid,Tacho3[playerid]);
    TextDrawHideForPlayer(playerid,Tacho4[playerid]);
    TextDrawHideForPlayer(playerid,Tacho5[playerid]);
    KillTimer(SpielerTacho[playerid]);
    return 1;
    }
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
    TextDrawShowForPlayer(playerid,Tacho1[playerid]);
    TextDrawShowForPlayer(playerid,Tacho2[playerid]);
    TextDrawShowForPlayer(playerid,Tacho3[playerid]);
    TextDrawShowForPlayer(playerid,Tacho4[playerid]);
    TextDrawShowForPlayer(playerid,Tacho5[playerid]);
    SpielerTacho[playerid] = SetTimerEx("UpdateTacho",UPDATE_T_TIME,true,"i",playerid);
    return 1;
    }
    return 1;
    }


    //GetVehcicleSpeed
    stock Float:GetVehicleSpeed(vehicleid,UseMPH = 0)
    {
    new Float:speed_x,Float:speed_y,Float:speed_z,Float:temp_speed;
    GetVehicleVelocity(vehicleid,speed_x,speed_y,speed_z);
    if(UseMPH == 0)
    {
    temp_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*136.666667;
    } else {
    temp_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*85.4166672;
    }
    floatround(temp_speed,floatround_round);return temp_speed;
    }


    public UpdateTacho(playerid)
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(GetPlayerState(i) == PLAYER_STATE_DRIVER && !IsPlayerNPC(i))
    {
    new speed = floatround(GetVehicleSpeed(GetPlayerVehicleID(playerid),0));
    new string[128];
    format(string, 128, "KM/H: %0.f",speed);
    TextDrawSetString(Tacho4[playerid],string);
    format(string, 128, "%s",VehicleNames[GetPlayerVehicleID(i)-400]);
    TextDrawSetString(Tacho3[playerid],string);
    new Float:VHealth = GetVehicleHealth(GetPlayerVehicleID(i),VHealth);
    format(string, 128,"Zustand: %0.f",VHealth);
    TextDrawSetString(Tacho5[playerid],string);
    }
    }
    return 1;
    }


    Kann mir einer helfen?


  • Meinst du das Typ & Zustand nicht angezeigt wird?


    :pinch:



    1.) 500x5 Textdraws = 2500 Textdraws, da Limit liegt bei 2000. Am besten du erstellst die Textdraws bei OnPlayerConnect und löschst sie wieder bei OnPlayerDisconnect, bzw. setzt MAX_PLAYERS auf 50. Zudem brauchst du die zwei Hintergründe, die bei jedem gleich sind, nicht als [playerid] Textdraw machen, so sparst du schonmal (2xMAX_PLAYERS)-2 Textdraws.


    2.)
    public UpdateTacho(playerid)
    {
    new string[128];
    format(string, 128, "KM/H: %d", floatround(GetVehicleSpeed(GetPlayerVehicleID(playerid),0)));
    TextDrawSetString(Tacho4[playerid],string);
    format(string, 128, "%s",VehicleNames[GetPlayerVehicleID(playerid)-400]);
    TextDrawSetString(Tacho3[playerid],string);
    new Float:VHealth;
    GetVehicleHealth(GetPlayerVehicleID(playerid),VHealth);
    format(string, 128,"Zustand: %d",floatround(VHealth));
    TextDrawSetString(Tacho5[playerid],string);
    return 1;
    }
    Die Schleife hat da nichts zu suchen gehabt.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()



  • geht trotzdem nicxht hast du vll tv?

  • Ach ja, verdammt:
    format(string, 128, "%s",VehicleNames[GetPlayerVehicleID(playerid)-400]);
    zu:


    format(string, 128, "%s",VehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);



    Du hast ja aber auch extrem viele Fehler da rein gehauen. :P
    Jetzt sollte es gehen.



  • Jup, danke dir

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • So lernt er es aber auch. Egal wie viele Fehler, so lernt er es. :)