OnVehicleDeath

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
  • Sers Community,
    ich möchte das wenn mein Car 251 HP hat das mein Tacho dann weggeht.
    Nur bekomme Errors.

    public OnVehicleDeath(vehicleid, killerid)
    {
    if(GetVehicleHealth(vehicleid < 251)
    {
    TextDrawHideForPlayer(playerid, speedo1[playerid]);
    TextDrawHideForPlayer(playerid, speedo2[playerid]);
    TextDrawHideForPlayer(playerid, speedo3[playerid]);
    TextDrawHideForPlayer(playerid, speedo4[playerid]);
    return 1;
    }
    return 1;
    }


    ______________


    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(2374) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(2375) : error 001: expected token: ")", but found "{"
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(2376) : error 017: undefined symbol "playerid"
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(2376) : error 017: undefined symbol "playerid"
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(2376) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(2376) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.

    :) SWAGETTI & YOLONAISE!

  • Wieso machst Du das unter OnVehicleDeath? 8|


    Das Callback wird erst abgerufen wenn das Fahrzeug zerstört...
    Mach lieber ne Abfrage in einen globalen Timer....


    Einer Deiner Errors bezieht sich auf Deine Health Abfrage.


    if(GetVehicleHealth(vehicleid < 251)


    Muss so aussehen:

    if(GetVehicleHealth(vehicleid) < 251)


    Die anderen Errors sind deswegen, weil OnVehicleDeath kein playerid Parameter hat.

  • Ja, aber nicht unter OnVehicleDeath.


    Ich weis grad nicht obs klappt aber versuchs mal mit OnVehicleDamageStatusUpdate...



    public OnVehicleDamageStatusUpdate(vehicleid, playerid)
    {
    if(GetVehicleHealth(GetPlayerVehicleID(playerid)) < 251)
    {
    TextDrawHideForPlayer(playerid, speedo1[playerid]);
    TextDrawHideForPlayer(playerid, speedo2[playerid]);
    TextDrawHideForPlayer(playerid, speedo3[playerid]);
    TextDrawHideForPlayer(playerid, speedo4[playerid]);
    }
    return 1;
    }


    Ich weis nicht genau obs so klappen könnte..
    Kannst es ja mal testen.


    Greetz
    #else


    #e PWN-Klammern


  • C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(2379) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(2381) : error 017: undefined symbol "speedo1"
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(2381) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(2381) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(2381) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\gamemodes\Deathmatch.pwn(2381) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    :/

    :) SWAGETTI & YOLONAISE!

  • Ist in meinem Filterscript, hab den Code jetzt in Filterscript eingefügt bekomem jetzt nur noch 1 Warning.

    C:\Dokumente und Einstellungen\Sevket\Desktop\German Deathmatch\filterscripts\kSpeedo.pwn(219) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.


    Zeile 2019: if(GetVehicleHealth(GetPlayerVehicleID(playerid)) < 251)

    :) SWAGETTI & YOLONAISE!

  • Erstens wenn du eh schon ein Speedometer hast kannst du dies in deinem für den Speedometer vorgesehenen Timer abfragen, zweitens ist der Syntax zum Abfragen des Fahrzeuglebens:


    vehicleid,health


    Dementsprechen musst du das Leben des Fahrzeuges bekommen.


    new Float:health;
    GetVehicleHealth(GetPlayerVehicleID(playerid,health);
    if(health<251)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • public OnVehicleDamageStatusUpdate(vehicleid, playerid)
    {
    new Float:vHP,health;
    helath = GetVehicleHealth(GetPlayerVehicleID(playerid),vHP);
    if(health < 251){
    TextDrawHideForPlayer(playerid, speedo1[playerid]);
    TextDrawHideForPlayer(playerid, speedo2[playerid]);
    TextDrawHideForPlayer(playerid, speedo3[playerid]);
    TextDrawHideForPlayer(playerid, speedo4[playerid]);
    }
    return 1;
    }

  • Huch, sorry, kleiner Denkfehler :D



    public OnVehicleDamageStatusUpdate(vehicleid, playerid)
    {
    new Float:vHP;
    GetVehicleHealth(GetPlayerVehicleID(playerid),vHP);
    if(vHP < 251){
    TextDrawHideForPlayer(playerid, speedo1[playerid]);
    TextDrawHideForPlayer(playerid, speedo2[playerid]);
    TextDrawHideForPlayer(playerid, speedo3[playerid]);
    TextDrawHideForPlayer(playerid, speedo4[playerid]);
    }
    return 1;
    }


  • new Float:vh;
    GetVehicleHealth(vid, vh);
    new h = floatround(vh) / 10;
    format(str, sizeof(str), "Schaden: ~g~%d\%", h);
    speedo2[playerid] = TextDrawCreate(480.0, 400.0, " ");
    TextDrawSetString(speedo2[playerid], str);
    TextDrawSetShadow(speedo2[playerid], false);
    TextDrawSetOutline(speedo2[playerid], 1);
    TextDrawLetterSize(speedo2[playerid], TEXT_DRAW_X_FACTOR, TEXT_DRAW_Y_FACTOR);
    TextDrawSetProportional(speedo2[playerid], 1);
    TextDrawFont(speedo2[playerid], TEXT_DRAW_FONT);
    TextDrawShowForPlayer(playerid, speedo2[playerid]);



    new Float:vh, Float:s;
    new vid = GetPlayerVehicleID(playerid);
    new h, string[80];
    GetVehicleHealth(vid, vh);
    h = floatround(vh) / 10;
    format(string, sizeof(string), "Schaden: ~%s~%d\%", DamageColor(h), h); //55 -> Orange, 30 -> Red
    TextDrawSetString(speedo2[playerid], string);

    :) SWAGETTI & YOLONAISE!

    2 Mal editiert, zuletzt von John_Sanclear ()

  • new Float:vh;
    GetVehicleHealth(vid, vh);
    new h = floatround(vh);
    format(str, sizeof(str), "Schaden: ~g~%d\%", h);
    speedo2[playerid] = TextDrawCreate(480.0, 400.0, " ");
    TextDrawSetString(speedo2[playerid], str);
    TextDrawSetShadow(speedo2[playerid], false);
    TextDrawSetOutline(speedo2[playerid], 1);
    TextDrawLetterSize(speedo2[playerid], TEXT_DRAW_X_FACTOR, TEXT_DRAW_Y_FACTOR);
    TextDrawSetProportional(speedo2[playerid], 1);
    TextDrawFont(speedo2[playerid], TEXT_DRAW_FONT);
    TextDrawShowForPlayer(playerid, speedo2[playerid]);



    new Float:vh, Float:s;
    new vid = GetPlayerVehicleID(playerid);
    new h, string[80];
    GetVehicleHealth(vid, vh);
    h = floatround(vh);
    format(string, sizeof(string), "Schaden: ~%s~%d\%", DamageColor(h), h); //55 -> Orange, 30 -> Red
    TextDrawSetString(speedo2[playerid], string);



  • Seit dem removet es die TextDraws nicht, nachdem mein Auto 250 HP hat.
    H4rd_B4se

    :) SWAGETTI & YOLONAISE!