How to add more in /shop
#1

Hello, i'm newbie at scripting and i rlly want to learn.
Can someone explain me how to add more in premium /shop?
I want to add:

Premium members on days, like:

Premium 10 days: - 5 premium points
Premium 15 days - 15 premium points
Premium 30 days - 40 premium points

and how to make it works, not only in dialog
here is cmd /shop:

Код:
CMD:shop(playerid, params[])
{
	if(PinLogged[playerid] == 0)return SCM(playerid, COLOR_LIGHTRED,"Introdu pin-ul folosind /pin, daca nu ai unul /setpin.");
    {
        new titlestring[MAX_STRING],string1[MAX_STRING],string2[MAX_STRING],string3[MAX_STRING],string4[MAX_STRING],string5[MAX_STRING],string6[MAX_STRING],iString[1500];
  		format(titlestring, sizeof(titlestring), "Premium points: {FFFF00}%d", PlayerInfo[playerid][pPremiumPoints]);
  		format(string1, sizeof(string1), "{E67E30}[+] Get Premium Points\n{E67E30}[+] Vehicle Premium");
  		format(string2, sizeof(string2), "{FFFFFF}Premium account - {E8E40C}60{FFFFFF} premium points\n{FFFFFF}Change Nickname - {E8E40C}20{FFFFFF} premium points");
  		format(string3, sizeof(string3), "{FFFFFF}Clear 20 FP - {E8E40C}20{FFFFFF} premium points\n{FFFFFF}Clear 40 FP - {E8E40C}30{FFFFFF} premium points");
  		format(string4, sizeof(string4), "{FFFFFF}Clear warns - {E8E40C}20{FFFFFF} premium points\n{FFFFFF}Create Clan - {E8E40C}100{FFFFFF} premium points");
  		format(string5, sizeof(string5), "{FFFFFF}Vehicle hidden color - {E8E40C}20{FFFFFF} premium points\n{FFFFFF}20x fireworks - {E8E40C}5{FFFFFF} premium points");
  		format(string6, sizeof(string6), "{FFFFFF}iPhone - {E8E40C}15{FFFFFF} premium points\n{FFFFFF}Buy $300,000 - {E8E40C}1{FFFFFF} premium points\n{FFFFFF}Buy $3,000,000 - {E8E40C}10{FFFFFF} premium points\n{FFFFFF}Buy $30,000,000 - {E8E40C}70{FFFFFF} premium points");
  		format(iString, sizeof(iString), "%s\n%s\n%s\n%s\n%s\n%s", string1, string2, string3, string4, string5, string6);
	 	ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST, titlestring, iString, "Buy","Exit");
    }
    return 1;
thanks all
Reply
#2

Use format on the first line, and then use strcat() instead of format.
Reply
#3

This Should be i think

PHP код:
CMD:shop(playeridparams[])
{
    if(
PinLogged[playerid] == 0)return SCM(playeridCOLOR_LIGHTRED,"Introdu pin-ul folosind /pin, daca nu ai unul /setpin.");
    {
        new 
titlestring[MAX_STRING],string1[MAX_STRING],string2[MAX_STRING],string3[MAX_STRING],string4[MAX_STRING],string5[MAX_STRING],string6[MAX_STRING],string7[MAX_STRING],string8[MAX_STRING],string9[MAX_STRING],iString[1500];
          
format(titlestringsizeof(titlestring), "Premium points: {FFFF00}%d"PlayerInfo[playerid][pPremiumPoints]);
          
format(string1sizeof(string1), "{E67E30}[+] Get Premium Points\n{E67E30}[+] Vehicle Premium");
          
format(string2sizeof(string2), "{FFFFFF}Premium account - {E8E40C}60{FFFFFF} premium points\n{FFFFFF}Change Nickname - {E8E40C}20{FFFFFF} premium points");
          
format(string3sizeof(string3), "{FFFFFF}Clear 20 FP - {E8E40C}20{FFFFFF} premium points\n{FFFFFF}Clear 40 FP - {E8E40C}30{FFFFFF} premium points");
          
format(string4sizeof(string4), "{FFFFFF}Clear warns - {E8E40C}20{FFFFFF} premium points\n{FFFFFF}Create Clan - {E8E40C}100{FFFFFF} premium points");
          
format(string5sizeof(string5), "{FFFFFF}Vehicle hidden color - {E8E40C}20{FFFFFF} premium points\n{FFFFFF}20x fireworks - {E8E40C}5{FFFFFF} premium points");
          
format(string6sizeof(string6), "{FFFFFF}iPhone - {E8E40C}15{FFFFFF} premium points\n{FFFFFF}Buy $300,000 - {E8E40C}1{FFFFFF} premium points\n{FFFFFF}Buy $3,000,000 - {E8E40C}10{FFFFFF} premium points\n{FFFFFF}Buy $30,000,000 - {E8E40C}70{FFFFFF} premium points");
          
format(string7sizeof(string7), "{FFFFFF}Premium 10 Days - {E8E40C}5{FFFFFF} premium points\n{FFFFFF}Buy $300,000 - {E8E40C}1{FFFFFF} premium points\n{FFFFFF}Buy $3,000,000 - {E8E40C}10{FFFFFF} premium points\n{FFFFFF}Buy $30,000,000 - {E8E40C}70{FFFFFF} premium points");
          
format(string8sizeof(string8), "{FFFFFF}Premium 15 Days - {E8E40C}10{FFFFFF} premium points\n{FFFFFF}Buy $300,000 - {E8E40C}1{FFFFFF} premium points\n{FFFFFF}Buy $3,000,000 - {E8E40C}10{FFFFFF} premium points\n{FFFFFF}Buy $30,000,000 - {E8E40C}70{FFFFFF} premium points");
          
format(string9sizeof(string9), "{FFFFFF}Premium 30 Days - {E8E40C}40{FFFFFF} premium points\n{FFFFFF}Buy $300,000 - {E8E40C}1{FFFFFF} premium points\n{FFFFFF}Buy $3,000,000 - {E8E40C}10{FFFFFF} premium points\n{FFFFFF}Buy $30,000,000 - {E8E40C}70{FFFFFF} premium points");
          
format(iStringsizeof(iString), "%s\n%s\n%s\n%s\n%s\n%s"string1string2string3string4string5string6,string7,string8,string9);
         
ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LISTtitlestringiString"Buy","Exit");
    }
    return 
1
Reply
#4

RyderX its gives me 26 errors
Reply
#5

well ryderx forget to put the last 3 %s on iString, so this is why you get those errors... thats may be, but since i dont have the code of your gamemode i can't say this will work now.

this is the right code:

Код:
CMD:shop(playerid, params[]) 
{ 
    if(PinLogged[playerid] == 0)return SCM(playerid, COLOR_LIGHTRED,"Introdu pin-ul folosind /pin, daca nu ai unul /setpin."); 
    { 
        new titlestring[MAX_STRING],string1[MAX_STRING],string2[MAX_STRING],string3[MAX_STRING],string4[MAX_STRING],string5[MAX_STRING],string6[MAX_STRING],string7[MAX_STRING],string8[MAX_STRING],string9[MAX_STRING],iString[1500]; 
          format(titlestring, sizeof(titlestring), "Premium points: {FFFF00}%d", PlayerInfo[playerid][pPremiumPoints]); 
          format(string1, sizeof(string1), "{E67E30}[+] Get Premium Points\n{E67E30}[+] Vehicle Premium"); 
          format(string2, sizeof(string2), "{FFFFFF}Premium account - {E8E40C}60{FFFFFF} premium points\n{FFFFFF}Change Nickname - {E8E40C}20{FFFFFF} premium points"); 
          format(string3, sizeof(string3), "{FFFFFF}Clear 20 FP - {E8E40C}20{FFFFFF} premium points\n{FFFFFF}Clear 40 FP - {E8E40C}30{FFFFFF} premium points"); 
          format(string4, sizeof(string4), "{FFFFFF}Clear warns - {E8E40C}20{FFFFFF} premium points\n{FFFFFF}Create Clan - {E8E40C}100{FFFFFF} premium points"); 
          format(string5, sizeof(string5), "{FFFFFF}Vehicle hidden color - {E8E40C}20{FFFFFF} premium points\n{FFFFFF}20x fireworks - {E8E40C}5{FFFFFF} premium points"); 
          format(string6, sizeof(string6), "{FFFFFF}iPhone - {E8E40C}15{FFFFFF} premium points\n{FFFFFF}Buy $300,000 - {E8E40C}1{FFFFFF} premium points\n{FFFFFF}Buy $3,000,000 - {E8E40C}10{FFFFFF} premium points\n{FFFFFF}Buy $30,000,000 - {E8E40C}70{FFFFFF} premium points"); 
          format(string7, sizeof(string7), "{FFFFFF}Premium 10 Days - {E8E40C}5{FFFFFF} premium points\n{FFFFFF}Buy $300,000 - {E8E40C}1{FFFFFF} premium points\n{FFFFFF}Buy $3,000,000 - {E8E40C}10{FFFFFF} premium points\n{FFFFFF}Buy $30,000,000 - {E8E40C}70{FFFFFF} premium points"); 
          format(string8, sizeof(string8), "{FFFFFF}Premium 15 Days - {E8E40C}10{FFFFFF} premium points\n{FFFFFF}Buy $300,000 - {E8E40C}1{FFFFFF} premium points\n{FFFFFF}Buy $3,000,000 - {E8E40C}10{FFFFFF} premium points\n{FFFFFF}Buy $30,000,000 - {E8E40C}70{FFFFFF} premium points"); 
          format(string9, sizeof(string9), "{FFFFFF}Premium 30 Days - {E8E40C}40{FFFFFF} premium points\n{FFFFFF}Buy $300,000 - {E8E40C}1{FFFFFF} premium points\n{FFFFFF}Buy $3,000,000 - {E8E40C}10{FFFFFF} premium points\n{FFFFFF}Buy $30,000,000 - {E8E40C}70{FFFFFF} premium points"); 
          format(iString, sizeof(iString), "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s", string1, string2, string3, string4, string5, string6,string7,string8,string9); 
          ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST, titlestring, iString, "Buy","Exit"); 
    } 
    return 1;
Reply
#6

I would recommend making the scripts in an organized way, the eye is a disaster your code.

Also prevents the abuse of use of colors, note that avoided more than 600 value chain in total, which generates faster execution

Код:
if(PinLogged[playerid] == 0)return SCM(playerid, COLOR_LIGHTRED,"Introdu pin-ul folosind /pin, daca nu ai unul /setpin."); 
    { 
        new string[900], titlestring[30];
        format(titlestring, sizeof(titlestring), "Premium points: {FFFFFF}%d", PlayerInfo[playerid][pPremiumPoints]); 
        format(string, sizeof(string), "\
        [+] Get Premium Points\n\
        [+] Vehicle Premium Premium account - 60 premium points\n\
        Change Nickname -20 premium points\n\
        Clear 20 FP - 20 premium points\n\
        Clear 40 FP - 30 premium points\n\
        Clear warns - 20 premium points\n\
        Create Clan - 100 premium points\
		Vehicle hidden color - 20 premium points\n\
		20x fireworks - 5 premium points\n\
		iPhone - 15 premium points\n\
		Buy $300,000 - 1 premium points\n\
		Buy $3,000,000 - 10 premium points\n\
		Buy $30,000,000 - 70 premium points\
		Premium 10 Days - 5 premium points\n\
		Buy $300,000 - 1 premium points\n\
		Buy $3,000,000 - 10 premium points\n\
		Buy $30,000,000 - 70 premium points\
		Premium 15 Days - 10 premium points\n\
		Buy $300,000 - 1 premium points\n\
		Buy $3,000,000 - 10 premium points\n\
		Buy $30,000,000 - 70 premium points\
		Premium 30 Days - 40 premium points\n\
		Buy $300,000 - 1 premium points\n\
		Buy $3,000,000 - 10 premium points\n\
		Buy $30,000,000 - 70 premium points"); 
        ShowPlayerDialog(playerid, DIALOG_SHOP, DIALOG_STYLE_LIST, titlestring, string, "Buy","Exit");
    }
Reply
#7

The best way to add more in shop is uses strcat instead of format.

Код:
new dialog[size];
strcat(dialog,"[+] Get Premium Points\n");
strcat(dialog,"[+] Vehicle Premium Premium account - 60 premium points\n");
...
...
ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,titlestring,dialog,"Buy","Exit");
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)