Beiträge von NetBurst

    Müssen nicht!


    Enums empfehle ich eher:



    enum Level
    {
    Adminlevel,
    KeinSpieler;
    };
    new Player[MAX_PLAYERS][Level]; //ist zwar nur ein Array aber egal.


    OnPlayerConnect(playerid);
    {
    if(Player[playerid][Adminlevel] = 1337)
    {


    new Spieler[MAX_PLAYER_NAME];
    str[128];


    GetPlayerName(playerid, Spieler, sizeof(Spieler));
    format(str, sizeof(str), "Administrator %s ist online gekommen", Spieler);
    SendClientMessageToAll(playerid, 0xffffff, str);


    }
    if(Player[playerid][KeinSpielerl] = 1)
    {


    new KSpieler[MAX_PLAYER_NAME];
    str2[128];


    GetPlayerName(playerid, KSpieler, sizeof(KSpieler));
    format(str2, sizeof(str2), "Spieler(Kein Administrator) %s ist online gekommen", KSpieler);
    SendClientMessageToAll(playerid, 0xffffff, 2str);


    }
    }


    Wenn der Spieler den Adminrang 1337 hat , wird ein SCMTA an allen spielern gesendet.


    //edit Enum mit "KeinSpieler" beschmückt, sendet jedem Spieler , dass Spieler (normaler rang) online gekommen ist.

    Wenn du HD roads usw. haast, dann liegt es an den Texture, dazu suchst du am besten bei google: SAStreamfix 1.0/2.0


    PS:Kannst du mir mal veraten woher du die HUD und das oben rechts her hast ? ,sieht top aus ;)

    Unzwar:


    Du brauchst Zwei Objekte CreateObject(ModellID,Positionen);


    Dann brauchen wir eine Standartposition , wo Das Objekt stehen sollte, dazu musst du es entweder dahin Mappen oder selbst die Position herrausfinden.
    Dann brauchen wir den Endpunkt, wohin das Objekt hin bewegen soll.


    Das kannst du am besten mit MTA machen, und dann die Positionen herrauskopieren.


    Jetzt müssen wir eine Funktion benutzen, die das Objekt bewegen soll, das wäre die MoveObject(Objekt, 0, 0, 10, 2.00); dazu bitte die Schnelligkeit usw. eintellen.
    Wenn das Objekt die Position erreicht hat, soll die Funktion gestoppt werden, bevor du das alles machst, solltest du erstmal die Objekte definieren Bsp: new test = CreateObject
    Die Funktion die das Objekt stopp wäre StopObject(obj);


    Falls du Schwierigkeiten bekommst, kannst du mich gerne anschreiben!

    Ohman.
    Das hast du nicht gesagt!
    Egal , dass müste so gehen!:

    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 541) || GetVehicleModel(GetPlayerVehicleID(playerid)) == 560))


    Zwei Mal if gibt Errors ;)
    ) vergessen

    Beim nächten Mal bitte benutzen:



    [pwn]
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 560)


    Bei jedem dieser Zeile anstatt die 560 einfach 541 (Bullet)
    so:

    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 541)

    Das kommt davon, wenn man ein Gamemode mit Filterscripts kombiniert, wenn in einem Filterscript oder in deinem Gamemode, im Callback OnDialogResponse ein return 1; gesetzt wurde, wird es im anderen Script nicht ausgeführt.


    Hast du ein AddPlayerClass drinne ? Wenn du keinst hast kannste ja auch nicht spawnen.

    Meine Antwort darauf war, dass man Spawnen KANN,
    Du wiederum sagtest man kann es nicht.


    Aber naja ich wollte es ja nur gesagt haben.

    Sehe nur dass du es von mir kopiert hast, außer dass du SCM unter dem } gemacht hast.
    MAX_PLAYERS sagt einfach aus, dass wenn der Wert darunter liegt (sprich die Anzahl der Spieler) dass er dann weiter macht , sprich continue; (in dem Fall nicht nötig!

    Blackace.
    Das soll ja auch so sein, weil man schlagartig den SCM abkriegt.


    Und sowas unnötiges von dem Vorposter , wie vonwegen es würde nicht klappen, dass sollte man es erstmal ausprobieren und dann schreiben...

    Du solltest mal erst gucken, wie man sowas scriptet, und nicht sofort nach einer Sache fragen, die du haben willst, aber egal.
    Hier so würde es aussehen.



    ocmd:giveallscore (playerid,params[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    SetPlayerScore(i, GetPlayerScore(i) +50);
    SendClientMessage(playerid, 0xffffffff, "Allen Spielern wurden 50 Score geschenkt!");
    return 1;
    }
    }
    return 1;
    }

    Getestet , geht alles!

    Zu meinem Code:
    Ich hatte vergessen Spieler herrauszufinden, die Online sind.
    Benutzt das hier.



    ocmd:giveallscore (playerid,params[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    SetPlayerScore(i, 50); //kann geändert werden.
    }
    SendClientMessage(playerid, 0xffffffff, "Allen Spielern wurden 50 Score geschenkt!");
    }
    return 1;
    }



    //Klammer vergessen
    //menschenkinnas , habe es mal in Pawno eingerückt -.-

    Ach Mensch.
    Erstmall alle Spieler loopen und mit der Variable, SetPlayerScore.
    Mach es wie folgt:

    ocmd:giveallscore (playerid,params[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    SetPlayerScore(i, 5000) //kann geändert werden.
    SendClientMessage(i, 0xffffffff, "Allen Spielern wurden 5000 Score geschenkt!");
    }
    return 1
    }


    //edit
    anstatt playerid natürlich i -.-

    Sorry, konnte nicht antworten, war mal nach paar Monaten wieder duschen.



    public OnPlayerSpawn(playerid)
    {


    GivePlayerMoney(playerid, 2500000);


    SendClientMessage(playerid, COLOR_GREEN, "Sie wurden spawned!");


    ShowPlayerDialog(playerid, 1337 ,DIALOG_STYLE_MSGBOX, "Wichtige Informationen", "1) Hacks/Cheats werden nicht unterstützt\r\n2) Respektieren Sie Administratoren und Spieler.","Akzeptieren", "");


    return 1;


    }


    Mir sagt aber GivePlayerMoney(playerid, 2500000); dass diese Person immer wieder 250K kriegt.

    Was du lieber austauschen musst, ist wenn man /kill schreibt und der Callback "OnPlayerSpawn" ausgeführt wird , dass man nicht immer 250K Geld dazu kriegt...
    Ich weiß nicht dass du das extra gemacht hast, aber einwenig komisch ;)


    cp = SetPlayerCheckpoint(playerid,2052.0886,-2593.5962,13.5469,10.0);
    bei OnGameModeInit();


    Dann rufen wir den Callback

    public OnPlayerEnterCheckpoint(playerid)


    Wenn du dann den CP cp benutzt :



    public OnPlayerEnterCheckpoint(playerid)
    {
    SetTimer(); Jenachdem mit Parametern oder ohne das soll dir überlassen sein. Beispiel:
    SetTimer("CPDestroy", 150000, false); Timer wird erstellt , dieser wird in 15 Sekunden ausgeführt Achtung! Das ist ein Globaler Timer , dazu können Fehler unterlaufen , dazu rate ich dir SetTimerEx zu benutzen.
    }



    forward CPDestroy();
    public CPDestroy()
    {
    DisablePlayerCheckpoint(playerid);//Timer befehlt das dieser CP zerstört wird, achte ! die definierung von cp wurde hier nicht beachtet.


    }