/dm & /exit

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
  • Hey, also ich bin gerade am scripten eines Dm Modes, alles bisher gut bis auf ein Problemen und der wäre, wenn man im /dm drinne ist das man nicht z.B zu /dm3 kann, davor muss man /exit eingeben um das DM zu verlassen. Und ich möchte noch das ein Text im ganzen Chat angezeigt wird z.B so : " Spieler XxX ist /dm beigetreten ||Tippe /dm um teiltzunehmen halt sowas in der Art.


    Dies hier ist mein Code :



    if(strcmp(cmdtext,"/dm",true)==0)
    {
    SetPlayerPos(playerid,1304.8160,2107.2097,11.0156);
    SendClientMessage(playerid,COLOR_GREEN,"Du hast /dm erfolgreich betreten!");
    SendClientMessage(playerid,COLOR_GREEN,"Schreibe /dmexit um das DM zu verlassen!");
    ResetPlayerWeapons(playerid); // Spieler Waffen entnehmen
    GivePlayerWeapon(playerid,38,3500); //gibt Spieler Minigun
    return 1;
    }
    if(strcmp("/dmexit",cmdtext,true,10)==0)
    {
    if(PlayerInDm[playerid]==1)&&strcmp(cmdtext,"/dmexit",true)
    {
    else
    }
    SendClientMessage(playerid,Rot,"Du bist nicht im Dm!");
    }
    dm[playerid] = 0;
    SpawnPlayer(playerid); // Spieler spawnen...
    ResetPlayerWeapons(playerid); // Alle waffen wegnehmen erstmal
    SendClientMessage(playerid,Rot,"Du bist aus den Dm rausgegangen.");
    Spawn(playerid);
    return 1;
    }



    Hoffe auf hilfreiche Antworten :) Danke im voraus.


    Ps : Habe auch in Google gesucht doch da erscheinen nur Errors..

  • if(strcmp(cmdtext,"/dm",true)==0)
    {
    SetPlayerPos(playerid,1304.8160,2107.2097,11.0156);
    SendClientMessage(playerid,COLOR_GREEN,"Du hast /dm erfolgreich betreten!");
    SendClientMessage(playerid,COLOR_GREEN,"Schreibe /dmexit um das DM zu verlassen!");
    ResetPlayerWeapons(playerid); // Spieler Waffen entnehmen
    GivePlayerWeapon(playerid,38,3500); //gibt Spieler Minigun
    dm = 1;
    return 1;
    }
    if(strcmp("/dmexit",cmdtext,true,10)==0)
    {
    if(dm == 1)
    {
    dm[playerid] = 0;
    SpawnPlayer(playerid); // Spieler spawnen...
    ResetPlayerWeapons(playerid); // Alle waffen wegnehmen erstmal
    SendClientMessage(playerid,Rot,"Du bist aus den Dm rausgegangen.");
    Spawn(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist nicht im Dm!");
    }
    }


    //edit 1:unprobiert
    //edit2: pwn verbessert


    Zitat von Dj G4bby

    It`s nice, to be important, but it`s more important to be nice!



  • danke aber da kommen 6errors und da müsste es doch noch was zu definieren geben, oder nicht ?



    C:\Users\Admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(448) : error 017: undefined symbol "dm"
    C:\Users\Admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(448) : warning 215: expression has no effect
    C:\Users\Admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(453) : error 017: undefined symbol "dm"
    C:\Users\Admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(455) : error 017: undefined symbol "dm"
    C:\Users\Admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(455) : warning 215: expression has no effect
    C:\Users\Admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(455) : error 001: expected token: ";", but found "]"
    C:\Users\Admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(455) : error 029: invalid expression, assumed zero
    C:\Users\admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(455) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    6 Errors.




    if(strcmp(cmdtext,"/dm",true)==0)
    {
    SetPlayerPos(playerid,1304.8160,2107.2097,11.0156);
    SendClientMessage(playerid,COLOR_GREEN,"Du hast /dm erfolgreich betreten!");
    SendClientMessage(playerid,COLOR_GREEN,"Schreibe /dmexit um das DM zu verlassen!");
    ResetPlayerWeapons(playerid); // Spieler Waffen entnehmen
    GivePlayerWeapon(playerid,38,3500); //gibt Spieler Minigun
    dm = 1;
    return 1;
    }
    if(strcmp("/dmexit",cmdtext,true,10)==0)
    {
    if(dm == 1)
    {
    dm[playerid] = 0;
    SpawnPlayer(playerid); // Spieler spawnen...
    ResetPlayerWeapons(playerid); // Alle waffen wegnehmen erstmal
    SendClientMessage(playerid,Rot,"Du bist aus den Dm rausgegangen.");
    Spawn(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist nicht im Dm!");
    }
    }


    Edit : Verbessert

    2 Mal editiert, zuletzt von Adam ()

  • Danke weniger Errors.
    Jetzt sind die einzigsten Errors nur noch in Zeile 456




    if(strcmp(cmdtext,"/dm",true)==0)
    {
    SetPlayerPos(playerid,1304.8160,2107.2097,11.0156);
    SendClientMessage(playerid,COLOR_GREEN,"Du hast /dm erfolgreich betreten!");
    SendClientMessage(playerid,COLOR_GREEN,"Schreibe /dmexit um das DM zu verlassen!");
    ResetPlayerWeapons(playerid); // Spieler Waffen entnehmen
    GivePlayerWeapon(playerid,38,3500); //gibt Spieler Minigun
    dm = 1;
    return 1;
    }
    if(strcmp("/dmexit",cmdtext,true,10)==0)
    {
    if(dm == 1)
    {
    dm[playerid]=0; //ZEILE 456
    SpawnPlayer(playerid); // Spieler spawnen...
    ResetPlayerWeapons(playerid); // Alle waffen wegnehmen erstmal
    SendClientMessage(playerid,Rot,"Du bist aus den Dm rausgegangen.");
    Spawn(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist nicht im Dm!");
    }
    }




    C:\Users\Admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(456) : error 028: invalid subscript (not an array or too many subscripts): "dm"
    C:\Users\Admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(456) : warning 215: expression has no effect
    C:\Users\Admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(456) : error 001: expected token: ";", but found "]"
    C:\Users\Admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(456) : error 029: invalid expression, assumed zero
    C:\Users\Admin.User-PC\Desktop\DM Server BGR\gamemodes\Gamemodetest.pwn(456) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • Danke :D Wüsstest dz vielleicht noch was ich unter /dmexit hinein setzten z.B Spieler schreibt /dmxit und spawnt in der Grove base zurück, denn "SpawnPlayer(playerid) funktioniert nicht^^

  • Danke für deine Hilfe funktioniert endlich :D


    //close


    Edit : Alles klappt jetzt bis auf, wenn man stirbt wird man nicht am Dm gespawnt sondern in seiner eigenen Base ? Wüsste jemand vielleicht noch wie man es scripten könnte das man nach seinem Tot trotzdem beim /dm spawnt ?

    2 Mal editiert, zuletzt von Adam ()

  • Ich denk ma du hast deine Variable so: new dm; ?!


    Mach sie so: new dm[MAX_PLAYERS];


    Dann änderst du jedes "dm" in dm[playerid]


    Dann, das unter OnPlayerDeath:


    if(dm[playerid] == 1) { SetPlayerPos(playerid,1304.8160,2107.2097,11.0156); return 1; }

  • Danke :) musste unter "OnPlayersSpawn" hin.


    Edit : So jetzt funktioniert alles /dm /dmexit etc..aber ich habe gescriptet das dem Spieler die Waffen (z.B /dm1 Minigun) entnommen werden(funktioniert auch) aber wie könnte ich es scripten das er seine "Spawn Waffen" nach dem /dmexit zurück bekommt ?^^

    4 Mal editiert, zuletzt von Adam ()