Beiträge von Padarom

    Hallo,
    ich habe momentan ein kleines Problem. Wenn ich in der .ini Datei einess Spielers Geld einfüge, lädt er dies zwar im Spiel, aber mit jedem Connect hat er doppelt so viel Geld. Und dies speichert er auch so in der ini.


    if(dini_Exists(save))
    {
    dini_IntSet(save,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(save,"Wanteds",GetPlayerWantedLevel(playerid));
    }


    ...
    format(save, sizeof(save), "/Spieler/%s.ini", pName);
    GivePlayerMoney(playerid,dini_Int(save,"Geld"));
    SetPlayerWantedLevel(playerid,dini_Int(save,"Wanteds"));
    pInfo[playerid][fraktion] = dini_Int(save,"Fraktion");
    pInfo[playerid][autos] = dini_Int(save,"auto");
    pInfo[playerid][alevel] = dini_Int(save,"admin");
    pInfo[playerid][playeri] = dini_Int(save,"id");
    return 1;


    Mit freundlichen Grüßen
    Padarom

    Wenn er neu im Scripten ist, dann wird er den Fehler wahrscheinlich nicht beheben können den du reingemacht hast ;)
    Aber nicht so schlimm, war nur ein Semikolon.


    #include <a_samp>


    #define COLOR_YELLOW 0xFFFF00AA


    #pragma tabsize 0


    new y_gate;
    new x_gate;


    public OnFilterScriptInit()
    {
    CreateObject(1684, 824.119934, -1834.153320, 13.069763, 0.0000, 0.0000, 360.0000);
    CreateObject(1684, 848.804565, -1834.385498, 12.976656, 0.0000, 0.0000, 0.0000);
    CreateObject(9623, 836.681580, -1842.893311, 14.415219, 0.0000, 0.0000, 0.0000);


    AddStaticVehicle(432,848.5007,-2056.4290,12.8911,89.2728,0,0); //
    AddStaticVehicle(432,848.5089,-2050.5977,12.9016,89.6423,43,0); //
    AddStaticVehicle(433,847.6479,-2039.3992,13.2938,90.6921,43,0); //
    AddStaticVehicle(433,847.8966,-2035.0530,13.3465,88.6693,43,0); //
    AddStaticVehicle(470,848.2187,-2031.2402,12.8600,89.5424,43,0); //
    AddStaticVehicle(470,848.1216,-2027.0566,12.8580,89.4611,43,0); //
    AddStaticVehicle(471,849.5718,-2042.4751,12.3476,88.7758,120,113); //
    AddStaticVehicle(471,849.4443,-2044.7155,12.3491,91.9350,120,117); //
    AddStaticVehicle(520,847.1396,-2010.4507,13.6206,94.9345,0,0); //
    AddStaticVehicle(522,847.5651,-2024.0438,12.4398,90.5258,7,79); //
    AddStaticVehicle(522,847.5501,-2022.4180,12.4405,85.8836,36,105); //
    AddStaticVehicle(525,848.3598,-2018.8285,12.7439,93.6221,36,43); //
    AddStaticVehicle(528,850.0544,-2003.8496,12.9099,89.0295,0,0); //
    AddStaticVehicle(539,850.0480,-2061.1599,12.2272,91.9639,70,86); //
    AddStaticVehicle(548,847.5917,-1994.1929,14.5189,95.8910,1,1); //
    AddStaticVehicle(556,822.3979,-2043.2081,13.2427,269.5538,1,1); //


    y_gate = CreateObject(969, 828.070068, -1837.711304, 12.112743, 0.0000, 0.0000, 0.0000);
    x_gate = CreateObject(969, 836.911926, -1837.723633, 12.105799, 0.0000, 0.0000, 0.0000);


    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/m1open", true) == 0)
    {
    MoveObject(y_gate,827.885071, -1838.381226, 17.202259,4);
    SendClientMessage(playerid, COLOR_YELLOW,"ACHTUNG: Yakuza Gelände!");
    return 1;
    }
    if(strcmp(cmdtext, "/m1close", true) == 0)
    {
    MoveObject(y_gate,828.070068, -1837.711304, 12.112743,4);
    SendClientMessage(playerid, COLOR_YELLOW,"ACHTUNG: Yakuza Gelände!");
    return 1;
    }
    if(strcmp(cmdtext, "/m2open", true) == 0)
    {
    MoveObject(x_gate,836.868469, -1838.381226, 17.201031,4);
    SendClientMessage(playerid, COLOR_YELLOW,"ACHTUNG: Yakuza Gelände!");
    return 1;
    }
    if(strcmp(cmdtext, "/m2close", true) == 0)
    {
    MoveObject(x_gate,836.911926, -1837.723633, 12.105799,4);
    SendClientMessage(playerid, COLOR_YELLOW,"ACHTUNG: Yakuza Gelände!");
    return 1;
    }
    return 0;
    }

    Ganz oben:
    enum savedatei
    {
    Kills
    };


    new playerInfo[MAX_PLAYERS][savedatei];
    public OnPlayerConnect(playerid)
    {
    new name[MAX_PLAYER_NAME];
    new save[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    if(dini_Exists(save))
    {
    playerInfo[playerid][Kills] = dini_Int(save,"kills");
    SetPlayerScore(playerid,playerInfo[playerid][Kills]);
    }
    return 1;
    }
    public OnPlayerDisconnect(playerid)
    {
    new name[MAX_PLAYER_NAME];
    new save[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    if(dini_Exists(save))
    {
    dini_IntSet(save,"kills",playerInfo[playerid][Kills]);
    }
    return 1;
    }
    public OnPlayerDeath(playerid, killerid, reason)
    {
    playerInfo[killerid][Kills] += 1;
    SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
    return 1;
    }


    Sollte eigentlich so stimmen, ist aber nicht getestet.

    Die neusten Infos sind vielleicht etwas übertrieben oder unrealistisch, zumal die Ports meist durch Router geöffnet werden, als durch den Computer selbst, doch weiterhin gut geschrieben ;)
    Ich empfehle deine Homepage meinen Freunden, die nichts davon wissen, immer gerne weiter. Weiter so!


    Mit freundlichen Grüßen
    Padarom

    Hallo, ich habe eben, wie in der Wiki beschrieben ein Menü eingefügt für mehrere Spieler.
    Ich habe mit folgenden Zeilen angefangen:
    if(CurrentMenu == menuname)
    {
    switch(row)
    {
    Und oben im Callback OnPlayerSelectedMenuRow
    new Menu:CurrentMenu = GetPlayerMenu(playerid);
    Doch wenn ich ein zweites Menü einfüge bekomme ich etliche Fehler im Script die etwas mit ganz anderen Bereichen zu tun haben.
    Was ist da los?
    Nur falls es von Interesse ist, ich nutze dcmd und dini/dudb


    Mit freundlichen Grüßen
    Padarom

    Hallo Leute,
    ich bin ja erst noch ein Nachwuchsscripter, und mit der Forensuche habe ich nichts gefunden. Sollte so ein Thema schon existieren könnt ihr mich ja verlinken ;)


    Also zum Wunsch:
    Ich suche jemanden, der mir hier ein paar Zeilen posten kann wie man Fahrzeuge spawnt.
    Also bei /veh [Carname] [Color1] [Color2] ein Fahrzeug mit diesen Werten spawnt.
    Wie ich das nur für Admins zugänglich mache und an mein Script anpasse weiß ich ja schon.
    **edit** Die vehnames mit Namen hätte ich schon.


    Ich brauche hier kein ganzes FS, sondern (falls die Zeilen reichen würden) nur die nötigsten Zeilen.


    Mit freundlichen Grüßen
    Padarom

    Erst noch eine Frage, warum hast du das /LSPDzu für auf- & zumachen des Tores verwendet? Mache doch stattdessen zwei Funktionen. Zudem hast du ja einen Timer gesetzt der das Tor automatisch schließt.


    Mit freundlichen Grüßen
    Padarom

    Ich bin mir nicht sicher, aber ich würde es ohne das
    lspdzeune12auf
    machen.


    Das ist denke ich unnötig.
    Nur die Nachricht und das MoveObject würden, soweit ich weiß, reichen.
    Reicht bei mir auch.


    Mit freundlichen Grüßen
    Padarom

    Das gleiche habe ich bei mir mit Fraktionen gemacht.
    Ich habe nur die Abfrage gemacht ob der Spieler in einer bestimmten Fraktion ist.
    Geworden ist daraus nichts, da er mir ständig sagt dass ich nicht die Rechte besäße.
    Jetzt frage ich das direkt beim Login ab und es funktioniert.

    Endlich ;)
    Danke an euch, es funktioniert nun perfekt.


    Eine Frage habe ich aber noch, einfach aus Wissensgründen,
    ich habe das ganze jetzt unter OnPlayerConnect gesetzt, wie der Rest auch steht. Wenn ich es allerdings im Command /login eingebe funktioniert es nicht, warum ist das so?


    Mit freundlichen Grüßen
    Padarom

    Ich habe gefragt wie man beim Login (!) abfragen kann ob der Spieler Admin ist.
    Dann hast du deine Zeile Script gepostet, daher habe ich gefragt


    Wenn es beim Login nicht abgefragt wird, dann weiß der Server bei einem /kick Command ja nicht ob der Spieler Admin ist. Genauso wie bei meinen Fraktionen und Toren.

    Pada dir ist bewusst das beim Login nicht die Fraktion geladen wird?^^

    Ist mir bewusst, aber ich nutze kein pInfo, folglich auch kein enum - Oder wäre es besser wenn ich das umschreibe. Wenn es egal wäre wie soll ich die Fraktion laden?


    **edit**
    So - Ich habe mein Script jetzt etwas umgeschrieben und nutze jetzt auch pInfo mit der enum Struktur. Doch wie kann ich beim Login abfragen welche Fraktion derjenige ist? Ich habe bisher nur da stehen:
    GivePlayerMoney(playerid,dini_Int(save,"Geld"));
    SetPlayerWantedLevel(playerid,dini_Int(save,"Wanteds"));
    Folglich weiß ich nicht wie ich solche Dinge lade - Genauso wie Adminlevel.


    Mit freundlichen Grüßen
    Padarom

    if(strcmp(cmdtext, "/notafk", true) == 0){
    new pName1[MAX_PLAYER_NAME],
    string[128];
    GetPlayerName(playerid,pName1,sizeof(pName1));
    format(string,sizeof(string),"%s ist nun nicht mehr AFK!",pName1);
    SendClientMessageToAll(Gruen,string);
    TogglePlayerControllable(playerid, 1);
    return 1;
    }


    Würde ich sagen - Bin aber nicht 100pro sicher ;)