Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: haides poslato Novembar 19, 2014, 15:52:43 POSLE PODNE

Naslov: [Pomoc] Puno Teksta
Poruka od: haides poslato Novembar 19, 2014, 15:52:43 POSLE PODNE
Skripta koju koristim:
Android Balkan RP

Detaljan opis problema:
Komanda /ah otvara Dialog List te onda odaberes koji Admin Level komande oces da ti u MSG box otvori.
Samo mi recite jel sam bio na dobrom putu i ispravite me gdje sam pogrijesio :)

Dio skripte:

Znaci ovo mi je za Dialog (makar nema veze sa mojim problemom al ajde da bude)

#define ADMINHELP_MAIN    5160
#define ADMINHELP_LVL1    5161
#define ADMINHELP_LVL2    5162
#define ADMINHELP_LVL3    5163
#define ADMINHELP_LVL4    5164
#define ADMINHELP_LVL5    5165


Ovo je dio kada odaberes koji level admina hoces (jos nedovrsen)

if(dialogid == ADMINHELP_MAIN)
{
if(response)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid, ADMINHELP_LVL1, DIALOG_STYLE_MSGBOX, "Android Balkan RP - Admin Level 1", adminhelp1, "Ok", "Izadji");
}
if(listitem == 1)
{
ShowPlayerDialog(playerid, ADMINHELP_LVL2, DIALOG_STYLE_MSGBOX, "Android Balkan RP - Admin Level 2", adminhelp2, "Ok", "Izadji");
}
if(listitem == 2)
{
ShowPlayerDialog(playerid, ADMINHELP_LVL3, DIALOG_STYLE_MSGBOX, "Android Balkan RP - Admin Level 3", adminhelp3, "Ok", "Izadji");
}
if(listitem == 3)
{
ShowPlayerDialog(playerid, ADMINHELP_LVL4, DIALOG_STYLE_MSGBOX, "Android Balkan RP - Admin Level 4", adminhelp4, "Ok", "Izadji");
}
if(listitem == 4)
{
ShowPlayerDialog(playerid, ADMINHELP_LVL5, DIALOG_STYLE_MSGBOX, "Android Balkan RP - Admin Level 5", adminhelp5, "Ok", "Izadji");
}
}
}


Komanda

CMD:ahelp(playerid, params[])
{
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Prvo se morate ulogirati da bi ste koristili komande.");
if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GREY, "Niste autorizirani da koristite ovu komandu.");
ShowPlayerDialog(playerid, ADMINHELP_MAIN, DIALOG_STYLE_LIST, "Android Balkan RP - Admin Komande", "Admin Level 1 \nAdmin Level 2 \nAdmin Level 3 \nAdmin Level 4 \nAdmin Level 5 \n", "Odaberi", "Izadji");
return 1;
}


Eh, a ovo je taj dio koji mi treba pomoci.. Znaci ima previse teksta da stavim tu gore u ShowPlayerDialog
pa sam mislio da to definiram i onda samo ubacim.

new adminhelp1;
{
/a /aname /aduty /apm /kick /(un)ban(reason/ip) /(s)check /slap /spec /ar /dr /(n)mute /stopfire\n
/goto(loc) /gethere /revive /refund /ipcheck /ch /freeze /unfreeze /fa /ufa /healnear /startfire\n
/setvw /setint /makevip /disarm /gotoveh /getveh /sendtols /tuteject /forcetut /listen /lastseen\n
/setskin /banaccount /prison(account) /approve /deny /prisoners /contracts /clearcontract\n
/clearwanted /respawn(radius) /gotopos /sendtoid /veh /interiors /pfine /fine /listguns\n
/(show/clear)flag(s) /reportmute /(clear)warn(s) /refuel /givecookie /tog /tabbed /afk
}

new adminhelp2;
{
/sobeit /infotoall /interiors /mark /time /jetpack /sethp /setarmor /listmasked\n
/hoseject /lastads /clearchat /whitelist /givenos /sendtoid /speedhack /setfightstyle\n
/veh /setname /vehname /rangeban /editdrugs /cnnn /clearads /online /editpoint /setstat
}

new adminhelp3;
{
/weatherall /(set/give)(all)money /setarmorall /sethpall /fixveh(all) /poll /givegun\n
/forcepaycheck /givecookieall /arrestpoint /music /(take/remove/give)nameonoff /setreferrals\n
/setoocmode /say /customvehicle /goldrims /eventhelp /bowners /maketester /setaccent
}

new adminhelp4;
{
/bugs /kill /ideas /acolor /bans /deleteaccount /motd /setpass /forceduty\n
/make(helper/banappealer/gang/fac)(mod) /make(temp)admin /firehell /oremove(helper/admin)\n
/unloyal /lockserver /saveserver /savebizhouses /delete(bug/idea) /removeban /makeleader\n
/makegateowner /dynamics /familieshelp /make(door/house/biz)mod /makegameaffairs
}

new adminhelp5;
{
/(g)gmx
}


Ja se ispricavam sto sam toliko puno koda stavio u post, ali ako je potrebno neka bude. :)

EDIT: Jel to uopce moguce btw?
- Jel bi mogao to sve staviti u Text Document pa da mi u skriptu loada taj tekst?
Naslov: Odg: [Pomoc] Puno Teksta
Poruka od: Denis_Lapi poslato Novembar 19, 2014, 18:01:03 POSLE PODNE
Ne vidim sustinu pravljenja tolikod dialoga. Napravi jedan dialog koji ce se zvati ADMIN_KOMANDE koji ce biti messagebox style, formatiraj string za levele i u zavisnosti od lvl-a ce igracu u jednom istom dialogu prikazivati drugaciji string.
Naslov: Odg: [Pomoc] Puno Teksta
Poruka od: haides poslato Novembar 19, 2014, 18:22:59 POSLE PODNE
Istina, ali ovako mi izgleda orgaziranije.
npr.
Ako je pAdmin < 1 da ni nemoze u /ah komandu doc
Ako je pAdmin = 1 da moze samo prvu
Ako je pAdmin = 2 da moze prvu i drugu
....

Ako nema drugog nacina onda cu sve u jedan msgbox. :)
Naslov: Odg: [Pomoc] Puno Teksta
Poruka od: Denis_Lapi poslato Novembar 19, 2014, 18:26:25 POSLE PODNE
Je l' ti hoces da napravis da imas prvo dialog_style_list, pa da biras lvl ili da cim ukucas /ah dobijes komande koje hoces da koristis..
Naslov: Odg: [Pomoc] Puno Teksta
Poruka od: haides poslato Novembar 19, 2014, 18:30:32 POSLE PODNE
Znaci, zelim napraviti Dialog List. Kada kucas /ah da ti otvori listu gdje pise "Admin Level 1", "Admin Level 2", ...
Onda da izaberes npr. Admin Level 1 pa da ti otvori MSGBox sa admin komandama za lvl1 admina
Naslov: Odg: [Pomoc] Puno Teksta
Poruka od: Denis_Lapi poslato Novembar 19, 2014, 18:45:19 POSLE PODNE
E onda ces definisati ADMIN_LEVEL1 i tako do max lvl, s tim sto ces definisati samo jedan msgbox
Naslov: Odg: [Pomoc] Puno Teksta
Poruka od: // xunder poslato Novembar 19, 2014, 23:28:59 POSLE PODNE
CMD:ahelp(playerid, params[])
{
        if(IsPlayerConnected(playerid))
        {
            if (PlayerInfo[playerid][pAdmin] >= 1)
    {
                ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Adminhelp","level 1\nlevel 2\nlevel 3\nlevel 4\nAdmin level 5", "odaberi", "izlaz");
        }
        else
{
SendClientMessage(playerid, -1, "nisi admin!");
    }
}
    return 1;
}
on dialog responde
        if(dialogid == 1)
{
if(response)
{
if(listitem == 0) //
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
                    SendClientMessage(playerid, -1, "komanda");
}
}
if(listitem == 1) //
{
if (PlayerInfo[playerid][pAdmin] >= 2)
{
    SendClientMessage(playerid, -1, "komanda");
}
if(listitem == 2) //
{
if (PlayerInfo[playerid][pAdmin] >= 3)
{
SendClientMessage(playerid, -1, "komanda");
}
}
if(listitem == 3) //
{
if (PlayerInfo[playerid][pAdmin] >= 4)
{
                    SendClientMessage(playerid, -1, "komanda");
}
}
if(listitem == 4) //
{
if (PlayerInfo[playerid][pAdmin] >= 5)
{
SendClientMessage(playerid, -1, "komanda");
}
}
}
}


MIJENJAJ IDOVE DIALOGA!!!
Naslov: Odg: [Pomoc] Puno Teksta
Poruka od: haides poslato Novembar 20, 2014, 16:52:28 POSLE PODNE
Hvala @Rax_King na odgovoru ali sam pitao na SA:MP Forumu i trebalo je ovako:

//Admin Help
if(dialogid == ADMINHELP_MAIN)
{
if(response)
{
if(listitem == 0)
{
    if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GREY, "Niste Admin Level 1");
new ah1[600];
strcat(ah1, "/a /aname /aduty /apm /kick /(un)ban(reason/ip) /(s)check /slap /spec /ar /dr /(n)mute /stopfire\n");
strcat(ah1, "/goto(loc) /gethere /revive /refund /ipcheck /ch /freeze /unfreeze /fa /ufa /healnear /startfire\n");
strcat(ah1, "/setvw /setint /makevip /disarm /gotoveh /getveh /sendtols /tuteject /forcetut /listen /lastseen\n");
strcat(ah1, "/setskin /banaccount /prison(account) /approve /deny /prisoners /contracts /clearcontract\n");
strcat(ah1, "/clearwanted /respawn(radius) /gotopos /sendtoid /veh /interiors /pfine /fine /listguns\n");
strcat(ah1, "/(show/clear)flag(s) /reportmute /(clear)warn(s) /refuel /givecookie /tog /tabbed /afk");
ShowPlayerDialog(playerid, ADMINHELP_LVL1, DIALOG_STYLE_MSGBOX, "{FF0000}Android Balkan RP {FFFFFF}- Admin Level 1", ah1, "Ok", "Izadji");
}
if(listitem == 1)
{
    if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_GREY, "Niste Admin Level 2");
new ah2[600];
strcat(ah2, "/sobeit /infotoall /interiors /mark /time /jetpack /sethp /setarmor /listmasked\n");
strcat(ah2, "/hoseject /lastads /clearchat /whitelist /givenos /sendtoid /speedhack /setfightstyle\n");
strcat(ah2, "/veh /setname /vehname /rangeban /editdrugs /cnnn /clearads /online /editpoint /setstat");
ShowPlayerDialog(playerid, ADMINHELP_LVL2, DIALOG_STYLE_MSGBOX, "{FF0000}Android Balkan RP {FFFFFF}- Admin Level 2", ah2, "Ok", "Izadji");
}
if(listitem == 2)
{
    if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_GREY, "Niste Admin Level 3");
new ah3[600];
strcat(ah3, "/weatherall /(set/give)(all)money /setarmorall /sethpall /fixveh(all) /poll /givegun\n");
strcat(ah3, "/forcepaycheck /givecookieall /arrestpoint /music /(take/remove/give)nameonoff /setreferrals\n");
strcat(ah3, "/setoocmode /say /customvehicle /goldrims /eventhelp /bowners /maketester /setaccent");
ShowPlayerDialog(playerid, ADMINHELP_LVL3, DIALOG_STYLE_MSGBOX, "{FF0000}Android Balkan RP {FFFFFF}- Admin Level 3", ah3, "Ok", "Izadji");
}
if(listitem == 3)
{
    if(PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid, COLOR_GREY, "Niste Admin Level 4");
new ah4[600];
strcat(ah4, "/bugs /kill /ideas /acolor /bans /deleteaccount /motd /setpass /forceduty\n");
strcat(ah4, "/make(helper/banappealer/gang/fac)(mod) /make(temp)admin /firehell /oremove(helper/admin)\n");
strcat(ah4, "/unloyal /lockserver /saveserver /savebizhouses /delete(bug/idea) /removeban /makeleader\n");
strcat(ah4, "/makegateowner /dynamics /familieshelp /make(door/house/biz)mod /makegameaffairs");
ShowPlayerDialog(playerid, ADMINHELP_LVL4, DIALOG_STYLE_MSGBOX, "{FF0000}Android Balkan RP {FFFFFF}- Admin Level 4", ah4, "Ok", "Izadji");
}
if(listitem == 4)
{
    if(PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_GREY, "Niste Admin Level 5");
new ah5[600];
strcat(ah5, "/(g)gmx");
ShowPlayerDialog(playerid, ADMINHELP_LVL5, DIALOG_STYLE_MSGBOX, "{FF0000}Android Balkan RP {FFFFFF}- Admin Level 5", ah5, "Ok", "Izadji");
}
}
}