Beiträge von RAY

    ich machs auch anders weil ich mein eigenes script sons nicht lesen kann XD
    z.B.
    public OnPlayerComandText(playerid,cmdtext)
    {
    if(strcmp("/hiho",cmdtext,true)==0)
    {
    SendPlayerMessage(playerid,COLOR,"LOL");
    }
    }

    Zitat von der Signatur von Rafelder:
    ...
    Und Leute, die nicht suchen können oder sich nicht mit scripten beschäftigen können, d.h. bei jedem kleinsten Ding: Plopp - Neuer Thread.
    Meine lieben faulen Thread Aufmacher: www.gidf.de

    okay
    Du machst halt mehr AddStaticPickups rein und
    unter
    Public OnPlayerPickUppickup


    if(pickupid == 1)
    {
    SetPlayerPos(playerid,x achse,y achse,z achse); //bei den Achsen x,y,z Koordinaten eingeben wohin
    }
    machst du das so oft wie du pickups machst
    und bei
    if(pickupid == 1) wird das ganze von 0 fortlaufend deklariert also ca so


    if(pickupid == 0) // erstes pickup
    {
    FUNKTION
    }
    if(pickupid == 1) //zweites pickup
    {
    FUNKTION
    }
    .
    .
    .
    .

    so ich versuche mich mal an meinem ersten tutorial.


    also ich zeige das ganze an einem gamemode und markiere alles was neu ist mit "//-------------------".
    PS: ES SOLLTEN GRUNDKENNTNISSE DES SCRIPTENS VORHANDEN SEIN
    als erstes:

    #include <a_samp>
    new Menu:tutorial; //-------------------

    das "new Menu:tutorial" ist die variable für das menü die später gebraucht wird



    #include <a_samp>
    new Menu:tutorial;
    new tutpickup; //-------------------

    das "new tutpickup" ist die variable die jetzt im nächsten schritt gebraucht wird



    #include <a_samp>
    new Menu:tutorial;
    new tutpickup;
    main()
    {
    print("\n------");
    print("tutorial");
    print("------\n");
    }
    public OnGameModeInit()
    {
    SetGameModeText("tutorial");
    AddPlayerClass(0,x,y,z,rot,w1,m1,w2,m2,w3,m3);
    tutpickup = AddStaticPickup(pickupid,type,x,y,z); //-------------------

    hier ist die variable "tutpickup" als pickup deklariert worden.
    (pickupids: http://samp.martoks-place.de/w….html#Pickup_model_ID.27s )
    (typeids: http://samp.martoks-place.de/w…kup_help.html#Pickup_Type )



    #include <a_samp>
    new Menu:tutorial;
    new tutpickup;
    main()
    {
    print("\n------");
    print("tutorial");
    print("------\n");
    }
    public OnGameModeInit()
    {
    SetGameModeText("tutorial");
    AddPlayerClass(0,x,y,z,rot,w1,m1,w2,m2,w3,m3);
    tutpickup = AddStaticPickup(pickupid,type,x,y,z);
    tutorial = CreateMenu("Tutorial",1,200.0,100.0,150.0,150.0); //-------------------

    hier wird die menü variable "new Menu:tutorial;" als menü deklariert.
    "CreateMenu" setzt sich wie folgt zusammen:
    CreateMenu ( "Tutorial", 1, 200.0, 100.0,150.0,150.0);
    leitet menü erstellung ein, menü name, reihen des menüs,positon auf dem bildschrim X ,positon Y, höhe,breite



    #include <a_samp>
    new Menu:tutorial;
    new tutpickup;
    main()
    {
    print("\n------");
    print("tutorial");
    print("------\n");
    }
    public OnGameModeInit()
    {
    SetGameModeText("tutorial");
    AddPlayerClass(0,x,y,z,rot,w1,m1,w2,m2,w3,m3);
    tutpickup = AddStaticPickup(pickupid,type,x,y,z);
    tutorial = CreateMenu("Tutorial",1,200.0,100.0,150.0,150.0);
    AddMenuItem(tutorial,1,"Waffen"); //-------------------
    AddMenuItem(tutorial,1,"Ende"); //-------------------
    }

    hier wird ein auswahlpunkt des menüs hinzugefügt.
    "AddMenuItem" setzt sich wie folgt zusammen:
    AddMenuItem (tutorial ,1 ,"Waffen");
    leitet ein das ein auswahlpunkt hinzugefügt wird,menü variable,reihe wo es stehen soll,auswahlpunkt text



    #include <a_samp>
    new Menu:tutorial;
    new tutpickup;
    main()
    {
    print("\n------");
    print("tutorial");
    print("------\n");
    }
    public OnGameModeInit()
    {
    SetGameModeText("tutorial");
    AddPlayerClass(0,x,y,z,rot,w1,m1,w2,m2,w3,m3);
    tutpickup = AddStaticPickup(pickupid,type,x,y,z);
    tutorial = CreateMenu("Tutorial",1,200.0,100.0,150.0,150.0);
    AddMenuItem(tutorial,1,"Waffen");
    AddMenuItem(tutorial,1,"Ende");
    }
    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
    }
    public OnPlayerPickUpPickup(playerid,pickupid) //-------------------
    { //-------------------
    if(pickupid == 0) //-------------------
    { //-------------------
    ShowMenuForPlayer(tutorial,playerid); //-------------------
    TogglePlayerControllable(playerid,0); //-------------------
    } //-------------------
    } //-------------------

    hier wird gezeigt was passiert wenn der player das pickup aufnimmt.
    if(pickupid == 0)
    heist soviel wie "ist die pickupid gleich 0 (wie bei uns der fall weil wir nur ein pickup haben und bei null angefangen wird zu zählen)


    ShowMenuForPlayer ( tutorial, playerid);
    zeigt dem player ein menü,die variable des menüs das ausgewählt werden soll,wenn player id genuzt ist das menü für eine bestimmte id sichtbar (das wollen wir nicht also playerid(meint alle ids))


    TogglePlayerControllable(playerid,0);
    soll der player wärend er im menü ist sich nicht bewegen können muss am ende 0 stehen wenn ja das ganze weglassen oder 0 druch 1 ersetzen.



    #include <a_samp>
    new Menu:tutorial;
    new tutpickup;
    main()
    {
    print("\n------");
    print("tutorial");
    print("------\n");
    }
    public OnGameModeInit()
    {
    SetGameModeText("tutorial");
    AddPlayerClass(0,x,y,z,rot,w1,m1,w2,m2,w3,m3);
    tutpickup = AddStaticPickup(pickupid,type,x,y,z);
    tutorial = CreateMenu("Tutorial",1,200.0,100.0,150.0,150.0);
    AddMenuItem(tutorial,1,"Waffen");
    AddMenuItem(tutorial,1,"Ende");
    }
    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
    }
    public OnPlayerPickUpPickup(playerid,pickupid)
    {
    if(pickupid == 0)
    {
    ShowMenuForPlayer(tutorial,playerid);
    TogglePlayerControllable(playerid,0);
    }
    }
    public OnPlayerSelectetMenuRow(playerid,row) //-------------------
    { //-------------------
    new Menu:CMenu = GetPlayerMenu(playerid); //-------------------
    if(CMenu == tutorial) //-------------------
    { //-------------------
    switch(row) //-------------------
    { //-------------------
    case 0: //-------------------
    { //-------------------
    GivePlayerWeapon(Playerid,3,1); //-------------------
    TogglePlayerControllable(playerid,1); //-------------------
    } //-------------------
    case 1: //-------------------
    { //-------------------
    TogglePlayerControllable(playerid,1); //-------------------
    } //-------------------
    } //-------------------
    } //-------------------
    } //-------------------

    aAlso hier wird gesagt was passiert wenn der player eine auswahl im menü trifft.
    das "new Menu:CMenu = GetPlayer...." ist nur eine abkürzung von "GetPlayerMenu(playerid);" durch die variable
    "CMenu"


    if(CMenu == tutorial)
    sagt aus "wenn CMenu ist gleich menü tutorial dann tu das was unter mir steht"


    switch(row)
    sagt aus was passiert wenn ich ziwschen den Auswahlpunkten wechsle und einen auswähle


    case 0:
    sagt aus "wenn erster auswahlpunkt dann tute das was unter mir steht und schließe das menü"


    case 1:
    sagt aus "wenn zweiter auswahlpunt dann tute das was unter mir steht und schließe das menü"


    wenn noch fragen da sind postet sie hier

    in meiner antwort sind die bereiche farblich markiert die zusammen hängen vill verstest dus dann schon wenn nicht frag einfach


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    #define COLOR_RED 0xFF0000FF
    if(strcmp("/heilen",cmdtext,true,10)==0)
    {
    SetPlayerHealth(playerid,100);
    GivePlayerMoney(playerid,-100);
    SendClientMessage(playerid,COLOR_RED,"Das Heilen hat dich 100$ gekostet");
    }
    return 1;
    }

    so einfach ^^

    ich geb dir nen tipp mach es nicht mit checkpoints das is dumm weil man immer nur einen machen kann deshalb benutzte
    Pickups (so mach ichs).

    #include <a_samp>
    #define FILTERSCRIPT
    #if defined FILTERSCRIPT
    Ohne Menu:
    public OnFilterScriptInit()
    {
    print("\n-----------------");
    print("Teleport Script"
    print("-----------------\n");
    AddStaticPickup(pickupid,23,x achse,y achse,z achse); //bei den Achsen x,y,z Koordinaten eingeben von wo
    }
    public OnPlayerPickUpPickup(playerid,pickupid)
    {
    if(pickupid == 0)
    {
    SetPlayerPos(playerid,x achse,y achse,z achse); //bei den Achsen x,y,z Koordinaten eingeben wohin
    }
    }
    #endif


    Mit Menü:

    #include <a_samp>
    #new Menu:teleport;
    #define FILTERSCRIPT
    #if defined FILTERSCRIPT
    public OnFilterScriptInit()
    {
    print("\n-----------------");
    print("Teleport Script"
    print("-----------------\n");
    AddStaticPickup(pickupid,23,x achse,y achse,z achse); bei den Achsen x,y,z Koordinaten eingeben von wo)
    teleport = CreateMenu("Teleport",1,200.0,100.0,150.0,150.0);
    AddMenuItem(teleport,0,"Teleport");
    AddMenuItem(teleport,0,"Ende");
    }
    public OnPlayerPickUpPickup(playerid,pickupid)
    {
    if(pickupid == 0)
    {
    ShowMenuForPlayer(teleport,playerid);
    TogglePlayerControllable(playerid,0);
    }
    }
    public OnPlayerSelectedMenuRow(playerid,row)
    {
    new Menu:CM = GetPlayerMenu(playerid);
    if(CM == teleport)
    {
    switch(row)
    {
    case 0:
    {
    SetPlayerPos(playerid,x achse,y achse,z achse); //bei den Achsen x,y,z Koordinaten eingeben wohin
    TogglePlayerControllable(playerid,1);
    }
    case 1:
    {
    TogglePlayerControllable(playerid,1);
    }
    }
    }
    }
    #endif

    bei fragen oder Fehlern schreib mir ne pm aber eigentlich müsste alles richtig sein (rechtschreibfehler ausgenommen ^^)

    Also ich möchte aus einer gespeicherten datei eine variable wieder auslesen wie mach ich das?
    hier erstmal meinen script teil:

    new skin = GetPlayerSkin(playerid);
    new pname[24], File:FILENAME = fopen("skins.txt",io_write);
    GetPlayerName(playerid, pname, 24);
    new string[30];
    format(string, 30,"%s %f \r\n",pname,skin);
    fwrite(FILENAME,string);
    fclose(FILENAME);


    wie lautet jetzt das gegenstück damit ich das ganze wieder auslesen kann? :?: