Command will nicht , wie ich es möchte l !

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
  • Ich habe ein Dm berech gemacht und man gelangt dorthin , wenn man /dm macht.
    Nun habe ich dorf mehrere Spawn punkte gemacht , aber der Spieler spawnt nur auf eine Possition .
    Ingsgesammt habe ich 3 Spawnpunkte.


    (Ich Scripte nun 1 Tag , deswegen bitte mich nicht auslachen :( )



    So habe ich es gescriptet:


    public OnPlayerCommandText(playerid, cmdtext[])
    if (strcmp("/Dm", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid,1307.1089,2188.5481,11.0234);
    SetPlayerPos(playerid,1383.7069,2112.6274,11.0156);
    SetPlayerPos(playerid,1307.1089,2188.5481,11.0234);
    return 1;

  • So das kommt unter:


    #include <...


    new DMSpawn[MAX_PLAYERS];


    new Float:DMRandomSpawn[3][3] = {
    (1307.1089,2188.5481,11.0234),
    (1383.7069,2112.6274,11.0156),
    (1307.1089,2188.5481,11.0234)
    };


    forward SetPlayerDMRandomSpawn(playerid);


    Das ist der CMD:


    if (strcmp("/dm", cmdtext, true, 3) == 0)
    {
    SetPlayerDMRandomSpawn(playerid);
    return 1;
    }


    und das packste einfach nach gaaaaaanz unten :P


    public SetPlayerDMRandomSpawn(playerid)
    {
    if (DMSpawn[playerid] == 0)
    {
    new rand = random(sizeof(DMRandomSpawn));
    SetPlayerPos(playerid, DMRandomSpawn[rand][0], DMRandomSpawn[rand][1], DMRandomSpawn[rand][2]);
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • gTeam?


    Ganz oben:


    static gTeam[MAX_PLAYERS];


    darunter:


    #define TEAM_Gang1 0
    #define TEAM_Gange2 1
    #define TEAM_Gang3 2


    Unter public OnPlayerRequestClass(playerid, classid)


    {
    if(classid == 0)
    {
    gTeam[playerid] = TEAM_Gang1;
    }
    if(classid == 1)
    {
    gTeam[playerid] = TEAM_Gang2;
    }
    if(classid == 2) //
    {
    gTeam[playerid] = TEAM_Gang3;
    }
    return 1;
    }


    Und als CMD
    if(strcmp("/dm",cmdtext,true) == 0)
    {
    if(gTeam[playerid] == TEAM_Gang1)
    {
    SetPlayerPos(playerid,1307.1089,2188.5481,11.0234);
    SendClientMessage(playerid,0x00FF00FF,"Du bist nun beim Deathmatch!");
    }
    else
    {
    if(gTeam[playerid] == TEAM_Gang2)
    SetPlayerPos(playerid,1383.7069,2112.6274,11.0156);
    SendClientMessage(playerid,0xFF0000FF,"Du bist nun beim Deathmatch");
    }
    else
    {
    if(gTeam[playerid] == TEAM_Gang3)
    SetPlayerPos(playerid,1307.1089,2188.5481,11.0234);
    SendClientMessage(playerid,0xFF0000FF,"Du bist nun beim Deathmatch!");
    }
    return 1;
    }


    nicht getestet^^

  • Ich habe nun das mit den gTeam gemacht aber nun steht :C:\PROGRA~1\ROCKST~1\GRANDT~1\GAMEMO~1\Neu.pwn(7) : error 017: undefined symbol "MAX_PLAYERS"
    C:\PROGRA~1\ROCKST~1\GRANDT~1\GAMEMO~1\Neu.pwn(7) : error 009: invalid array size (negative, zero or out of bounds)



    ich hab alles so gemacht, wie es geschrieben stand!

  • Das problem mit der 7. Zeile ist behoben doch nun :



    if(strcmp("/dm",cmdtext,true) == 0)
    {
    if(gTeam[playerid] == TEAM_Gang1)
    {
    SetPlayerPos(playerid,1310.6653,2113.2358,11.0156);
    SendClientMessage(playerid,0x00FF00FF,"Du bist nun beim Deathmatch!");
    }
    else
    {
    if(gTeam[playerid] == TEAM_Gang2)


    SetPlayerPos(playerid,1383.7069,2112.6274,11.0156);
    SendClientMessage(playerid,0xFF0000FF,"Du bist nun beim Deathmatch");
    }
    else
    {
    if(gTeam[playerid] == TEAM_Gang3)


    SetPlayerPos(playerid,1307.1089,2188.5481,11.0234);
    SendClientMessage(playerid,0xFF0000FF,"Du bist nun beim Deathmatch!");
    }
    return 1;


    Zu dem 2. else , sagt er :


    C:\PROGRA~1\ROCKST~1\GRANDT~1\GAMEMO~1\Neu.pwn(140) : error 029: invalid expression, assumed zero



    was soll ich machen ?

  • Ich bin mir nicht sicher:


    if(strcmp("/dm",cmdtext,true) == 0)
    {
    if(gTeam[playerid] == TEAM_Gang1)
    {
    SetPlayerPos(playerid,1310.6653,2113.2358,11.0156);
    SendClientMessage(playerid,0x00FF00FF,"Du bist nun beim Deathmatch!");
    }
    else
    {
    if(gTeam[playerid] == TEAM_Gang2)


    SetPlayerPos(playerid,1383.7069,2112.6274,11.0156);
    SendClientMessage(playerid,0xFF0000FF,"Du bist nun beim Deathmatch");
    }
    else if(gTeam[playerid] == TEAM_Gang3)
    {
    SetPlayerPos(playerid,1307.1089,2188.5481,11.0234);
    SendClientMessage(playerid,0xFF0000FF,"Du bist nun beim Deathmatch!");
    }
    return 1;

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • so:


    if(strcmp("/dm",cmdtext,true) == 0)
    {
    if(gTeam[playerid] == TEAM_Gang1)
    {
    SetPlayerPos(playerid,1310.6653,2113.2358,11.0156);
    SendClientMessage(playerid,0x00FF00FF,"Du bist nun beim Deathmatch!");
    }
    else if(gTeam[playerid] == TEAM_Gang2)
    {
    SetPlayerPos(playerid,1383.7069,2112.6274,11.0156);
    SendClientMessage(playerid,0xFF0000FF,"Du bist nun beim Deathmatch");
    }
    else if(gTeam[playerid] == TEAM_Gang3)
    {
    SetPlayerPos(playerid,1307.1089,2188.5481,11.0234);
    SendClientMessage(playerid,0xFF0000FF,"Du bist nun beim Deathmatch!");
    }
    return 1;
    }

  • Hmmm , trz spawn die gleich ,aber erstmal will ich , dass man in der Dm arena spawnt , wenn man gestorben ist .
    hab schon ein befehl ,dass ich mit/exit wieder aus dem dm gehen kann.