Beiträge von Kaliber

    warum gibt es dann diese Funktion und für was sollte man den Callback sonst verwenden können ?


    Also, es gibt keine "wirklich nutzvolle Anwendung" du kannst sogut wie alles auch mit Timern regeln, es gibt nur eine Sache die du da machen könntest und zwar Spieler "desyncronisieren", aber das ist nicht empfehlenswert und sehr reproduktiv ! :rolleyes:


    mfg. :thumbup:

    wenn ich jetzt auf den server connecte und dann in die map gehe und einen marker setze und dann rausgehe bin ich direkt dort hin teleportiert...


    was kann es sein? hab schon die suchfunktion im deutschen und im englischen forum benutzt vll benutz ich die falsche sucheingabe ka...


    Vielleicht mal S0beit deinstallieren :huh:


    Falls das nicht hilft das unter OnGameModeInit schreiben:


    AllowAdminTeleport(0);


    mfg. :thumbup:

    Da Fehlt überall die Überschrift sprich sowas:


    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Überschrift","Bitte gebe hier dein Gewünschtes Passwort ein","Regestrieren","Abbrechen");


    mfg. :thumbup:

    Ist es möglich mehrere server übereine Datenbank laufen zulassen


    Ja


    Tomsen


    Mache es so:


    //OnPlayerEnterVehicle
    if(!ispassenger)
    {
    for(new i=0; i<sizeof(SEKCar); i++)
    {
    if(GetPlayerVehicleID(playerid)==SEKCar[i])
    {
    if(!IsPlayerInFrak(playerid,2))
    {
    SendClientMessage(playerid,rot,"Du hast keine Schlüssel!");
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    break;
    }
    }
    }
    }


    mfg. :thumbup:

    Du hast dir da viel zu viel Unnötige Arbeit gemacht, du solltest mal einfach ein Array nutzen also anstatt new Text:Textdraw0; new Text:Textdraw1; .... einfach new Text:Textdraw[27];
    und dann kannst du auch mit Schleifen arbeiten und brauchst nicht so viel Code :whistling:


    Aber dennoch ist die Idee super :)


    mfg. :thumbup:

    Wie frage ich dann nur bei meinem Befehl /getstuffs ab ob er in dem Car ist?


    Genauso, wieder sowas:


    if(GetPlayerVehicleID(playerid) == truckercar[0])
    {
    //hier befindet er sich im Trucker
    }
    else
    {
    //Falls er sich nicht im Trucker befindet
    }


    mfg. :thumbup:

    nur ich glaube der zählt zu schhnell :b


    Dann kannst du diesen Code erhöhen:
    if(i < 20000) continue;
    Zum Beispiel so:
    if(i < 30000) continue;
    Jetzt sollte er langsamer zählen ;)


    Wie stoppe ich den wieder?


    Mit einer Globalen Variable sprich sowas:


    //Oben im Script:
    new Die_Pause;


    //In meiner for-Schleife
    for(new i; i!=-1; i++)
    {
    if(Die_Pause) break;
    //mein Code
    }


    //Irgendein Cmd
    if(!Die_Pause) {
    //Die Schleife wird gestoppt
    Die_Pause = 1;
    }
    else {
    //Die Schleife Startet wieder
    mn = 0, sek = 0, mil = 0, Die_Pause = 0;
    Race_Timer();
    }


    mfg. :thumbup:


    //Edit: Blitz100 ...

    Was ist daran falsch ?


    Du hast es falsch eingerückt oder dieses return 1; blockiert einen Code Verlauf.


    Versuche mal oben in dein Script folgendes zu schreiben: #pragma tabsize 0


    Wenn der Warning dann nicht verschwindet lösche die Zeile ;)


    mfg. :thumbup:

    Vllt. kannst du ja was zaubern..


    Ja, also es gibt 1ne Möglichkeit die du verwenden könntest, da musst du dich aber von deinem Timer lösen, funktioniert aber ähnlich, schau mal:


    new mn,sek,mil;


    public OnGameModeInit()
    {
    Race_Timer();
    return 1;
    }


    forward Race_Timer();
    public Race_Timer()
    {
    for(new i; i!=-1; i++) {
    if(i < 20000) continue;
    i = 0;
    new string[128];
    mil++;
    if(mil==1000)sek++,mil=0;
    if(sek==60)mn++,sek=0;
    format(string, sizeof string,"%02d:%02d:%02d",mn,sek,mil);
    printf("%s",string);
    }
    return 1;
    }


    So sollte es gehen ;)


    mfg. :thumbup:


    /edit: Blitz100 ...

    So:


    //unter dem Callback OnPlayerStateChange
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new veh = GetPlayerVehicleID(playerid);
    if(veh == truckercar[0])
    {
    //Hier sitzt er im Fahrzeug
    }
    }


    mfg. :thumbup:

    Also ich habe es gerade so getestet:


    new mn,sek,mil;


    public OnGameModeInit()
    {
    SetTimer("Race_Timer", 1, 1);
    return 1;
    }


    forward Race_Timer();
    public Race_Timer()
    {
    new string[128];
    mil++;
    if(mil==1000)sek++,mil=0;
    if(sek==60)mn++,sek=0;
    format(string, sizeof string,"%02d:%02d:%02d",mn,sek,mil);
    printf("%s",string);
    return 1;
    }


    Ich weiß was du meinst, aber das liegt daran, dass eine gewisse Zeit verloren geht, das zu printen, aus diesem Grund dauert das etwas länger :S


    Aus diesem Grund kannst du das nicht beheben mit den Millisekunden, du kannst sie höchstens streichen oder mit dieser kleinen Verzögerung leben :)


    mfg. :thumbup:

    Wieso interpretierst du meinen Post :huh:


    Ich habe nie so eine Klammer gesetzt "{" wieso tust du es 2x :huh:


    Nimm die Klammer raus ^^


    und bei OnFilterScriptInit musst du halt darauf achten, dass der Parameter "playerid" nicht übergeben wird also suche dir die SetTimer("bla"...); funktion und jetzt gehe unter "bla" und mache da if(IsPlayerNPC(playerid)) return 1;



    Das ist falsch, vergiss das, schreib das nicht rein, das würde den Callback unterbrechen !


    mfg. :thumbup: