Skocz do zawartości
szogun

[Rozwiązane] loose indentation przy kompilowaniu

Rekomendowane odpowiedzi

Mam mały problem z prze kompilowaniem pluginu sam już nie wiem dlaczego, poniżej kod

 

Spoiler

public void SQL_TopRankCallback(Handle owner, Handle hndl, const char[] error, any Datapack){
    if(hndl == INVALID_HANDLE)
    {
        LogError("[RankMe] Query Fail: %s", error);
        PrintToServer(error);
        return;
    }
    ResetPack(Datapack);
    int i;
    int client = ReadPackCell(Datapack);
    if(client == 0 || !IsClientInGame(client))
        return;
    int at = ReadPackCell(Datapack);
    CloseHandle(Datapack);
    if(!SQL_HasResultSet(hndl) || SQL_GetRowCount(hndl) ==0){
        ShowTopRank(client,g_TotalPlayers-9);
        return;
    }
    char name[256];
    char temp[500];
    
	Handle menu = CreateMenuEx(GetMenuStyleHandle(MenuStyle MenuStyle_Radio),MenuHandler_Rank);
    
    Format(temp,sizeof(temp)," %T\n","Showing",client,at+1,at+10,g_TotalPlayers);
    SetMenuTitle(menu,"[#TOP] Nick - Ranga - Punkty");
    char sBuffer[200];
    while(SQL_HasResultSet(hndl) && SQL_FetchRow(hndl))
    {
        
        i++;
        
        SQL_FetchString(hndl,2,name,sizeof(name));
            
        
    
        Format(sBuffer,sizeof(sBuffer),"#%d - %s - %s - [%d]\n",i+at,name, g_sRanksNames[SQL_FetchInt(hndl,78)],SQL_FetchInt(hndl,4));
        
        if(strlen(temp)+strlen(sBuffer) < MAX_LENGTH_MENU){
            Format(temp,sizeof(temp),"%s%s",temp,sBuffer);
            sBuffer="\0";
        }
    } 
    Format(temp,sizeof(temp),"%s\n ",temp);
    AddMenuItem(menu,temp,temp);
    
    
    IntToString(at+i,temp,sizeof(temp));
    char temp1[20];
    Format(temp1,sizeof(temp1),"%T","Next",client);
    if(i>9)
        AddMenuItem(menu,temp,temp1);
    IntToString(at-i,temp,sizeof(temp));
    Format(temp1,sizeof(temp1),"%T","Back",client);
    if(at+i-1 >9)
        AddMenuItem(menu,temp,temp1);

    DisplayMenuAtItem(menu,client,at,MENU_TIME_FOREVER);
}

 

Dokładnie chodzi o tą linijke
Handle menu = CreateMenuEx(GetMenuStyleHandle(MenuStyle MenuStyle_Radio),MenuHandler_Rank);
Cytat

// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1044) : warning 217: loose indentation
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1044) : error 001: expected token: ",", but found "-identifier-"
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1044) : warning 215: expression has no effect
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1044) : error 001: expected token: ";", but found ")"
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1044) : error 029: invalid expression, assumed zero
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1044) : fatal error 190: too many error messages on one line

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Spróbuj

 

Handle menu = CreateMenuEx(GetMenuStyleHandle(MenuStyle, MenuStyle_Radio), Menu_Handler_Rank);

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tak to już w ogóle się krzaczy

 


// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1044) : warning 217: loose indentation
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1044) : error 092: number of arguments does not match definition
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1046) : warning 217: loose indentation
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1058) : error 017: undefined symbol "g_sRanksNames"
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1058) : error 001: expected token: ";", but found "]"
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1058) : error 029: invalid expression, assumed zero
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1058) : fatal error 190: too many error messages on one line

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
public Action CMD_RankRank(int client, int args){
    if(!g_bEnabled || client == 0 || !IsClientInGame(client))
        return Plugin_Handled;

    char arg1[5];
    GetCmdArg(1,arg1,sizeof(arg1));
    if(!StrEqual(arg1,"") && StringToInt(arg1) != 0){
        ShowTopRank(client,StringToInt(arg1));
    }    else {
        ShowTopRank(client,0);
    }
    return Plugin_Handled;
}

void ShowTopRank(int client, int at){
    if(client == 0 || !IsClientInGame(client))
        return;
    Handle Datapack= CreateDataPack();
    
    WritePackCell(Datapack,client);
    
    if(at>0){
        WritePackCell(Datapack,at-1);
    }    else {
        WritePackCell(Datapack,0);
        at = 1; // For not needing to build twice the query. (for at > 0 and at <= 0)
    }
    char query[2000];
    MakeSelectQuery(query,sizeof(query));
    Format(query,sizeof(query),"%s ORDER BY rank DESC, score DESC LIMIT %i, 10",query,at-1);
        
    SQL_TQuery(g_hStatsDb,SQL_TopRankCallback,query,Datapack);

}

public void SQL_TopRankCallback(Handle owner, Handle hndl, const char[] error, any Datapack){
    if(hndl == INVALID_HANDLE)
    {
        LogError("[RankMe] Query Fail: %s", error);
        PrintToServer(error);
        return;
    }
    ResetPack(Datapack);
    int i;
    int client = ReadPackCell(Datapack);
    if(client == 0 || !IsClientInGame(client))
        return;
    int at = ReadPackCell(Datapack);
    CloseHandle(Datapack);
    if(!SQL_HasResultSet(hndl) || SQL_GetRowCount(hndl) ==0){
        ShowTopRank(client,g_TotalPlayers-9);
        return;
    }
    char name[256];
    char temp[500];
    
	Handle menu = CreateMenuEx(GetMenuStyleHandle(MenuStyle MenuStyle_Radio),MenuHandler_Rank);
    
    Format(temp,sizeof(temp)," %T\n","Showing",client,at+1,at+10,g_TotalPlayers);
    SetMenuTitle(menu,"[#TOP] Nick - Ranga - Punkty");
    char sBuffer[200];
    while(SQL_HasResultSet(hndl) && SQL_FetchRow(hndl))
    {
        
        i++;
        
        SQL_FetchString(hndl,2,name,sizeof(name));
            
        
    
        Format(sBuffer,sizeof(sBuffer),"#%d - %s - %s - [%d]\n",i+at,name, g_sRanksNames[SQL_FetchInt(hndl,78)],SQL_FetchInt(hndl,4));
        
        if(strlen(temp)+strlen(sBuffer) < MAX_LENGTH_MENU){
            Format(temp,sizeof(temp),"%s%s",temp,sBuffer);
            sBuffer="\0";
        }
    } 
    Format(temp,sizeof(temp),"%s\n ",temp);
    AddMenuItem(menu,temp,temp);
    
    
    IntToString(at+i,temp,sizeof(temp));
    char temp1[20];
    Format(temp1,sizeof(temp1),"%T","Next",client);
    if(i>9)
        AddMenuItem(menu,temp,temp1);
    IntToString(at-i,temp,sizeof(temp));
    Format(temp1,sizeof(temp1),"%T","Back",client);
    if(at+i-1 >9)
        AddMenuItem(menu,temp,temp1);

    DisplayMenuAtItem(menu,client,at,MENU_TIME_FOREVER);
}

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

hmm nie korzystałem nigdy z tego CreateMenuEx...próbowałeś przerobić na zwykłe CreateMenu?

Nie wiem do końca czym one się różnią (https://sm.alliedmods.net/new-api/menus/CreateMenuEx
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie podaje się typu zmiennej do funkcji którą chcesz wywołać

Handle menu = CreateMenuEx(GetMenuStyleHandle(MenuStyle_Radio),MenuHandler_Rank);

 

Przez MAGNET,

aaaaaaaaaa no tak xD

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

void nigdy nie zwraca, żadnej wartości.

 

@Vasto_Lorde faktycznie mój błąd

Edytowane przez NWayne

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
1 minutę temu, NWayne napisał:

void nigdy nie zwraca, żadnej wartości.

Ale o czym teraz mówimy? I CreateMenuEx i GetMenuStyleHandle nie są zadeklarowane jako void

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
19 minut temu, Vasto_Lorde napisał:

Nie podaje się typu zmiennej do funkcji którą chcesz wywołać


Handle menu = CreateMenuEx(GetMenuStyleHandle(MenuStyle_Radio),MenuHandler_Rank);

 

Tak już próbowałem i podobne błędy przy kompilowaniu jak wyżej

 

7 godzin temu, szogun napisał:


// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1044) : warning 217: loose indentation
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1044) : error 092: number of arguments does not match definition
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1046) : warning 217: loose indentation
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1058) : error 017: undefined symbol "g_sRanksNames"
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1058) : error 001: expected token: ";", but found "]"
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1058) : error 029: invalid expression, assumed zero
// E:\Download\firefox\sourcemod-1.9.0-git6252-windows\scripting\include\kento_rankme/cmds.inc(1058) : fatal error 190: too many error messages on one line

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Na pewno próbowałeś takiego zapisu? U mnie się kompiluje.

 

SHU_gVDBJOK.png.d73da4de3e642a4a14709177d232e151.png

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
9 minut temu, Master napisał:

Na pewno próbowałeś takiego zapisu? U mnie się kompiluje.

 

SHU_gVDBJOK.png.d73da4de3e642a4a14709177d232e151.png
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

 

Spoiler

public void SQL_TopRankCallback(Handle owner, Handle hndl, const char[] error, any Datapack){
    if(hndl == INVALID_HANDLE)
    {
        LogError("[RankMe] Query Fail: %s", error);
        PrintToServer(error);
        return;
    }
    ResetPack(Datapack);
    int i;
    int client = ReadPackCell(Datapack);
    if(client == 0 || !IsClientInGame(client))
        return;
    int at = ReadPackCell(Datapack);
    CloseHandle(Datapack);
    if(!SQL_HasResultSet(hndl) || SQL_GetRowCount(hndl) ==0){
        ShowTopRank(client,g_TotalPlayers-9);
        return;
    }
    char name[256];
    char temp[500];
    
	Handle menu = CreateMenuEx(GetMenuStyleHandle(MenuStyle_Radio),MenuHandler_Rank);
		    
    Format(temp,sizeof(temp)," %T\n","Showing",client,at+1,at+10,g_TotalPlayers);
    SetMenuTitle(menu,"[#TOP] Nick - Ranga - Punkty");
    char sBuffer[200];
    while(SQL_HasResultSet(hndl) && SQL_FetchRow(hndl))
    {
        
        i++;
        
        SQL_FetchString(hndl,2,name,sizeof(name));
            
        
    
        Format(sBuffer,sizeof(sBuffer),"#%d - %s - %s - [%d]\n",i+at,name, g_sRanksNames[SQL_FetchInt(hndl,78)],SQL_FetchInt(hndl,4));
        
        if(strlen(temp)+strlen(sBuffer) < MAX_LENGTH_MENU){
            Format(temp,sizeof(temp),"%s%s",temp,sBuffer);
            sBuffer="\0";
        }
    } 
    Format(temp,sizeof(temp),"%s\n ",temp);
    AddMenuItem(menu,temp,temp);
    
    
    IntToString(at+i,temp,sizeof(temp));
    char temp1[20];
    Format(temp1,sizeof(temp1),"%T","Next",client);
    if(i>9)
        AddMenuItem(menu,temp,temp1);
    IntToString(at-i,temp,sizeof(temp));
    Format(temp1,sizeof(temp1),"%T","Back",client);
    if(at+i-1 >9)
        AddMenuItem(menu,temp,temp1);

    DisplayMenuAtItem(menu,client,at,MENU_TIME_FOREVER);
}

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
31 minut temu, MAGNET napisał:

@Master #offtopic

jakie masz IDE?

 

Visual Studio Code + SourcePawn Extension, jak dla mnie najlepsze rozwiązanie jakie do tej pory testowałem.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
2 minuty temu, Master napisał:

 

Visual Studio Code + SourcePawn Extension, jak dla mnie najlepsze rozwiązanie jakie do tej pory testowałem.

suuper, też korzystam z VSC a nie wiedziałem że jest rozszerzenie do SourcePawna ? zainstalowane

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
3 godziny temu, szogun napisał:

Tak już próbowałem i podobne błędy przy kompilowaniu jak wyżej

 

 

Mógłbyś udostępnić tutaj wszystkie pliki, jeśli nam będzie nadal działało to pewnie wina Twojego kompilatora

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

1. Linijka 1139

Wycinek z menus.inc:

/**
 * Returns a style's global Handle.
 *
 * @param style			Menu Style.
 * @return				A Handle, or INVALID_HANDLE if not found or unusable.
 */
native Handle GetMenuStyleHandle(MenuStyle style);

Linijka z błędem:

Handle menu = CreateMenuEx(GetMenuStyleHandle(MenuStyle, MenuStyle_Radio),MenuHandler_ScoreKills);

Powyższy zapis jest niepoprawny, gdyż GetMenuStyleHandle posiada dwa argumenty, a dozwolony jest tylko jeden.

 

2. Linijka 1047 i 1042

Wszędzie wcinki są tworzone spacjami, a akurat w tym miejscu jest kilka tabów.

 

3. Linijka 1045

Występuje tutaj ten sam błąd, co w linii 1139.

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Po woli idzie do przodu teraz nie kumam o co z tym chodzi , rozumiem że coś jest przekroczone tylko co ?

 

L 10/03/2018 - 19:34:19: [SM]   [1] Line 1172, E:\Download\firefox\scripting\scripting\include\kento_rankme/cmds.inc::SQL_TopScoreCallback
L 10/03/2018 - 19:34:57: [SM] Exception reported: Array index out-of-bounds (index 1265, limit 19)
L 10/03/2018 - 19:34:57: [SM] Blaming: kento_rankme.smx
L 10/03/2018 - 19:34:57: [SM] Call stack trace:
L 10/03/2018 - 19:34:57: [SM]   [1] Line 1059, E:\Download\firefox\scripting\scripting\include\kento_rankme/cmds.inc::SQL_TopRankCallback

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

podaj jeszcze która to linijka, bo od ostatniej wrzuty kod mógł sie zmienić

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Linijka z błędem


Format(sBuffer,sizeof(sBuffer),"#%d - %s - %s - [%d]\n",i+at,name, g_sRanksNames[SQL_FetchInt(hndl,78)],SQL_FetchInt(hndl,4));
Spoiler

public Action CMD_RankRank(int client, int args){

    if(!g_bEnabled || client == 0 || !IsClientInGame(client))
        return Plugin_Handled;

    char arg1[5];
    GetCmdArg(1,arg1,sizeof(arg1));
    if(!StrEqual(arg1,"") && StringToInt(arg1) != 0){
        ShowTopRank(client,StringToInt(arg1));
    }    else {
        ShowTopRank(client,0);
    }
    return Plugin_Handled;
}

void ShowTopRank(int client, int at){
    if(client == 0 || !IsClientInGame(client))
        return;
    Handle Datapack= CreateDataPack();
    
    WritePackCell(Datapack,client);
    
    if(at>0){
        WritePackCell(Datapack,at-1);
    }    else {
        WritePackCell(Datapack,0);
        at = 1; // For not needing to build twice the query. (for at > 0 and at <= 0)
    }
    char query[2000];
    MakeSelectQuery(query,sizeof(query));
    Format(query,sizeof(query),"%s ORDER BY rank DESC, score DESC LIMIT %i, 10",query,at-1);
        
    SQL_TQuery(g_hStatsDb,SQL_TopRankCallback,query,Datapack);

}

public void SQL_TopRankCallback(Handle owner, Handle hndl, const char[] error, any Datapack){
    if(hndl == INVALID_HANDLE)
    {
        LogError("[RankMe] Query Fail: %s", error);
        PrintToServer(error);
        return;
    }
    ResetPack(Datapack);
    int i;
    int client = ReadPackCell(Datapack);
    if(client == 0 || !IsClientInGame(client))
        return;
    int at = ReadPackCell(Datapack);
    CloseHandle(Datapack);
    if(!SQL_HasResultSet(hndl) || SQL_GetRowCount(hndl) ==0){
        ShowTopRank(client,g_TotalPlayers-9);
        return;
    }
    char name[256];
    char temp[500];
	
    Menu menu = CreateMenuEx(GetMenuStyleHandle(MenuStyle_Radio),MenuHandler_Rank);
		    
    Format(temp,sizeof(temp)," %T\n","Showing",client,at+1,at+10,g_TotalPlayers);
    SetMenuTitle(menu,"[#TOP] Nick - Ranga - Punkty");
    char sBuffer[200];
    while(SQL_HasResultSet(hndl) && SQL_FetchRow(hndl))
    {
        
        i++;
        
        SQL_FetchString(hndl,2,name,sizeof(name));
            
        
    
        Format(sBuffer,sizeof(sBuffer),"#%d - %s - %s - [%d]\n",i+at,name, g_sRanksNames[SQL_FetchInt(hndl,78)],SQL_FetchInt(hndl,4));
        
        if(strlen(temp)+strlen(sBuffer) < MAX_LENGTH_MENU){
            Format(temp,sizeof(temp),"%s%s",temp,sBuffer);
            sBuffer="\0";
        }
    } 
    Format(temp,sizeof(temp),"%s\n ",temp);
    AddMenuItem(menu,temp,temp);
    
    
    IntToString(at+i,temp,sizeof(temp));
    char temp1[20];
    Format(temp1,sizeof(temp1),"%T","Next",client);
    if(i>9)
        AddMenuItem(menu,temp,temp1);
    IntToString(at-i,temp,sizeof(temp));
    Format(temp1,sizeof(temp1),"%T","Back",client);
    if(at+i-1 >9)
        AddMenuItem(menu,temp,temp1);

    DisplayMenuAtItem(menu,client,at,MENU_TIME_FOREVER);
}

public int MenuHandler_Rank(Menu menu, MenuAction action, int param1, int param2){
	
	if (action == MenuAction_Select)
	{
		char temp[250];
	
		menu.GetItem(param2, temp, sizeof(temp));
		if(StringToInt(temp) >= 0){
			ShowTopRank(param1,StringToInt(temp)+1);
		} else {
			ShowTopRank(param1,0);
		}
	}
	if (action == MenuAction_End)
	{
		delete menu;
	}
}

public Action CMD_RankScore(int client,int args){
    if(!g_bEnabled || client == 0 || !IsClientInGame(client))
        return Plugin_Handled;

    char arg1[5];
    GetCmdArg(1,arg1,sizeof(arg1));
    if(!StrEqual(arg1,"") && StringToInt(arg1) != 0){
        ShowTopScore(client,StringToInt(arg1));
    }    else {
        ShowTopScore(client,0);
    }
    return Plugin_Handled;
}

void ShowTopScore(int client,int at){
    if(client == 0 || !IsClientInGame(client))
        return;
    Handle Datapack= CreateDataPack();
    
    WritePackCell(Datapack,client);
    
    if(at>0){
        WritePackCell(Datapack,at-1);
    }    else {
        WritePackCell(Datapack,0);
        at = 1; // For not needing to build twice the query. (for at > 0 and at <= 0)
    }
    char query[2000];
    MakeSelectQuery(query,sizeof(query));
    Format(query,sizeof(query),"%s ORDER BY score DESC LIMIT %i, 10",query,at-1);
        
    SQL_TQuery(g_hStatsDb,SQL_TopScoreCallback,query,Datapack);

}

public void SQL_TopScoreCallback(Handle owner, Handle hndl, const char[] error, any Datapack){
    if(hndl == INVALID_HANDLE)
    {
        LogError("[RankMe] Query Fail: %s", error);
        PrintToServer(error);
        return;
    }
    ResetPack(Datapack);
    int i;
    int client = ReadPackCell(Datapack);
    if(client == 0 || !IsClientInGame(client))
        return;
    int at = ReadPackCell(Datapack);
    CloseHandle(Datapack);
    if(!SQL_HasResultSet(hndl) || SQL_GetRowCount(hndl) ==0){
        ShowTopScore(client,g_TotalPlayers-9);
        return;
    }
    char name[256];
    char temp[500];
    
    Menu menu = CreateMenuEx(GetMenuStyleHandle(MenuStyle_Radio),MenuHandler_ScoreKills);
    
    Format(temp,sizeof(temp)," %T\n","Showing",client,at+1,at+10,g_TotalPlayers);
    SetMenuTitle(menu,"[#TOP] Nick - Ranga - Punkty");
    char sBuffer[200];
    while(SQL_HasResultSet(hndl) && SQL_FetchRow(hndl))
    {
        
        i++;
        
        SQL_FetchString(hndl,2,name,sizeof(name));
            
        
    
        Format(sBuffer,sizeof(sBuffer),"#%d - %s - %s - [%d]\n",i+at,name, g_sRanksNames[SQL_FetchInt(hndl,78)],SQL_FetchInt(hndl,4));
        
        if(strlen(temp)+strlen(sBuffer) < MAX_LENGTH_MENU){
            Format(temp,sizeof(temp),"%s%s",temp,sBuffer);
            sBuffer="\0";
        }
    } 
    Format(temp,sizeof(temp),"%s\n ",temp);
    AddMenuItem(menu,temp,temp);
    
    
    IntToString(at+i,temp,sizeof(temp));
    char temp1[20];
    Format(temp1,sizeof(temp1),"%T","Next",client);
    if(i>9)
        AddMenuItem(menu,temp,temp1);
    IntToString(at-i,temp,sizeof(temp));
    Format(temp1,sizeof(temp1),"%T","Back",client);
    if(at+i-1 >9)
        AddMenuItem(menu,temp,temp1);

    DisplayMenuAtItem(menu,client,at,MENU_TIME_FOREVER);
}

public int MenuHandler_ScoreKills(Menu menu, MenuAction action, int param1, int param2){
	
	if (action == MenuAction_Select)
	{
		char temp[250];
	
		menu.GetItem(param2, temp, sizeof(temp));
		if(StringToInt(temp) >= 0){
			ShowTopScore(param1,StringToInt(temp)+1);
		} else {
			ShowTopScore(param1,0);
		}
	}
	if (action == MenuAction_End)
	{
		delete menu;
	}
}

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Najprawdopodobniej odwolujesz sie do indeksu spoza zakresu w tablicy g_sRankNames. Przebadaj co te zapytania zwracają

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Przed aktualizacją te zapytanie działa prawidłowo dopiero problem pojawił się po zmianie na nowa składnie, samo zapytanie ma za zadanie wskazywać ranking gracza względem zdobytej rangi typu "Starszy sierżant" itp

 

char g_sRanksNames[][] =
{
	"Nowiciusz",
	"Expert",
	"..."
}

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie wiadomo, z którą tablicą jest problem

spróbuj zwyczajnie wywołać (np. wyprintować do konsoli) wszystkie elementy i ogarnij gdzie indeks wykracza poza zakres

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...