/f Server crasht!

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


    immer wenn ich bei mir auf den Server /f [Text] eingebe crasht der Server ;(
    Weiss einer woran es liegt?
    Hier die PWN:


    ocmd:f(playerid, params[])
    {
    if(SpielerInfo[playerid][Firma] == 1)
    {
    new nachricht;
    new xname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,xname,sizeof(xname));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /f [Text]");
    }
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][Firma] == 1)
    {
    new string[128];
    format(string,sizeof(string),"[HITMAN]%s: %s",xname, nachricht);
    SendClientMessage(i,COLOR_FAMILYCHAT,string);
    return 1;
    }
    }
    }
    else if(SpielerInfo[playerid][Firma] == 2)
    {
    new nachricht;
    new xname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,xname,sizeof(xname));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /f [Text]");
    }
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][Firma] == 2)
    {
    new string[128];
    format(string,sizeof(string),"[Police]%s: %s",xname, nachricht);
    SendClientMessage(i,COLOR_FAMILYCHAT,string);
    return 1;
    }
    }
    }
    else if(SpielerInfo[playerid][Firma] == 3)
    {
    new nachricht;
    new xname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,xname,sizeof(xname));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /f [Text]");
    }
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][Firma] == 3)
    {
    new string[128];
    format(string,sizeof(string),"[SAN News]%s: %s",xname, nachricht);
    SendClientMessage(i,COLOR_FAMILYCHAT,string);
    return 0;
    }
    }
    }
    else if(SpielerInfo[playerid][Firma] == 4)
    {
    new nachricht;
    new xname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,xname,sizeof(xname));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /f [Text]");
    }
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][Firma] == 4)
    {
    new string[128];
    format(string,sizeof(string),"[Taifun]%s: %s",xname, nachricht);
    SendClientMessage(i,COLOR_FAMILYCHAT,string);
    return 0;
    }
    }
    }
    else if(SpielerInfo[playerid][Firma] == 5)
    {
    new nachricht;
    new xname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,xname,sizeof(xname));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /f [Text]");
    }
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][Firma] == 5)
    {
    new string[128];
    format(string,sizeof(string),"[Medics]%s: %s",xname, nachricht);
    SendClientMessage(i,COLOR_FAMILYCHAT,string);
    return 0;
    }
    }
    }
    else if(SpielerInfo[playerid][Firma] == 6)
    {
    new nachricht;
    new xname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,xname,sizeof(xname));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /f [Text]");
    }
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][Firma] == 6)
    {
    new string[128];
    format(string,sizeof(string),"[Al Qaida]%s: %s",xname, nachricht);
    SendClientMessage(i,COLOR_FAMILYCHAT,string);
    return 0;
    }
    }
    }
    else if(SpielerInfo[playerid][Firma] == 7)
    {
    new nachricht;
    new xname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,xname,sizeof(xname));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /f [Text]");
    }
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][Firma] == 7)
    {
    new string[128];
    format(string,sizeof(string),"[Ghostrider]%s: %s",xname, nachricht);
    SendClientMessage(i,COLOR_FAMILYCHAT,string);
    return 0;
    }
    }
    }
    return 1;
    }

  • 1. Wenn man beim definieren des Strings für die Sscanf Abfrage vergisst, eine Größe anzugeben, KANN es nicht funktionieren! :cursing:
    2. Der Ansatz ist gut, allerdings geht das auch viel viel kürzer :huh:
    ocmd:f(playerid, params[])
    {
    new nachricht[108];
    if(sscanf(params,"s",nachricht))return SendClientMessage(playerid,COLOR_GRAU,"Verwende /f [Text]");
    else
    {
    new string[128], xname[20];
    GetPlayerName(playerid, xname, sizeof(xname));
    switch(SpielerInfo[playerid][Firma])
    {
    case 1: format(string,sizeof(string),"[HITMAN]%s: %s",xname, nachricht);
    case 2: format(string,sizeof(string),"[Police]%s: %s",xname, nachricht);
    case 3: format(string,sizeof(string),"[SAN News]%s: %s",xname, nachricht);
    case 4: format(string,sizeof(string),"[Taifun]%s: %s",xname, nachricht);
    case 5: format(string,sizeof(string),"[Medics]%s: %s",xname, nachricht);
    case 6: format(string,sizeof(string),"[Al Qaida]%s: %s",xname, nachricht);
    case 7: format(string,sizeof(string),"[Ghostrider]%s: %s",xname, nachricht);
    }
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i) && SpielerInfo[i][Firma] == SpielerInfo[playerid][Firma])
    {
    SendClientMessage(i,COLOR_FAMILYCHAT,string); // Koennte man auch hinter die if-Abfrage setzen
    }
    }
    }
    return 1;
    }

  • Und wie ist es dann hier ->


    ocmd:dsage(playerid, params[])
    {
    if(SpielerInfo[playerid][Leader] == 1)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{FF0A00}Durchsage der Hitmans{FAFAFA}________|");
    format(string,sizeof(string),"%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Leader] == 2)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{0019FF}Durchsage der LSPD{FAFAFA}________|");
    format(string,sizeof(string),"{0019FF}%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Leader] == 3)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{FF9600}Durchsage der SAN NEWS{FAFAFA}________|");
    format(string,sizeof(string),"{FF9600}%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Leader] == 4)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{009BFF}Durchsage der Taifun Elite{FAFAFA}________|");
    format(string,sizeof(string),"{009BFF}%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Leader] == 5)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{AFFF00}Durchsage der Sanitäter{FAFAFA}________|");
    format(string,sizeof(string),"{AFFF00}%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Leader] == 6)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{A95C33}Durchsage der Al Qaida{FAFAFA}________|");
    format(string,sizeof(string),"{A95C33}%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Leader] == 7)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{D33C00}Durchsage der Ghostrider{FAFAFA}________|");
    format(string,sizeof(string),"{D33C00}%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Coleader] == 1)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{FF0A00}Durchsage der Hitmans{FAFAFA}________|");
    format(string,sizeof(string),"%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Coleader] == 2)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{0019FF}Durchsage der LSPD{FAFAFA}________|");
    format(string,sizeof(string),"{0019FF}%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Coleader] == 3)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{FF9600}Durchsage der SAN NEWS{FAFAFA}________|");
    format(string,sizeof(string),"{FF9600}%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Coleader] == 4)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{009BFF}Durchsage der Taifun Elite{FAFAFA}________|");
    format(string,sizeof(string),"{009BFF}%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Coleader] == 5)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{AFFF00}Durchsage der Sanitäter{FAFAFA}________|");
    format(string,sizeof(string),"{AFFF00}%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Coleader] == 6)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{A95C33}Durchsage der Al Qaida{FAFAFA}________|");
    format(string,sizeof(string),"{A95C33}%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    else if(SpielerInfo[playerid][Coleader] == 7)
    {
    new nachricht;
    new playername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(sscanf(params,"s",nachricht))
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /dsage [Durchsage]");
    }
    SendClientMessageToAll(weiß,"{FAFAFA}|________{D33C00}Durchsage der Ghostrider{FAFAFA}________|");
    format(string,sizeof(string),"{D33C00}%s: %s",playername, nachricht);
    SendClientMessageToAll(COLOR_RED,string);
    return 1;
    }
    return 0;
    }

  • Wer leset der findet ;)

    Zitat

    1. Wenn man beim definieren des Strings für die Sscanf Abfrage vergisst, eine Größe anzugeben, KANN es nicht funktionieren! :cursing:


    Es muss
    new nachricht[108];;

    heißen
    /e Ein wenig genauer erklärt

    Einmal editiert, zuletzt von ]hp[ ()

  • Ich meinte eig das es ach so kurz ist und nicht so lang :)