[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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, kann ich Objekte entfernen wenn ich die Koordinaten in einem Float angebe?


    Beispiel:


    new Float: GasPumpCoords[78][3] =
    { {-85.2422, -1165.0312, 2.6328},
    {-90.1406, -1176.6250, 2.6328},
    {2645.2500, 1111.7500, 11.2500}};


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Wie kann ich nochmal Tore schräg öffnen ? Ich hatte bisher immer das Problem, dass sich das Tor nicht gerührt hat.


    Habe es bisher so:


    gate[0] = CreateDynamicObject(19861, -3195.77759, 1581.97351, 6.48850, 0.00000, 0.00000, -180.00000);
    if(gatetor[0] == 0){
    MoveDynamicObject(gate[0], -3195.77759, 1581.97351, 6.48850, 3.0, -90.00000, 0.00000, -180.00000);
    gatetor[0] = 1;
    }
    else {
    MoveDynamicObject(gate[0], -3195.77759, 1581.97351, 6.48850, 3.0, 0.00000, 0.00000, -180.00000);
    gatetor[0] = 0;
    }


  • MoveDynamicObject(gate[0], -3195.77759, 1581.97351, 6.48850, 3.0, -90.00000, 0.00000, -180.00000);
    Zu
    MoveDynamicObject(gate[0], -3195.77759, 1581.92351, 6.43850, 0.01, -90.00000, 0.00000, -180.00000);
    Ich habe die Position minimal verändert, und die Geschwindigkeit extrem klein gemacht.


    Beim anderen MoveDynamicObject musst du nur noch die Geschwindigkeit auf 0.01 setzen (oder einen anderen Wert, falls es zu langsam oder zu schnell ist).

  • Moin, mir wurde vor kurzem gesagt ich soll einen Wert aus der Datenbank mit orm Funktionen abrufen.


    Jedoch blicke ich durch die Wikipedia nicht durch, ich lerne besser wenn ich beispiele sehe / es selber mache :).


    -> http://wiki.sa-mp.com/wiki/MySQL/R33


    Beschreibung: Würde gerne einen Wert (Int) aus meiner DB abrufen und dort zu ner Rechnung verwenden.


    new taxvalue;


    new steuer;


    gehalt = taxvalue / steuer;

    SA:MP in 2020?

  • Weil man es dynamisch im Spiel ändern kann durch einen Befehl.


    Und trotzdem weiß ich immer noch nicht wie ich das jetzt lade

    Habe leider irgendwie keine Zeit, hmm..


    Such mal nach "fevents" hier im Forum - ein System von mir.


    Dort kannst du dir die Cache Verwendungen abschauen.
    Bei Bedarf kann ich dir das Script auch kommentieren.

  • Weil man es dynamisch im Spiel ändern kann durch einen Befehl.

    Dann kannst du die Variable ja auch mit dem Befehl ändern.


    Laden kannst du es so:
    mysql_pquery(dbhandle, "SELECT taxvalue FROM tabelle WHERE ...", "OnTaxLoad", ""); //anpassen


    Und dann:
    forward OnTaxLoad();
    public OnTaxLoad()
    {
    taxvalue = cache_get_row_int(0, 0);
    return 1;
    }

  • Dann kannst du die Variable ja auch mit dem Befehl ändern.
    Laden kannst du es so:
    mysql_pquery(dbhandle, "SELECT taxvalue FROM tabelle WHERE ...", "OnTaxLoad", ""); //anpassen


    Und dann:
    forward OnTaxLoad();public OnTaxLoad(){ taxvalue = cache_get_row_int(0, 0); return 1;}

    Kriege einen Error "undefined symbol dbhandle", muss ich einfach new dbhandle; oder fehlt mir 'was?

    SA:MP in 2020?

  • Ok naja keine Ahnung ob es funktioniert, habe, falls du dich erinnerst, immer noch diesen Fehler mit den wirren Zahlen wie aus meinem Bankrob Problem Hilfethread.


    Nun kann ich "v unten v" nicht richtig einsetzen. Setze ich sie oben ins Script ein kommt ein error weil taxvalue oben noch keinen Wert hat, sondern einfach nur ein Wort ist.
    Setze ich es unten bei meinem Timer ein, kriege ich wieder wirre Zahlen wie 1.836.368.368.963 statt 14.700 raus (exakte Zahl die rauskommen müsste)...

    new scheck = PlayerInfo[playerid][pPaycheck];
    new steuer = taxvalue / 100;
    new lohnsteuer = scheck * steuer;
    new gehalt = scheck * taxvalue / 100;

    SA:MP in 2020?

  • @Jeffry


    Wieso tauchen Probleme auf wenn ich bei meiner EXP Bar die EXP von 100 auf 1000 erhöhe? Wenn ich das auf 1000 änder, sind die Login Textdraws verbuggt und noch viele mehr.


    (Sorry das einige Teile auf Portugiesisch sind)



    GivePlayerExp(playerid, exp) {
    pData[playerid][P_Exp] += exp;
    if(pData[playerid][P_Exp] >= pData[playerid][P_MExp]) {
    for(new i; i < 10; i++) {
    if(pData[playerid][P_Exp] >= pData[playerid][P_MExp]) {
    pData[playerid][P_Exp] -= pData[playerid][P_MExp];
    SetPlayerLevel(playerid, pData[playerid][P_Level]+1);
    pData[playerid][P_MExp] += 100;
    }
    else break;
    }
    }
    AtualizarPB(playerid);
    }



    AtualizarPB(playerid) {
    SetPlayerProgressBarValue(playerid, PB[playerid], pData[playerid][P_Exp] / (pData[playerid][P_MExp] / 100));
    new string[24];
    format(string, sizeof string, "%d/%d", pData[playerid][P_Exp],pData[playerid][P_MExp]);
    PlayerTextDrawSetString(playerid, ExpTexts[playerid][1], string);
    PlayerTextDrawShow(playerid, ExpTexts[playerid][1]);
    format(string, sizeof string, "Level: %d", pData[playerid][P_Level]);
    PlayerTextDrawSetString(playerid, ExpTexts[playerid][0], string);
    PlayerTextDrawShow(playerid, ExpTexts[playerid][0]);
    return 1;
    }


    Da wo 100 zweimal steht habe ich das auf 1000 geändert, dann tauchen die Probleme auf :(


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Das weiß ich nicht, da ich keines der beiden Systeme kenne.


    Aber wenn du nur die Anzeige ändern willst, dann kannst du
    format(string, sizeof string, "%d/%d", pData[playerid][P_Exp],pData[playerid][P_MExp]);
    Zu
    format(string, sizeof string, "%d/%d", pData[playerid][P_Exp]*10,pData[playerid][P_MExp]*10);
    ändern.

  • @[LnD]JustMe.77
    Ich gehe davon aus, du möchtest die maximale Anzahl des Wertes der Progress Bar ändern? Dann versuch mal die Funktion:
    SetProgressBarMaxValue(barid, max)

  • Ich habe das Problem gelöst, nur ist ein kleines hinzu gekommen. Die Textdraws zeigen 0/1000 an, aber wenn sich die EXP Bar updatet, sind das immer noch 100. Weil wenn ich 50 EXP dazu erhalte, nimmt das schon die Hälfte weg weil es immer noch mit 100 kalkuliert. Weiß aber nicht wo genau ich das ändern soll, hat jemand eine Idee?


    Mit freundlichen Grüßen
    JustMe.77 8)