Teamchat einrichten!

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, ich bruach nen Team chat, ich benutze gTeam ich habe folgende Teams/Frak:


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid,1326.1104,-877.1648,46.3461);
    SetPlayerFacingAngle(playerid, 130.4790);
    SetPlayerCameraPos(playerid,1323.0771,-880.0206,45.2266);
    SetPlayerCameraLookAt(playerid,1326.1104,-877.1648,46.3461);
    switch(classid)
    {
    case 0,1,2,3,4,5,6: gTeam[playerid] = TEAM_COP; // 1. bis 7. Skins
    case 7,8,9: gTeam[playerid] = TEAM_RUSSIA; // 8. bis 10. Skins
    case 10,11,12: gTeam[playerid] = TEAM_TRIADEN; // 11. bis 13. Skins
    case 13,14,15,16: gTeam[playerid] = TEAM_ITAL; // 14. bis 17. Skins
    case 17,18,19: gTeam[playerid] = TEAM_BIKER; // 18. bis 20. Skins
    case 20,21,22: gTeam[playerid] = TEAM_GROVE; // 20. bis 22. Skins
    case 23,24,25: gTeam[playerid] = TEAM_BALLAS; // 23. bis 25. Skins
    case 26,27,28: gTeam[playerid] = TEAM_AZTECAS; // 26. bis 28. Skins
    case 29,30,31: gTeam[playerid] = TEAM_VAGOS; // 29. bis 31. Skins
    case 32,33,34: gTeam[playerid] = TEAM_RIFA; // 32. bis 34. Skins
    case 35: gTeam[playerid] = TEAM_ARMY; //35. bis 35. Skins
    case 36,37: gTeam[playerid] = TEAM_SANITATER; //36. bis 37. Skins
    case 38,39,40: gTeam[playerid] = TEAM_FBI; //38. bis 40. Skins
    case 41: gTeam[playerid] = TEAM_PILOT; //41. bis 41. Skins
    case 42,43,44: gTeam[playerid] = TEAM_ZIVI; //42. bis 44. Skins
    }
    if(classid == 0 || classid == 1 || classid == 2 || classid == 3 || classid == 4 || classid == 5 || classid == 6){
    SetPlayerColor(playerid,COLOR_DBLUE);
    GameTextForPlayer(playerid, "~w~LS-Polizei-ls", 1500, 6);}//-
    else if(classid == 7 || classid == 8 || classid == 9){
    SetPlayerColor(playerid,COLOR_RED);
    GameTextForPlayer(playerid, "~w~Russische Mafia-ls", 1500, 6);}
    else if(classid == 10 || classid == 11 || classid == 12){
    SetPlayerColor(playerid,COLOR_YELLOW);
    GameTextForPlayer(playerid, "~w~Triaden-sf", 1500, 6);}
    else if(classid == 13 || classid == 14 || classid == 15 || classid == 16){
    SetPlayerColor(playerid,COLOR_PINK);
    GameTextForPlayer(playerid, "~w~Italenische Mafia-ls", 1500, 6);}//-
    else if(classid == 17 || classid == 18 || classid == 19){
    SetPlayerColor(playerid,COLOR_ORANGE);
    GameTextForPlayer(playerid, "~w~Biker-ls", 1500, 6);}//-
    else if(classid == 20 || classid == 21 || classid == 22){
    SetPlayerColor(playerid,COLOR_GREEN);
    GameTextForPlayer(playerid, "~w~Grove Street-ls", 1500, 6);}//-
    else if(classid == 23 || classid == 24 || classid == 25){
    SetPlayerColor(playerid,COLOR_PURPLE);
    GameTextForPlayer(playerid, "~w~Ballas-ls", 1500, 6);}//-
    else if(classid == 26 || classid == 27 || classid == 28){
    SetPlayerColor(playerid,COLOR_GREY);
    GameTextForPlayer(playerid, "~w~Los Aztecas-ls", 1500, 6);}
    else if(classid == 29 || classid == 30 || classid == 31){
    SetPlayerColor(playerid,COLOR_BLACK);
    GameTextForPlayer(playerid, "~w~Vagos-ls", 1500, 6);}
    else if(classid == 32 || classid == 33 || classid == 34){
    SetPlayerColor(playerid,COLOR_BLUE);
    GameTextForPlayer(playerid, "~w~Rifa-sf", 1500, 6);}
    else if(classid == 35 ){
    SetPlayerColor(playerid,COLOR_BROWN);
    GameTextForPlayer(playerid, "~w~Army-ls", 1500, 6);}
    else if(classid == 36 || classid == 37 ){
    SetPlayerColor(playerid,COLOR_REDD);
    GameTextForPlayer(playerid, "~w~Sanitater-lv", 1500, 6);}
    else if(classid == 38 || classid == 39 || classid == 40 ){
    SetPlayerColor(playerid,COLOR_BLUEE);
    GameTextForPlayer(playerid, "~w~FBI-lv", 1500, 6);}

    else if(classid == 41){
    SetPlayerColor(playerid,COLOR_BLACKK);
    GameTextForPlayer(playerid, "~w~Pilot-sf", 1500, 6);}


    else if(classid == 42 || classid == 43 || classid == 44){
    SetPlayerColor(playerid,COLOR_BLUE);
    GameTextForPlayer(playerid, "~w~Zivilist-ls", 1500, 6);}
    return 1;
    }


    Wie mach ich jetzt z.b einer ist bei dem cops und gibt /t [text] und jetzt sehe es alle im Team cops.


    Ich habe schon viel probiert aber nichts geht wirklich, ich hoffe einer von euch kann mir helfen

  • COMMAND:t(playerid,params[])
    {
    new pName[25];
    if(isnull(params)) return SendClientMessage(playerid,farbe,"Benutze /t (Text)");


    GetPlayerName(playerid,pName,25);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(gTeam[i] == gTeam[playerid])
    {
    format(params,128,"[Team] %s: %s",pName,params);
    SendClientMessage(i,farbe,params);
    }
    }
    return 1;
    }


    Hier die Variante in ZCMD. Wenn du OCMD / DCMD / Whatever benutzt, brauchst du SSCANF um die Parameter zu splitten..


    Gruss

  • Danke Honig, muss ich das dan so machen?


    ocmd:t(playerid,params[])
    {
    new pName[25];
    if(isnull(params)) return SendClientMessage(playerid,REDD,"Benutze /t (Text)");


    GetPlayerName(playerid,pName,25);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(gTeam[i] == TEAM_GROVE)
    {
    format(params,128,"[Team] %s: %s",pName,params);
    SendClientMessage(i,REDD,params); //was muss ich bei "i,params" eintragen?
    }
    }
    return 1;
    }


    jetzt habe ich ja nur die grove team chat, wie füge ich jetzt dort noch die anderen hinzu?

  • Nein, nein. Das Beispiel von oben war für alle Teams.


    Du brauchst nur einen Befehl und /t wird an alle Spieler in der Fraktion von "playerid" gesendet.


    P.S: In OCMD.



    ocmd:t(playerid,params[])
    {
    new pName[25],text[128];
    if(sscanf(params,"s[128]",text) return SendClientMessage(playerid,farbe,"Benutze /t (Text)");


    GetPlayerName(playerid,pName,25);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(gTeam[i] == gTeam[playerid])
    {
    format(text,128,"[Team] %s: %s",pName,text);
    SendClientMessage(i,farbe,text);
    }
    }
    return 1;
    }


    LG

  • geht leider nicht, habe es so eingefügt:


    ocmd:t(playerid,params[])
    {
    new pName[25],text[128];
    if(sscanf(params,"s[128]",text) return SendClientMessage(playerid,0x0000FFB2,"Benutze /t [Text]");
    GetPlayerName(playerid,pName,25);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(gTeam[i] == gTeam[playerid])
    {
    format(text,128,"[Team] %s: %s",pName,text);
    SendClientMessage(i,0x0000FFB2,text);
    }
    }
    return 1;
    }


    Wen ich also im spiel /t [text] eingebe kommt nichts, es wird nichts eingezeigt. Warum?



    Da wär noch eins, wen ich es mit PAWNO test, kommen 2 Warnungen, doch in der Zeile wo Sie stehen müssten (bei mir ganz am ende wos eigentlich keine Zahlen gibt)


    Sagt der noch 2 Warnungen an. bei mir hört der script bei zeile 1368 auf. und er zeigt 2 Fehler bei zeile 1369. Die gibt es ja nicht, woran liegt das?



    C:\Users\Joel Eisemann\Desktop\samp03\home\gamemodes\Gang-War.pwn(1369) : warning 203: symbol is never used: "ZIVI"
    C:\Users\Joel Eisemann\Desktop\samp03\home\gamemodes\Gang-War.pwn(1369) : warning 203: symbol is never used: "t"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    2 Warnings.


    Danke nochmal

    Einmal editiert, zuletzt von Jimmy93432 ()