gTeam und TextDraw

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
  • Hi Leutz,


    Ich suche schon seit Tagen das gesamte Breadfishforum ab nach Textdraw und gTeam. hab ich beides bereits auch schon im breadfish wiki und dem englischen wiki nach geschaut aber immer noch nichts gefunden. Also. Zuerst suche ich nach einem Command wo ich jemanden in ein gTeam stecken kann. Bisher hab ich folgendes:


    static gTeam[MAX_PLAYERS];...


    ...#define TEAM_Polizei 2...


    public OnPlayerRequestClass(playerid, classid)
    ...
    if(gTeam[playerid] == 2)
    {
    SetPlayerPos(playerid, 240.2693, 81.1913, 1005.0391);
    SetPlayerFacingAngle(playerid, /*240.3108, 73.9152,*/ 1005.0391);
    SetPlayerInterior(playerid, 6);
    SetPlayerColor(playerid, 0x2641FE00);
    GivePlayerWeapon(playerid, 24, 150);
    GivePlayerWeapon(playerid, 25, 150);
    }...


    public OnPlayerCommandText(playerid, cmdtext[])
    ...
    if(strcmp(cmdtext, "/BlaBla", true) == 0)
    {
    ???/*Was muss ich hier einfüge damit (z.B. Ich) in das Team komme???*/???
    }


    und als 2. brauche ich einen TextDraw, da der rest irgendwie dähmlich aussieht. Wie erstelle ich einen TextDraw? Das ganze zeug in den beiden Wikis versteh ich net und hier hab ich in der SuFu auch überhaupt nix helfendes gefunden :( .


    Bitte helft mir


    MFG
    [XAC]Simon


    PS: Da die LapTop-Maus von meiner Schwester schrott ist, muss ich die beschissene Maus von Olidata nehmen, die klickt immer 2x und das kann beim scripten echt nerven!!!!


    MY SELFMADE GAMEMODE "NoName"

    Spoiler anzeigen


    - AccountSystem: 100%
    - LizenzenSystem: 5%
    - TelefonSystem: 5%
    - JobSystem: 3%
    - GeldSystem: 80%
    - AutoSystem: 75%
    - FahndungsSystem: [color=#ff6600]10%
    [color=#000000]- HausSystem: [color=#ff0000]0%

    [color=#000000]- GeschäftsSystem: [color=#ff0000]0%

    [color=#000000]- ZahlTag System: [color=#ff0000]0%

    [color=#000000]- WetterSystem: [color=#ff0000]0%

    [color=#000000]- AntiCheatSystem: [color=#ff0000]0%

    Spoiler anzeigen
    GameModeName: [GM]MyGamemode
    Filterscripts: None
    Benutze Includes: [Inc]MyInclude
    Voraussichtliche Fertigstellung: Unbekannt
    Voraussichtliche Servereröffnung: Unbekannt
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Sonstige Anmerkungen: Selfmade

  • Zum Team...
    if(strcmp(cmdtext,"/MichInPolizei",true)==0) {
    gTeam[playerid]=TEAM_Polizei;
    SendClientMessage(playerid,farbe,"Du bist jetzt bei der Polizei");
    return 1;
    }
    Zum TextDraw...
    Nach oben:
    new text:textname;
    OnGameModeInit (oder auch in cmd rein oder in ein anderen public... ist FAST egal ;) )
    textname=TextDrawCreate(x,y,"das, was da stehen soll");
    x und y sind die Koordinaten auf dem Bildschirm... ich ken ndie aber nicht so genau... daran scheiterrt auch immer mein Textdraw, weil ich auch kein Bock habe die duch rumprobieren rauszufinden xD
    if(strcmp(cmdtext,"/ZeigMirDenText",true)==0) {
    TextDrawShowForPlayer(playerid,textname);
    return 1;
    }
    if(strcmp(cmdtext,"/ZeigMirNichtDenText",true)==0) {
    TextDrawHideForPlayer(playerid,textname);
    return 1;
    }

  • if(strcmp(cmd, "/maketeam", true) == 0) //wichtig: cmd statt cmdtext
    {
    if(IsPlayerConnected(playerid)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, "Benutzung: /maketeam [playerid/name] [Nummer]");
    return 1;
    }
    new paral;
    new team;
    paral = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    teaml = strval(tmp);
    if(teaml > 5 || team < 0) { SendClientMessage(playerid, COLOR_GREY, "Die TeamID darf nicht unter 0 und über 5 sein."); return 1; } //Die Nummer 5 bitte durch die Zahl deiner maximalen TeamID austauschen.
    if (PlayerInfo[playerid][pAdmin] >= ???) // ??? durch die Nummer ersetzen, welchen Admin Rang man für den befehl braucht.


    /* Wenn du kein Godfather hast oder nicht mit "pAdmin" arbeitest kannst du als rcon admin folgendes benutzen:*/
    /* if (IsPlayerAdmin(playerid)) */


    {
    if(IsPlayerConnected(paral))
    {
    if(paral != INVALID_PLAYER_ID) //Wenn die angegebene ID gültig ist
    {
    GetPlayerName(paral, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[paral][gTeam] = team;
    format(string, sizeof(string), "Du wurdest von Admin %s zum Team %d geswitcht.", sendername, team);
    SendClientMessage(paral, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "Du hast Spieler %s zum Team %d geswitcht.", giveplayer, teaml);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Admin.");
    }
    }
    return 1;
    }
    }



    Farben müssen Definiert werden.
    Aber das hat eigentlich jeder Script...

  • C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(973) : error 017: undefined symbol "cmd"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(976) : error 001: expected token: ")", but found "{"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(977) : error 017: undefined symbol "tmp"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(977) : error 017: undefined symbol "strtok"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(978) : error 017: undefined symbol "tmp"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(985) : error 017: undefined symbol "ReturnUser"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(986) : error 017: undefined symbol "tmp"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(986) : error 017: undefined symbol "strtok"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(987) : error 017: undefined symbol "teaml"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(987) : error 017: undefined symbol "tmp"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(988) : error 017: undefined symbol "teaml"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(998) : error 017: undefined symbol "giveplayer"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(998) : error 017: undefined symbol "giveplayer"
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(998) : error 029: invalid expression, assumed zero
    C:\Users\Simon\Desktop\SAMP-Server (1)\gamemodes\German-ESports.pwn(998) : fatal error 107: too many error messages on one line


    MY SELFMADE GAMEMODE "NoName"

    Spoiler anzeigen


    - AccountSystem: 100%
    - LizenzenSystem: 5%
    - TelefonSystem: 5%
    - JobSystem: 3%
    - GeldSystem: 80%
    - AutoSystem: 75%
    - FahndungsSystem: [color=#ff6600]10%
    [color=#000000]- HausSystem: [color=#ff0000]0%

    [color=#000000]- GeschäftsSystem: [color=#ff0000]0%

    [color=#000000]- ZahlTag System: [color=#ff0000]0%

    [color=#000000]- WetterSystem: [color=#ff0000]0%

    [color=#000000]- AntiCheatSystem: [color=#ff0000]0%

    Spoiler anzeigen
    GameModeName: [GM]MyGamemode
    Filterscripts: None
    Benutze Includes: [Inc]MyInclude
    Voraussichtliche Fertigstellung: Unbekannt
    Voraussichtliche Servereröffnung: Unbekannt
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Sonstige Anmerkungen: Selfmade

    Einmal editiert, zuletzt von SmArTi ()

  • Das war nicht kopiert, das war alles Handarbeit.
    Ich ging nur davon aus dass er die Sachen schon definiert hat, weil ohne kann man sehr viele Befehle nicht scripten.


    Nungut ich geb zu dass es sehr hingeklatscht war, deswegen sind ein paar Fehler drin aber ich wollte sowieso eher dass er es als Beispiel nimmt und draus lernt und nicht 1 zu 1 kopiert.


    Nun gut pack das Zeug hier in den Script:


    Unter "OnPlayerCommandText(playerid, cmdtext[ ])


    new idx;
    new cmd[256];
    cmd = strtok(cmdtext, idx);


    und dann noch einmal zwischen den ganzen "public" 's einfach so im Script:


    strtok(const string[], &index)
    {
    new idx;

    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }

  • Dann war es eben Handarbeit... trotzdem werden da noch Errors kommen...
    PlayerInfo[paral][gTeam] = team;
    Ich wette, dass dies auch undefinitert ist...
    mache daraus:
    gTeam[paral]=team
    Kann auch sien, dass es para1 heißt... kann man im Pawn Quellcode schlecht erkennen...
    Und das ReturnUserm uss dann noch definiert werden ;)
    Dann noch das PlayerInfo mit den Teams...


    PS: Hab mir das jetzt mal in GF angeschaut den cmd... sieht fast genau so aus, nur, dass der cmd dort in englisch ist und /setteam heißt

  • seit neuerstens benutze ich den TextdrawEditor vom sa-mp.com forum. klappt auch alles ganz gut. blos wie kann ich des machen, dass die textdraws beim connecten angezeigt werden?


    MFG
    [XAC]Simon


    MY SELFMADE GAMEMODE "NoName"

    Spoiler anzeigen


    - AccountSystem: 100%
    - LizenzenSystem: 5%
    - TelefonSystem: 5%
    - JobSystem: 3%
    - GeldSystem: 80%
    - AutoSystem: 75%
    - FahndungsSystem: [color=#ff6600]10%
    [color=#000000]- HausSystem: [color=#ff0000]0%

    [color=#000000]- GeschäftsSystem: [color=#ff0000]0%

    [color=#000000]- ZahlTag System: [color=#ff0000]0%

    [color=#000000]- WetterSystem: [color=#ff0000]0%

    [color=#000000]- AntiCheatSystem: [color=#ff0000]0%

    Spoiler anzeigen
    GameModeName: [GM]MyGamemode
    Filterscripts: None
    Benutze Includes: [Inc]MyInclude
    Voraussichtliche Fertigstellung: Unbekannt
    Voraussichtliche Servereröffnung: Unbekannt
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Sonstige Anmerkungen: Selfmade

  • also eigendlich is es ja so wenn man des bei "OnPlayerConnect" (wie auch imma) einfügt und keinen timer oda so rein macht dann bleibt des ja für immer da. aba ich möchte es für die ganze zeit haben


    MY SELFMADE GAMEMODE "NoName"

    Spoiler anzeigen


    - AccountSystem: 100%
    - LizenzenSystem: 5%
    - TelefonSystem: 5%
    - JobSystem: 3%
    - GeldSystem: 80%
    - AutoSystem: 75%
    - FahndungsSystem: [color=#ff6600]10%
    [color=#000000]- HausSystem: [color=#ff0000]0%

    [color=#000000]- GeschäftsSystem: [color=#ff0000]0%

    [color=#000000]- ZahlTag System: [color=#ff0000]0%

    [color=#000000]- WetterSystem: [color=#ff0000]0%

    [color=#000000]- AntiCheatSystem: [color=#ff0000]0%

    Spoiler anzeigen
    GameModeName: [GM]MyGamemode
    Filterscripts: None
    Benutze Includes: [Inc]MyInclude
    Voraussichtliche Fertigstellung: Unbekannt
    Voraussichtliche Servereröffnung: Unbekannt
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Sonstige Anmerkungen: Selfmade

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • meine textdraws werden net alle angezeigt


    MY SELFMADE GAMEMODE "NoName"

    Spoiler anzeigen


    - AccountSystem: 100%
    - LizenzenSystem: 5%
    - TelefonSystem: 5%
    - JobSystem: 3%
    - GeldSystem: 80%
    - AutoSystem: 75%
    - FahndungsSystem: [color=#ff6600]10%
    [color=#000000]- HausSystem: [color=#ff0000]0%

    [color=#000000]- GeschäftsSystem: [color=#ff0000]0%

    [color=#000000]- ZahlTag System: [color=#ff0000]0%

    [color=#000000]- WetterSystem: [color=#ff0000]0%

    [color=#000000]- AntiCheatSystem: [color=#ff0000]0%

    Spoiler anzeigen
    GameModeName: [GM]MyGamemode
    Filterscripts: None
    Benutze Includes: [Inc]MyInclude
    Voraussichtliche Fertigstellung: Unbekannt
    Voraussichtliche Servereröffnung: Unbekannt
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Sonstige Anmerkungen: Selfmade

  • das klappt net also ich habs so;



    Textdraw0 = TextDrawCreate(552.000000,102.000000,"German");
    Textdraw1 = TextDrawCreate(507.000000,118.000000,"eSports");
    TextDrawAlignment(Textdraw0,0);
    TextDrawAlignment(Textdraw1,0);
    TextDrawBackgroundColor(Textdraw0,0x000000ff);
    TextDrawBackgroundColor(Textdraw1,0x000000ff);
    TextDrawFont(Textdraw0,0);
    TextDrawLetterSize(Textdraw0,1.200000,1.500000);
    TextDrawFont(Textdraw1,0);
    TextDrawLetterSize(Textdraw1,1.000000,1.300000);
    TextDrawColor(Textdraw0,0xff0000ff);
    TextDrawColor(Textdraw1,0xff0000ff);
    TextDrawSetOutline(Textdraw0,1);
    TextDrawSetOutline(Textdraw1,1);
    TextDrawSetProportional(Textdraw0,1);
    TextDrawSetProportional(Textdraw1,1);
    TextDrawSetShadow(Textdraw1,1);


    und momentan is es bei OnGamemodeInt drin = klappt net. dann hab ich versucht alles bei OnPlayerConnect rein zu tun und hat au net geklappt. was muss ich tun?


    Edit:


    Also ich hab nochma n paar TextDraws erstellt und da steht dann in der datei folgendes drin:


    //TextDraw developed using Zamaroht's in-game TextDraw system

    //On top of script:
    new Text:Textdraw0;
    new Text:Textdraw1;
    new Text:Textdraw2;

    //In OnGameModeInit or any other place, we procced to create our textdraw:
    Textdraw0 = TextDrawCreate(547.000000,22.000000,"00:00");
    Textdraw1 = TextDrawCreate(546.000000,32.000000,"31. Dez.");
    Textdraw2 = TextDrawCreate(339.000000,413.000000,"Unsere Forumadresse unter /Forum");
    TextDrawAlignment(Textdraw0,0);
    TextDrawAlignment(Textdraw1,0);
    TextDrawAlignment(Textdraw2,0);
    TextDrawBackgroundColor(Textdraw0,0x000000ff);
    TextDrawBackgroundColor(Textdraw1,0x000000ff);
    TextDrawBackgroundColor(Textdraw2,0x000000ff);
    TextDrawFont(Textdraw0,2);
    TextDrawLetterSize(Textdraw0,0.499999,1.200000);
    TextDrawFont(Textdraw1,2);
    TextDrawLetterSize(Textdraw1,0.399999,1.200000);
    TextDrawFont(Textdraw2,0);
    TextDrawLetterSize(Textdraw2,0.599999,1.500000);
    TextDrawColor(Textdraw0,0x00ffffff);
    TextDrawColor(Textdraw1,0x00ffffff);
    TextDrawColor(Textdraw2,0x00ff00ff);
    TextDrawSetOutline(Textdraw0,1);
    TextDrawSetOutline(Textdraw1,1);
    TextDrawSetOutline(Textdraw2,1);
    TextDrawSetProportional(Textdraw0,1);
    TextDrawSetProportional(Textdraw1,1);
    TextDrawSetProportional(Textdraw2,1);
    TextDrawSetShadow(Textdraw0,1);
    TextDrawSetShadow(Textdraw1,1);
    TextDrawSetShadow(Textdraw2,1);

    //You can now use TextDrawShowForPlayer(-ForAll), TextDrawHideForPlayer(-ForAll) and
    //TextDrawDestroy functions to show, hide, and destroy the textdraw.


    Edit2:


    Das bringt mich echt noch auf die palme ey. Wenn mir jemand helfen kann, kann er mich auf meinen server besuchen kommen (serverip: 85.214.135.101:2009). oder über xFire (application93)


    MY SELFMADE GAMEMODE "NoName"

    Spoiler anzeigen


    - AccountSystem: 100%
    - LizenzenSystem: 5%
    - TelefonSystem: 5%
    - JobSystem: 3%
    - GeldSystem: 80%
    - AutoSystem: 75%
    - FahndungsSystem: [color=#ff6600]10%
    [color=#000000]- HausSystem: [color=#ff0000]0%

    [color=#000000]- GeschäftsSystem: [color=#ff0000]0%

    [color=#000000]- ZahlTag System: [color=#ff0000]0%

    [color=#000000]- WetterSystem: [color=#ff0000]0%

    [color=#000000]- AntiCheatSystem: [color=#ff0000]0%

    Spoiler anzeigen
    GameModeName: [GM]MyGamemode
    Filterscripts: None
    Benutze Includes: [Inc]MyInclude
    Voraussichtliche Fertigstellung: Unbekannt
    Voraussichtliche Servereröffnung: Unbekannt
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Sonstige Anmerkungen: Selfmade

    2 Mal editiert, zuletzt von SmArTi ()

  • Kann mir niemand helfen??? bitte


    MY SELFMADE GAMEMODE "NoName"

    Spoiler anzeigen


    - AccountSystem: 100%
    - LizenzenSystem: 5%
    - TelefonSystem: 5%
    - JobSystem: 3%
    - GeldSystem: 80%
    - AutoSystem: 75%
    - FahndungsSystem: [color=#ff6600]10%
    [color=#000000]- HausSystem: [color=#ff0000]0%

    [color=#000000]- GeschäftsSystem: [color=#ff0000]0%

    [color=#000000]- ZahlTag System: [color=#ff0000]0%

    [color=#000000]- WetterSystem: [color=#ff0000]0%

    [color=#000000]- AntiCheatSystem: [color=#ff0000]0%

    Spoiler anzeigen
    GameModeName: [GM]MyGamemode
    Filterscripts: None
    Benutze Includes: [Inc]MyInclude
    Voraussichtliche Fertigstellung: Unbekannt
    Voraussichtliche Servereröffnung: Unbekannt
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Sonstige Anmerkungen: Selfmade

  • *Info* Bin seit Vorgestern wieder Scripter, deswegen greif ich das hier auf ;)


    Ich denke ma dein Problem liegt daran, dass du die Farbe net gemacht hast.Wie keks schon sagte musst du ~*farbe*~ reinmachen sprich so hier:



    Textdraw0 = TextDrawCreate(547.000000,22.000000,"~r~00:00");


    wie es am Ende aufhört weiß ich noch net, aber dies sollte dir schon geholfen haben