Problem(error/warning): Pravim sistem komande u dialogu. Napravio sam podelu svih komandi i sad zelim da napravim kako Obican igrac , Lider i Admin vide dialoge. U kodu mozete da vidite kako prikazuje za koju ulogu ali je problem sto ako sam Admin od 1 do 4 levela i kliknem Postavke Naloga svakako mi otvara Postvake Servera . Ja znam da mogu da napravim dialoge koji ce imati slicnu putanju i tako to ali zelim da bude manje posla te i optimizovanije . Jel moze neko da mi kaze kako da uradim to.
Deo skripte: }
YCMD:komande(playerid, params[],help)
{
if (PI[playerid][Admin] >= 5)
{
SPD(playerid, 2000, DIALOG_STYLE_LIST,"RioRolePlay","Postavke Servera\nPostavke Naloga\nStaff\nAnimacije\nRioShop\nServer","Odaberi","Odustani");
}
else if (PI[playerid][Admin] >= 1 && PI[playerid][Admin] <= 4)
{
SPD(playerid, 2000, DIALOG_STYLE_LIST,"RioRolePlay","Postavke Naloga\nStaff\nAnimacije\nRioShop\nServer","Odaberi","Odustani");
}
else if (PI[playerid][Lider])
{
SPD(playerid, 2000, DIALOG_STYLE_LIST,"RioRolePlay","Postavke Naloga\nOrganizacija\nAnimacije\nRioShop\nServer","Odaberi","Odustani");
}
else
{
SPD(playerid, 2000, DIALOG_STYLE_LIST,"RioRolePlay","Postavke Naloga\nAnimacije\nRioShop\nServer","Odaberi","Odustani");
}
return 1;
}
Slika/video ingame problema(obavezno ako je ingame problem): /
SPD PLS IZVRSI SUICID.
Citat: realnaith poslato Januar 21, 2023, 01:17:54 PRE PODNE
SPD PLS IZVRSI SUICID.
i eto idiota trazis pomoc on prica o suicidu.
Pa istu stvar radis i u OnDialogResponse, ako je admin>=5 izvrsavas mu caseove koje si naveo za admina>=5 itd.
bzs
Citat: PazzOnee poslato Januar 21, 2023, 12:07:50 POSLE PODNE
Pa istu stvar radis i u OnDialogResponse, ako je admin>=5 izvrsavas mu caseove koje si naveo za admina>=5 itd.
Jeste ali sto bi to radio kad moze da se verovatno izvede iz jednog dialoga. Ako budem pravio nov dialog zasebno za Admin 5 onda moram i za Lidera i za Admina od 1 do 4 .
To znaci da cu imati 3/4 dialoga slicna i posle isto staff komande trebam da rasclanim da se prikazuju u zavisnosti od 1 do 4 levela admina.
Zato ako ima neko resenje neka napise komentar.
Znaci dialog ima 7 caseova i to ima svoj raspored ali zelim da raspored bude promenjen u slucaju neke uloge eto tipa Admin 5.
Ne zelim da pravim poseban dialog vec u tom ali da prikazuje ono sto sam naveo . Ja sam to i uradio u komandi ali otvara drugo sto je i logicno.
Caseovi su setani kako jesu ali zelim da u zavinosti od uloga prikazuje i otvara odgovarajuci .
[pawn](dialogid)case 2000:
{
if(PI[playerid][Admin] >= 5)
{
switch(listitem)
{
//caseovi u slucaju da igrac ispunjava uslov PI[playerid][Admin] >= 5
}
}
else if (PI[playerid][Admin] >= 1 && PI[playerid][Admin] <= 4)
{
switch(listitem)
{
//caseovi u slucaju da igrac ispunjava uslov PI[playerid][Admin] >= 1 && PI[playerid][Admin] <= 4
}
}
else if (PI[playerid][Lider])
{
switch(listitem)
{
//caseovi u slucaju da igrac ispunjava uslov PI[playerid][Lider]
}
}
else
{
switch(listitem)
{
//caseovi u slucaju da igrac ne ispunjava nista od prethodnih provera, podrazumeva sve ostalo
}
}
}[/pawn]
Citat: PazzOnee poslato Januar 21, 2023, 13:37:03 POSLE PODNE
[pawn](dialogid)case 2000:
{
if(PI[playerid][Admin] >= 5)
{
switch(listitem)
{
//caseovi u slucaju da igrac ispunjava uslov PI[playerid][Admin] >= 5
}
}
else if (PI[playerid][Admin] >= 1 && PI[playerid][Admin] <= 4)
{
switch(listitem)
{
//caseovi u slucaju da igrac ispunjava uslov PI[playerid][Admin] >= 1 && PI[playerid][Admin] <= 4
}
}
else if (PI[playerid][Lider])
{
switch(listitem)
{
//caseovi u slucaju da igrac ispunjava uslov PI[playerid][Lider]
}
}
else
{
switch(listitem)
{
//caseovi u slucaju da igrac ne ispunjava nista od prethodnih provera, podrazumeva sve ostalo
}
}
}[/pawn]
Dok si ti pisao to sastavio sam ovakav kod ali ne radi.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 2000 && response)
{
if(PI[playerid][Admin] >= 5)
{
switch(listitem)
{
case 0:
{
SPD(playerid, 2001, DIALOG_STYLE_LIST,"Postavke Servera","Rucno Cuvanje Naloga\nBrisanje Naloga\nStaff Provera\nStaff Aktivnost\nPromena Staff PinCode\nPromeni Gmail\nHappyHours\nNapravi Kucu\nNapravi Stan\nNapravi Vikendicu\nNapravi Firmu\nNapravi Bankomat\nNapravi Vozilo\nNapravi Poklon\nIzbrisi Imovinu\nGoto Kuca\nGoto Stan\nGoto Vikendica\nGoto Firma\nGoto Bankomat\nDodaj Novac","Odaberi","Odustani");
}
}
}
}
else if(PI[playerid][Registrovan] >= 1)
{
switch(listitem)
{
case 1:
{
SPD(playerid, 2002, DIALOG_STYLE_LIST,"Postavke Naloga","Promeni Lozinku\nPromeni Gmail\nPromeni Spawn\nPromeni Drzavu\nPromeni Pol\nPromeni Godine\nTextdraw ON/OFF\nBroj Telefona\nStats","Odaberi","Odustani");
}
}
}
}
else if(PI[playerid][Admin] >= 1 && PI[playerid][Admin] <= 5)
{
switch(listitem)
{
case 2:
{
SPD(playerid, 2003, DIALOG_STYLE_LIST,"Staff","Staff Duty\nSpecON\nSpecOFF\nPort\nGoto\nPitanja\nWL Lista\nAFK Lista\nTOP Lista\nOcisti Chat\nEvent\nEvent Start\nEvent Stop\nServer Pesma\nSlap Igraca\nKill Igraca\nMute Igraca\nUNMute Igraca\nArea Igraca\nUNArea Igraca\nKick Igraca\nBan Igraca\nUNBan Igraca","Odaberi","Odustani");
}
}
}
}
else if(PI[playerid][Lider])
{
switch(listitem)
{
case 3:
{
SPD(playerid, 2004, DIALOG_STYLE_LIST,"Organizacija","Upravljaj Clanovi\nPodesavanje\nWar","Odaberi","Odustani");
}
}
}
}
else if(PI[playerid][Registrovan] >= 1)
{
switch(listitem)
{
case 4:
{
SPD(playerid, 2005, DIALOG_STYLE_LIST,"Animacije","Lezanje 1\nLezanje 2\nLezanje na levo\nLezanje na desno\nSedenje\nSedenje na podu\nPreklopljene Ruke\nNaslonjen Pusis\nNaslonjen na vozilo\nPad\nPodignute Ruke\nPostavljanje\nUperiti Oruzje 1\nUperiti Oruzje 2\nUperiti Oruzje 3\nTaichi\nGuranje\nGuranje Telom\nMedicinska Pomoc\nSmeh\nPoljubac\nDogovor\nPredoziran\nPricanje\nPles 1\nPles 2\nPles 3\nPles 4\nOdjebi\nSakrivanje\nSkok Zivota\nPevanje\nVikanje","Odaberi","Odustani");
}
}
}
}
else if(PI[playerid][Registrovan] >= 1)
{
switch(listitem)
{
case 5:
{
SPD(playerid, 2006, DIALOG_STYLE_LIST,"RioShop","Uplata\nPoklon\nPromena Imena\nVIP\nNovac\nLevel UP","Odaberi","Odustani");
}
}
}
}
else if(PI[playerid][Registrovan] >= 1)
{
switch(listitem)
{
case 6:
{
SPD(playerid, 2007, DIALOG_STYLE_LIST,"Server","Server Pravila\nAccount Pravila\nRolePlay Pravila\nPravila Kaznjavanja","Odaberi","Odustani");
}
}
}
}
Ne radi jer i sam ne znas sta si napisao tu... Ne znam kako drugacije da ti docaram
Citat: PazzOnee poslato Januar 21, 2023, 14:38:03 POSLE PODNE
Ne radi jer i sam ne znas sta si napisao tu... Ne znam kako drugacije da ti docaram
Nov sam u ovome gresim znam al vremenom cu ukapirati
Citat: desibro poslato Januar 21, 2023, 14:57:18 POSLE PODNE
Nov sam u ovome gresim znam al vremenom cu ukapirati
Dodji ts3 nwrpg i spremi anydesk
Dodje covek i kaze ti gde, ti uzmes i gubis vreme, odugovlacis...
Nekad ukljuci mozgalicu nece skoditi
idi od najmanjeg do najveceg raspodijelis
Admin Level 1 case 0: ako je level 1 pusti mu listu s jednom radnjom i to ce biti da moze birati samo case 0;
Admin Level 2 case 1: ako je level 2 pusti mu listu s dvije radnje i to ce biti da moze birati samo case 0; i case 1;
Admin Level 3 case2: ako je level 3 pusti mu listu s tri radnje i to ce biti da moze birati samo case 0; i case 1;, case 2;
Admin Level 4 case 3: ako je level4 pusti mu listu s cetiri radnje i to ce biti da moze birati samo case 0; i case 1;, case 2;, ,case 3;
Citat: Grella™ poslato Januar 22, 2023, 15:43:45 POSLE PODNE
Nekad ukljuci mozgalicu nece skoditi
idi od najmanjeg do najveceg raspodijelis
Admin Level 1 case 0: ako je level 1 pusti mu listu s jednom radnjom i to ce biti da moze birati samo case 0;
Admin Level 2 case 1: ako je level 2 pusti mu listu s dvije radnje i to ce biti da moze birati samo case 0; i case 1;
Admin Level 3 case2: ako je level 3 pusti mu listu s tri radnje i to ce biti da moze birati samo case 0; i case 1;, case 2;
Admin Level 4 case 3: ako je level4 pusti mu listu s cetiri radnje i to ce biti da moze birati samo case 0; i case 1;, case 2;, ,case 3;
Razmisljao sam ja vec o tome tako ce i biti u staff dialogu al ovde se radi o glavnom dialogu . Taj glavni dialog sadrzi te grupe da tako kazem organizacija , staff , postavke naloga ...
E sad ako pokusavao sam da primenim za glavni dialog ali ne moze jer grupa "Organizacija" se ne vodi pod admin nego vec pod lider.
Po tvom ja trebam prvo staff da stavim jer je manje rangiran pa onda postavke servera to i jeste logicno a gde onda za Organizaciju ako stavim iznad staffa otvara adminu taj dialog ako stavim ispod postavke servera otvara lideru staff dialog .
Treba neko resenje da se nadje za caseove da ako igrac nema dovoljan nivo uloge da mu preskoci taj case obrise kako god samo da otvori sledeci.
Resen problem hvala svakako svima <3