Beiträge von KTP

    Hallo,
    Ich habe ein Problem und zwar möchte ich, dass wennd er Spieler in der Bank /einzahlen eingibt,
    dass der eingegebene Betrag auf dem Konto des Spielers ADDIERT wird.
    Nur bei mir setzt das System das Konto des Spielers auf den eingegebenen Betrag.
    Ich möchte aber das der Betrag mit dem Bankonto addiert wird.
    Für die das nicht verstehen stelle ich es noch einmal anders da:


    /einzahlen 50
    Kontostand: 50
    /einzahlen 100
    Kontostand: nicht 150 sondern 100


    Hier mal die Codes:


    Code
    if(GetPlayerMoney(playerid) <= money) return SendClientMessage(playerid,WEIS,"So viel Geld hast du nicht in der Tasche");
    	{
    		SetPVarInt(playerid,"Bank",int_value+money);
    		GivePlayerMoney(playerid,-money);
    		format(text,sizeof(text),"Du hast %i$ eingezahlt, dein Kontostand beträgt: %i$",money,GetPVarInt(playerid,"Bank"));
    		SendClientMessage(playerid,WEIS,text);
    	}


    Ich schätze mal, dass int_value nicht richtig mit dem Betrag addiert wird

    Hallo,
    Da in SAMP ja nicht alle Sounds funktionieren, möchte ich gern mal wissen, ob das GTA San Andreas Lied bei denen dabei ist, die in
    SAMP funktionieren.

    Hallo,
    Nachdem ich schon länger kein Tutorial mehr gemacht habe, habe ich mich jetzt entschlossen
    ein neues zu machen.

    Was ist mit Camera Tool gemeint?


    Was hier gezeigt und gescriptet wird, kann behilflich für Leute sein,
    die ein Film Script machen wollen, oder einfach nur eine coole
    Camerafunktion haben will.
    Die Camera folgt dem Spieler sobald sie gesetzt wurde.
    Um das besser zu verstehen stelle ich es mal grafisch da:


    P<---C


    C
    |
    |
    V
    P


    Also die Camera folgt dem Spieler ( mit SetPlayerCameraLookAt).


    Wir beginnen


    Für diese Funktion benötigen wir einen Timer, der die Camera
    immerwieder erneuert.
    Um einen Timer zu erstellen müssen wir zuerst den Public dafür
    "definieren".
    Das machen wir mit diesem Code:


    Code
    forward Camera();


    So nun lassen wir den Timer mal beiseite und witmen uns voll und ganz
    unserer eigentlichen Aufgabe.
    Wir erstellen erstmal einen Command.
    Hier mache ich das mit ocmd, da ich damit besser zurecht komme.
    Ihr könnt einfach strcmp nutzen, dies ist hier irrelevant.


    Code
    ocmd:camera(playerid)
    {
    	return 1;
    }


    Unser Befehl dazu heißt also /camera.
    Als nächstes definieren wir die Floats: X , Y und Z, weil wir sie als Variablen benötigen.
    also unter die erste { und über dem return schreiben wir:


    Code
    new Float:X,Float:Y,Float:Z;


    Ihr könnt diese so nennen wie ihr wollt.


    Code
    new Float:posX,Float:posY,Float:posZ;


    Würde also auch gehen, wenn euch die normalen X,Y und Z zu langweilig sind.
    Um nun die Camera aufzustellen und diese stelle ich in die nähe des Spielers,
    tippen wir also:


    Code
    GetPlayerPos(playerid,X,Y,Z);


    Und direkt darunter


    Code
    SetPlayerCameraPos(playerid,X+3,Y+3,Z);


    Hier addiere ich zu dem Wert X und dem Wert Y jeweils eine, damit die Camera nicht
    im Spieler ist.
    Als nächstes brauchen wir nun den Timer.
    Zunächst stellen wir in ein, dies ist vergleichbar mit einer Küchenuhr.


    Code
    SetTimer("Camera",1,1);


    "Camera" ist der Public, der nach ablauf des Timers ausgeführt werden soll.
    Danach steht eine 1.
    Diese steht für die Zeit, die der Timer braucht.
    1000 Millisekunden entsprechen einer Sekunde.
    Um leichter den Timer zu stellen kann man auch
    1000*60 Eine Minute und dann vielleicht noch
    1000*60*5 um Fünf Minuten draus zu machen.
    Hier benötigen wir aber nur eine Milliskunde, damit die Camera nicht zu viel hackt.


    Die letzte 1 bedeutet, ob der Timer nach ablauf wiederholt werden soll.

    Code
    1 JA
    0 NEIN


    So der Timer ist gestellt, nun müssen wir nur noch bestimmen, was nach ablauf des
    Timers geschehen soll.
    Also geht nach ganz unten im Script und macht dort:


    Code
    public Camera()
    {
    	return 1;
    }


    Da in diesen Publics playerid nicht definiert ist, müssen wir dies
    manuell tun.
    Also:


    Code
    new playerid;


    Dann brauchen wir nochmal die Floats:


    Code
    new Float:X,Float:Y,Float:Z;


    Nun soll die Camera ja auf den Spieler gerichtet werden.
    Um dies zu ermöglichen müssen wir die Position des Spielers bekommen
    und dann die Camera auf den Spieler richten.
    Das machen wir so:


    Code
    GetPlayerPos(playerid,X,Y,Z);


    Und um die Camera auf den Spieler zu richten dann noch das:


    Code
    SetPlayerCameraLookAt(playerid,X,Y,Z);


    So das war alles.
    Wir könnten jetzt noch das ganze Sytsem ausschmücken- etwa die Camera auf bestimmte Personen richten oder die
    Camera komplett selber steuern.
    Aber das könnt ihr ja mal selber versuchen : ).
    Bei fragen postet nicht hierdrunter sondern wendet euch bitte
    mit einer PN an mich, dann kann ich euch schneller helfen.


    Ich hoffe ich habe euch das System klar gemacht und gezeigt, dass es total simpel ist
    eine wirklich coole funktion zu erzeugen.


    MFG Ketchup

    PVar ist mir zu unsicher, da ich schon mein Adminsystem über die Pvars laufen lasse und es da immer wieder zu schwierigkeiten kommt.
    Aber ich kann es ja mal versuchen.
    //Edit Versuch abgebrochen, habe keine Lust mein Speichersystem auf den Kopf zu stellen.
    Bitte eine andere Idee