[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
  • Hey,


    Kann mir einer sagen wie ich abfragen kann ob die Timer Zeit vorrüber ist?!


    Danke im vorraus ;)


    Setze einfach eine Variable auf 1 wenn der Timer startet und wenn der Timer vorbei ist wieder auf 0, sollte er nicht vorbei sein ist die Variable logischerweisse noch 1.


    Beispiel:
    new var[MAX_PLAYERS];
    //Wo der Timer startet
    {
    if(var[playerid]==0)
    {
    SetTimerEx("EinTimer",1000*60*10,0,"i",playerid);
    var[playerid]=1;
    }
    return 1;
    }


    forward EinTimer(playerid);
    public EinTimer(playerid)
    {
    var[playerid]=0;
    return 1;
    }


    //Abfrage ob Timer noch aktiv:


    if(var[playerid]==1)
    {
    //Timer ist noch aktiv
    }


    if(var[playerid]==0)
    {
    //Timer ist inaktiv
    }


  • Vielen Dank , hat mir sehr gehilfen ;)


  • Um die Größe der zweiten Dimension zu bekommen, so:
    for(new i = 0; i < sizeof TeamVehicles[]; i++)

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • @Mr.ElectRoX:
    ohne timer ist das viel weniger Aufwand für Scripter&Server



    //variable
    new var[MAX_PLAYERS];



    //setzen(also ab wann gezählt werden soll)
    var[playerid] = gettime(); //speichert aktuelle Zeit in "Vergangene Sekunden seit dem 1.Januar 1970" in var[playerid] ab


    //überprüfen ob x sekunden vorbei sind
    if(gettime() > (var[playerid] + (x)) )
    {
    }
    für x setzt du die Anzahl an Sekunden ein



    Erklärung:
    - gettime() liefert die Anzahl an vergangenen Sekunden seit dem 1 Januar 1970 00:00
    wenn man das weiß dann sollte man aus dem Code den rest verstehen können


  • Mit dem Timer geht es leider nicht gibt es eine andere Möglichkeit ?

    ↓Das ist der Youtube Channel von mir und meinen Kollegen↓



    Sa-Mp Server [Im Aufbau/Beta]
    128.65.216.200:7777


  • Um die Größe der zweiten Dimension zu bekommen, so:
    for(new i = 0; i < sizeof TeamVehicles[]; i++)


    Dann habe ich aber die Größe des enums, ich würde gerne die Größe einer Variable im enum selbst haben. (Damit ich alle Fahrzeuge eines Teams respawnen kann)


    In diesem Fall also die Größe von "TeamVehicles[lcn][]". LCN ist das Team und die Dimension danach die Fahrzeuge. (TeamVehicles[lcn][0] = AddStaticVehicle...)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Kann man wenn man bsp. im Tutorial ist, diese Spawn Buttons & die 2 Pfeile mit nem Textdraw überdecken oder gar ganz weg machen?


    Ja, einfach aus dem Callback OnPlayerRequestClass raus gehen und unter OnPlayerSpawn, am besten durch SetSpawnInfo und SpawnPlayer ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • Hm ich


    Ja, einfach aus dem Callback OnPlayerRequestClass raus gehen und unter OnPlayerSpawn, am besten durch SetSpawnInfo und SpawnPlayer ;)


    mfg. :thumbup:


    Meinte, das die Buttons im ganz Tutorial nicht erscheinen, also das mit dem Spawn etc weiß ich, ich wollt jetzt nur wissen wie man das Weg macht dnen im Tutorial stört das irgendwie, hab normales Tut mit Dialoge...?


    Bildchen damit man sieht was ich meine,

    Einmal editiert, zuletzt von PsyDom ()

  • Gehen nicht weg.


    Falls es klappt mach unten so eine Kleine Box einfach hin, dann würde ich die oben aber auch hin machen, dann hat es den Effekt wie man das auf Spielfilmen kennt, wo die Bildhöhe kleiner wird.


    Kann man sehr wohl verschwinden lassen...


    Einfach den Spieler wie Kaliber schon sagte spawnen lassen, dann setzt du in einfach in eine beliebige Welt, eine beliebige Position, setzt die CameraPosition wo sie sein soll während des Tut's, setzt CameraLookAt wie du es haben möchtest und fertig, darfst dann halt nur nicht vergessen, wenn er mit dem Tutorial fertig ist wieder in die virtuelle Welt 0 zu setzen und die Camera wieder hinter den Spieler zu setzen.

  • Kann man sehr wohl verschwinden lassen...


    Einfach den Spieler wie Kaliber schon sagte spawnen lassen, dann setzt du in einfach in eine beliebige Welt, eine beliebige Position, setzt die CameraPosition wo sie sein soll während des Tut's, setzt CameraLookAt wie du es haben möchtest und fertig, darfst dann halt nur nicht vergessen, wenn er mit dem Tutorial fertig ist wieder in die virtuelle Welt 0 zu setzen und die Camera wieder hinter den Spieler zu setzen.


    da ist Simon's Methode viel leichter & schneller :D und sieht gar nicht so schlecht aus :). aber trotzdem Danke :).

  • Kann man sehr wohl verschwinden lassen...


    Einfach den Spieler wie Kaliber schon sagte spawnen lassen, dann setzt du in einfach in eine beliebige Welt, eine beliebige Position, setzt die CameraPosition wo sie sein soll während des Tut's, setzt CameraLookAt wie du es haben möchtest und fertig, darfst dann halt nur nicht vergessen, wenn er mit dem Tutorial fertig ist wieder in die virtuelle Welt 0 zu setzen und die Camera wieder hinter den Spieler zu setzen.


    Ja kla das ist richtig das du ihn einfach direkt wenn er in der selection ist spawnst. Er wollte ihn aber soweit ich es verstanden habe gar nicht spawnen sondern ihn dort lassen und einfach die anzeige ausblenden. Und das geht nicht, entweder verdecken oder ihn spawnwnlassen und durch setzen von position und virtuelle Welten vom spieler und der Kamera ihn durchs tutorial schicken.

  • Hier mein Code:


    format(query,sizeof(query),"SELECT `Auto` FROM `%s`.`Premiumautos` WHERE `Name` = '%s'",mysqldb,playername);
    mysql_query(query);
    mysql_store_result();

    while() //hier sollen alle Reihen durchgegangen werden, da ist das Problem
    {
    new vehid[3];
    format(vehid,sizeof(vehid),"%d",mysql_fetch_int());
    SetPVarInt(playerid,vehid,1);
    }
    mysql_free_result();


    Meine Query liefert mir mehr als eine Reihe und ich will alle auslesen. Ich benutze das Plugin von Strickenkid. Dort finde ich aber keine Methode, mit der man die nächste Reihe auswählen kann.


    Jemand ne Lösung?


  • wenn es mehrere daten sind benutz dazu doch gleich mysql_fetch_row und splitte das ergebniss mit sscanf dein problem ist es das er nicht automatisch zur nächsten reihe springt und zum query es muss wen schon so aussehen `%s.Premiumautos` oder %s.Premiumautos datenbank.tabelle weil man muss hier die backtricks nicht doppelt verwenden