Eigene Pay'n'Sprays buggen leicht....

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
  • Hi ich habe eigene Pay'n'Sprays gemacht so wie bei LoG weil ich das Cool finde
    gut einer geht da geht auch das Tor auf und zu das ist das erste problem, ich habe 4 aber es funktioniert nur bei einem
    Codes:
    if(strcmp("/payrepair", cmdtext, true, 10) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_OWNPAYSPRAY,DIALOG_STYLE_LIST,"Car Rapair","Auto Reparieren\nAutofarbe Wechseln","Auswählen","Abbrechen");
    if(IsPlayerInRangeOfPoint(playerid, 10, 1247.1216,-1424.3689,13.2448))
    {
    MoveObject(PainSpray11,1246.91, -1417.14, 15.45,2);
    }
    else if(IsPlayerInRangeOfPoint(playerid,10,1829.9088,-1397.6974,13.1219))
    {
    MoveObject(PainSpray21,1836.49, -1397.64, 15.31,2);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 10, 2165.5989,-1733.4226,13.2394))
    {
    MoveObject(PainSpray31,1380.84, -1576.86, 15.31,2);
    }
    else if(IsPlayerInRangeOfPoint(playerid,10,1382.4413,-1571.3873,13.2539))
    {
    MoveObject(PainSpray41, 2165.29, -1740.60, 15.47, 2);
    }
    }
    forward PainSprayFertig(playerid);
    public PainSprayFertig(playerid)
    {
    UnFreezePlayer(playerid);
    if(IsPlayerInRangeOfPoint(playerid, 10, 1247.1216,-1424.3689,13.2448))
    {
    MoveObject(PainSpray11,1246.91, -1417.14, 9.60,2);
    }
    else if(IsPlayerInRangeOfPoint(playerid,10,1829.9088,-1397.6974,13.1219))
    {
    MoveObject(PainSpray21,1836.49, -1397.64, 9.47,2);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 10, 2165.5989,-1733.4226,13.2394))
    {
    MoveObject(PainSpray31,1380.84, -1576.86, 9.46,2);
    }
    else if(IsPlayerInRangeOfPoint(playerid,10,1382.4413,-1571.3873,13.2539))
    {
    MoveObject(PainSpray41, 2165.29, -1740.60, 9.62, 2);
    }
    return 1;
    }


    das zweiter Problem ist der Dialog, ich weiss nicht was da nicht stimmt.....
    wenn man auf 'Auto Reparieren' geht dan passiert nichts....
    Code zum Dialog:
    if(dialogid == DIALOG_OWNPAYSPRAY)
    {
    new Float:vehhealth;
    new vehinspray;
    vehinspray = GetPlayerVehicleID(playerid);
    //new affenarsch;
    GetVehicleHealth(vehinspray,vehhealth);
    if(response)
    switch(listitem)
    {
    case 0:
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(vehhealth <= 950 && vehhealth >= 999)
    {
    if(GetPlayerMoney(playerid) >= 500)
    {
    FreezePlayer(playerid);
    SendClientMessage(playerid,COLOR_GREEN,"Dein Auto wird für 500$ Repariert, warte ca. 5 Secunden.");
    SetTimer("PainSprayFertig",5000,0);
    SetVehicleHealth(vehinspray,1000);
    GivePlayerMoney(playerid,-500);
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Dein Auto wurde nicht Repariert da du nicht genug Geld hast.");
    SetTimer("PainSprayFertig",1000,0);
    }
    }
    das ist der Code von einer Funktion damit man es nicht einfach kopieren kan und in seinen Script einbauen kan.

  • if(vehhealth <= 950 && vehhealth >= 999)


    Auf Duetsch: Wenn vehhealth kleiner oder gleich 950 ist UND vehhealth größer oder gleich 999 ist.


    Ist einfach nie erfüllt. Wann hat ein Auto ein Leben von kleiner 950 und gleichzeitig größer 999?


    Mfg,
    UncleSub

  • [pwn] if(dialogid == DIALOG_OWNPAYSPRAY)
    {
    new Float:vehhealth;
    new vehinspray;
    vehinspray = GetPlayerVehicleID(playerid);
    //new affenarsch;
    GetVehicleHealth(vehinspray,vehhealth);
    if(response)
    switch(listitem)
    {
    case 0:
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(vehhealth <= 999)
    {
    if(GetPlayerMoney(playerid) >= 500)
    {
    FreezePlayer(playerid);
    SendClientMessage(playerid,COLOR_GREEN,"Dein Auto wird für 500$ Repariert, warte ca. 5 Secunden.");
    SetTimer("PainSprayFertig",5000,0);
    SetVehicleHealth(vehinspray,1000);
    GivePlayerMoney(playerid,-500);
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Dein Auto wurde nicht Repariert da du nicht genug Geld hast.");
    SetTimer("PainSprayFertig",1000,0);
    }
    }