Problem(error/warning): Sve ima dole, gledao sam na netu nesto al idalje ne kapiram do cega je :P...
Dio skripte:
[pawn]
if(dialogid == DIALOG_ORG)
{
new org;
if(!response) return 1;
if(sscanf(inputtext,"i",org)) return ShowPlayerDialog(playerid, DIALOG_ORG, 1, ""C_BELA"Uredjivanje", ""C_BELA"Unesite ID bande koju zelite urediti", "Dalje", "Odustani");
new oFile[50];
format(oFile, sizeof(oFile), ORGE, org);
if(!fexist(oFile))return ShowPlayerDialog(playerid, DIALOG_ORG, 1, ""C_BELA"Banda ne postoji", ""C_BELA"Unesite ID bande koju zelite urediti", "Dalje", "Odustani");
orga[playerid]=org;
SPD(playerid, ORG_IME, DIALOG_STYLE_INPUT, "Ime Organizacije", "Unesite zeljeno ime:","Odaberi","Odustani");
}
if(dialogid == ORG_IME)
{
new ime[128];
if(!response) return 1;
if(sscanf(inputtext,"s",ime)) return ShowPlayerDialog(playerid, ORG_IME, 1, ""C_BELA"Promena imena", ""C_BELA"Unesite novo ime bande", "Uredu", "Odustani");
if(strlen(ime) < 1) return SCM(playerid,CRVENA,"Ime mora sadrzavati minimalno jedno slovo!");
SCM(playerid,-1,"{00C0FF}Ime je postavljeno!");
SPD(playerid, ORG_IMERANKA1, DIALOG_STYLE_INPUT, "Imena Rankova", "Unesite zeljeno ime za rank 1\n","Dalje","Odustani");
new string[128];
strmid(OrganizacijaInfo[orga[playerid]][Name],ime,0,strlen(ime),255);
SaveORG(orga[playerid]);
DestroyDynamic3DTextLabel(GangLabel[orga[playerid]]);
format(string,sizeof(string),"Organizacija: "C_BELA"%s\nLider 1: "C_BELA"%s\nLider 2: "C_BELA"%s",OrganizacijaInfo[orga[playerid]][Name], Leader[0][orga[playerid]], Leader[1][orga[playerid]]);
GangLabel[orga[playerid]] = CreateDynamic3DTextLabel(string,SERVERBOJA,OrganizacijaInfo[orga[playerid]][uX],OrganizacijaInfo[orga[playerid]][uY],OrganizacijaInfo[orga[playerid]][uZ], 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 15.0);
}
if(dialogid == ORG_IMERANKA1)
{
new ime[128];
if(!response) return 1;
if(sscanf(inputtext,"s",ime)) return SPD(playerid, ORG_IMERANKA1, DIALOG_STYLE_INPUT, "Imena Rankova", "Unesite zeljeno ime za RANK 1", "Dalje", "Odustani");
SPD(playerid, ORG_IMERANKA2, DIALOG_STYLE_INPUT, "Imena Rankova", "Unesite zeljeno ime za RANK 2", "Dalje", "Odustani");
strmid(OrganizacijaInfo[orga[playerid]][Rank1],ime,0,strlen(ime),255);
SCMF(playerid,-1,"{00C0FF}Ime %s je postavljeno za RANK 1!", ime);
SaveORG(orga[playerid]);
}
[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
[17:53:38] sscanf warning: Strings without a length are deprecated, please add a destination size.
[17:53:45] sscanf warning: Strings without a length are deprecated, please add a destination size.
Slika/video ingame problema(obavezno ako je ingame problem): Mislim da mi se zbog toga ne prikazuje sledeci dialog
umjesto "s"
stavi "s[128]" u 2. parametru kod sscanf
Nisi stavio string value kod sscanf parametra. Uradi kao sto je rekao Bašovski iznad.
Oke jesam, jedno pod pitanje (cisto informativno xD)
ako stavim
new text[256];
i onda u proveri string s stavim 100, da li to smanjuje optimizaciju(tj da li ima potrebe onda pod new da stoji 256)? Ili su to 2 razlicite stvari i nema veze
if(sscanf(params, "s[100]",tekst)) return Koristi(playerid, "b [tekst]");
new text[256]; to 256 ti je array mozes pronaci na netu detaljno objasnjenje arraya to ti je u biti velicina stringa.
Ne optimizuje, bespotrebno ti je onda 156 cellova koje ti array zauzima. Za unos ti je limit 128 simbola, tako da bilo sta preko 128 ti je bespotrebno.