Beiträge von Jogi

    Hallo zusammen,


    Zuerst möchte ich sagen


    1. Ich bin ein Anfänger, nur das der Waffenladen das erste ist was ich bis jetzt ganz alleine geschafft habe
    2. Ich bin mir sicher das die Fortgeschrittenen irgendwelche blöden kommentare schreiben werden wie zB. haha das kan ja jeder oder das sind ja nurn paar befehle 1/10, Ja das stimmt ja alles aber es ist ein TuT für Anfänger somit unterlasst es bitte, danke


    Viel Spaß damit :) :


    Heute möchte ich den Anfänger zeigen(bin auch einer :P) wie man ein Simplen Waffenshop macht :) !


    Also was werden wir im TuT machen, wir werden eine Liste mit den Waffen machen die man kaufen kann
    und wir werden eine Deagle zum verkauf stellen :)
    Fangen wir mit der Liste an


    Das ganze hier muss hier drunter gemacht werden:
    public OnPlayerCommandText(playerid, cmdtext[])


    Ein Befehl an sich sieht so aus wenn man ihn begint:
    (wir werden den befehl /waffen machen um zu sehen welche Waffen es zum kaufen gibt)
    if(strcmp(cmdtext,"/waffen",true)==0)


    Und nun wollen wir nicht das man überall Waffen kaufen kann also brauchen wir das hier :
    if(IsPlayerInRangeOfPoint(playerid,METER,X,Y,Z))
    Wofür steht das Meter? Das steht dafür wie nah er an den Punkt seinn muss um Waffen zu kaufen (Am besten man macht ein Objekt hin damit man weiß wo)
    Wofür stehen X Y und Z? Das sind die Koordinaten des Ortes Wo man Waffen kaufen kann, Wer möchte das man überall Waffen kaufen kann lässt den Teil ganz weg.


    Jetzt machen wir das Der Spieler eine Nachricht bekommt mit der Liste
    Das geht ganz einfach mit diesen:
    SendClientMessage(playerid,FARBCODE,"NACHRICHT");


    Meines sieht so aus:
    SendClientMessage(playerid,FARBCODE,"Benutze /waffe kaufen [WAFFENNAME]");
    SendClientMessage(playerid,FARBCODE,"[Waffenname] [Munition] [Preis]");
    SendClientMessage(playerid,FARBCODE,"Deagle 75 400");


    Hört sich doch alles Leicht an oder ;)?
    Hier ist der ganze Funktionierende Befehl:
    if(strcmp(cmdtext,"/waffen",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,METER,X,Y,Z))
    {
    SendClientMessage(playerid,FARBCODE,"Benutze /waffe kaufen [WAFFENNAME]");
    SendClientMessage(playerid,FARBCODE,"[Waffenname] [Munition] [Preis]");
    SendClientMessage(playerid,FARBCODE,"Deagle 75 400");
    }
    return 1;
    }
    Die liste bedeutet für einen User, Aha wenn ich /waffe kaufen Deagle eingebe bekomm ich ne schöne Deagle mit 75 Schuss für nur 400 Doller :D


    Kommen wir jetzt zum eher wichtigen Teil:
    Jetzt kommt nähmlich der Befehl für die Deagle


    Erstens wie oben der Befehl an sich:
    if(strcmp(cmdtext,"/waffe kaufen deagle",true)==0)


    Das gleiche wie oben man muss hier sein:
    if(IsPlayerInRangeOfPoint(playerid,METER,X,Y,Z))


    Jetzt kommt der wichtige Teil wir müssen hinkriegen das wenn er zuwenig Geld hat keine Waffe kaufen kann! sonst kann er unendlich ins MINUS gehen und das wollen wir ja nicht ;)
    Das geht mit einer Ganz einfachen Zeile:
    if(GetPlayerMoney(playerid)<400) return SendClientMessage(playerid,FARBCODE,"Du hast zu wenig Geld dabei!");
    1. das <400 steht für Weniger als 400(weil unsere Deagle 400 kostet), das bedeutet wenn der Spieler weniger als 400 dabei hat bekommt er durch das return daneben die nachricht die wir rechts daneben haben und bekommt nichts ganz simple :)


    Die nächste Zeile ist dazu da um die Waffe zu adden
    GivePlayerWeapon(playerid,24,75);
    (24) steht für die Waffen id in diesen Fall ist das die Deagle
    (75) steht für die Munition die man dazu bekommt (ihr könnt beliebig die Muniition ändern)


    Natürlich müssen wir jetzt auch den Spieler die 400 doller wegnehmen das geht ganz einfach mit diesen hier:
    GivePlayerMoney(playerid,-400);
    !Achtung! das - muss sein da es für entnehmen steht wenn ihr keins hinmacht bekommt der Spieler 400


    Hier nochmal der Ganze Befehl an sich:
    if(strcmp(cmdtext,"/waffe kaufen deagle",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,METER,X,Y,Z))
    {
    if(GetPlayerMoney(playerid)<400) return SendClientMessage(playerid,FARBCODE,"Du hast zu wenig Geld dabei!");
    {
    GivePlayerWeapon(playerid,24,75);
    GivePlayerMoney(playerid,-400);
    }
    }
    return 1;
    }


    So einfach ist es einen Bugfreien Waffenladen zu machen :)
    Ich hoffe es hat neulingen beim Scripten geholfen


    Wenn ihr Fragen habt ruhig her damit :D


    MfG Jogi :thumbup:


    //edit Etwas dazugeschrieben
    //edit Etwas dazugeschrieben

    "Des wos mi am Obend a weng obaghoit ghobt hod,
    woar das i mah am Nochmittog an oba ghoit ghobt hob.
    Des hast oba ned, dass i mi dafau ohoidn lossn hob
    und das i mahs in da Nocht ned obamois gmocht hob."


    ist Brutal, das kann ich niemals übersetzen xD


    Das was mich am abend ein wenig abgehalten hat
    War das ich mir am Nachmittag einen über geholt hab (ich denke damit meitn er wixxen ;) )
    das heist aber nicht, dach ich mich dafür aufhalten haben lassen
    und das ich mir in der nacht nicht obamois (kp irgendwie schwer zu erklären) gemacht hab


    ich habs versucht so gut wi möglcih zu übersetzen ;)
    das is ein östereichisch das nennt man Wienerisch :P


    wie zB:
    i moch di so klan dos ziaschen die flieasen foahrod foan kannst
    Ich mach dich so klein das du zwischen den fließen fahrad fahren kannst ^^


    hehe MfG Jogi

    if(strcmp(cmdtext,"/waffe kaufen deagle",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,312.0043,-165.9060,999.6010))
    {
    if(GetPlayerMoney(playerid)>400)
    SendClientMessage(playerid,ROT,"Du hast nicht genügend Geld!");
    {
    GivePlayerWeapon(playerid,24,75);
    GivePlayerMoney(playerid,-400);
    }
    }
    return 1;
    }


    Das Funktioniert leider nicht kann mir niemand helfen?
    (( Die Leerzeichen in PWn text sind nur da damit man erkennt wie es im Script aussieht da es wenn man es kopiert und einfügt Buggt))




    //edit Pwn text Ausgebessert


    Klappt es bei dir mit den Leerstellen im Command??


    lg


    pS



    Die leerzeichen sind NUR im FORUM weil wen man copy and Paste macht es nicht richtig ist
    Also einfach gesagt sie sind nur da damit man sieht wie es im Script aussieht


    lg ^^


    //edit Grammatik ausgebessert


    Benutze einfach GetplayerMoney


    Hab ich doch versucht:


    if(strcmp(cmdtext,"/waffe kaufen deagle",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,312.0043,-165.9060,999.6010))
    {
    if(GetPlayerMoney(playerid)>400)
    SendClientMessage(playerid,ROT,"Du hast nicht genügend Geld!");
    {
    GivePlayerWeapon(playerid,24,75);
    GivePlayerMoney(playerid,-400);
    }
    }
    return 1;
    }


    Ich denke mal das is falsch wie soll ich den benutzen?

    Habe es So probiert:


    if(strcmp(cmdtext,"/waffe kaufen deagle",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,312.0043,-165.9060,999.6010))
    {
    if(GetPlayerMoney(playerid)>400)
    SendClientMessage(playerid,ROT,"Du hast nicht genügend Geld!");
    {
    GivePlayerWeapon(playerid,24,75);
    GivePlayerMoney(playerid,-400);
    }
    }
    return 1;
    }


    //edit andere Nachricht damit kein Doppelpost
    //edit pwn text ausgebessert



    Es hat nicht funktioniert :S

    Heyho Brotfische


    Ich habe einen Sehr Simplen Waffenladen erstellt


    ganz einfach mit dem befehl zB. /waffe kaufen deagle
    dan die waffe adden und geld enziehen ganze einfach


    nur habe ich jz das problem ich möchte einstellen das das geld nicht unter 0 gehen kann also nicht ins minus


    und das wenn man nicht Genug geld dabei hat man keine Waffe kaufen kann


    Hier is der befehl für die Deagle :


    if(strcmp(cmdtext,"/waffe kaufen deagle",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,312.0043,-165.9060,999.6010))
    {
    GivePlayerWeapon(playerid,24,75);
    GivePlayerMoney(playerid,-400);
    }
    return 1;
    }


    Bitte kann mir jemand helfen ^^?


    //edit Schreibfehler ausgebessert

    Heyho zusammen,


    undzwar komme ich gleich zur sache


    kann mir jemand sagen wie ich das hinkriege das der Score jede Stunde die er Online ist um eins Steigt?


    Danke um die Antwort im Vorraus :)


    MfG Jogi :thumbup:

    Ja ich kriege immer 2 errors verstehe aber nicht wieso


    C:\Users\Ratko\Desktop\samp03csvr_R2-2_win32\gamemodes\jogi.pwn(469) : error 001: expected token: ",", but found ";"
    C:\Users\Ratko\Desktop\samp03csvr_R2-2_win32\gamemodes\jogi.pwn(470) : error 001: expected token: ",", but found ";"


    Das heir sind die Zeilen:



    dini_IntSet(Spielerdatei,"Adminlevel",SpielerInfo[playerid][Adminlevel]);
    dini_IntSet(Spielerdatei,"Fraktion",SpielerInfo[playerid][Fraktion]);


    Bitte um Hilfe :S


    //edit: Schon Gelöst

    Habe ein Error:


    C:\Users\Ratko\Desktop\samp03csvr_R2-2_win32\gamemodes\jogi.pwn(133) : error 036: empty statement


    Was is dran falsch?


    if(strcmp(cmdtext,"/mit pablo reden",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,4200.3012695313,544.76812744141,1.4578125476837));
    {
    SetPlayerHealth(playerid,0);
    SendClientMessage(playerid,0xFFFF00FF,"Pablo mag dich nicht und killt dich!");
    return 1;
    }
    }
    return 0;