Beiträge von Stas

    Hey Leute, ich habe ein kleines Problem seit dem Uodate auf SAMP 0.3. Im Englischen Forum antwortet mir keiner / oder sind zu faul dazu ... daher wollte ichs mal hier versuchen.


    Folgendes Problem: Wenn der Spieler stirbt soll er ins Krankenhaus, jedoch passiert das nicht mehr. Manchmal bekommt er den CJ - Skin und respawnt auf der gleichen Stelle (Zeit läuft so, als ob er im KH ist) und manchmal steht das Stay Within the World Bounderies und das ganze Spielt kackt ab.


    Kann mal jemand der Ahnung hat einen Blick drauf werfen und sagen, wo es hackt.


    Bitte :)


    http://pastebin.com/f14c27282

    Hallo Leute,


    hab eine kurze Frage zu OnPlayerText - strval(text).
    Der Spieler soll nach aussuchen des Menu Punktes Abheben/Einzahlen an einem Geldautomaten den Betrag in das Textfeld eingeben. Dieses soll ihm dann überwiesen werden, ohne dass es nochmals im Textfenster erscheint und es jeder lesen kann.


    Zurzeit sieht es so bei mir aus:

    public OnPlayerText(playerid, text[])
    {
    new string[256];
    new tmp[128];
    ...
    if(atmabheben[playerid] == 1)
    {
    new betrag = strval(text);
    if (betrag <= 2500 && betrag > 0)
    {
    if(PlayerInfo[playerid][pBank] >= betrag)
    {
    GivePlayerCash(playerid,betrag);
    PlayerInfo[playerid][pBank] = PlayerInfo[playerid][pBank]-betrag;
    format(string, sizeof(string), "[INFO:] Du hast $%d von deinem Konto abgehoben, Neuer Kontostand: $%d", betrag,PlayerInfo[playerid][pBank]);
    SendClientMessage(playerid, COLOR_WHITE, string);
    PlayerActionMessage(playerid,15.0,"nimmt ein paar Scheine aus dem Geldautomat");
    OnPlayerDataSave(playerid);
    TogglePlayerControllable(playerid,1);
    atmabheben[playerid] = 0;
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "[ERROR:] Dein Konto ist nicht ausreichend gedeckt!");
    TogglePlayerControllable(playerid,1);
    atmabheben[playerid] = 0;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_LIGHTRED,"[INFO:] Du kannst an einem Geldautomaten höchstens $2500 abheben.");
    TogglePlayerControllable(playerid,1);
    atmabheben[playerid] = 0;
    }
    return 1;
    }
    if(atmeinzahlen[playerid] == 1)
    {
    new betrag = strval(text);
    if (betrag <= 2500 && betrag > 0)
    {
    if(GetPlayerCash(playerid) >= betrag)
    {
    GivePlayerCash(playerid,-betrag);
    PlayerInfo[playerid][pBank] = PlayerInfo[playerid][pBank]+betrag;
    format(string, sizeof(string), "[INFO:] Du hast $%d auf dein Konto eingezahlt, Neuer Kontostand: $%d", betrag,PlayerInfo[playerid][pBank]);
    SendClientMessage(playerid, COLOR_WHITE, string);
    PlayerActionMessage(playerid,15.0,"schiebt ein paar Scheine in den Geldautomat");
    OnPlayerDataSave(playerid);
    TogglePlayerControllable(playerid,1);
    atmeinzahlen[playerid] = 0;
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "[ERROR:] Dein Konto ist nicht ausreichend gedeckt!");
    TogglePlayerControllable(playerid,1);
    atmeinzahlen[playerid] = 0;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_LIGHTRED,"[INFO:] Du kannst an einem Geldautomaten höchstens $2500 einzahlen.");
    TogglePlayerControllable(playerid,1);
    atmeinzahlen[playerid] = 0;
    }
    return 1;
    }
    ...


    Wie kann ich das korrigieren, damit es so läuft wie oben beschrieben?

    Ich habs so. Wenn der Spieler stirbt (OnPlayerDeath), wirds überprüft ob "killerid" nicht in der gleichen Fraktion ist. Dann wird eine Variable um 1 erhöht. Hat sie den Wert 3 erreicht, startet der Gangwar.

    Nutze dieses Script schon seit 2 Wochen auf meinem 0.3 Testserver und es läuft viel besser als ohne.
    Dickes Lob und vielen vielen Dank an dich ... genau das hatte ich gesucht. P E R F E K T ! :love:

    PutPlayerInVehicle ... dort hast du die falsche vehicleid eingetragen .. sorg dafür, das dein zug mit der dort eingetragenen idübereinstimmt .. oder machs mit einer variablen:
    http://forum.sa-mp.com/index.php?topic=119947.0


    new MyFirstNPCVehicle; //Global variable!
    public OnGameModeInit()
    {
    print("my gamemode");
    ConnectNPC("MyFirstNPC","mynpc");
    MyFirstNPCVehicle = CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    if(IsPlayerNPC(playerid)) //Checks if the player that just spawned is an NPC.
    {
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname)); //Getting the NPC's name.
    if(!strcmp(npcname, "MyFirstNPC", true)) //Checking if the NPC's name is MyFirstNPC
    {
    PutPlayerInVehicle(playerid, MyFirstNPCVehicle, 0); //Putting the NPC into the vehicle we created for it.
    }
    return 1;
    }
    //Other stuff for normal players goes here!
    return 1;
    }

    Wenn du wirklich einen Server starten willst, lern zu erst die Grundlagen und mach dich an ein anderes Script ran. Es gibt genug andere geile ... GF ist schon zu sehr verbreitet: Es geht doch darum, den Usern etwas zubieten, was andere Serve rnicht haben, so kannst du die für dich gewinnen.

    [npc:join] FirstBot has joined the server (6:127.0.0.1)
    [npc:part] FirstBot has left the server (6:0)


    Öhhh? Was los? Connected und left?


    Mit: if(IsPlayerNPC(playerid)) return 1; musst die die Funktionen umgehen, die Abfragen, ob der Spieler eingeloggt ist.
    Sprich OnPlayerSpawn, OnPlayerRequestClass, OnPlayerConnect etc. Den Rest machst du wie im Tut.
    Nimm am besten folgendes: http://forum.sa-mp.com/index.php?topic=119947.0
    Besser als das Zusammenkopierte in diesem Forum ... ^^

    Ich halte ehrlich gesagt nicht viel von den Versionen nach XP ... denn da ist alles nur verbuggt. Nutze aber dennoch Vista, weil da shalt Original auf dem neuen Lappi war und ich es nicht einfach wegschmeissen will. Vllt. will ja Windows 7 bloss bei dir nich laufen, auf samp.com ist ja keine Beschwerde dagegen.

    Es ist ja nicht schlimm, wenn man ein Script nicht mag ... aber dann sollte man es auch nieder machen, denn das war schon eine Leistung. Bringt doch einfach was eigenes und besseres herraus, wenn der so scheisse sein soll. Sowas ist einfach nur arm und kiddyhaft.


    @ Einstein: ge'memhackt' oO Was ist das? :D


    @ Woozie: Unter Vista ist es perfekt. Hab bis jetzt keine Probleme gehabt. Nur im scripttechnischen Bereich mit AttachTrailerToVehicle ... das funkzt leider nicht :x Und wegen den PickUps, mein Server streamt rund 1000 PickUps, 200 MapIcons und ~1500 Objekte - problemlos.