Sprache bleibt gleich (?)

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 habe folgendes Problem:
    Eigentlich habe ich ein Sprachensystem.. Heißt man muss eine Sprache erlernen um sie zu verstehen.. Jedoch kann jeder die Sprache verstehen, also jeder bekommt den normalen Text zu Gesicht, obwohl dies nicht der Fall sein sollte...


    public OnPlayerText(playerid, text[])
    {
    new string[256],pname[16],string2[256];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"%s sagt: %s",pname,text);
    format(string2,sizeof(string2),"%s sagt: (Fremdsprache)",pname);
    switch(Spieler[playerid][Sprache])
    {
    case 0:
    {
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(Spieler[i][Sprache] == 0)
    {
    SendClientMessageR(i,Weiss,string,10.0);
    }
    if(Spieler[i][Sprache] != 0)
    {
    SendClientMessageR(i,Weiss,string2,10.0);
    }
    }
    }
    case 1:
    {
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(Spieler[i][Sprache] == 1)
    {
    SendClientMessageR(i,Weiss,string,10.0);
    }
    if(Spieler[i][Sprache] != 1)
    {
    SendClientMessageR(i,Weiss,string2,10.0);
    }
    }
    }
    case 2:
    {
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(Spieler[i][Sprache] == 2)
    {
    SendClientMessageR(i,Weiss,string,10.0);
    }
    if(Spieler[i][Sprache] != 2)
    {
    SendClientMessageR(i,Weiss,string2,10.0);
    }
    }
    }
    case 3:
    {
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(Spieler[i][Sprache] == 3)
    {
    SendClientMessageR(i,Weiss,string,10.0);
    }
    if(Spieler[i][Sprache] != 3)
    {
    SendClientMessageR(i,Weiss,string2,10.0);
    }
    }
    }
    case 4:
    {
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(Spieler[i][Sprache] == 4)
    {
    SendClientMessageR(i,Weiss,string,10.0);
    }
    if(Spieler[i][Sprache] != 4)
    {
    SendClientMessageR(i,Weiss,string2,10.0);
    }
    }
    }
    }
    return 0;
    }

  • Versuche es so, das sollte reichen:
    public OnPlayerText(playerid, text[])
    {
    new string[145],pname[16],string2[145];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"%s sagt: %s",pname,text);
    format(string2,sizeof(string2),"%s sagt: (Fremdsprache)",pname);
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(Spieler[i][Sprache] == Spieler[playerid][Sprache])
    {
    SendClientMessageR(i,Weiss,string,10.0);
    }
    else
    {
    SendClientMessageR(i,Weiss,string2,10.0);
    }
    }
    return 0;
    }

  • Versuche es so, das sollte reichen:
    public OnPlayerText(playerid, text[]){ new string[145],pname[16],string2[145]; GetPlayerName(playerid,pname,sizeof(pname)); format(string,sizeof(string),"%s sagt: %s",pname,text); format(string2,sizeof(string2),"%s sagt: (Fremdsprache)",pname); for(new i; i<MAX_PLAYERS; i++) { if(!IsPlayerConnected(i)) continue; if(Spieler[i][Sprache] == Spieler[playerid][Sprache]) { SendClientMessageR(i,Weiss,string,10.0); } else { SendClientMessageR(i,Weiss,string2,10.0); } } return 0;}

    Es funktioniert nicht...