[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
  • Dann sollte das ja so passen @[NeS]shoXy



    if(IsPlayerInArea(playerid, 924.6554, -1787.5189, 1025.1053, -1579.4823)) //Intercars Autohaus
    {
    Biz[9][bKasse] += VehicleShop[i][Preis]/2;
    Biz[9][bProdukte] --;
    UpdateBizLabel(9, Biz[9][bOwned]);
    }


    if(IsPlayerInArea(playerid, 2067.0037, 1367.3481, 2237.4001, 1523.3188)) //Oldtimer Autohaus
    {
    Biz[10][bKasse] += VehicleShop[i][Preis]/2;
    Biz[10][bProdukte] --;
    UpdateBizLabel(10, Biz[10][bOwned]);
    }

  • Mit einem Timestamp. Guck dir dafür mal [wiki]gettime[/wiki] an.

    Danke für den Tipp.
    Aber wie speicher ich es am besten in der Datenbank?
    Wird die Zeit durch %d wiedergegeben oder wird dafür eine andere Variable genutzt?


    Mein befehl sieht derzeit so aus:
    new Hour, Minute, Second, Timestamp;
    Timestamp = gettime(Hour, Minute, Second);
    format(string, sizeof string, "Level: %d\n Money: %d\n Admin: %d\n Fraktion: %d\n Ban: %d\n Arbeitslos: %d \n Arbeitslos seit: %d", level, money, admin, fraktion, ban, arbeitslos, Arbeitslosenzeit, Timestamp);

  • Nein. Du solltest dir mal angucken was ein Timestamp ist. Ein Timestamp ist die Zeit in Sekunden die seit dem 1.1.1970 vergangen sind.
    Es gibt aber Includes, die dir den Timestamp in ein lesbares Zeitformat umwandeln können.


    Speichern kannst du es also einfach als Integer, da es eine Zahl ist.

  • Moin,
    Ich hatte vor ein Blitzer System zu schreiben wo der Blitzer den Spieler auch "angucken" muss.
    Wo liegt mein Fehler ?
    oder kann man es besser lösen ?

    Code
    [12:21:32] 3.021712 | 356.851989
    [12:21:32] 3.021712 | 406.851989 | 306.851989
  • Wo liegt mein Fehler ?

    Hmmm
    So einfach kannst du das nicht dynamisch abfragen...


    Wie du nämlich siehst, sobald der Winkel über 360 ist stimmt die Logik nicht mehr und sobald es kleiner als 0 ist ebenso.


    2 Möglichkeiten:


    1. Du bestimmt für den Blitzer exakt die Winkel und gibst diese als zusätzliche Parameter an und prüfst das darüber...


    2. Du nutzt eine Funktion die das berücksichtigt und abdeckt.


    Hier wurde mal eine gepostet: https://forum.sa-mp.com/showpost.php?p=3065655&postcount=2


    Und hier: https://pastebin.com/AzXJc7Lm


    Die Funktion heißt da: IsPlayerFacingPoint


    Kanst ja mal ein bisschen rumprobieren und damit spielen :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hey,


    Ich habe eine frage ich zahle mehr Gasabgaben ect. Ohne haus ist doch unlogisch wen ich keins habe?
    Wen ich eins Habe zahle ich relativ wenig?



    //E:


    0 = Kein Haus :)
    Danach geht es nach Haus ID nach den zugewiesenen Schlüssel

  • @Kaliber
    Das Problem dass die Kilometer immernoch im Vordergrund angezeigt werden besteht weiterhin.
    Habe geschaut das Textdraw wird als Letztes Erstellt.


    //Edit
    Habe gerade Feststellen müssen wenn ich auf den Blitzer zufahre Funktioniert es bei dem Neuerstellten Blitzer nicht aber sobald ich daran vorbei bin Funktioniert es.

    Code
    if(IsPlayerFacingPos(playerid, 50.0, Blitzi[i][blitz_x], Blitzi[i][blitz_y]))
    			{
    			    if(Blitztime[playerid] == 0 || Blitztime[playerid] > gettime())
    				{
    					Blitz_Player(playerid);
    					Blitztime[playerid] = gettime() + 60*15;
    				}
    			}


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • GetPlayerFacingAngle(playerid, pY);

    Ich weiß nicht, ob hier die richtige Angle verwendet wird..deshalb sagte ich, teste das alles und printe dir die Werte..musst du halt schauen ^^


    Eventuell mal:


    GetVehicleZAngle(GetPlayerVehicleID(playerid), pY);


    probieren ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • //E:


    Objekte laden Funktioniert jetzt.


    Habe nun folgendes Problem.



    pHouseKey läuft wie folg ab.


    -> pHouseKey -255 = Der Spieler Besitzt kein Haus.
    -> pHouseKey wird wiefolg auch abgearbeitet das Heißt es geht nach ID des Hauses.


    Heißt Haus hat die ID eins bekommt natürlich der Spieler der das Haus mit der ID 1 käuft Automatisch den Schlüssel für die ID 1 Genauso wie die Mieter.


    Siehe hier der Kaufverlauf:



    Das Heißt wen der Spieler kein Haus besitzt soll er automatisch ja nichts zahlen.
    Derzeit ist es so das der Spieler mehr zahlt wen er kein Haus hat und wen er eins hat bezahlt er wenig...

  • Hallo!



    printf("%d",RegisterInfo[playerid][register_Alter]);
    format(RegisterInfo[playerid][register_Name],64,"%s",inputtext);
    new query[256];
    mysql_format(handle, query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`,`RPName`,`Alter`,`Geschlecht`,`Geburtsdatum`) VALUES ('%e', MD5('%e'),'%e','%d','%d','%e')", SpielerDaten[playerid][player_Name], RegisterInfo[playerid][register_Passwort],
    RegisterInfo[playerid][register_Name],RegisterInfo[playerid][register_Alter],RegisterInfo[playerid][register_Geschlecht],RegisterInfo[playerid][register_Geburtsdatum]);


    Ich habe das Problem, dass in der DB immer ein falsches Alter steht. Im Print steht das richtige Alter.
    Was ist da falsch?


  • printf("%d",RegisterInfo[playerid][register_Alter]); format(RegisterInfo[playerid][register_Name],64,"%s",inputtext); new query[256]; mysql_format(handle, query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`,`RPName`,`Alter`,`Geschlecht`,`Geburtsdatum`) VALUES ('%e', MD5('%e'),'%e','%d','%d','%e')", SpielerDaten[playerid][player_Name], RegisterInfo[playerid][register_Passwort], RegisterInfo[playerid][register_Name],RegisterInfo[playerid][register_Alter],RegisterInfo[playerid][register_Geschlecht],RegisterInfo[playerid][register_Geburtsdatum]);


    Ich habe das Problem, dass in der DB immer ein falsches Alter steht. Im Print steht das richtige Alter.
    Was ist da falsch?

    printe mal dein query was steht da drin

  • Beitrag von Marschl ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Wie meinst du das wegen Variable


    Umwandeln:

    stock GetAlter(aDay,aMonth,aYear)
    {
    new nyear,nmonth,nday;
    getdate(nyear,nmonth,nday);
    new alter = nyear - aYear;
    if(aMonth > nmonth)
    {
    alter -= 1;
    }
    if(aMonth == nmonth && (nday >= aDay))
    {
    alter -= 1;
    }
    return alter;
    }