Hilfe beim Capture the Boat

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 Community,


    die ganze Zeit ging mein Capture the Boat Mode perfekt.


    Nur auf einmal wird man nur noch beim grünen Team und nicht mehr beim Blauen gespawnt.


    if (strcmp("/ctb", cmdtext, true, 10) == 0)
    {
    IsInCTB[playerid]=1;
    SendClientMessage(playerid,COLOR_YELLOW,"Willkommen im Capture the Boat.");
    gTeam[playerid] = random(1) +1;
    if(gTeam[playerid] == TEAM_GREEN)
    {
    SetPlayerPos(playerid,1980.0054,-266.6487,2.9653);
    InGreenTeam[playerid] = 1;
    }
    if(gTeam[playerid] == TEAM_BLUE)
    {
    SetPlayerPos(playerid,2359.2703,540.5911,1.7969);
    InBlueTeam[playerid] = 1;
    }


    TextDrawShowForPlayer(playerid,CTBDRAW);
    return 1;
    }


    was daran nun falsch?

    [color=#0000FF]



    Suche aktive Leute die Interesse haben ein Freeroam Projekt großzuziehen! Es wird noch alles gesucht!
    Besonders: Scripter für einen GM der besonderen Art , Mapper, Brainstormer & Gehilfen! Bei Interesse einfach melden!
    Info: Server, Webspace & WBB 3 + Lizenz vorhanden!

  • Sry aber meine Pawn Codes werden nie wie sie solln.


    Aber bitte:
    if (strcmp("/ctb", cmdtext, true, 10) == 0)
    {
    IsInCTB[playerid]=1;
    SendClientMessage(playerid,COLOR_YELLOW,"Willkommen im Capture the Boat.");
    gTeam[playerid] = random(1) +1;
    if(gTeam[playerid] == TEAM_GREEN)
    {
    SetPlayerPos(playerid,1980.0054,-266.6487,2.9653);
    InGreenTeam[playerid] = 1;
    }
    if(gTeam[playerid] == TEAM_BLUE)
    {
    SetPlayerPos(playerid,2359.2703,540.5911,1.7969);
    InBlueTeam[playerid] = 1;
    }

    TextDrawShowForPlayer(playerid,CTBDRAW);
    return 1;
    }


    jetzt auf einmal ist kla-.-

    [color=#0000FF]



    Suche aktive Leute die Interesse haben ein Freeroam Projekt großzuziehen! Es wird noch alles gesucht!
    Besonders: Scripter für einen GM der besonderen Art , Mapper, Brainstormer & Gehilfen! Bei Interesse einfach melden!
    Info: Server, Webspace & WBB 3 + Lizenz vorhanden!

  • wenn es nur 2 teams giebt, dann man anstatt Team_Blue ein else


    also:


    if (strcmp("/ctb", cmdtext, true, 10) == 0)
    {
    IsInCTB[playerid]=1;
    SendClientMessage(playerid,COLOR_YELLOW,"Willkommen im Capture the Boat.");
    gTeam[playerid] = random(1) +1;
    if(gTeam[playerid] == TEAM_GREEN)
    {
    SetPlayerPos(playerid,1980.0054,-266.6487,2.9653);
    InGreenTeam[playerid] = 1;
    }
    else
    {
    SetPlayerPos(playerid,2359.2703,540.5911,1.7969);
    InBlueTeam[playerid] = 1;
    }

    TextDrawShowForPlayer(playerid,CTBDRAW);
    return 1;
    }

  • Sry aber auch so bringt mir das rien gar nichts.
    Man soll zufällig nem Team Blau oder Grün zugeteilt werden sobalkd man /ctb eingibt aber man spawnt immer noch nur bei grün und wir auch nur grün zugeordnet.


    Was kann ich anders machen damit es funzt?

    [color=#0000FF]



    Suche aktive Leute die Interesse haben ein Freeroam Projekt großzuziehen! Es wird noch alles gesucht!
    Besonders: Scripter für einen GM der besonderen Art , Mapper, Brainstormer & Gehilfen! Bei Interesse einfach melden!
    Info: Server, Webspace & WBB 3 + Lizenz vorhanden!

  • warum schreibst du da random(1) +1;


    schreib doch gleich random(2); dann müsste es gehn

  • Neee. Eben nicht wenn ich random(2) hinschrieben würde würde rauskommen das entweder 1, 2 oder 0 für gar kein team als random rauskommt.
    Und ich will ebn das 0 rauskommt ausschließen also nehm ich random(1) +1 aber man spawnt trozdem bei dem grünen team immer x(

    [color=#0000FF]



    Suche aktive Leute die Interesse haben ein Freeroam Projekt großzuziehen! Es wird noch alles gesucht!
    Besonders: Scripter für einen GM der besonderen Art , Mapper, Brainstormer & Gehilfen! Bei Interesse einfach melden!
    Info: Server, Webspace & WBB 3 + Lizenz vorhanden!

  • Mhh Dann kann ich dir leider nicht weiter helfen.


    Viel glück.

  • Mhh warum aber zufall ? was ist wenn aufeinmal ein team 5 hat und das andere nur 2 ? mies oder ?


    mach doch einfach genau so das wenn team1 einen mehr hat als team2 wird der nächste spieler in team2 geleitet !
    würde doch ausgleich schaffen als so ein zufall :thumbup:



    Zu dein Problem ich finde da kein fehler in den zeilen !



    if (strcmp("/ctb", cmdtext, true, 10) == 0)
    {
    IsInCTB[playerid]=1;
    SendClientMessage(playerid,COLOR_YELLOW,"Willkommen im Capture the Boat.");
    gTeam[playerid] = 1+random(1);
    if(gTeam[playerid] == TEAM_GREEN)
    {
    SetPlayerPos(playerid,1980.0054,-266.6487,2.9653);
    InGreenTeam[playerid] = 1;
    }
    else
    {
    SetPlayerPos(playerid,2359.2703,540.5911,1.7969);
    InBlueTeam[playerid] = 1;
    }

    TextDrawShowForPlayer(playerid,CTBDRAW);
    return 1;
    }



    wie hast du TEAM_GREEN und BLUE definiert?


    Kann ich dir wohl sagen xD


    #define TEAM_GREEN 1
    #define TEAM_BLUE 2

    Opa :love: Freund und helfer =)

  • Ich finde da auch keinen Fehler das ist das Problem..
    Könntet ihr mir vlt mal genauer helfen pls ich bin müde und kann kaum nachdenken ...habe heute meinen GM um knapp 3000 zeilen selfmade erweitert.
    Komme somit auf 14k zeilen ....deshalb sehe ich nur noch ein Scriptwirrwarr. Pls help me x(


    Team Blau und Grün:


    #define TEAM_GREEN 1
    #define TEAM_BLUE 2

    [color=#0000FF]



    Suche aktive Leute die Interesse haben ein Freeroam Projekt großzuziehen! Es wird noch alles gesucht!
    Besonders: Scripter für einen GM der besonderen Art , Mapper, Brainstormer & Gehilfen! Bei Interesse einfach melden!
    Info: Server, Webspace & WBB 3 + Lizenz vorhanden!

  • Bei random(1) = 0,1 +1 = 1,2 kann nicht 5 rauskommen sondern nur 1 oder 2.


    Von daher müsste der Code funktionerien, deswegen frage ich nach der Definition, die wir hier nicht einsehen können.


    Aber du hast ja die Weisheit gepachtet.


    EDIT


    Probiere es einfach 25 Mal, dann sollte doch mindestens einmal jedes Team da gewesen sein... :D

  • Siehe den letzten post von mir.


    Da steht es


    #define TEAM_GREEN 1
    #define TEAM_BLUE 2

    [color=#0000FF]



    Suche aktive Leute die Interesse haben ein Freeroam Projekt großzuziehen! Es wird noch alles gesucht!
    Besonders: Scripter für einen GM der besonderen Art , Mapper, Brainstormer & Gehilfen! Bei Interesse einfach melden!
    Info: Server, Webspace & WBB 3 + Lizenz vorhanden!

  • Ja, aber vom Code her seh ich da kein Problem, höchstens du hast bei Random die ganze Zeit Pech :>


    Check doch einfach die Spielerbezogenen Arrays, ob du wirklich bei beiden Teams an der einen Stelle spawnst.

  • 8D = xD garnicht schlecht soll der mal testen xD


    Hier ich habe grade langeweile und mein Selfmade erlaubt mir grade für andere zu coden xD.
    das hier ist zwar nicht deine lösung weil ich sehe eigendlich kein fehler!




    new TEAM_GREEN_ANZAHL;
    new TEAM_BLUE_ANZAHL;


    if (strcmp("/ctb", cmdtext, true, 10) == 0)
    {
    IsInCTB[playerid]=1;
    SendClientMessage(playerid,COLOR_YELLOW,"Willkommen im Capture the Boat.");
    if(TEAM_GREEN_ANZAHL != TEAM_BLUE_ANZAHL && TEAM_GREEN_ANZAHL<= TEAM_BLUE_ANZAHL)
    {
    TEAM_GREEN_ANZAHL++;
    gTeam[playerid] = 1;
    SetPlayerPos(playerid,1980.0054,-266.6487,2.9653);
    InGreenTeam[playerid] = 1;
    }
    if(TEAM_GREEN_ANZAHL != TEAM_BLUE_ANZAHL && TEAM_GREEN_ANZAHL>= TEAM_BLUE_ANZAHL)
    {
    TEAM_BLUE_ANZAHL++;
    gTeam[playerid] = 2;
    SetPlayerPos(playerid,2359.2703,540.5911,1.7969);
    InBlueTeam[playerid] = 1;
    }

    TextDrawShowForPlayer(playerid,CTBDRAW);
    return 1;
    }

    Opa :love: Freund und helfer =)

    Einmal editiert, zuletzt von Defcon666 ()

  • Ich poste jetzt einfach mal :


    #define TEAM_GREEN 1
    #define TEAM_BLUE 2


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/ctb", cmdtext, true, 10) == 0)
    {
    IsInCTB[playerid]=1;
    SendClientMessage(playerid,COLOR_YELLOW,"Willkommen im Capture the Boat.");
    gTeam[playerid] = random(1) +1;
    if(gTeam[playerid] == TEAM_GREEN)
    {
    SetPlayerPos(playerid,1980.0054,-266.6487,2.9653);
    InGreenTeam[playerid] = 1;
    }
    else
    {
    SetPlayerPos(playerid,2359.2703,540.5911,1.7969);
    InBlueTeam[playerid] = 1;
    }

    TextDrawShowForPlayer(playerid,CTBDRAW);
    return 1;
    }

    if (strcmp("/ctboff", cmdtext, true, 10) == 0)
    {
    IsInCTB[playerid]=0;

    if(gTeam[playerid] == TEAM_GREEN)
    {
    InGreenTeam[playerid] = 0;
    }
    if(gTeam[playerid] == TEAM_BLUE)
    {
    InBlueTeam[playerid] = 0;
    }

    gTeam[playerid] = random(0);
    SpawnPlayer(playerid);

    TextDrawHideForPlayer(playerid,CTBDRAW);
    return 1;
    }

    return 0;
    }



    So daran müsste ja was falsch sein.
    Oder kann es sein das ich was doppelt definieren müsste?
    Ich Sehe aus deinem grade nichts , Defcon666 also was soll deins bringen? das ausgeglichene teams sind? Sehe ich daraus aber nicht wie der Spieler bei eingabe des cmds zugeordnet wird.

    [color=#0000FF]



    Suche aktive Leute die Interesse haben ein Freeroam Projekt großzuziehen! Es wird noch alles gesucht!
    Besonders: Scripter für einen GM der besonderen Art , Mapper, Brainstormer & Gehilfen! Bei Interesse einfach melden!
    Info: Server, Webspace & WBB 3 + Lizenz vorhanden!

  • Soooo Update xD
    Infos im Quellcode ! sollte dann logisch werden ! versuche es mal weil bei mir in den Demo script geht es ! weil sonst kann ich nicht mehr helfen =)




    #define TEAM_GREEN 1
    #define TEAM_BLUE 2


    new TEAM_GREEN_ANZAHL;
    new TEAM_BLUE_ANZAHL;



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/ctb", cmdtext, true, 10) == 0)
    {
    IsInCTB[playerid]=1;
    SendClientMessage(playerid,COLOR_YELLOW,"Willkommen im Capture the Boat.");


    new zufallzahl;
    if(TEAM_GREEN_ANZAHL == 0 &&TEAM_GREEN_ANZAHL == 0) // Ist Keiner der Team besetzt wird das hier aufgerufen!
    {
    zufallzahl = rand(1); // Zahl zwischen 0 und 1
    zufallzahl = zufallzahl +1; // der wert von oben wird +1 genommen!
    }

    if(zufallzahl == TEAM_GREEN || TEAM_GREEN_ANZAHL != TEAM_BLUE_ANZAHL && TEAM_GREEN_ANZAHL<= TEAM_BLUE_ANZAHL)
    // WENN zufallzahl [GLEICH] 1 [ODER] TEAM_GREEN_ANZAHL [UNGLEICH] TEAM_BLUE_ANZAHL [UND] TEAM_GREEN_ANZAHL[KLEINER/GLEICH] TEAM_BLUE_ANZAHL
    {
    TEAM_GREEN_ANZAHL++; // Team hat ein mehr einmal die Anzahl erhöhen !
    gTeam[playerid] = TEAM_GREEN; // Weist gTeam die TEAM_GREEN also 1 zu !
    SetPlayerPos(playerid,1980.0054,-266.6487,2.9653); // Pos SPAWN
    InGreenTeam[playerid] = 1; // finde ich unütze aber naja deine sache =)
    }
    if(zufallzahl == TEAM_BLUE || TEAM_GREEN_ANZAHL != TEAM_BLUE_ANZAHL && TEAM_GREEN_ANZAHL>= TEAM_BLUE_ANZAHL)
    {
    TEAM_BLUE_ANZAHL++;
    gTeam[playerid] = TEAM_BLUE;
    SetPlayerPos(playerid,2359.2703,540.5911,1.7969);
    InBlueTeam[playerid] = 1;
    }


    TextDrawShowForPlayer(playerid,CTBDRAW);
    return 1;
    }

    if (strcmp("/ctboff", cmdtext, true, 10) == 0)
    {
    IsInCTB[playerid]=0;
    if(gTeam[playerid] == TEAM_GREEN)
    {
    TEAM_GREEN_ANZAHL--; // Abzahl abziehen bei rausgehen !
    InGreenTeam[playerid] = 0;
    }
    if(gTeam[playerid] == TEAM_BLUE)
    {
    TEAM_BLUE_ANZAHL--; // Abzahl abziehen bei rausgehen !
    InBlueTeam[playerid] = 0;
    }
    gTeam[playerid] = 0;
    SpawnPlayer(playerid);
    TextDrawHideForPlayer(playerid,CTBDRAW);
    return 1;
    }

    return 0;
    }

    Opa :love: Freund und helfer =)

  • Sinnlos ist das InGreenTeam nicht weil ich habe einen Textdraw gemacht der anzeuigt wieviele spieler in welchem team sind und wie oft das jenige team bereits das gegnerische boot geklaut hat.


    Ich werde es mal so versuchen

    [color=#0000FF]



    Suche aktive Leute die Interesse haben ein Freeroam Projekt großzuziehen! Es wird noch alles gesucht!
    Besonders: Scripter für einen GM der besonderen Art , Mapper, Brainstormer & Gehilfen! Bei Interesse einfach melden!
    Info: Server, Webspace & WBB 3 + Lizenz vorhanden!

  • Also ich spawne jetzt beim blauen team aber das auch immer.
    Nehme ich an das das bewirkt das die teams ausgeglichen werden?...
    Dann versteh ich das dann ist mir auch logisch das der nächste der dann joint zum anderen team kommt.

    [color=#0000FF]



    Suche aktive Leute die Interesse haben ein Freeroam Projekt großzuziehen! Es wird noch alles gesucht!
    Besonders: Scripter für einen GM der besonderen Art , Mapper, Brainstormer & Gehilfen! Bei Interesse einfach melden!
    Info: Server, Webspace & WBB 3 + Lizenz vorhanden!

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