[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
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);
}
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;
}
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;
}
It's hard to tell where exactly the error appears without knowing the values for some of the Arrays you use. Could you compile your mode with debug symbols and reproduce it so that crashdetect shows the exact line where the error(s) appeared?
You can do that by creating "pawn.cfg" inside your pawno folder and write "-r -d3" into it, then recompile. |
format(g_szBuffer, 700, "\n {d8a9ff}•{ffffff} veiksmo informacija %s", setActionInfo(playerid)); strcat(jo, g_szBuffer);
if(dialogid == 839){
if(response){
new id, jo[700];
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;
}
fChosen[playerid] = -1;
printf("%d id, %d Action", id, fAction[playerid]);
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,\n {d8a9ff}•{ffffff} veiksmo informacija", frakcija[id][fName], getActionEdit(playerid));
strcat(jo, g_szBuffer);
format(g_szBuffer, 400, "%s", setActionInfo(playerid));
strcat(jo, g_szBuffer);
ShowPlayerDialog(playerid, 852, DIALOG_STYLE_INPUT, zinute, jo, "Keisti", "Atgal");
} else leaderDialog(playerid);
}
[B]3 id, 1 Action[/B]
[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 0018fb30 in ?? (0) from GLS.amx
[debug] #1 00215440 in ?? (0, 839, 1, 0, 36028472) from GLS.amx
[debug] #2 0000955c in public OnDialogResponse (0, 839, 1, 0, 36028472) from GLS.amx
if(dialogid == 852)
{
new kiek = strval(inputtext),
id;
if(player[playerid][pWorkLeader] >= 0){
id = player[playerid][pWorkLeader];
} else if(fChosen[playerid] >= 0){
id = fChosen[playerid];
}
printf("%d id, %d Action", id, fAction[playerid]);
if(response)
{
printf("%d id, %d Action", id, fAction[playerid]);
switch(fAction[playerid])
{
case 1:
{
if(!IsNumeric(inputtext)) return SendError(playerid, "laukelyje galima įvęsti tik skaičių !"), fAction[playerid] = -1;
if(kiek < 0) return SendError(playerid, "minusinio skaičiaus būti negali!"), fAction[playerid] = -1;
if(kiek > 15000) return SendError(playerid, "skaičius negali būti > 15 000 !"), fAction[playerid] = -1;
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} pakeitėt „{d8a9ff}%s{ffffff}“ frakcijos patirties reikalavimą iљ {d8a9ff}%s{ffffff} į {d8a9ff}%s{ffffff} !", frakcija[id][fName], FormatNumber(frakcija[id][fScore]), FormatNumber(kiek));
SendClientMessage(playerid, -1, g_szBuffer);
frakcija[id][fScore] = kiek;
updateFractionLabel(id);
fAction[playerid] = -1;
fChosen[playerid] = -1;
}
case 2:
{
if(!IsNumeric(inputtext)) return SendError(playerid, "laukelyje galima įvęsti tik skaičių !"), fAction[playerid] = -1;
if(kiek < 0) return SendError(playerid, "minusinio skaičiaus laukelyje būti negali!"), fAction[playerid] = -1;
if(kiek > 500) return SendError(playerid, "skaičius negali būti > 500 !"), fAction[playerid] = -1;
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} pakeitėt „{d8a9ff}%s{ffffff}“ frakcijos darbuotojų skaičių iљ {d8a9ff}%s{ffffff} į {d8a9ff}%s{ffffff} !", frakcija[id][fName], FormatNumber(frakcija[id][fSlots]), FormatNumber(kiek));
SendClientMessage(playerid, -1, g_szBuffer);
frakcija[id][fSlots] = kiek;
updateFractionLabel(id);
fAction[playerid] = -1;
fChosen[playerid] = -1;
}
case 3:
{
if(!IsNumeric(inputtext)) return SendError(playerid, "laukelyje galima įvęsti tik skaičių !"), fAction[playerid] = -1;
if(kiek < 0) return SendError(playerid, "minusinio skaičiaus laukelyje būti negali!"), fAction[playerid] = -1;
if(kiek > 3) return SendError(playerid, "skaičius negali būti > 3 !"), fAction[playerid] = -1;
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} pakeitėt „{d8a9ff}%s{ffffff}“ frakcijos dok. reik. iљ %s į %s !", frakcija[id][fName], getDocsInfo(id), getUpdatedDocsInfo(kiek));
SendClientMessage(playerid, -1, g_szBuffer);
frakcija[id][fDocs] = kiek;
updateFractionLabel(id);
fAction[playerid] = -1;
fChosen[playerid] = -1;
}
case 4:
{
if(!IsNumeric(inputtext)) return SendError(playerid, "laukelyje galima įvęsti tik skaičių !"), fAction[playerid] = -1;
if(kiek < 0) return SendError(playerid, "minusinio skaičiaus laukelyje būti negali!"), fAction[playerid] = -1;
if(kiek > 3) return SendError(playerid, "skaičius negali būti > 3 !"), fAction[playerid] = -1;
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} pakeitėt „{d8a9ff}%s{ffffff}“ frakcijos teisių reik. iљ %s į %s", frakcija[id][fName], getLicensesInfo(id), getUpdatedLicensesInfo(kiek));
SendClientMessage(playerid, -1, g_szBuffer);
frakcija[id][fLicenses] = kiek;
updateFractionLabel(id);
fAction[playerid] = -1;
fChosen[playerid] = -1;
}
case 5:
{
if(!IsNumeric(inputtext)) return SendError(playerid, "laukelyje galima įvęsti tik skaičių !"), fAction[playerid] = -1;
if(kiek < 0) return SendError(playerid, "minusinio skaičiaus laukelyje būti negali!"), fAction[playerid] = -1;
if(kiek > 168) return SendError(playerid, "skaičius negali būti > 168 !"), fAction[playerid] = -1;
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} pakeitėt „{d8a9ff}%s{ffffff}“ frakcijos kontrakto laiką iљ %s į %s !", frakcija[id][fName], ConvertSeconds(frakcija[id][fConTime]), ConvertSeconds(kiek*6000));
SendClientMessage(playerid, -1, g_szBuffer);
frakcija[id][fConTime] = kiek*3600;
updateFractionLabel(id);
fAction[playerid] = -1;
fChosen[playerid] = -1;
}
case 6:
{
new
zd;
if(sscanf(inputtext,"u", zd))
{
SendError(playerid, "laukelis neuћpildytas !");
fAction[playerid] = 6;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 148, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
return 1;
}
if( stopSymbols( inputtext ) )
{
SendError(playerid, "laukelis neuћpildytas !");
fAction[playerid] = 6;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 148, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
return 1;
}
if( zd == INVALID_PLAYER_ID )
{
SendError(playerid, "tokio ћaidėjo serveryje nėra !");
fAction[playerid] = 6;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 148, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
return 1;
}
if(player[zd][pWorkLeader] > 0)
{
SendError(playerid, "ћaidėjas jau atstovauja frakcijai !");
fAction[playerid] = 6;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 148, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
return 1;
}
player[zd][pWorkLeader] = fChosen[playerid];
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} lyderių vadovas {d8a9ff}%s{ffffff} paskyrė jus frakcijos „{d8a9ff}%s{ffffff}“ lyderiu !", getPlayerName(playerid), frakcija[fChosen[playerid]][fName]);
SendClientMessage(zd,-1, g_szBuffer);
format(frakcija[fChosen[playerid]][fLeader], MAX_PLAYER_NAME+1, "%s", getPlayerName(zd));
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} lyderių vadovas {d8a9ff}%s{ffffff} paskyrė naująjį „{d8a9ff}%s{ffffff}“ frakcijos lyderį {d8a9ff}%s{ffffff} !", getPlayerName(playerid), frakcija[fChosen[playerid]][fName], getPlayerName(zd));
SendClientMessageToAll(-1, g_szBuffer);
updateFractionLabel(fChosen[playerid]);
fAction[playerid] = -1;
fChosen[playerid] = -1;
}
case 10:
{
new
zd;
if(sscanf(inputtext,"u", zd))
{
SendError(playerid, "laukelis neuћpildytas !");
fAction[playerid] = 6;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
return 1;
}
if( stopSymbols( inputtext ) )
{
SendError(playerid, "laukelis neuћpildytas !");
fAction[playerid] = 6;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
return 1;
}
if( zd == INVALID_PLAYER_ID )
{
SendError(playerid, "tokio ћaidėjo serveryje nėra !");
fAction[playerid] = 6;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
return 1;
}
if(player[zd][pWorkSubLeader] > 0)
{
SendError(playerid, "ћaidėjas jau atstovauja frakcijai !");
fAction[playerid] = 6;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
return 1;
}
player[zd][pWorkSubLeader] = fChosen[playerid];
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} lyderių vadovas {d8a9ff}%s{ffffff} paskyrė jus frakcijos „{d8a9ff}%s{ffffff}“ sub-lyderiu !", getPlayerName(playerid), frakcija[fChosen[playerid]][fName]);
SendClientMessage(playerid,-1, g_szBuffer);
format(frakcija[fChosen[playerid]][fSubLeader], MAX_PLAYER_NAME+1, "%s", getPlayerName(zd));
format(g_szBuffer, 148, "{d8a9ff}•{ffffff} lyderių vadovas {d8a9ff}%s{ffffff} paskyrė naująjį „{d8a9ff}%s{ffffff}“ frakcijos sub-lyderį {d8a9ff}%s{ffffff} !", getPlayerName(playerid), frakcija[fChosen[playerid]][fName], getName(zd));
SendClientMessageToAll(-1, g_szBuffer);
updateFractionLabel(fChosen[playerid]);
fAction[playerid] = -1;
fChosen[playerid] = -1;
}
case 14:
{
new zname[24];
if(sscanf(inputtext,"s[24]", zname))
{
SendError(playerid, "laukelis nebuvo pilnai uћpildytas !");
fAction[playerid] = 14;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
return 1;
}
if(!strcmp(getPlayerName(playerid), zname, false))
{
SendError(playerid, "savęs lyderiu nustatyti negalite !");
fAction[playerid] = 14;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
return 1;
}
format(g_szBuffer, 300, "SELECT `pName` FROM `"MySQL_PLAYERS_TABLE"` WHERE pName = '%s' LIMIT 1", zname);
new Cache:xData = mysql_query(dbHandle,g_szBuffer);
new nameCheck[24];
format(nameCheck, sizeof nameCheck, "%s", cache_get_field_name( 0, "pName" ));
if(cache_get_row_count() == 1)
{
format(g_szBuffer, 300, "SELECT `Leader` FROM `"MySQL_PLAYERS_TABLE"` WHERE pName = '%s' LIMIT 1", zname);
new Cache:Data = mysql_query(dbHandle,g_szBuffer);
new Leading = cache_get_field_content_int( 0, "Leader" );
if(Leading > 0)
{
SendError(playerid, "ћaidėjas jau vadovauja frakcijai !");
fChosen[playerid] = -1;
fAction[playerid] = -1;
}
else
{
format(g_szBuffer, 150,
"UPDATE `"MySQL_PLAYERS_TABLE"` SET \
\
`Leader` = '%i' \
\
WHERE pName = '%s'",
fChosen[playerid],
zname);
mysql_query(dbHandle,g_szBuffer);
format(frakcija[fChosen[playerid]][fLeader], MAX_PLAYER_NAME+1, "%s", zname);
format(zinute, 148, "{d8a9ff}•{ffffff} paskirtas naujasis „{d8a9ff}%s{ffffff}“ frakcijos lyderis {d8a9ff}%s{ffffff} !", frakcija[fChosen[playerid]][fName], zname);
SendClientMessageToAll(-1, zinute);
updateFractionLabel(fChosen[playerid]);
fAction[playerid] = -1;
fChosen[playerid] = -1;
}
cache_delete( Data );
}
else
{
SendError(playerid, "duomenų bazėje toks ћaidėjas neegzistuoja !");
fAction[playerid] = 14;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 148, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
}
cache_delete( xData );
}
case 15:
{
new zname[24];
if(sscanf(inputtext,"s[24]", zname))
{
SendError(playerid, "laukelis nebuvo pilnai uћpildytas !");
fAction[playerid] = 14;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_LIST, zinute, g_szBuffer, "Keisti", "Atgal");
return 1;
}
if(!strcmp(getPlayerName(playerid), zname, false))
{
SendError(playerid, "savęs lyderiu nustatyti negalite !");
fAction[playerid] = 14;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_LIST, zinute, g_szBuffer, "Keisti", "Atgal");
return 1;
}
format(g_szBuffer, 300, "SELECT `pName` FROM `"MySQL_PLAYERS_TABLE"` WHERE pName = '%s' LIMIT 1", zname);
new Cache:xData = mysql_query(dbHandle,g_szBuffer);
new nameCheck[24];
format(nameCheck, sizeof nameCheck, "%s", cache_get_field_name( 0, "pName" ));
if(cache_get_row_count() == 1)
{
format(g_szBuffer, 150, "SELECT `SubLeader` FROM `"MySQL_PLAYERS_TABLE"` WHERE pName = '%s' LIMIT 1", zname);
new Cache:Data = mysql_query(dbHandle,g_szBuffer);
new Leading = cache_get_field_content_int( 0, "SubLeader" );
if(Leading > 0)
{
SendError(playerid, "ћaidėjas jau vadovauja frakcijai !");
fChosen[playerid] = -1;
fAction[playerid] = -1;
}
else
{
format(zinute, 148, "{d8a9ff}•{ffffff} paskirtas naujasis „{d8a9ff}%s{ffffff}“ frakcijos sub-lyderis {d8a9ff}%s{ffffff} !", frakcija[fChosen[playerid]][fName], zname);
SendClientMessageToAll(-1, zinute);
format(g_szBuffer, 150,
"UPDATE `"MySQL_PLAYERS_TABLE"` SET \
\
`SubLeader` = '%i' \
\
WHERE pName = '%s'",
fChosen[playerid],
zname);
mysql_query(dbHandle,g_szBuffer);
format(frakcija[fChosen[playerid]][fSubLeader], MAX_PLAYER_NAME+1, "%s", zname);
updateFractionLabel(fChosen[playerid]);
fAction[playerid] = -1;
fChosen[playerid] = -1;
cache_delete( Data );
return 1;
}
}
else
{
SendError(playerid, "duomenų bazėje toks ћaidėjas neegzistuoja !");
fAction[playerid] = 15;
format(zinute, 90, "Redaguojama „%s“ frakcija", frakcija[fChosen[playerid]][fName]);
format(g_szBuffer, 170, "{ffffff}Redaguojama „{d8a9ff}%s{ffffff}“ frakcija:\n \n {d8a9ff}•{ffffff} atliekamas veiksmas %s,\n {d8a9ff}•{ffffff} veiksmo informacija %s", frakcija[fChosen[playerid]][fName], getActionEdit(playerid), setActionInfo(playerid));
ShowPlayerDialog(playerid, 855, DIALOG_STYLE_MSGBOX, zinute, g_szBuffer, "Keisti", "Atgal");
}
cache_delete( xData );
}
}
}
if(!response)
{
new ids;
if(player[playerid][pWorkLeader] >= 0 && frakcija[player[playerid][pWorkLeader]][fReq] == 1){
ids = player[playerid][pWorkLeader]; }
else if(player[playerid][pWorkSubLeader] >= 0 && frakcija[player[playerid][pWorkLeader]][fReq] == 1){
ids = player[playerid][pWorkSubLeader]; }
if(frakcija[ids][fReq] >= 0) return leaderDialog(playerid);
if(frakcija[id][fReq] != 1)
{
fAction[playerid] = -1;
ShowPlayerDialog(playerid, 851, DIALOG_STYLE_LIST, zinute, "{d8a9ff}•{ffffff} Keisti patirties reikalavimus\n{d8a9ff}•{ffffff} Keisti darbo vietų skaičių\n{d8a9ff}•{ffffff} Keisti dokumentų reikalavimus\n{d8a9ff}•{ffffff} Keisti teisių reikalavimus\n{d8a9ff}•{ffffff} keisti darbo kontrakto laiką", "Rinktis", "Iљeiti");
}
else
{
fAction[playerid] = -1;
ShowPlayerDialog(playerid, 851, DIALOG_STYLE_LIST, zinute, "{d8a9ff}•{ffffff} Keisti patirties reikalavimus\n{d8a9ff}•{ffffff} Keisti darbo vietų skaičių\n{d8a9ff}•{ffffff} Keisti dokumentų reikalavimus\n{d8a9ff}•{ffffff} Keisti teisių reikalavimus\n{d8a9ff}•{ffffff} keisti darbo kontrakto laiką\n \n{d8a9ff}•{ffffff} Frakcijos lyderio valdymas\n{d8a9ff}•{ffffff} Frakcijos sub-lyderio valdymas", "Rinktis", "Iљeiti");
}
}
}