Dm Script Problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Leute. Ich habe hier dieses Script :


    #include a_samp


    new Float:RandomSpawndm1[][5] =
    {
    {1302.7628,4.1300,1001.0261},
    {1256.4384,-62.2397,1002.4999},
    {1305.1525,-64.7349,1002.4922},
    {1251.1990,4.8862,1008.2578},
    {1250.1050,5.7676,1001.0358}
    };


    new Float:RandomSpawndm2[][5] =
    {
    {-1127.3651,1084.5079,1345.7538},
    {-1079.0327,1041.7317,1344.2048},
    {-1067.8324,1093.0609,1343.1279},
    {-1027.4843,1094.6559,1342.8524},
    {-978.2031,1054.6741,1344.9873}
    };


    new Float:RandomSpawndm3[][5] =
    {
    {1093.3467,2086.5732,15.3504},
    {1092.1250,2118.5432,15.3504},
    {1090.1946,2120.3860,10.8203},
    {1077.9637,2137.0625,10.8203},
    {1058.5070,2084.4077,10.8203}
    };


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/dm1"))
    {
    new randdm1 = random(sizeof(RandomSpawndm1));
    SetPlayerPos(playerid, RandomSpawndm1[randdm1][0], RandomSpawndm1[randdm1][1],RandomSpawndm1[randdm1][2]);
    GivePlayerWeapon(playerid, 24, 20000);
    GivePlayerWeapon(playerid, 34, 20000);
    SetPlayerInterior(playerid, 7);
    return 1;
    }


    if(!strcmp(cmdtext, "/dm2"))
    {
    new randdm2 = random(sizeof(RandomSpawndm2));
    SetPlayerPos(playerid, RandomSpawndm2[randdm2][0], RandomSpawndm2[randdm2][1],RandomSpawndm2[randdm2][2]);
    GivePlayerWeapon(playerid, 24, 20000);
    GivePlayerWeapon(playerid, 27, 20000);
    SetPlayerInterior(playerid, 45);
    return 1;
    }


    if(!strcmp(cmdtext, "/dm3"))
    {
    new randdm3 = random(sizeof(RandomSpawndm3));
    SetPlayerPos(playerid, RandomSpawndm3[randdm3][0], RandomSpawndm3[randdm3][1],RandomSpawndm3[randdm3][2]);
    GivePlayerWeapon(playerid, 24, 20000);
    SetPlayerInterior(playerid, 147);
    return 1;
    }
    return 0;
    }


    Das funktioniert auch so weit so gut, mit den Command usw. Bloß die Interiors werden nicht geladen, also man steht sogesagt im Schwarzen Raum, und man kann sich während des DM's wegporten, z.B. von DM1 in DM2, und hat dementsprechend auch die Waffen davon. Wie mach ich das dann mit /dm1verlassen, /dm2verlassen & /dm3verlassen? Könnte mir das jemand reineditieren, und den Bug mit den Interiors beheben?


    Ich hoffe jemand kann mir helfen.
    Bei Fragen, Skype : passo_x3


    MfG

  • Bezüglich Waffen: RsetPlayerWeapons(playerid);

    Wer ist der Mensch hinter der Uniform? Ist euch das bekannt?
    Es ist der selbe der noch eben in Zivil neben euch stand.
    Warum wird er gehasst und so selten respektiert?
    Warum ist er derjenige der seinen Hals für euch riskiert?
    Trägt der Bulle eine Weste, das hat er früher nie gemacht,
    die Zeiten haben sich geändert und jeder Dienst ist ein Kampf!
    Warum gibt’s das SEK und warum sind sie so brutal?
    Und wieso hat wieder einer mit seinem Leben bezahlt?

  • Hay ...




    Ich versuche das mal umzusetzen... (Bin selbst nur n Anfänger... :D)




    #include a_samp







    new Float:RandomSpawndm1[][5] =




    {




    {1302.7628,4.1300,1001.0261},




    {1256.4384,-62.2397,1002.4999},




    {1305.1525,-64.7349,1002.4922},




    {1251.1990,4.8862,1008.2578},




    {1250.1050,5.7676,1001.0358}




    };








    new Float:RandomSpawndm2[][5] =




    {




    {-1127.3651,1084.5079,1345.7538},




    {-1079.0327,1041.7317,1344.2048},




    {-1067.8324,1093.0609,1343.1279},




    {-1027.4843,1094.6559,1342.8524},




    {-978.2031,1054.6741,1344.9873}




    };








    new Float:RandomSpawndm3[][5] =




    {




    {1093.3467,2086.5732,15.3504},




    {1092.1250,2118.5432,15.3504},




    {1090.1946,2120.3860,10.8203},




    {1077.9637,2137.0625,10.8203},




    {1058.5070,2084.4077,10.8203}




    };








    public OnPlayerCommandText(playerid, cmdtext[])




    {




    if(!strcmp(cmdtext, "/dm1"))




    {




    new randdm1 = random(sizeof(RandomSpawndm1));




    SetPlayerPos(playerid, RandomSpawndm1[randdm1][0], RandomSpawndm1[randdm1][1],RandomSpawndm1[randdm1][2]);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 24, 20000);



    GivePlayerWeapon(playerid, 34, 20000);




    SetPlayerInterior(playerid, 7);




    return 1;




    }








    if(!strcmp(cmdtext, "/dm2"))




    {




    new randdm2 = random(sizeof(RandomSpawndm2));




    SetPlayerPos(playerid, RandomSpawndm2[randdm2][0], RandomSpawndm2[randdm2][1],RandomSpawndm2[randdm2][2]);ResetPlayerWeapons(playerid);GivePlayerWeapon(playerid, 24, 20000);
    GivePlayerWeapon(playerid, 27, 20000);



    SetPlayerInterior(playerid, 45);




    return 1;




    }








    if(!strcmp(cmdtext, "/dm3"))




    {




    new randdm3 = random(sizeof(RandomSpawndm3));




    SetPlayerPos(playerid, RandomSpawndm3[randdm3][0], RandomSpawndm3[randdm3][1],RandomSpawndm3[randdm3][2]);ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 24, 20000);




    SetPlayerInterior(playerid, 147);




    return 1;




    }




    return 0;




    }








    Dieses Script habe ich hir erstellt und es kan Fehler enthalten (es wurde nicht getestet...)

  • RsetPlayerWeapons(playerid);


    Du meinst wohl eher
    ResetPlayerWeapons(playerid);


    Zu den Interiors...
    Du musst bei /dm1 (z.B.) einfach dann
    SetPlayerInterior(playerid, Interiorid);

  • TakeItEasy:


    Da steht doch schon SetPlayerInterior.. also einfach die "7" durch Interiorid ersetzen, oder wie?


    Edit :


    So, habs getestet, funktioniert alles. Perfekt.


    Danke an alle die mir geholfen haben .. :love::love:

    Edit2:

    Okay, ich hab noch ein zweites Problem, ich möchte noch /dm1verlassen, /dm2verlassen & /dm3verlassen drin haben, und dass man nach dem Tot neu im DM spawnt.
    Wie mache ich das?

    2 Mal editiert, zuletzt von zetrixx ()

  • new DMState[MAX_PLAYERS];
    Bei den Befehlen mit /dm, /dm2, /dm3 etc.


    /dm = DMState[playerid] = 1;
    /dm2 = DMState[playerid] = 2;
    /dm3 = DMState[playerid] = 3;


    OnPlayerConnect:
    DMState[playerid] = 0;


    /exit = if(DMState[playerid] > 0) DMState[playerid] = 0; SetPlayerPos, etc. ;)