Roox 1 Odesláno: 14. Březen, 2010 Share Odesláno: 14. Březen, 2010 Čau, přináším vám tutoriál na seznam adminů v dialogu. Před chvílí jsem tu na to viděl HELP, tak jsem se dal do práce a tady to je Moje práce - 100 % Doba programování - 15 minut Doba testování - 1 minuta Všechno je bez bugů a udělal jsem to maximálně pro 40 adminů.. Pochybuji, že někde bude víc Upozorňuji, že já jsem používal proměnu Informace[playerid][AdminLevel]. Místo této proměny si dejte vlastní. Mezi forwardy forward ShowPlayerAdminList(playerid); Někam do Módu/FS - Max 40 adminů public ShowPlayerAdminList(playerid) { new string[40][64], Adminu, HLstring[1024]; // Nadefinujeme string na každýho admina, počet adminů a HL string, do kterého potom sloučíme stringy for(new i=0;i { if(IsPlayerConnected(i)) // Je-li hráč na server { if(Informace[i][AdminLevel] != 0) // Jestli je hráč admin { format(string[Adminu], 64, "%s | Level: %d", Jmeno(i), Informace[i][AdminLevel]); // Naformátuje string s adminem Adminu++; // O admina více } } } if(Adminu < 40) // Když je adminů méně než 40 { format(HLstring, sizeof(HLstring), "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n", string[0], string[1], string[2], string[3], string[4], string[5], string[6], string[7], string[8], string[9], string[10], string[11], string[12], string[13], string[14], string[15], string[16], string[17], string[18], string[19], string[20], string[21], string[22], string[23], string[24], string[25], string[26], string[27],string[28], string[29], string[30], string[31], string[32], string[33], string[34], string[35],string[36], string[37], string[38], string[39] ); // Sloučí stringy do jednoho HLstringu } ShowPlayerDialog(playerid, 999999999999999, DIALOG_STYLE_LIST, "Administrátoři:", HLstring, "OK", "Konec"); // Zobrazí dialog s adminama } - Max 10 adminů public ShowPlayerAdminList(playerid) { new string[10][64], Adminu, HLstring[512]; // Nadefinujeme string na každýho admina, počet adminů a HL string, do kterého potom sloučíme stringy for(new i=0;i { if(IsPlayerConnected(i)) // Je-li hráč na server { if(Informace[i][AdminLevel] != 0) // Jestli je hráč admin { format(string[Adminu], 64, "%s | Level: %d", Jmeno(i), Informace[i][AdminLevel]); // Naformátuje string s adminem Adminu++; // O admina více } } } if(Adminu < 10) // Když je adminů méně než 10 { format(HLstring, sizeof(HLstring), "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s", string[0], string[1], string[2], string[3], string[4], string[5], string[6], string[7], string[8], string[9] ); // Sloučí stringy do jednoho HLstringu } ShowPlayerDialog(playerid, 999999999999999, DIALOG_STYLE_LIST, "Administrátoři:", HLstring, "OK", "Konec"); // Zobrazí dialog s adminama } Erory : Undefield symbol "Jmeno" stock Jmeno(playerid) { new j[64]; GetPlayerName(playerid,j,64); return j; } Použití : ShowPlayerAdminList(playerid); Link to comment Share on other sites More sharing options...
Om3n 78 Odesláno: 14. Březen, 2010 Share Odesláno: 14. Březen, 2010 to je dobry...ja adamosovi na to udelam script a hnedka nekdo udela TuT na stejnym principu...a mam mensi podezreni ze to hodi error Link to comment Share on other sites More sharing options...
Pongo 0 Odesláno: 14. Březen, 2010 Share Odesláno: 14. Březen, 2010 Informace[playerid][AdminLevel] - zaujímavé... nepoužíva také Maverick ? hmm... a máš tam hore chybu new string[40][64]; new HLstring[256]; Ja by som to urobil takto ---->>> new string[64],HLstring[256]; Nemyslíš ? A ešte tu definaciu s levelom máš zle ... Inak celkom dobrý nápad ale s tímy dialogmi to už trocha preháňate a je to nepraktické... Link to comment Share on other sites More sharing options...
Om3n 78 Odesláno: 14. Březen, 2010 Share Odesláno: 14. Březen, 2010 a jeden radek tam ma moc dlouhej...takze mu to pawno neveme.... Link to comment Share on other sites More sharing options...
Guest zdenek Odesláno: 15. Březen, 2010 Share Odesláno: 15. Březen, 2010 Nešlo by jak má: format(HLstring, sizeof(HLstring), "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n", string[0], string[1], string[2], string[3], string[4], string[5], string[6], string[7], string[8], string[9], string[10], string[11], string[12], string[13], string[14], string[15], string[16], string[17], string[18], string[19], string[20], string[21], string[22], string[23], string[24], string[25], string[26], string[27],string[28], string[29], string[30], string[31], string[32], string[33], string[34], string[35],string[36], string[37], string[38], string[39] ); Dát: for(new i=0;i<40;i++){ format(HLstring, sizeof(HLstring),"%s\n",string[i]); } Link to comment Share on other sites More sharing options...
Roox 1 Odesláno: 15. Březen, 2010 Author Share Odesláno: 15. Březen, 2010 a jeden radek tam ma moc dlouhej...takze mu to pawno neveme.... Proto jsem tam udělal Mezery A ikdyž sem to roztáh, pawno mě to pořád bralo. Nešlo by jak má: format(HLstring, sizeof(HLstring), "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n", string[0], string[1], string[2], string[3], string[4], string[5], string[6], string[7], string[8], string[9], string[10], string[11], string[12], string[13], string[14], string[15], string[16], string[17], string[18], string[19], string[20], string[21], string[22], string[23], string[24], string[25], string[26], string[27],string[28], string[29], string[30], string[31], string[32], string[33], string[34], string[35],string[36], string[37], string[38], string[39] ); Dát: for(new i=0;i<40;i++){ format(HLstring, sizeof(HLstring),"%s\n",string[i]); } Ne, protože by pak ten HLstring obsahoval jakoby jenom format(HLstring, sizeof(HLstring), "%s\n", string[39]); Protože se ty první začnou přemazávat těma druhýma. Link to comment Share on other sites More sharing options...
Adamos 1 Odesláno: 15. Březen, 2010 Share Odesláno: 15. Březen, 2010 Diky, dal sem si DIALOG_STYLE_MSGBOX a bylo to roztahnute od dola nahor ale zmensil sem pocet adminu, takze jeste jednou diky :-) Link to comment Share on other sites More sharing options...
johnysek12 0 Odesláno: 19. Březen, 2010 Share Odesláno: 19. Březen, 2010 tak jak to mam opravit aby tam nebyly errory?to vipada totiz dost dobre pres dialog pls help Link to comment Share on other sites More sharing options...
Globální moderátor HighPrint 177 Odesláno: 19. Březen, 2010 Globální moderátor Share Odesláno: 19. Březen, 2010 výborný script ¨ johnysek co třeba napsat v čem ti to dělá errory?... A jinak opravdu nevěřím tomu, že na serveru budou hned online 40 :-D Když už tak dej 10 Link to comment Share on other sites More sharing options...
Roox 1 Odesláno: 19. Březen, 2010 Author Share Odesláno: 19. Březen, 2010 No tak kdyby náhodou byl třeba server "Adminství pro každého" Link to comment Share on other sites More sharing options...
StarsCream_Cze 1 Odesláno: 19. Březen, 2010 Share Odesláno: 19. Březen, 2010 a jeden radek tam ma moc dlouhej...takze mu to pawno neveme.... Proto jsem tam udělal Mezery A ikdyž sem to roztáh, pawno mě to pořád bralo. Nešlo by jak má: format(HLstring, sizeof(HLstring), "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n", string[0], string[1], string[2], string[3], string[4], string[5], string[6], string[7], string[8], string[9], string[10], string[11], string[12], string[13], string[14], string[15], string[16], string[17], string[18], string[19], string[20], string[21], string[22], string[23], string[24], string[25], string[26], string[27],string[28], string[29], string[30], string[31], string[32], string[33], string[34], string[35],string[36], string[37], string[38], string[39] ); Dát: for(new i=0;i<40;i++){ format(HLstring, sizeof(HLstring),"%s\n",string[i]); } Ne, protože by pak ten HLstring obsahoval jakoby jenom format(HLstring, sizeof(HLstring), "%s\n", string[39]); Protože se ty první začnou přemazávat těma druhýma. Větší blbost sem dneska ještě nečetl(dnešek je teprv 22 minut). Když máš prázdný string a zapíšeš do něj ABC, tak se prázdné místo přepisuje na ABC. Pak dáš další příkaz k zápisu a to je 123, který se připíše do stringu. Přdstav si, že máš ABC a 123 v proměnné s dvojrozměrným polem: pole[2][3] - pole[0][] = "ABC"; pole[1][] = "123"; (u 123 jsou uvozovky volitelné, pak se ale ve formatu musí zvolit správný datový typ pro zápis). No to sem rozkecal: nejdříve zapíšeš do string ABC z pole[0][] a pak stringu dopíšeš 123 z pole[1][]. Takto upravuješ string, ale ne pole[][]. Takže to co napsal on je dobře, když máš více %s, nebo jiných datových typů za sebou, tak se zapisují taky jednotlivě, jak jsem vysvětlil a dosazované stringy se tudíš nemění. Je to sloh, ale myslím že jsem ještě nevyšel ze cviku(dlóóóóuho sem nebyl v pwn, ani c++) "lol" Link to comment Share on other sites More sharing options...
Daffy 8 Odesláno: 21. Březen, 2010 Share Odesláno: 21. Březen, 2010 omg otresne, napsal sem vam muj zde Link to comment Share on other sites More sharing options...
Roox 1 Odesláno: 21. Březen, 2010 Author Share Odesláno: 21. Březen, 2010 Njn mas to lepsi... ( na tu funkci sem uplne zapomnel ) Link to comment Share on other sites More sharing options...
Topina 0 Odesláno: 21. Březen, 2010 Share Odesláno: 21. Březen, 2010 ja to vyuziju ted jenom jak udelat v modu nikoho adminem to je horsi a ete udelat nejake admin prikazy Link to comment Share on other sites More sharing options...
Deleted User 295 Odesláno: 19. Květen, 2010 Share Odesláno: 19. Květen, 2010 * Link to comment Share on other sites More sharing options...
eRko16 0 Odesláno: 28. Září, 2010 Share Odesláno: 28. Září, 2010 Lidi jak udelam ze kdyz neni online zadny admin tak to napise Na servceru neni pritomny zadny administrator. ? Link to comment Share on other sites More sharing options...
Frajtr 8 Odesláno: 28. Září, 2010 Share Odesláno: 28. Září, 2010 new adminu=0; for(new a=0;a 0) adminu++; return adminu; pouzij to treba ve stocku a stock nasledne porovnej s poctem a vrat hodnotu zpravy ze nikdo neni na serveru admin Link to comment Share on other sites More sharing options...
Danny 37 Odesláno: 28. Září, 2010 Share Odesláno: 28. Září, 2010 dobrý tut hodí sa napr... do niakých RP módov sa to dáva večšinov napr ako WTLS Link to comment Share on other sites More sharing options...
Guest Sacre Odesláno: 23. Červenec, 2011 Share Odesláno: 23. Červenec, 2011 Píše mi to undefined symbol adminlevel takže místo toho tam mám napsat jméno mého adminscriptu? nebo to mám nadefinovat ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now