Warum funktioniert der befehl nicht? (/f(amily) + Skin Setzt sich nicht

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 wollte einen /family bzw. /f chat für Gangs machen.. Allerdings kommt keine Nachricht an..


    Befehl:


    ocmd:f(playerid,params[])
    {
    new text[156];
    if(SpielerInfo[playerid][pFraktion] == 1) return SCM(playerid,GRAU,"Du bist in keiner Gang.");
    if(SpielerInfo[playerid][pFraktion] == 2) return SCM(playerid,GRAU,"Du bist in keiner Gang.");
    if(SpielerInfo[playerid][pFraktion] == 3) return SCM(playerid,GRAU,"Du bist in keiner Gang.");
    if(SpielerInfo[playerid][pFraktion] == 4) return SCM(playerid,GRAU,"Du bist in keiner Gang.");
    if(SpielerInfo[playerid][pFraktion] == 5) return SCM(playerid,GRAU,"Du bist in keiner Gang.");
    if(sscanf(params,"s",text)) return SCM(playerid,GRAU,"Nutze: /f [Text] für den Familienchat");
    if(SpielerInfo[playerid][pFraktion] == 6)
    {
    if(SpielerInfo[playerid][pRang] == 1)
    {
    format(text,sizeof(text),"Pimpf %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(6,WEIS,text);
    }
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    format(text,sizeof(text),"Thug %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(6,WEIS,text);
    }
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    format(text,sizeof(text),"Junky %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(6,WEIS,text);
    }
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    format(text,sizeof(text),"Pimp %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(6,WEIS,text);
    }
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    format(text,sizeof(text),"Homie %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(6,WEIS,text);
    }
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    format(text,sizeof(text),"Gangster %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(6,WEIS,text);
    }
    }
    else if(SpielerInfo[playerid][pRang] == 7)
    {
    format(text,sizeof(text),"Boss %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(6,WEIS,text);
    }
    }
    if(SpielerInfo[playerid][pFraktion] == 7)
    {
    if(SpielerInfo[playerid][pRang] == 1)
    {
    format(text,sizeof(text),"Pimpf %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(7,WEIS,text);
    }
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    format(text,sizeof(text),"Thug %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(7,WEIS,text);
    }
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    format(text,sizeof(text),"Junky %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(7,WEIS,text);
    }
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    format(text,sizeof(text),"Pimp %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(7,WEIS,text);
    }
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    format(text,sizeof(text),"Homie %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(7,WEIS,text);
    }
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    format(text,sizeof(text),"Gangster %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(7,WEIS,text);
    }
    }
    else if(SpielerInfo[playerid][pRang] == 7)
    {
    format(text,sizeof(text),"Boss %s:{0055FF} %s.",pn(playerid),text);
    switch (SpielerInfo[playerid][pFraktion])
    {
    case 1: SendeFraktion(7,WEIS,text);
    }
    }
    }
    }


    Gangs: Fraktion 6 & 7.


    SendeFraktion:
    forward SendeFraktion(fraktion, farbe, string[]);
    public SendeFraktion(fraktion, farbe, string[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][pFraktion] == fraktion)
    {
    SCM(i, farbe, string);
    }
    }
    }
    return 1;
    }




    ----


    Ausserdem wird mein Skin beim Spawn nicht gesetzt. Allerdings nur bei den fraktionen 6 & 7..


    Code:
    if(SpielerInfo[playerid][pFraktion] == 6)
    {
    if(SpielerInfo[playerid][pRang] == 0)
    {
    SetPlayerSkin(playerid, 114);
    }
    if(SpielerInfo[playerid][pRang] == 1)
    {
    SetPlayerSkin(playerid, 114);
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    SetPlayerSkin(playerid, 114);
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    SetPlayerSkin(playerid, 114);
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    SetPlayerSkin(playerid, 116);
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    SetPlayerSkin(playerid, 116);
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    SetPlayerSkin(playerid, 116);
    }
    if(SpielerInfo[playerid][pRang] == 7)
    {
    SetPlayerSkin(playerid, 115);
    }
    //Gang2
    if(SpielerInfo[playerid][pFraktion] == 7)
    {
    if(SpielerInfo[playerid][pRang] == 0)
    {
    SetPlayerSkin(playerid, 102);
    }
    if(SpielerInfo[playerid][pRang] == 1)
    {
    SetPlayerSkin(playerid, 102);
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    SetPlayerSkin(playerid, 102);
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    SetPlayerSkin(playerid, 103);
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    SetPlayerSkin(playerid, 103);
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    SetPlayerSkin(playerid, 103);
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    SetPlayerSkin(playerid, 103);
    }
    if(SpielerInfo[playerid][pRang] == 7)
    {
    SetPlayerSkin(playerid, 104);
    }
    }
    }
    }
    return 1;
    }


    mfg :S

  • Den Befehl kannst du einfach so schreiben:
    ocmd:f(playerid,params[])
    {
    new text[145];
    if(sscanf(params,"s",text)) return SCM(playerid,GRAU,"Nutze: /f [Text] für den Familienchat");
    if(SpielerInfo[playerid][pFraktion] == 6 || SpielerInfo[playerid][pFraktion] == 7)
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 1: format(text,sizeof(text),"Pimpf %s:{0055FF} %s.",pn(playerid),text);
    case 2: format(text,sizeof(text),"Thug %s:{0055FF} %s.",pn(playerid),text);
    case 3: format(text,sizeof(text),"Junky %s:{0055FF} %s.",pn(playerid),text);
    case 4: format(text,sizeof(text),"Pimp %s:{0055FF} %s.",pn(playerid),text);
    case 5: format(text,sizeof(text),"Homie %s:{0055FF} %s.",pn(playerid),text);
    case 6: format(text,sizeof(text),"Gangster %s:{0055FF} %s.",pn(playerid),text);
    case 7: format(text,sizeof(text),"Boss %s:{0055FF} %s.",pn(playerid),text);
    default: format(text,sizeof(text),"<Unbekannt> %s:{0055FF} %s.",pn(playerid),text);
    }
    SendeFraktion(SpielerInfo[playerid][pFraktion],WEIS,text);
    }
    else SCM(playerid,GRAU,"Du bist in keiner Gang.");
    return 1;
    }
    Da ist wesentlich weniger Code.


    Und beim Spawn, da passen die Klammern nicht. Das kannst du auch einfach so kürzen:
    if(SpielerInfo[playerid][pFraktion] == 6)
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 0..3: SetPlayerSkin(playerid, 114);
    case 4..6: SetPlayerSkin(playerid, 116);
    case 7: SetPlayerSkin(playerid, 115);
    }
    }
    else if(SpielerInfo[playerid][pFraktion] == 7)
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 0..2: SetPlayerSkin(playerid, 102);
    case 3..6: SetPlayerSkin(playerid, 103);
    case 7: SetPlayerSkin(playerid, 104);
    }
    }

  • Jeffry


    Leider funktionierts immernochnicht.. Hier mal der ganze code; (das mit dem skin)

    Spoiler anzeigen

    forward SetzeSkin(playerid);
    public SetzeSkin(playerid)
    {
    if(SpielerInfo[playerid][pFraktion] == 0)
    {
    SetPlayerSkin(playerid,7);
    }
    //SFPD
    if(SpielerInfo[playerid][pFraktion] == 1)
    {
    if(SpielerInfo[playerid][pRang] == 0)
    {
    SetPlayerSkin(playerid, 281);
    }
    if(SpielerInfo[playerid][pRang] == 1)
    {
    SetPlayerSkin(playerid, 281);
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    SetPlayerSkin(playerid, 280);
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    SetPlayerSkin(playerid, 267);
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    SetPlayerSkin(playerid, 266);
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    SetPlayerSkin(playerid, 265);
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    SetPlayerSkin(playerid, 164);
    }
    if(SpielerInfo[playerid][pRang] == 7)
    {
    SetPlayerSkin(playerid, 163);
    }
    }
    //Yakuza
    if(SpielerInfo[playerid][pFraktion] == 2)
    {
    if(SpielerInfo[playerid][pRang] == 0)
    {
    SetPlayerSkin(playerid, 121);
    }
    if(SpielerInfo[playerid][pRang] == 1)
    {
    SetPlayerSkin(playerid, 121);
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    SetPlayerSkin(playerid, 122);
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    SetPlayerSkin(playerid, 169);
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    SetPlayerSkin(playerid, 123);
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    SetPlayerSkin(playerid, 186);
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    SetPlayerSkin(playerid, 120);
    }
    if(SpielerInfo[playerid][pRang] == 7)
    {
    SetPlayerSkin(playerid, 228);
    }
    }
    //LCN
    if(SpielerInfo[playerid][pFraktion] == 3)
    {
    if(SpielerInfo[playerid][pRang] == 0)
    {
    SetPlayerSkin(playerid, 98);
    }
    if(SpielerInfo[playerid][pRang] == 1)
    {
    SetPlayerSkin(playerid, 98);
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    SetPlayerSkin(playerid, 126);
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    SetPlayerSkin(playerid, 240);
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    SetPlayerSkin(playerid, 46);
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    SetPlayerSkin(playerid, 223);
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    SetPlayerSkin(playerid, 258);
    }
    if(SpielerInfo[playerid][pRang] == 7)
    {
    SetPlayerSkin(playerid, 113);
    }
    }
    //Ordnungsamt
    if(SpielerInfo[playerid][pFraktion] == 4)
    {
    if(SpielerInfo[playerid][pRang] == 0)
    {
    SetPlayerSkin(playerid, 260);
    }
    if(SpielerInfo[playerid][pRang] == 1)
    {
    SetPlayerSkin(playerid, 260);
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    SetPlayerSkin(playerid, 260);
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    SetPlayerSkin(playerid, 71);
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    SetPlayerSkin(playerid, 276);
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    SetPlayerSkin(playerid, 275);
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    SetPlayerSkin(playerid, 274);
    }
    if(SpielerInfo[playerid][pRang] == 7)
    {
    SetPlayerSkin(playerid, 17);
    }
    }
    //Cargo-GmbH
    if(SpielerInfo[playerid][pFraktion] == 5)
    {
    if(SpielerInfo[playerid][pRang] == 0)
    {
    SetPlayerSkin(playerid, 36);
    }
    if(SpielerInfo[playerid][pRang] == 1)
    {
    SetPlayerSkin(playerid, 36);
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    SetPlayerSkin(playerid, 202);
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    SetPlayerSkin(playerid, 27);
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    SetPlayerSkin(playerid, 133);
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    SetPlayerSkin(playerid, 34);
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    SetPlayerSkin(playerid, 185);
    }
    if(SpielerInfo[playerid][pRang] == 7)
    {
    SetPlayerSkin(playerid, 153);
    }
    if(SpielerInfo[playerid][pFraktion] == 6)
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 0..3: SetPlayerSkin(playerid, 114);
    case 4..6: SetPlayerSkin(playerid, 116);
    case 7: SetPlayerSkin(playerid, 115);
    }
    }
    else if(SpielerInfo[playerid][pFraktion] == 7)
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 0..2: SetPlayerSkin(playerid, 102);
    case 3..6: SetPlayerSkin(playerid, 103);
    case 7: SetPlayerSkin(playerid, 104);
    }
    }
    }
    return 1;
    }


    MFG

  • Du hast die Klammern durcheinander gebraucht.
    Schreibe am besten alles mit den switches, dann ist es übersichtlicher:
    forward SetzeSkin(playerid);
    public SetzeSkin(playerid)
    {
    switch(SpielerInfo[playerid][pFraktion])
    {
    case 0: SetPlayerSkin(playerid,7);
    case 1:
    {
    switch(SpielerInfo[playerid][pRang])
    {
    //...
    }
    }
    //...
    case 6:
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 0..3: SetPlayerSkin(playerid, 114);
    case 4..6: SetPlayerSkin(playerid, 116);
    case 7: SetPlayerSkin(playerid, 115);
    }
    }
    case 7:
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 0..2: SetPlayerSkin(playerid, 102);
    case 3..6: SetPlayerSkin(playerid, 103);
    case 7: SetPlayerSkin(playerid, 104);
    }
    }
    }
    return 1;
    }


    Fraktion 1 bis 5 musst du eben noch ausfüllen.


    Ansonsten sähe es eben so aus (switch ist aber besser):

    Spoiler anzeigen
    forward SetzeSkin(playerid);
    public SetzeSkin(playerid)
    {
    if(SpielerInfo[playerid][pFraktion] == 0)
    {
    SetPlayerSkin(playerid,7);
    }
    //SFPD
    if(SpielerInfo[playerid][pFraktion] == 1)
    {
    if(SpielerInfo[playerid][pRang] == 0)
    {
    SetPlayerSkin(playerid, 281);
    }
    if(SpielerInfo[playerid][pRang] == 1)
    {
    SetPlayerSkin(playerid, 281);
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    SetPlayerSkin(playerid, 280);
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    SetPlayerSkin(playerid, 267);
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    SetPlayerSkin(playerid, 266);
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    SetPlayerSkin(playerid, 265);
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    SetPlayerSkin(playerid, 164);
    }
    if(SpielerInfo[playerid][pRang] == 7)
    {
    SetPlayerSkin(playerid, 163);
    }
    }
    //Yakuza
    if(SpielerInfo[playerid][pFraktion] == 2)
    {
    if(SpielerInfo[playerid][pRang] == 0)
    {
    SetPlayerSkin(playerid, 121);
    }
    if(SpielerInfo[playerid][pRang] == 1)
    {
    SetPlayerSkin(playerid, 121);
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    SetPlayerSkin(playerid, 122);
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    SetPlayerSkin(playerid, 169);
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    SetPlayerSkin(playerid, 123);
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    SetPlayerSkin(playerid, 186);
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    SetPlayerSkin(playerid, 120);
    }
    if(SpielerInfo[playerid][pRang] == 7)
    {
    SetPlayerSkin(playerid, 228);
    }
    }
    //LCN
    if(SpielerInfo[playerid][pFraktion] == 3)
    {
    if(SpielerInfo[playerid][pRang] == 0)
    {
    SetPlayerSkin(playerid, 98);
    }
    if(SpielerInfo[playerid][pRang] == 1)
    {
    SetPlayerSkin(playerid, 98);
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    SetPlayerSkin(playerid, 126);
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    SetPlayerSkin(playerid, 240);
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    SetPlayerSkin(playerid, 46);
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    SetPlayerSkin(playerid, 223);
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    SetPlayerSkin(playerid, 258);
    }
    if(SpielerInfo[playerid][pRang] == 7)
    {
    SetPlayerSkin(playerid, 113);
    }
    }
    //Ordnungsamt
    if(SpielerInfo[playerid][pFraktion] == 4)
    {
    if(SpielerInfo[playerid][pRang] == 0)
    {
    SetPlayerSkin(playerid, 260);
    }
    if(SpielerInfo[playerid][pRang] == 1)
    {
    SetPlayerSkin(playerid, 260);
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    SetPlayerSkin(playerid, 260);
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    SetPlayerSkin(playerid, 71);
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    SetPlayerSkin(playerid, 276);
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    SetPlayerSkin(playerid, 275);
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    SetPlayerSkin(playerid, 274);
    }
    if(SpielerInfo[playerid][pRang] == 7)
    {
    SetPlayerSkin(playerid, 17);
    }
    }
    //Cargo-GmbH
    if(SpielerInfo[playerid][pFraktion] == 5)
    {
    if(SpielerInfo[playerid][pRang] == 0)
    {
    SetPlayerSkin(playerid, 36);
    }
    if(SpielerInfo[playerid][pRang] == 1)
    {
    SetPlayerSkin(playerid, 36);
    }
    if(SpielerInfo[playerid][pRang] == 2)
    {
    SetPlayerSkin(playerid, 202);
    }
    if(SpielerInfo[playerid][pRang] == 3)
    {
    SetPlayerSkin(playerid, 27);
    }
    if(SpielerInfo[playerid][pRang] == 4)
    {
    SetPlayerSkin(playerid, 133);
    }
    if(SpielerInfo[playerid][pRang] == 5)
    {
    SetPlayerSkin(playerid, 34);
    }
    if(SpielerInfo[playerid][pRang] == 6)
    {
    SetPlayerSkin(playerid, 185);
    }
    if(SpielerInfo[playerid][pRang] == 7)
    {
    SetPlayerSkin(playerid, 153);
    }
    }
    if(SpielerInfo[playerid][pFraktion] == 6)
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 0..3: SetPlayerSkin(playerid, 114);
    case 4..6: SetPlayerSkin(playerid, 116);
    case 7: SetPlayerSkin(playerid, 115);
    }
    }
    else if(SpielerInfo[playerid][pFraktion] == 7)
    {
    switch(SpielerInfo[playerid][pRang])
    {
    case 0..2: SetPlayerSkin(playerid, 102);
    case 3..6: SetPlayerSkin(playerid, 103);
    case 7: SetPlayerSkin(playerid, 104);
    }
    }
    return 1;
    }