Beiträge von N0rax

    Klasse, echt super! Aber ich hätte das mit Wait für verschiedene Dinge benutzt, z.b. das man nach 3 Sekunden entfreezt wird oder bei GameTextForPlayer benutzt hätte.

    Hallo,



    wollte mal fragen ob jemand ne bessere lösung als diese hier hat:


    Code
    stock Wait(time)
    {
    new stamp = tickcount();
    while (tickcount() - stamp < time)
    {
    }
    return 1;
    }


    Weiß einer wie man das ohne probleme machen kann? Denn wenn ich nach nem SendClientMessage oder sonstwas "Wait(2000);" eingebe laggt der server für 2 sekunden...

    Cracks sind verboten, weil dann jeder Spieler runter laden kann, und einfach ein Crack drüberbügelt das heißt man Spielt ohne CD, wenn es keine Cracks geben würde, könnte man auch keine Games downloaden und Spielen, man muss sie kaufen um sie zu Spielen :)

    Schneller abgekürztes Afk System:




    new afksystem[MAX_PLAYERS];



    if(!strcmp("/afk",cmdtext,true))
    {
    if (afksystem[playerid] == 1)
    {
    TogglePlayerControlable(playerid,1);
    SendClientMessage(playerid,farbe,"*** Du bist nun AFK! Tippe wiederholt /afk um back zu sein!");
    afk[playerid] = 1;
    }
    else
    {
    TogglePlayerControlable(playerid,0);
    SendClientMessage(playerid,farbe,"*** Du bist vom AFK Modus zurück.");
    afk[playerid] = 0;
    }
    return 1;
    }


    Tut mir leid, du bist wirklich gut im Scripten, aber das was du jetzt gepostet hast, versteht echt keiner, zumindest ist es bei mir und 5 Kollegen so.

    Hallo,



    gibt es ein Savesystem das soziemlich alles per Ingame abspeichern lässt? z.B. das mit "SetPlayerRaceCheckpoint" da wo man steht das da die Koordinaten abgespeichert werden, gibts sowas?



    MfG
    N0rax

    Hallo,



    wollte noch Hinweisen das der TextDrawEditor1.0 das größte Bug-Script ist, das es gibt, ok es klappt zwar TextDraws zu erstellen, verschieben und sie zu editieren, abspeichern klappt auch, aber das Text.pwn Script, bringt nichts, kommen zwar keine Warnings oder Error, sondern der TextDraw wird erst angezeigt wenn man das Filterscript reloaded, und wenn man das in den GM einbaut bringts garnichts, da der garnicht geladen wird, nichtmal selbst wenn man restartet...

    Padarom


    genau diese Idee hatte ich und sie hat funktioniert :)


    Meine idee: (damit ihr auch wisst wie das geht falls ihr's mal benötigt)



    if(!strcmp(cmdtext, "/np", true))
    {
    ConnectNPC("ver1", "ver1"); // NPC1 Connectet
    ConnectNPC("ver2", "ver2"); // NPC2 Connectet
    ver1 = CreateVehicle(411, 2000.0, 2000.0, 2000.0, 7.0, 0, 0, -1);
    ver2 = CreateVehicle(597, 2000.0, 2000.0, 2000.0, 7.0, 0, 0, -1);
    SendClientMessageToAll(COLOR_YELLOW,"NPC1 und NPC2 sind nun im Server!");
    return 1;
    }

    Hallo,


    ist es eigentlich möglich, die NPC Bots per Command starten zu lassen und mit einem command sie zu stoppen also so das sie entweder sofort verschwinden oder stehn bleiben und danach verschwinden?



    Wollte mal eine verfolgungsjagt bauen aber das bleibt nie Syncron wenn ich das automatisch starten lasse.

    Eine kleine nette funktion, die es euch erlaubt, eigene Countdown Timer zu erstellen, oder sonst irgendwas anderes:



    stock Wait(time)
    {
    new stamp = tickcount();
    while (tickcount() - stamp < time)
    {
    }
    return 1;
    }



    Bsp:



    public CountDown(playerid)
    {
    SendClientMessage(playerid,color,"In 3 Sekunden kommt der zweite Text!");
    Wait(3000); //sind jetzt keine 3 sec. aber wayne.
    SendClientMessage(playerid,color,"In 3 Sekunden kommt der erste Text!");
    Wait(3000);
    SendClientMessage(playerid,color,"Finish!");
    return 1;
    }



    Info: Hat aber ein kleiner hacken, sobald das abläuft per Command oder per timer, kann man komischerweise nichts mehr schreiben, als wär der server kurz aus und dann wieder an, kurz aus und dann wieder an, bis der timer endet.

    Achso, hoppla hab nicht aufgepasst!
    Klappt aber immernoch nicht, das Menü unten erscheint net.
    Nehme ich die Koordinaten von rechts oben von der Uhr, und setze sie dort hin wo das Menü ist damit das Menü auch auf der rechten seite oben ist, ist die Uhr unten...

    Nein, ich habe das so genommen wie du/ihr es mir gegeben habt:



    new Text:levelanzeige[256];
    new Text:Uhr;


    //GameModeInit
    SetTimer("PlayerHUD",1000,1);


    for(new i=0; i<MAX_PLAYERS; i++)//Die Anzeige muss für jeden Spieler erstellt werden da sie immer verschieden ist
    {
    // Links/Rechts //Höhe
    levelanzeige[i] = TextDrawCreate(547.0, 24.0, " "); //alte koords 50.000000,430.000000
    TextDrawLetterSize(levelanzeige[i], 0.5, 1.5);
    TextDrawFont(levelanzeige[i],1);
    TextDrawShowForPlayer(i,levelanzeige[i]);
    TextDrawSetShadow(levelanzeige[i], 0);
    TextDrawSetOutline(levelanzeige[i], 0);
    }
    Uhr = TextDrawCreate(50.000000,430.000000, "00:00");//kann Global erstellt werden da sie für alle immer gleich ist! alte koords: 547.0, 24.0
    TextDrawLetterSize(Uhr, 0.6, 1.8);
    TextDrawFont(Uhr, 3);
    TextDrawSetOutline(Uhr, 0);
    TextDrawSetShadow(Uhr, 0);


    //


    public OnPlayerConnect(playerid)
    {


    //


    TextDrawShowForPlayer(playerid,levelanzeige[playerid]);
    TextDrawShowForPlayer(playerid,Uhr);


    //


    new name[128], save[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    if(dini_Exists(save))
    { // Wenn ein Spieler mit dem Namen existiert
    SendClientMessage(playerid,COLOR_YELLOW,"*************************************************");
    SendClientMessage(playerid, 0x33CCFFAA, "Herzlich willkommen im sXp-Network SA-MP 0.3a Server!");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du bist bereits Registriert! Logge dich bitte ein!");
    SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /login [passwort].");
    //SendClientMessage(playerid, 0xFFFFFFAA, "Solltest du Spawnen ohne das du dich Einloggst, wirst du sofort gekickt!");
    SendClientMessage(playerid, 0xFFFFFFAA, "Gebe /help für Informationen ein.");
    SendClientMessage(playerid,COLOR_YELLOW,"*************************************************");
    GivePlayerMoney(playerid,dini_Int(save,"Geld")); // Hier wird das geld dem Spieler gegeben, was er vorher hatte
    SetPlayerSkin(playerid,dini_Int(save,"Skin")); // Hier wird der Skin des Spielers geladen
    SetPlayerPkt(playerid,dini_Int(save,"Scorep"));
    SetPlayerWantedLevel(playerid,dini_Int(save, "Wanted"));
    SetPlayerLevel(playerid,dini_Int(save, "Level"));
    SetPlayerCoins(playerid,dini_Int(save, "Coins"));
    bank[playerid]=dUserINT(PlayerName(playerid)).("Bank");
    deaths[playerid]=dUserINT(PlayerName(playerid)).("Tode");
    }
    else
    {
    if(!dini_Exists(save)) // Wenn kein Spieler mit dem Namen existiert
    { //Sende einen Text
    SendClientMessage(playerid, 0x33CCFFAA, "Herzlich willkommen im sXp-Network SA-MP 0.3a Server!");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du besitzt noch kein Account, bitte Registriere dich!");
    SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /register [passwort].");
    //SendClientMessage(playerid, 0xFFFFFFAA, "Solltest du Spawnen ohne das du dich Registrierst & Einloggst, wirst du sofort gekickt!");
    SendClientMessage(playerid, 0xFFFFFFAA, "Gebe /help für Informationen ein.");
    }
    }


    return 1;
    }


    //


    public PlayerHUD()
    {
    new string[256];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if (IsPlayerConnected(i))
    {
    new Levels;
    Levels = GetPlayerLevel(i);
    format(string, sizeof(string), "~w~Level:~r~ %d ~w~Punkte:~r~ %d ~w~Coins:~r~ %d ~w~Kills:~r~ %d ~w~Deaths:~r~ %d ~w~Bank:~r~ %d",Levels,pkt,coins[i] ,kills[i], deaths[i], bank[i]);
    TextDrawSetString(levelanzeige[i],string);//hiermit neu setzen und nicht neu erstellen! ;)
    }
    }
    new hour,minute,second;
    gettime(hour,minute,second);
    format(string,25,"%d:%d",hour,minute);
    TextDrawSetString(Uhr,string);//hiermit neu setzen und nicht neu erstellen! ;)
    SetWorldTime(hour);//so gehts doch auch, warum so umständlich :D
    return 1;
    }






    Das kann nicht daran liegen, komisch, die Uhr hat die Position von der Menüleiste unten und die Menüleiste unten ist ganz verschwunden, da ist was verkehrt...

    Lol? Genauso hab ichs auch hingeschrieben, dummerweise ist die Uhr Links unten und das Menü ist weg? (o_O?)



    public OnPlayerConnect(playerid)
    {
    TextDrawShowForPlayer(playerid,Uhr);
    TextDrawShowForPlayer(playerid,levelanzeige[playerid]);
    new name[128], save[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    if(dini_Exists(save))
    { // Wenn ein Spieler mit dem Namen existiert
    SendClientMessage(playerid,COLOR_YELLOW,"*************************************************");
    SendClientMessage(playerid, 0x33CCFFAA, "Herzlich willkommen im sXp-Network SA-MP 0.3a Server!");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du bist bereits Registriert! Logge dich bitte ein!");
    SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /login [passwort].");
    //SendClientMessage(playerid, 0xFFFFFFAA, "Solltest du Spawnen ohne das du dich Einloggst, wirst du sofort gekickt!");
    SendClientMessage(playerid, 0xFFFFFFAA, "Gebe /help für Informationen ein.");
    SendClientMessage(playerid,COLOR_YELLOW,"*************************************************");
    GivePlayerMoney(playerid,dini_Int(save,"Geld")); // Hier wird das geld dem Spieler gegeben, was er vorher hatte
    SetPlayerSkin(playerid,dini_Int(save,"Skin")); // Hier wird der Skin des Spielers geladen
    SetPlayerPkt(playerid,dini_Int(save,"Scorep"));
    SetPlayerWantedLevel(playerid,dini_Int(save, "Wanted"));
    SetPlayerLevel(playerid,dini_Int(save, "Level"));
    SetPlayerCoins(playerid,dini_Int(save, "Coins"));
    bank[playerid]=dUserINT(PlayerName(playerid)).("Bank");
    deaths[playerid]=dUserINT(PlayerName(playerid)).("Tode");
    }
    else
    {
    if(!dini_Exists(save)) // Wenn kein Spieler mit dem Namen existiert
    { //Sende einen Text
    SendClientMessage(playerid, 0x33CCFFAA, "Herzlich willkommen im sXp-Network SA-MP 0.3a Server!");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du besitzt noch kein Account, bitte Registriere dich!");
    SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /register [passwort].");
    //SendClientMessage(playerid, 0xFFFFFFAA, "Solltest du Spawnen ohne das du dich Registrierst & Einloggst, wirst du sofort gekickt!");
    SendClientMessage(playerid, 0xFFFFFFAA, "Gebe /help für Informationen ein.");
    }
    }



    Falsche Koordinate oder wie ?

    Ah danke ich werds mal hinschreiben, ich denk mal so oder?



    TextDrawShowForPlayer(playerid,Uhr);
    TextDrawShowForPlayer(playerid,levelanzeige);


    Oder?


    Sorry für meine dummen Fragen, ich hab mal etwas mehr Scripten können das war vor ca. 1 Jahr hab leider einiges vergessen! Ich hoffe ich ärger euch damit nicht :S