Skripta koju koristim:od 0
Detaljan opis problema:Pa ovako napravio sam listu da se moze gledat koji hitman ima metu samo ne kontam zasto mi nece da dialog prikazuje :$
Dio skripte: new sstring[1024],stringg[128]; format(sstring, sizeof(sstring), "");
foreach(new i : Player)
{
if(Imametu[i] == 1 && meta[i] == 1)
{
format(stringg, sizeof(stringg), "Hitman: %s\tMeta: %s", GetName(Imametu[i]), GetName(meta[i]));
strcat(sstring, stringg);
strcat(sstring, "\n");
}
}
SPD(playerid,D_META,DIALOG_STYLE_MSGBOX, "{F81414}SEF - {C0C0C0}PREGLED META", sstring, "ZATVORI", "");
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Citat: David (Sabljak) A.k.A SABO(T) poslato April 02, 2013, 15:39:06 POSLE PODNE
Jesi siguran da ti se ID Dialoga ne mješa sa ostalim??
ili probaj ovako
new sstring[1024],stringg[128]; format(sstring, sizeof(sstring), "");
foreach(new i : Player)
{
if(Imametu[i] == 1 && meta[i] == 1)
{
format(stringg, sizeof(stringg), "Hitman: %s\tMeta: %s", GetName(Imametu[i]), GetName(meta[i]));
strcat(sstring, stringg);
strcat(sstring, "\n");
SPD(playerid,D_META,DIALOG_STYLE_MSGBOX, "{F81414}SEF - {C0C0C0}PREGLED META", sstring, "ZATVORI", "");
}
}
Siguran sam 100% da se dialogi ne mjesaju! Jer je sve fino definisano tako da nema sanse da se pomjesaju. A filterskripta nemam.
A taj nacin sto si ti dao ne moze probao sam opet ga ne otvara :$
Ovo bi trebalo radit:
new sstring[1024],stringg[128]; format(sstring, sizeof(sstring), "");
foreach(new i : Player)
{
if(Imametu[i] >= 0 && meta[i] >= 0)
{
format(stringg, sizeof(stringg), "Hitman: %s\tMeta: %s", GetName(Imametu[i]), GetName(meta[i]));
strcat(sstring, stringg);
strcat(sstring, "\n");
}
}
SPD(playerid,D_META,DIALOG_STYLE_MSGBOX, "{F81414}SEF - {C0C0C0}PREGLED META", sstring, "ZATVORI", "");
Jer ti si samo gledao da li se u obje varijable nalazi broj 1, a u tim varijablama je ID nekog igraÄa i vjerojatno ti zato nije htjelo radit.
Citat: Joey_ poslato April 02, 2013, 20:34:56 POSLE PODNE
Ovo bi trebalo radit:
new sstring[1024],stringg[128]; format(sstring, sizeof(sstring), "");
foreach(new i : Player)
{
if(Imametu[i] >= 0 && meta[i] >= 0)
{
format(stringg, sizeof(stringg), "Hitman: %s\tMeta: %s", GetName(Imametu[i]), GetName(meta[i]));
strcat(sstring, stringg);
strcat(sstring, "\n");
}
}
SPD(playerid,D_META,DIALOG_STYLE_MSGBOX, "{F81414}SEF - {C0C0C0}PREGLED META", sstring, "ZATVORI", "");
Jer ti si samo gledao da li se u obje varijable nalazi broj 1, a u tim varijablama je ID nekog igraÄa i vjerojatno ti zato nije htjelo radit.
Da sad mi prikaziva dialog samo ne prikaziva tocno. Pise Hitman: Test_Test Meta: Test_Test znaci prikaziva da sam ja hitman i da sam si meta. Naravno varijable stavlja na nula kad se igrac logira i odlazi off.
Postaj komandu za postavljanje mete. I kod logiranja i kad odlazi off moraÅ¡ resetirat varijable na -1. Jer je 0 postojeći, tj. mogući ID igraÄa.
Citat: Joey_ poslato April 03, 2013, 00:11:21 PRE PODNE
Postaj komandu za postavljanje mete. I kod logiranja i kad odlazi off moraÅ¡ resetirat varijable na -1. Jer je 0 postojeći, tj. mogući ID igraÄa.
Preko dialoga metu trazim
case 3:
{
new i = GetRandomPlayer();
if(IsPlayerConnected(i))
{
if(PlayerInfo
[pAdmin] == 0 && PlayerInfo[pArea] == 0 && PlayerInfo[pMember] <= 5 && UlogovanProvjera == 1)
{
new level = PlayerInfo[pLevel];
GetRandomPlayer();
meta = 0;
Imametu[playerid] = 0;
Cijenamete[playerid] = level*100;
SCMF(playerid, -1, "{6EF83C}[INFO] | {C0C0C0}Uzeli ste metu pod imenom %s - vrijednost mete: %d$.", GetName(i), Cijenamete[playerid]);
}
else return ERROR(playerid, "Tretnutno nedostupno, pokusajte kasnije!");
}
else return ERROR(playerid, "Tretnutno nedostupno, pokusajte kasnije!");
}
Ne kužim zašto ne koristiš PlayerInfo[playerid][pAdmin]?
I probaj zamijenit taj kod sa ovim:
case 3:
{
new i = GetRandomPlayer();
if(IsPlayerConnected(i))
{
if(PlayerInfo[pAdmin] == 0 && PlayerInfo[pArea] == 0 && PlayerInfo[pMember] <= 5 && UlogovanProvjera == 1)
{
new level = PlayerInfo[pLevel];
GetRandomPlayer();
meta[playerid] = i;
Imametu[playerid] = i;
Cijenamete[playerid] = level*100;
SCMF(playerid, -1, "{6EF83C}[INFO] | {C0C0C0}Uzeli ste metu pod imenom %s - vrijednost mete: %d$.", GetName(i), Cijenamete[playerid]);
}
else return ERROR(playerid, "Tretnutno nedostupno, pokusajte kasnije!");
}
else return ERROR(playerid, "Tretnutno nedostupno, pokusajte kasnije!");
}
Citat: Joey_ poslato April 03, 2013, 20:46:37 POSLE PODNE
Ne kužim zašto ne koristiš PlayerInfo[playerid][pAdmin]?
I probaj zamijenit taj kod sa ovim:
case 3:
{
new i = GetRandomPlayer();
if(IsPlayerConnected(i))
{
if(PlayerInfo[pAdmin] == 0 && PlayerInfo[pArea] == 0 && PlayerInfo[pMember] <= 5 && UlogovanProvjera == 1)
{
new level = PlayerInfo[pLevel];
GetRandomPlayer();
meta[playerid] = i;
Imametu[playerid] = i;
Cijenamete[playerid] = level*100;
SCMF(playerid, -1, "{6EF83C}[INFO] | {C0C0C0}Uzeli ste metu pod imenom %s - vrijednost mete: %d$.", GetName(i), Cijenamete[playerid]);
}
else return ERROR(playerid, "Tretnutno nedostupno, pokusajte kasnije!");
}
else return ERROR(playerid, "Tretnutno nedostupno, pokusajte kasnije!");
}
Ma pomjesa se bbc kod sa [ i ] pa tu ne prikaze. playerid mi tu ne treba vec ovako kako sam definirao provijeru nece valjda meni provijervat da li sam admin/da li sam u arei/da li sam logiran... Vec tom igracu sto ga bude izabralo.
A ovo tvoje cu danas testat kad imadnem sa nekim.