[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
  • Der hat doch gar keine Informationen wo er Spawnen soll, was für ein Skin, was für Waffen etc.. Nutze dazu [wiki]SetSpawnInfo[/wiki]



    public OnPlayerRequestClass(playerid, classid)
    {
    SetSpawnInfo( playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0 ); // aus der Wiki
    SpawnPlayer(playerid);
    return 1;
    }

  • Hallo,


    ich hab ne Frage undzwar ist es möglich die Lebensanzeige eines Spielers zu "entfernen" oder ähnliches?
    Sprich wenn mir gegenüber ein Spieler ist sehe ich ja sein Namen und seine Lebensanzeige...
    Gibts dafür einen Callback, suche nämlich schon sehr lange danach...


    Kann mir jemand weiterhelfen?
    Vielen Dank im vorraus :)

  • Komischerweise wird meine bizkasse nicht gespeichert.



    printf("b_kasse1: %i",bizInfo[i][b_kasse]);
    saveBizKasse(bizInfo[i][b_id]);
    //Wert wird beim print richtig angegeben.



    saveBizKasse(id)
    {
    printf("b_kasse2: %i",bizInfo[id][b_kasse]);
    new query[128];
    format(query,sizeof(query),"UPDATE bizs SET b_kasse='%i' WHERE id='%i'",bizInfo[id][b_kasse],id);
    mysql_function_query(dbhandle,query,false,"","");
    printf("b_kasse3: %i",bizInfo[id][b_kasse]);
    printf(query);
    return 1;
    }
    //Wert ist auf einmal 0.


    Ich bin mir zu 100 % sicher, dass ich den Wert nicht überschriebe. Ist irgendwas bei saveBizKasse falsch?


    mfg.

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Hey, ich möchte, das wenn mein Server gestartet wird, der Server für einige Sekunden gesperrt sein soll damit alles hochfährt.
    Dafür soll auch der Server Name aktuallisiert werden damit man sieht wie weit man ist (Prozentangabe)


    Aber ich kriege es irgendwie nicht vernünftig hin.


    new serverstarting;



    public OnGameModeInit()
    {



    SendRconCommand("password abc");



    serverstarting += random(10);
    format(svstarting, sizeof(svstarting),"hostname .: [LnD] 77 BattleArena [Starting %%] [Ultra-h.com] :.", serverstarting);
    SendRconCommand(svstarting);




    if(serverstarting >= 99)
    {
    SendRconCommand("password 0");
    }



    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Kannst du nicht einfach mit einem Timer, der x=sekunden deiner Wahl lange geht, die Variable serverstarting hochzählen bis sie auf 10 ist? und 10 ist dann in dem Fall fertig z.B. Dann kannst du doch den Timer mit KillTimer(); stoppen, damit er keine Belastung mehr ist.


    public ServerStart(){ serverstartcounter++; switch(serverstartcounter) { case 0: { SendRconCommand("hostname Test 0%"); }//case 10: z.B. Ende (kannst du ja variieren) case 10: { SendRconCommand("hostname Testserver Fertig"); SendRconCommand("password 0"); KillTimer(); }


    So ähnlich. Wäre zumindest eine Möglichkeit, die mir in den Sinn kommt.


    //Edit
    Btw. Jeffry, b_kasse: %i ist nun der richtig eingetragene Wert, WHERE id='%i' ist allerdings jetzt 0. Vorher wars ja genau andersrum, richtige ID aber falsche b_kasse. In der Konsole steht WHERE id='0'.

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

    Einmal editiert, zuletzt von #S. ()

  • Das wäre dann aber nicht schön geschrieben wenn ich für jeden dazugezählten Prozent ein case erstelle, außerdem würde der das dann in wenigen Sekunden durchführen und das möchte ich ja nicht :c


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Btw. Jeffry, b_kasse: %i ist nun der richtig eingetragene Wert, WHERE id='%i' ist allerdings jetzt 0. Vorher wars ja genau andersrum, richtige ID aber falsche b_kasse. In der Konsole steht WHERE id='0'.

    format(query,sizeof(query),"UPDATE bizs SET b_kasse='%i' WHERE id='%i'",bizInfo[id][b_kasse],id);
    zu:
    format(query,sizeof(query),"UPDATE bizs SET b_kasse='%i' WHERE id='%i'",bizInfo[id][b_kasse],bizInfo[id][b_id]);


    ____


    Hey, ich möchte, das wenn mein Server gestartet wird, der Server für einige Sekunden gesperrt sein soll damit alles hochfährt.

    Versuche es so:
    public OnGameModeInit()
    {
    SendRconCommand("password abc");
    SetTimerEx("StartupCountdown", 1000, false, "d", 10);
    return 1;
    }


    forward StartupCountdown(num);
    public StartupCountdown(num)
    {
    new svstarting[128];
    if(num >= 99)
    {
    SendRconCommand("password 0");
    format(svstarting, sizeof(svstarting),"hostname .: [LnD] 77 BattleArena [Ultra-h.com] :.", num);
    }
    else
    {
    SetTimerEx("StartupCountdown", 1000, false, "d", num + 10);
    format(svstarting, sizeof(svstarting),"hostname .: [LnD] 77 BattleArena [Starting %d%%] [Ultra-h.com] :.", num);
    }
    SendRconCommand(svstarting);
    return 1;
    }

  • @[LnD]JustMe.77
    So wie du den Code da oben hast, funktioniert das aber nicht. Du musst ja schon einen Timer haben, der dann abfragen kann, ob die Prozentanzeige auf 100 ist, um das zu stoppen. Außerdem brauchst du den (gleichen) Timer auch, um die Prozentanzeige stetig zu erhöhen. ;)

  • Ist mir klar, sonst hätte ich nicht gefragt ^^


    Habe es während Jeffry geantwortet hat so fertig gestellt:



    new serverstarting = 0;
    new RST;



    //Ongamemodeinit


    RST = SetTimer("RunStartingTime", 900, true);
    new svstarting[128];
    format(svstarting, sizeof(svstarting),"hostname .: [LnD] 77 BattleArena [Starting %d%%] [Ultra-h.com] :.", serverstarting);
    SendRconCommand(svstarting);



    forward RunStartingTime();
    public RunStartingTime() {
    new rand = random(9);
    serverstarting += rand;
    new svstarting[128];
    format(svstarting, sizeof(svstarting),"hostname .: [LnD] 77 BattleArena [Starting %d%%] [Ultra-h.com] :.", serverstarting);
    SendRconCommand(svstarting);
    if(serverstarting >= 99) {
    SendRconCommand("password 0");
    KillTimer(RST);
    SendRconCommand(SV_NAME);
    }
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Gibt's irgendeinen Fix dafür, dass sobald ich aus dem CJ Haus raus gehe, die Cars unter der Map sind und dann nach 2 sekunden ca. 5m weiter weg komplett falsch spawnen? Habe mal probiert, die Z-Achse mit mit ein paar Werten zu erhöhen, hat aber nichts gebracht. Ich kann auch schlecht solide Objekte überall hinmachen, da die User ja /fpark machen können.
    Irgendwelche bekannten Lösungen?

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Hi, wieso taucht das in meiner MySQL Log aus? Mehr als 500 mal.



    [19:13:51] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE Name = '[LnD]JustMe.77'' at line 1
    [19:13:51] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE Name = ''' at line 1


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Welchen denn genau? Davon steht ja nichts in der Log.
    Eventuell die hier?



    format(Query,sizeof(Query),"UPDATE `players` SET Admin = %d, Level = %d, Kills = %d, Deaths = %d, Ratio = '%f', Weed = %d, Exp = %d, MExp = %d, Banned = %d, Skin = %d, Color = %d, Weather = %d, Time = %d, AL = %d, ReceivedBonus = %d, DoubleEXP = %d, WHERE Name = '%s'",


    Mit freundlichen Grüßen
    JustMe.77 8)