SA-MP Forums

Go Back   SA-MP Forums > SA-MP Scripting and Plugins > Scripting Help

Reply
 
Thread Tools Display Modes
Old 22/05/2015, 10:10 PM   #1
Metharon
Huge Clucker
 
Metharon's Avatar
 
Join Date: Apr 2014
Location: England
Posts: 340
Reputation: 34
Default Report dialog max 17 rows ... how can i make pages?

I want for example only 17 reports per dialog page.


And if the players press [ Go to Page 2 ] to show the rest of them..


If my server have 17 + it goes:

Row 1
Row 2
Row 3
... (to 16)
Row 17
Ro (un-completed)

I want to be
Row 1
Row 2 - 16
[ Next page ]


source code:
pawn Code:
stock ListReports(playerid)
{
    new l;
    new s[149];
    new str[35];
    new string[MAX_REPORTS * 100];
    if (ReportCount != 0)
    {
        for (new i = 0; i < MAX_REPORTS + 1; i += 1)
        {
            strmid(s, ReportInfo[i][rReportString], 0, strlen(ReportInfo[i][rReportString]), 255);
            if (ReportIDTaken[i])
            {
                new statusreport[20];
                if(ReportInfo[i][rReportStatus] == 1) { statusreport = "{CC3300}Checked"; }
                if(ReportInfo[i][rReportStatus] == 2) { statusreport = "{99CCFF}Picked"; }
                else { statusreport = "{66CC33}New"; }
                if (ReportInfo[i][rReportAnswered]) continue;
                format(str, sizeof(str), "(%d)\t%s\t %s\n", i, ReportInfo[i][rReporter],statusreport);
                strcat(string, str);
                ReportInfo[i][rListitem][l] = 1;
                l += 1;
            }
        }
        new stringx[456];
        format(stringx, sizeof(stringx), "ID\tSender\tStatus\n%s", string);
        ShowPlayerDialog(playerid, DIALOG_REPORT2,DIALOG_STYLE_TABLIST_HEADERS, "  ", stringx, "Check", "Back");
    }
    else
    {
        new titlereports[456];
        format(titlereports, 456, "Reports - %d mesaje primite", ReportCount);
        ShowPlayerDialog(playerid, DIALOG_REPORT1, DIALOG_STYLE_LIST,titlereports, "Mesaje primite\nSterge mesaje", "Select", "Cancel");
    }
    return 1;
}
__________________
#Mad
Metharon is offline   Reply With Quote
Old 24/05/2015, 09:14 PM   #2
Metharon
Huge Clucker
 
Metharon's Avatar
 
Join Date: Apr 2014
Location: England
Posts: 340
Reputation: 34
Default Re: Report dialog max 17 rows ... how can i make pages?

UP PLEASE , I want to find out a method to create a dialog with pages
__________________
#Mad
Metharon is offline   Reply With Quote
Old 25/05/2015, 03:47 AM   #3
amirm3hdi
Banned
 
Join Date: Apr 2015
Location: Brain
Posts: 270
Reputation: 14
Default Re: Report dialog max 17 rows ... how can i make pages?

If it helps
Code:
if ( l == 16 )
{
    // Then stop adding lines to the corrent page(dialog),
}
amirm3hdi is offline   Reply With Quote
Old 25/05/2015, 05:08 AM   #4
SickAttack
High-roller
 
Join Date: Dec 2013
Posts: 4,761
Reputation: 754
Default Re: Report dialog max 17 rows ... how can i make pages?

Here's a script that you can use as a reference:
pawn Code:
// [ DEVELOPMENT GAMEMODE ]

// INCLUDES:

#include <a_samp>
#include <sscanf2>
#include <zcmd>

// DEFINES:

// GENERAL:

#define MAX_RESULTS 20
#define TOTAL_VEHICLES 212

// FUNCTIONS:

#define GetPageCount(%0,%1) floatround(%1 / %0, floatround_floor) + 1

// DIALOGS:

#define DIALOG_OK 500
#define DIALOG_VEHICLE_LIST 501

// ARRAYS AND ENUMERATORS:

static const stock aVehicles[TOTAL_VEHICLES][] =
{
    {"Landstalker"},
    {"Bravura"},
    {"Buffalo"},
    {"Linerunner"},
    {"Perrenial"},
    {"Sentinel"},
    {"Dumper"},
    {"Firetruck"},
    {"Trashmaster"},
    {"Stretch"},
    {"Manana"},
    {"Infernus"},
    {"Voodoo"},
    {"Pony"},
    {"Mule"},
    {"Cheetah"},
    {"Ambulance"},
    {"Leviathan"},
    {"Moonbeam"},
    {"Esperanto"},
    {"Taxi"},
    {"Washington"},
    {"Bobcat"},
    {"Mr Whoopee"},
    {"BF Injection"},
    {"Hunter"},
    {"Premier"},
    {"Enforcer"},
    {"Securicar"},
    {"Banshee"},
    {"Predator"},
    {"Bus"},
    {"Rhino"},
    {"Barracks"},
    {"Hotknife"},
    {"Trailer 1"},
    {"Previon"},
    {"Coach"},
    {"Cabbie"},
    {"Stallion"},
    {"Rumpo"},
    {"RC Bandit"},
    {"Romero"},
    {"Packer"},
    {"Monster"},
    {"Admiral"},
    {"Squalo"},
    {"Seasparrow"},
    {"Pizzaboy"},
    {"Tram"},
    {"Trailer 2"},
    {"Turismo"},
    {"Speeder"},
    {"Reefer"},
    {"Tropic"},
    {"Flatbed"},
    {"Yankee"},
    {"Caddy"},
    {"Solair"},
    {"Berkley's RC Van"},
    {"Skimmer"},
    {"PCJ-600"},
    {"Faggio"},
    {"Freeway"},
    {"RC Baron"},
    {"RC Raider"},
    {"Glendale"},
    {"Oceanic"},
    {"Sanchez"},
    {"Sparrow"},
    {"Patriot"},
    {"Quad"},
    {"Coastguard"},
    {"Dinghy"},
    {"Hermes"},
    {"Sabre"},
    {"Rustler"},
    {"ZR-350"},
    {"Walton"},
    {"Regina"},
    {"Comet"},
    {"BMX"},
    {"Burrito"},
    {"Camper"},
    {"Marquis"},
    {"Baggage"},
    {"Dozer"},
    {"Maverick"},
    {"News Chopper"},
    {"Rancher"},
    {"FBI Rancher"},
    {"Virgo"},
    {"Greenwood"},
    {"Jetmax"},
    {"Hotring"},
    {"Sandking"},
    {"Blista Compact"},
    {"Police Maverick"},
    {"Boxville"},
    {"Benson"},
    {"Mesa"},
    {"RC Goblin"},
    {"Hotring Racer A"},
    {"Hotring Racer B"},
    {"Bloodring Banger"},
    {"Rancher"},
    {"Super GT"},
    {"Elegant"},
    {"Journey"},
    {"Bike"},
    {"Mountain Bike"},
    {"Beagle"},
    {"Cropdust"},
    {"Stunt"},
    {"Tanker"},
    {"Roadtrain"},
    {"Nebula"},
    {"Majestic"},
    {"Buccaneer"},
    {"Shamal"},
    {"Hydra"},
    {"FCR-900"},
    {"NRG-500"},
    {"HPV1000"},
    {"Cement Truck"},
    {"Tow Truck"},
    {"Fortune"},
    {"Cadrona"},
    {"FBI Truck"},
    {"Willard"},
    {"Forklift"},
    {"Tractor"},
    {"Combine"},
    {"Feltzer"},
    {"Remington"},
    {"Slamvan"},
    {"Blade"},
    {"Freight"},
    {"Streak"},
    {"Vortex"},
    {"Vincent"},
    {"Bullet"},
    {"Clover"},
    {"Sadler"},
    {"Firetruck LA"},
    {"Hustler"},
    {"Intruder"},
    {"Primo"},
    {"Cargobob"},
    {"Tampa"},
    {"Sunrise"},
    {"Merit"},
    {"Utility"},
    {"Nevada"},
    {"Yosemite"},
    {"Windsor"},
    {"Monster A"},
    {"Monster B"},
    {"Uranus"},
    {"Jester"},
    {"Sultan"},
    {"Stratum"},
    {"Elegy"},
    {"Raindance"},
    {"RC Tiger"},
    {"Flash"},
    {"Tahoma"},
    {"Savanna"},
    {"Bandito"},
    {"Freight Flat"},
    {"Streak Carriage"},
    {"Kart"},
    {"Mower"},
    {"Duneride"},
    {"Sweeper"},
    {"Broadway"},
    {"Tornado"},
    {"AT-400"},
    {"DFT-30"},
    {"Huntley"},
    {"Stafford"},
    {"BF-400"},
    {"Newsvan"},
    {"Tug"},
    {"Trailer 3"},
    {"Emperor"},
    {"Wayfarer"},
    {"Euros"},
    {"Hotdog"},
    {"Club"},
    {"Freight Carriage"},
    {"Trailer 3"},
    {"Andromada"},
    {"Dodo"},
    {"RC Cam"},
    {"Launch"},
    {"LSPD Police Car"},
    {"SFPD Police Car"},
    {"LVPD Police Car"},
    {"Police Ranger"},
    {"Picador"},
    {"SWAT Van"},
    {"Alpha"},
    {"Phoenix"},
    {"Glendale"},
    {"Sadler"},
    {"Luggage Trailer A"},
    {"Luggage Trailer B"},
    {"Stair Trailer"},
    {"Boxville"},
    {"Farm Plow"},
    {"Utility Trailer"}
};

// VARIABLES:

new pLastPage[MAX_PLAYERS];

// MAIN:

main()
{
    print("Development Mode: vehicle_list.amx");
}

// CALLBACKS:

public OnGameModeInit()
{
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case DIALOG_OK: return 1;
        case DIALOG_VEHICLE_LIST:
        {
            if(!response) return 1;
            else if(response)
            {
                pLastPage[playerid] ++;
                ShowVehicleList(playerid);
            }
        }
    }
    return 1;
}

// COMMANDS:

CMD:vehiclelist(playerid, params[])
{
    pLastPage[playerid] = 1;
    ShowVehicleList(playerid);
    return 1;
}

// FUNCTIONS:

stock ShowVehicleList(playerid)
{
    new title[128], string[300], pages = GetPageCount(MAX_RESULTS, TOTAL_VEHICLES), resultcount = ((MAX_RESULTS * pLastPage[playerid]) - MAX_RESULTS), bool:nextpage = false;
    strcat(string, "ID\tName");

    for(new i = resultcount; i < TOTAL_VEHICLES; i ++)
    {
        resultcount ++;
        if(resultcount <= MAX_RESULTS * pLastPage[playerid])
        {
            format(string, sizeof(string), "%s\n%d\t%s", string, resultcount, aVehicles[i]);
        }
        if(resultcount > MAX_RESULTS * pLastPage[playerid])
        {
            nextpage = true;
            break;
        }
    }

    format(title, sizeof(title), "{FFFF00}Vehicles - Page %d of %d", pLastPage[playerid], pages);
    if(nextpage) return ShowPlayerDialog(playerid, DIALOG_VEHICLE_LIST, DIALOG_STYLE_TABLIST_HEADERS, title, string, "Next", "Close");
    return ShowPlayerDialog(playerid, DIALOG_OK, DIALOG_STYLE_TABLIST_HEADERS, title, string, "Close", "");
}
SickAttack is offline   Reply With Quote
Old 30/05/2015, 10:37 PM   #5
Metharon
Huge Clucker
 
Metharon's Avatar
 
Join Date: Apr 2014
Location: England
Posts: 340
Reputation: 34
Default Re: Report dialog max 17 rows ... how can i make pages?

I dont' get your script.. please.. update, help
__________________
#Mad
Metharon is offline   Reply With Quote
Old 30/05/2015, 10:41 PM   #6
SickAttack
High-roller
 
Join Date: Dec 2013
Posts: 4,761
Reputation: 754
Default Re: Report dialog max 17 rows ... how can i make pages?

Quote:
Originally Posted by Metharon View Post
I dont' get your script.. please.. update, help
What don't you get? It's a script that implies the fact that pages can be done in a dynamic, easy and light weighted way.

What? Do you want us to do all the work for you? I showed you how it could be done, with the intention that you would make it work with your script.
SickAttack is offline   Reply With Quote
Old 30/05/2015, 11:07 PM   #7
amirm3hdi
Banned
 
Join Date: Apr 2015
Location: Brain
Posts: 270
Reputation: 14
Default Re: Report dialog max 17 rows ... how can i make pages?

You should not expect us to code for you, he gave you a code to look up to,
It's not script wanted section.
amirm3hdi is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Dynamic Dialog Pages GiamPy. Scripting Help 4 20/06/2013 07:05 AM
MySQL Rows in Dialog List quagga Scripting Help 2 05/08/2012 06:27 PM
No rows or tabulation in dialog. Kiets Scripting Help 16 31/07/2012 05:27 PM
MySQL rows into a Dialog List? GamingTurf Scripting Help 4 13/12/2011 05:58 AM
Make the rows straight in dialogs _Tommy Help Archive 41 05/02/2011 12:16 PM


All times are GMT. The time now is 09:39 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.