04.04.2018, 12:11
Hi,
So the main error I'm getting to server.exe::
The thing is that, dialogs listitems options/option opens only for one time, doesn't metter which one, but next time it doesn't opens anymore.
Dialog:
Functions:
So the main error I'm getting to server.exe::
PHP код:
[debug] Run time error 4: "Array index out of bounds"
[debug] Attempted to read/write array element at negative index -1
[debug] AMX backtrace:
[debug] #0 0018f150 in ?? (-1) from GLS.amx
[debug] #1 0018fdcc in ?? (0) from GLS.amx
[debug] #2 00214cd8 in ?? (0, 839, 1, 2, 36028264) from GLS.amx
[debug] #3 0000955c in public OnDialogResponse (0, 839, 1, 2, 36028264) from GLS.amx
Dialog:
PHP код:
if(dialogid == 839){
if(response){
new id, jo[1000];
if(player[playerid][pWorkLeader] >= 0 && frakcija[player[playerid][pWorkLeader]][fReq] == 1){
id = player[playerid][pWorkLeader]; }
else if(player[playerid][pWorkSubLeader] >= 0 && frakcija[player[playerid][pWorkLeader]][fReq] == 1){
id = player[playerid][pWorkSubLeader]; }
switch(listitem){
case 0: fAction[playerid] = 1;
case 1: fAction[playerid] = 3;
case 2: fAction[playerid] = 4;
case 3: fAction[playerid] = 5;
}
format(zinute, 70, "Redaguojama „%s“ frakcija", frakcija[id][fName]);
format(g_szBuffer, 300, " {ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,", frakcija[id][fName], getActionEdit(playerid));
strcat(jo, g_szBuffer);
format(g_szBuffer, 700, "\n {d8a9ff}•{ffffff} veiksmo informacija %s", setActionInfo(playerid));
strcat(jo, g_szBuffer);
ShowPlayerDialog(playerid, 852, DIALOG_STYLE_INPUT, zinute, jo, "Keisti", "Atgal");
} else leaderDialog(playerid);
}
PHP код:
setActionInfo(playerid)
{
new ActionInfo[341],
id = fChosen[playerid];
switch(fAction[playerid])
{
case 0: ActionInfo = "-";
case 1:
{
format(ActionInfo, 100, "dabartinis patirties reikalavimas {d8a9ff}%s{ffffff}, įvęskite naująjį į laukelį !",FormatNumber(frakcija[id][fScore]));
}
case 2:
{
format(ActionInfo, 120, "dabartinis darbo vietų skaičius {d8a9ff}%s{ffffff} ( darbuotojų {d8a9ff}%s{ffffff} ) įvęskite naująjį į laukelį !",FormatNumber(frakcija[id][fSlots]), FormatNumber(frakcija[id][fSlotUsed]));
}
case 3:
{
format(ActionInfo, 260, "dabartiniai reikalaujami dokumentai {d8a9ff}%s{ffffff},\n \n{d8a9ff}0{ffffff}. dokumentai nereikalaujami,\n{d8a9ff}1{ffffff}. sveikatos paћymai\n{d8a9ff}2{ffffff}. ginklų lic.\n{d8a9ff}3{ffffff}. sveikatos paћyma, ginklų lic.\n \nįvęskite skaičių į laukelį !",getDocsInfo(id));
}
case 4:
{
format(ActionInfo, 340, "dabartinės reikalaujamos teisės {d8a9ff}%s{ffffff},\n \n{d8a9ff}0{ffffff}. teisės nereikalaujamos,\n{d8a9ff}1{ffffff}. A kat.\n{d8a9ff}2{ffffff}. B kat.\n{d8a9ff}3{ffffff}. C kat.\n{d8a9ff}4{ffffff}. A, B kat.\n{d8a9ff}5{ffffff}. A, C kat.\n{d8a9ff}6{ffffff}. B, C kat.\n{d8a9ff}7{ffffff}. A ,B, C kat.\n \nįvęskite skaičių į laukelį !",getLicensesInfo(id));
}
case 5:
{
format(ActionInfo, 130, "dabartinis darbo kontrakto laikas {d8a9ff}%s{ffffff}, įvęskite naująjį į laukelį ( {d8a9ff}1 = 1val.{ffffff} ) !",ConvertSeconds(frakcija[id][fConTime]));
}
case 6:
{
format(ActionInfo, 90, "įvęskite naujojo frakcijos lyderio {d8a9ff}Vardą_Pavardę{ffffff} !",ConvertSeconds(frakcija[id][fConTime]));
}
case 7:
{
format(ActionInfo, 115, "dabartinis frakcijos lyderis {d8a9ff}%s{ffffff}, spauskite iљmesti, norėdami jį iљmesti!",frakcija[id][fLeader]);
}
case 8:
{
format(ActionInfo, 60, "spauskite įspėti, norėdami įspėti frakcijos lyderį !",ConvertSeconds(frakcija[id][fConTime]));
}
case 9:
{
format(ActionInfo, 65, "spauskite nuimti, norėdami paљalinti frakcijos lyderio įspėjimą !",ConvertSeconds(frakcija[id][fConTime]));
}
case 10:
{
format(ActionInfo, 70, "įvęskite naujojo frakcijos sub-lyderio {d8a9ff}Vardą_Pavardę{ffffff} !",ConvertSeconds(frakcija[id][fConTime]));
}
case 11:
{
format(ActionInfo, 115, "dabartinis frakcijos sub-lyderis {d8a9ff}%s{ffffff}, spauskite iљmesti, norėdami jį iљmesti!",frakcija[id][fSubLeader]);
}
case 12:
{
format(ActionInfo, 60, "spauskite įspėti, norėdami įspėti frakcijos sub-lyderį !",ConvertSeconds(frakcija[id][fConTime]));
}
case 13:
{
format(ActionInfo, 70, "spauskite nuimti, norėdami paљalinti frakcijos lyderio įspėjimą !",ConvertSeconds(frakcija[id][fConTime]));
}
case 14:
{
format(ActionInfo, 70, "įvęskite frakcijos sub-lyderio {d8a9ff}Vardą_Pavardę{ffffff} !",ConvertSeconds(frakcija[id][fConTime]));
}
case 15:
{
format(ActionInfo, 62, "įvęskite frakcijos sub-lyderio {d8a9ff}Vardą_Pavardę{ffffff} !",ConvertSeconds(frakcija[id][fConTime]));
}
}
return ActionInfo;
}
PHP код:
getActionEdit(playerid)
{
new ActionEdit[60];
switch(fAction[playerid])
{
case 0: ActionEdit = "-";
case 1: ActionEdit = "patirties reikalavimo keitimas";
case 2: ActionEdit = "darbo vietų skaičiaus keitimas";
case 3: ActionEdit = "reikalaujamų dokumentų keitimas";
case 4: ActionEdit = "reikalaujamų teisių keitimas";
case 5: ActionEdit = "darbo kontrakto laiko keitimas";
case 6: ActionEdit = "naujo, prisijungusio lyderio paskyrimas";
case 7: ActionEdit = "lyderio iљmetimas";
case 8: ActionEdit = "lyderio įspėjimas";
case 9: ActionEdit = "lyderio įspėjimo paљalinimas";
case 10: ActionEdit = "naujo, prisijūngusio sub-lyderio paskyrimas";
case 11: ActionEdit = "sub-lyderio iљmetimas";
case 12: ActionEdit = "sub-lyderio įspėjimas";
case 13: ActionEdit = "sub-lyderio įspėjimo paљalinimas";
case 14: ActionEdit = "naujo, atsijungusio lyderio paskyrimas";
case 15: ActionEdit = "naujo, atsijungusio sub-lyderio paskyrimas";
}
return ActionEdit;
}