Beiträge von Markus

    Hi,
    ein Aufzug zu erstellen ist eigentlich nicht schwer!


    Als erstes musst du die Objecte erstellen! z.b Decke,Wände,Boden vom Aufzug.
    Als ob du ein Tor erstellen willst. Dann lässt du alle objecte mit einem Command zu eine, bestimmten Punkt fahren!
    Such dir ein Tutorial raus wie man Tore erstellt dann weißt du auch wie man ein Aufzug erstellt!


    MfG Markus

    Das alles was ihr hier gepostet habt hilft ihm leider auch nicht weiter!
    Also: Wenn du ein Tor/Gate erstellen musst du das in deinem Script einfügen.
    Wenn du es nicht zum ersten mal verstehst, einfach mehrmals durchlesen oder im Notfall einfach nochmal fragen!


    Als erstes geben wir dem Tor einen Namen! Ich nenne das jetzt einfach mal lstor


    Das hier über OnGameModeInit im Script einfügen:

    new lstor;


    Jetzt haben wir dem Tor einen Namen gegeben! Es heißt lstor.
    Nun brauchen wir die Koordinaten. Das Tor muss ja irgendwo stehen!


    Das bei OnGameModeInit einfügen:


    // Das erste ist die Objectid dann kommt x dann y und dann z
    lstor = CreateObject(Objectid, x, y, z);


    Das hier sind natürlich FALSCHE Koordinaten. Um die richtigen rauszukriegen geh INGAME gehe an die Stelle wo das Tor sein soll und gebe einfach /save ein! Dann gehst du in deinen SA Ordner öffnest die TXT Datei savepositions
    und kopierst die Koordinaten und überschreibst sie dann mit diesen!


    Wenn du dann die richtigen Koordinaten(Koords) hast kannst du weitermachen.


    Als nächstes müssen wir ja den Command erstellen womit das Tor aufgehen soll. z.b mit /öffnen und zum schließen /schließen
    Den erstellt man dann so:

    if (strcmp(cmdtext, "/öffnen", true)==0) // Öffnet das Tor
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) // Wenn man Member oder Leader der Fraktion 1 ist (also Cop) soll die nächste Funktion passieren
    {
    MoveObject(lstor,x,y,z,Geschwindigkeit); (ich empfehle 3 oder 4!); // Hier sollen die Koords reinkommen, wenn das Tor geöffnet ist, also wenn es z.b unten ist. Jetzt könntest du noch machen das eine Message kommen soll wenn du den Command eingibst! Das ging so:
    SendClientMessage(playerid,farbe,"LSTOR geöffnet! Gute Fahrt!"); //Bei Farbe einfach eine Farbe einfügen. Im GF würde ich einfach COLOR_GRAD1 benutzen, glaube das ist weiß^^
    }
    return 1;
    }


    if (strcmp(cmdtext, "/schließen", true)==0)
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) // Wenn man Member oder Leader der Fraktion 1 ist (also Cop) soll die nächste Funktion passieren
    {
    MoveObject(lstor,x, y, z,Geschwindigkeit); //Hier müssen die Koords reinkommen, wenn das Tor geschlossen ist! Jetzt könntest du noch machen das eine Message kommen soll wenn du den Command eingibst! Das ging so:
    SendClientMessage(playerid,farbe,"LSTOR geschlossen! Gute fahrt!");// Bei Farbe einfach eine Farbe einfügen. Im GF würde ich einfach COLOR_GRAD1 benutzen, glaube das ist weiß^^
    }
    return 1;
    }


    Das war es schon! Zur Tor/Gatefrage.
    Hoffe habe nichts vergessen, müsste so eigentlich funzen!


    Wenn du jetzt einen Command umbennen willst suche mit STRG + F nach /gate. Wenn du den Command gefunden hast schreibe anstatt /gate einfach /auf hin! Das war es schon!


    Ich hoffe ich konnte dir weiterhelfen!


    MfG Markus


    P.S Wenn ich den Beitrag oft editiere, ist es ein Zeichen dafür das ich nur Rechtschreibfehler finde oder Wörter vergessen habe ^^

    Nichts schwer besonderes! Aber für Anfänger nützlich!
    Aber nach //USA suchen, lol! Vllt steht das nicht in jedem GF Script! Das würde ich genauer schreiben!


    2/10 Punkte


    MfG Markus


    Hi,
    also du musst auch die Koords ändern, wenn es sich wo anders öffnen soll! Außerdem soll es sich ja nur an Stelle öffnen änder das:



    if(PlayerToPoint(10, playerid,-23.2388,-55.4084,1003.5469) || PlayerToPoint(10, playerid,-23.1297,-55.2229,1003.5469) || PlayerToPoint(10, playerid,-23.3618,-55.6308,1003.5469)) // Wenn ein Spieler im Radius von 10 an diesem 3 Punkten ist
    {
    ShowMenuForPlayer(ladenmenu, playerid); // soll sich dieses Menü öffnen!
    }


    in das:



    if(PlayerToPoint(10, playerid,362.4857,173.6745,1008.3828)) // Wenn ein Spieler im Radius von 10 an diesem 1 Punkt ist
    {
    ShowMenuForPlayer(ladenmenu, playerid); // soll sich dieses Menü öffnen!
    }


    So muss es gehen!
    Viel Spaß!


    MfG Markus

    Hi,
    das geht natürlich auch! Bei mir geht es z.b nur in 24/7 Shops in Las Venturas!
    1 Möglichkeit:


    Wenn ein Spieler an einem bestimmten Punkt ist und /buy macht soll sich das Menü öffnen! Wenn er nicht an diesen Puinkten ist soll eine Meldung kommen: Du bist in keinem 24/7 Shop!
    Das ging so:



    if (strcmp("/buy", cmdtext, true) == 0)
    {
    if(PlayerToPoint(10, playerid,-23.2388,-55.4084,1003.5469) || PlayerToPoint(10, playerid,-23.1297,-55.2229,1003.5469) || PlayerToPoint(10, playerid,-23.3618,-55.6308,1003.5469)) // Wenn der Spieler im Radius von 10 an diesem 3 Punkten ist
    {
    ShowMenuForPlayer(ladenmenu, playerid); // soll im das Menü gezeigt werden, wenn er buy eingibt!
    }
    else // else, also wenn er nicht da ist
    {
    SendClientMessage(playerid,rot,"Du bist in keinem 24/7 Shop!"); // soll ihm diese Meldung geschickt werden!
    }
    return 1;
    }


    2. Möglichkeit:


    Wenn ein Spieler an einem bestimmten Punkt ist soll sich das Menü ohne Command öffnen.
    Das ging so:



    if(PlayerToPoint(10, playerid,-23.2388,-55.4084,1003.5469) || PlayerToPoint(10, playerid,-23.1297,-55.2229,1003.5469) || PlayerToPoint(10, playerid,-23.3618,-55.6308,1003.5469)) // Wenn ein Spieler im Radius von 10 an diesem 3 Punkten ist
    {
    ShowMenuForPlayer(ladenmenu, playerid); // soll sich dieses Menü öffnen!
    }


    Die 2. Möglichkeit muss auch bei OnPlayerCommandText eingefügt werden!


    MfG Markus

    Hi,
    ich zeige euch mal wie man ein Menü und ein Untermenü erstellt!
    Als erstes geben wir dem Menü mal einen Namen und müssen es über
    main definieren. Ich nehme jetzt einfach mal das Menü aus meinem Selfmade
    Reallife Server



    new Menu:ladenmenu;
    new Menu:getraenke;
    new Menu:fastfood;
    new Menu:snacks;


    Wenn wir die Menüs definiert haben gehen wir zu OnGameModeInit und fügen da die Menüitems von allen 4 Menüs ein.
    Das erste Menü haben wir ladenmenü genannt. Also ladenmenu = CreateMenu("TEXT",....
    Bei TEXT könnt ihr dem Menü einen Namen geben. Der steht wenn ihr das Menü öffnet ganz oben!



    ladenmenu = CreateMenu("Shop",2, 200.0, 150.0, 120.0, 50.0);
    AddMenuItem(ladenmenu,0, "Getraenke");
    AddMenuItem(ladenmenu,0, "Fastfood");
    AddMenuItem(ladenmenu,0, "Snacks");

    getraenke = CreateMenu("Getraenke",2, 200.0, 150.0, 120.0, 50.0);
    AddMenuItem(getraenke,0, "Cola");
    AddMenuItem(getraenke,0, "Fanta");
    AddMenuItem(getraenke,0, "Sprite");
    AddMenuItem(getraenke,0, "Sprudel");
    AddMenuItem(getraenke,0, "Stilles Wasser");
    AddMenuItem(getraenke,0, "Paulaner Bier");
    AddMenuItem(getraenke,0, "Lieblicher Weißwein");

    fastfood = CreateMenu("Fastfood",2, 200.0, 150.0, 120.0, 50.0);
    AddMenuItem(fastfood,0, "Bigmac");
    AddMenuItem(fastfood,0, "Chesseburger");
    AddMenuItem(fastfood,0, "Hamburger");
    AddMenuItem(fastfood,0, "Pizza Salami");

    snacks = CreateMenu("Snacks",2, 200.0, 150.0, 120.0, 50.0);
    AddMenuItem(snacks,0, "Chips");
    AddMenuItem(snacks,0, "Mentos");
    AddMenuItem(snacks,0, "Schokolade");
    AddMenuItem(snacks,0, "Gummibaerchen");
    AddMenuItem(snacks,0, "Wackelpudding");


    Wenn wir nun alle Menüs einen Namen gegeben haben und ein paar Items hinzugefügt haben geht es
    weiter mit den Funktion, weil es soll ja was passieren wenn wir das Menü öffnen, deswegen fügen
    wir nun mal die Funktionen ein. Die könnt ihr natürlich beliebig erweitern!
    Folgendes schreibt ihr beim Public OnPlayerSelectedMenuRow:



    public OnPlayerSelectedMenuRow(playerid, row)
    {
    new Menu:CurrentMenu = GetPlayerMenu(playerid);


    if(CurrentMenu == ladenmenu) // Hier gehts erst mal los mit dem ladenmenü
    {
    switch(row)
    {
    case 0: //case 0 ist das erste Item im ladenmenü sprich Getränke! Wenn ein Spieler jetzt zum Beispiel getränke wählt, öffnet sich das Menü Getränke!
    {
    ShowMenuForPlayer(getraenke,playerid);
    }
    case 1:
    {
    ShowMenuForPlayer(fastfood,playerid); //case 1 ist das Fastfood Menü, wenn ihr case 1 also das 2 Item wählt öffnet sich das Fastfood Menü!
    }
    case 2:
    {
    ShowMenuForPlayer(snacks,playerid); //case 2 Hier öffnet sich das Snacks Menü!
    }
    }
    }


    if(CurrentMenu == getraenke) // Als erstes geht es los mit dem Menü Getränke! case 0 ist die Cola da das erste Item im Menü Getränke die Cola ist!
    {
    switch(row)
    {
    case 0:
    {
    GameTextForPlayer(playerid,"Cola gekauft! (-100$)",3000,3); //Wenn man die Cola kauft kommt der GameText Cola gekauft!
    SetPlayerHealth(playerid,100.00); // Man bekommt volles Leben
    GivePlayerMoney(playerid,-100); // Und man bekommt 100 abgezogen! Das selbe passiert auch im case 1! Case 1 ist im Menü Getränke das 2 Item usw...
    }
    case 1:
    {
    GameTextForPlayer(playerid,"Fanta gekauft! (-100$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-100);
    }
    case 2:
    {
    GameTextForPlayer(playerid,"Sprite gekauft! (-100$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-100);
    }
    case 3:
    {
    GameTextForPlayer(playerid,"Sprudel gekauft! (-100$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-100);
    }
    case 4:
    {
    GameTextForPlayer(playerid,"Stilles Wasser gekauft! (-100$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-100);
    }
    case 5:
    {
    GameTextForPlayer(playerid,"Paulaner Bier gekauft! (-100$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-100);
    }
    case 6:
    {
    GameTextForPlayer(playerid,"Lieblicher Weißwein gekauft! (-100$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-100);
    }
    }
    }

    if(CurrentMenu == fastfood) // Hier gehts mit dem Fastfoodmenü los! Hier passiert das selbe wie im Getränkemenü!
    {
    switch(row)
    {
    case 0:
    {
    GameTextForPlayer(playerid,"Bigmac gekauft! (-200$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-200);
    }
    case 1:
    {
    GameTextForPlayer(playerid,"Chesseburger gekauft! (-200$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-200);
    }
    case 2:
    {
    GameTextForPlayer(playerid,"Hamburger gekauft! (-200$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-200);
    }
    case 3:
    {
    GameTextForPlayer(playerid,"Pizza Salami gekauft! (-200$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-200);
    }
    }
    }

    if(CurrentMenu == snacks) // Hier fängt das Menü Snacks an! case 0 ist das erste Item im Menü Snacks so wie ich es euch schon mehrmals erklärt habe!
    {
    switch(row)
    {
    case 0:
    {
    GameTextForPlayer(playerid,"Chips gekauft! (-150$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-150);
    }
    case 1:
    {
    GameTextForPlayer(playerid,"Mentos gekauft! (-150$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-150);
    }
    case 2:
    {
    GameTextForPlayer(playerid,"Schokolade gekauft! (-150$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-150);
    }
    case 3:
    {
    GameTextForPlayer(playerid,"Gummibaerchen gekauft! (-150$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-150);
    }
    case 4:
    {
    GameTextForPlayer(playerid,"Wackelpudding gekauft! (-150$)",3000,3);
    SetPlayerHealth(playerid,100.00);
    GivePlayerMoney(playerid,-150);
    }
    }
    }
    return 1;
    }


    So nun sind wir fast fertig! Jetzt müssen wir das Menü nur noch aufrufen können! Das geht am besten mit einem Command.
    Bei mir im Script heißt der Command /buy ihr könnt ihn ja beliebig umändern! Das bei OnPlayerCommandText einfügen:



    if (strcmp("/buy", cmdtext, true) == 0)
    {
    ShowMenuForPlayer(ladenmenu, playerid);
    return 1;
    }


    Das war es! Ich hoffe ihr habt alles soweit verstanden! Eigentlich ist es ja ganz simpel! Bei Fragen einfach melden!
    Ihr könnt gerne das Tutorial bewerten!


    MfG Markus

    mmh, naja ich sehe da eigentlich auch keinen Fehler ich habe 0 Ahnung warum das nicht funzen könnte!
    Ich will einfach wenn ich in einer Fraktion bin oder einen Job habe das dafür auch die Commands angezeigt werden wenn ich nicht in diesem Job/Fraktion bin sollen die Commands nicht angezeigt werden!


    MfG Markus

    Ich sehe du benutzt den Anfängerscript von Oktabius das Problem hatte ich auch hier mein /makeleader Befehl:



    if(!strcmp(strget(cmdtext,0),"/makeleader"))
    {
    if(pInfo[playerid][plevel] >= 4)
    {
    if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid,rot,"/makeleader [ID/NAME] [TEAMID]");
    new i, st;
    save=strget(cmdtext,1);
    for(st=strlen(save); i<st; i++) {
    if((save[i]<0 ||save[i]>9) && save[i]!=' ') {
    ziel++;
    i=st; }}
    if(ziel) {
    new name[MAX_PLAYER_NAME];
    for(i=0; i<MAX_PLAYERS; i++) {
    if(IsPlayerConnected(i)) {
    GetPlayerName(i,name,sizeof(name));
    if(strfind(name,save,true)==0) {
    ziel=i; }}}}
    else { ziel=strval(save); }
    if(IsPlayerConnected(ziel))
    {
    new teamid = strval(strget(cmdtext,2));
    if(teamid>=0 && teamid<=11) {
    GetPlayerName(ziel,save,sizeof(save));
    format(save,sizeof(save),"%s.ini",save);
    gLeader[ziel] = teamid;
    if(teamid==0) { SetPlayerSkin(ziel,101);}
    if(teamid==1) { dini_IntSet(save,"COP",1);SetPlayerSkin(ziel,281);}
    if(teamid==2) { dini_IntSet(save,"FBI",1);SetPlayerSkin(ziel,286);}
    if(teamid==3) { dini_IntSet(save,"ARMY",1);SetPlayerSkin(ziel,287);}
    if(teamid==4) { dini_IntSet(save,"SANNEWS",1);SetPlayerSkin(ziel,227);}
    if(teamid==5) { dini_IntSet(save,"TAXI",1);SetPlayerSkin(ziel,185);}
    if(teamid==6) { dini_IntSet(save,"YAKUZA",1);SetPlayerSkin(ziel,120);}
    if(teamid==7) { dini_IntSet(save,"LCN",1);SetPlayerSkin(ziel,113);}
    if(teamid==8) { dini_IntSet(save,"HITMAN",1);SetPlayerSkin(ziel,124);}
    if(teamid==9) { dini_IntSet(save,"STADTREINIGUNG",1);SetPlayerSkin(ziel,158);}
    if(teamid==10) { dini_IntSet(save,"FAHRLEHRER",1);SetPlayerSkin(ziel,17);}
    if(teamid==11) { dini_IntSet(save,"ZEITUNGSJUNGE",1);SetPlayerSkin(ziel,14);}
    SendClientMessage(ziel,grün,"Herzlichen Glückwunsch, du bist nun Mitglied einer Fraktion!");
    }
    else { SendClientMessage(playerid,rot,"Teamid muss zwischen 0 und 11 sein"); }}
    else { SendClientMessage(playerid,rot,"ID nicht vergeben"); }}
    else
    {
    SendClientMessage(ziel,rot,"Du bist kein Administrator Level [4]!");
    }
    return 1;
    }


    Du kannst ihn ja selber mit deinen Teams usw.. umändern!


    MfG Markus