SA-MP Forums Archive
[Include] MenuStore (Crie lojas utilizando TextDraws) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Include] MenuStore (Crie lojas utilizando TextDraws) (/showthread.php?tid=644882)

Pages: 1 2 3


MenuStore (Crie lojas utilizando TextDraws) - CaioTJF - 15.11.2017

MenuStore.inc

Essa include permite vocк criar diversos tipos de lojas utilizando TextDraws, vocк pode especificar diversas informaзхes dos itens que serгo vendidos na loja, como descriзгo, rotaзхes, zoom, etc.

Demonstraзгo



Clique na imagem para rodar o vнdeo.

Funзхes

PHP Code:
stock MenuStore_AddItem(playeriditemidmodelidname[], pricedescription[] = EOSFloat:description_size 0.0bool:description_line_jump truestack 1Float:rotX 0.0Float:rotY 0.0Float:rotZ 0.0Float:zoom 1.0
PHP Code:
stock MenuStore_Open(playeridmenuid[], store_name[], money_sign[] = MS_DEFAULT_MONEY_SIGNbutton_confirm[] = MS_DEFAULT_CONFIRM
O sistema de identificaзгo do menu (menuid) й igual ao do easyDialogs, se vocк nгo sabe como funciona, veja o exemplo abaixo:

Exemplo de Cуdigo

PHP Code:

if(strcmp(cmd"/store"true) == 0)
{
    
MenuStore_AddItem(playerid1342"Granade"500"Throw to explode."200);
    
MenuStore_AddItem(playerid2344"Molotov"500"Throw to set fire to something."200);
    
MenuStore_AddItem(playerid3346"9mm Pistol"500"Pistol with low firepower.");
    
MenuStore_AddItem(playerid4347"Silenced 9mm"500"Pistol with low firepower.");
    
MenuStore_AddItem(playerid5348"Desert Eagle"500"Pistol with high firepower.");
    
MenuStore_AddItem(playerid6349"Shotgun"500"Normal Shotgun.");
    
MenuStore_AddItem(playerid7350"Sawnoff Shotgun"500"Powerfull Shotgun.");
    
MenuStore_AddItem(playerid8351"Combat Shotgun"500"Powerfull Shotgun.");
    
MenuStore_AddItem(playerid9352"Micro SMG"500"Two-handed machine gun.");
    
MenuStore_AddItem(playerid10353"MP5"500"Machine gun.");
    
MenuStore_AddItem(playerid11355"AK-47"500"Powerfull Rifle.");
    
MenuStore_AddItem(playerid12356"M4"500"Powerfull Rifle.");
    
MenuStore_AddItem(playerid13372"Tec-9"500"Powerfull machine gun.");
    
MenuStore_AddItem(playerid14357"Country Rifle"500"Normal Rifle.");
    
MenuStore_AddItem(playerid15358"Sniper Rifle"500"Powerfull Rifle.");
    
MenuStore_Show(playeridWeapon_Shop"Shop Weapons");
    return 
1;
}
Store:Weapon_Shop(playeridresponseitemidmodelidpriceamountitemname[])
{
    if(!
response)
        return 
true;
    if(
GetPlayerMoney(playerid) < price)
        return 
SendClientMessage(playerid, -1"You don't have enough money.");
    if(
amount == 1) {
        
GivePlayerWeapon(playeridGetWeaponIDFromModel(modelid), 200);
    }
    else {
        
GivePlayerWeapon(playeridGetWeaponIDFromModel(modelid), amount);
    }
    
    new 
string[128];
    
format(string128"You bought %dx %s"amountitemname);
    
SendClientMessage(playerid, -1string);
    
    
GivePlayerMoney(playerid, -price);
    return 
true;
}
stock GetWeaponIDFromModel(modelid)
{
    new 
idweapon;
    switch(
modelid)
    {
        case 
331idweapon 1// Brass Knuckles
        
case 333idweapon 2// Golf Club
        
case 334idweapon 3// Nightstick
        
case 335idweapon 4// Knife
        
case 336idweapon 5// Baseball Bat
        
case 337idweapon 6// Shovel
        
case 338idweapon 7// Pool Cue
        
case 339idweapon 8// Katana
           
case 341idweapon 9// Chainsaw
           
case 321idweapon 10// Double-ended Dildo
           
case 325idweapon 14// Flowers
           
case 326idweapon 15// Cane
           
case 342idweapon 16// Grenade
           
case 343idweapon 17// Tear Gas
        
case 344idweapon 18// Molotov Cocktail
        
case 346idweapon 22// 9mm
        
case 347idweapon 23// Silenced 9mm
        
case 348idweapon 24// Desert Eagle
        
case 349idweapon 25// Shotgun
        
case 350idweapon 26// Sawnoff
        
case 351idweapon 27// Combat Shotgun
        
case 352idweapon 28// Micro SMG/Uzi
        
case 353idweapon 29// MP5
        
case 355idweapon 30// AK-47
        
case 356idweapon 31// M4
        
case 372idweapon 32// Tec-9
        
case 357idweapon 33// Country Rifle
        
case 358idweapon 34// Sniper Rifle
        
case 359idweapon 35// RPG
        
case 360idweapon 36// HS Rocket
        
case 361idweapon 37// Flamethrower
        
case 362idweapon 38// Minigun
        
case 363idweapon 39;// Satchel Charge + Detonator
        
case 365idweapon 41// Spraycan
        
case 366idweapon 42// Fire Extinguisher
        
case 367idweapon 43// Camera
    
}
    return 
idweapon;

Download

Github


Re: MenuStore (Crie lojas utilizando TextDraws) - Relaxed - 15.11.2017

Muito bom, parabйns!


Re: MenuStore (Crie lojas utilizando TextDraws) - Swinte - 15.11.2017

Gostei, ficou muito bom a parte de adicionar vбrios itens no "cart".


Re: MenuStore (Crie lojas utilizando TextDraws) - CaioTJF - 15.11.2017

Em breve irei montar outros estilos de cores, mas quem quiser editar elas й sу abrir a include e alterar essas definiзхes:

PHP Code:

#define MS_COLOR_SELECT_TD    0xffffffFF
#define MS_COLOR_BACKGROUND_1 0x04586bFF
#define MS_COLOR_BACKGROUND_2 0x0486a4FF
#define MS_COLOR_BACKGROUND_ITEMSELECTED 0xffffff50
#define MS_COLOR_TEXT_MAIN 0xffffffFF
#define MS_COLOR_REMOVEITEMFROMCART    0xc64e52FF
#define MS_COLOR_BACKGROUND_CONFIRM 0x5eaf3aFF

#define MS_COLOR_DESCRIPTION_NAMEITEM MS_COLOR_TEXT_MAIN
#define MS_COLOR_DESCRIPTION_TEXT 0xffffffAA
#define MS_COLOR_DESCRIPTION_BACKGROUND_1 MS_COLOR_BACKGROUND_1
#define MS_COLOR_DESCRIPTION_BACKGROUND_2 MS_COLOR_BACKGROUND_2
#define MS_COLOR_DESCRIPTION_BGMODEL 0xffffff50 



Re: MenuStore (Crie lojas utilizando TextDraws) - Marllun - 15.11.2017

Muito bom, dar para fazer um sistema de vendar de carros


Re: MenuStore (Crie lojas utilizando TextDraws) - C4rtm4n - 15.11.2017

FODA +REP


Re: MenuStore (Crie lojas utilizando TextDraws) - MediaCL - 15.11.2017

Que Fooda NICE Mano
+REP



Re: MenuStore (Crie lojas utilizando TextDraws) - Bruno13 - 15.11.2017

Sensacional, bom trabalho.

Uma dica, podes reduzir o nъmero de linhas ao zerar as variбveis, dessa maneira:

PHP Code:
ms_TD_StoreName[playerid] = ms_TD_Next[playerid] = PlayerText:INVALID_TEXT_DRAW
De resto bom code!


Re: MenuStore (Crie lojas utilizando TextDraws) - CaioTJF - 15.11.2017

Update 1.1

- Correзхes e novas definiзхes para cores.

Fiz uma versгo BLACK, que combina mais com o SA-MP:


PHP Code:

#define MS_COLOR_SELECT_TD 0xffffffFF
#define MS_COLOR_BACKGROUND_1 0x04586bFF
#define MS_COLOR_BACKGROUND_2 0x0486a4FF
#define    MS_COLOR_BACKGROUND_ITEM MS_COLOR_BACKGROUND_1
#define MS_COLOR_BACKGROUND_ITEMSELECTED 0xffffff50
#define MS_COLOR_TEXT_MAIN 0xffffffFF
#define MS_COLOR_BACKGROUND_CONFIRM 0x5eaf3aFF
#define MS_COLOR_CART_REMOVEITEM 0xc64e52FF
#define MS_COLOR_CART_BACKGROUNDITEM MS_COLOR_BACKGROUND_ITEM
#define MS_COLOR_DESCRIPTION_NAMEITEM MS_COLOR_TEXT_MAIN
#define MS_COLOR_DESCRIPTION_TEXT 0xffffffAA
#define MS_COLOR_DESCRIPTION_BACKGROUND_1 MS_COLOR_BACKGROUND_1
#define MS_COLOR_DESCRIPTION_BACKGROUND_2 MS_COLOR_BACKGROUND_2
#define MS_COLOR_DESCRIPTION_BGMODEL 0xffffff50 
@Bruno

Bem lembrado, prуximo update vou dar uma reduzida nas linhas х/


Re: MenuStore (Crie lojas utilizando TextDraws) - RodrigoMSR - 15.11.2017

Poderia adicionar uma box invisнvel no texto de descriзгo, assim nгo seria necessбrio pular linha manualmente.

Bom trabalho!


Re: MenuStore (Crie lojas utilizando TextDraws) - CaioTJF - 15.11.2017

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
Poderia adicionar uma box invisнvel no texto de descriзгo, assim nгo seria necessбrio pular linha manualmente.

Bom trabalho!
Isso realmente funciona?

Obrigado х/


Re: MenuStore (Crie lojas utilizando TextDraws) - RodrigoMSR - 16.11.2017

Quote:
Originally Posted by CaioTJF
Посмотреть сообщение
Isso realmente funciona?

Obrigado х/
Sim, eu uso em alguns textos.


Re: MenuStore (Crie lojas utilizando TextDraws) - UserUnk0wn - 16.11.2017

Ficou muito bom, design show em!


Re: MenuStore (Crie lojas utilizando TextDraws) - CaioTJF - 16.11.2017

Update 2.0

- Nгo й mais preciso pular linha na descriзгo (ty Rodrigo)
- Adicionado botхes (<- ->) ao invйs dos caracteres << >>
- Agora sу mostra o menu de paginaзгo quando houver mais de uma pбgina disponнvel
- Novas definiзхes para cores
- Cores de default alterada para a versгo black




Re: MenuStore (Crie lojas utilizando TextDraws) - Jelly23 - 16.11.2017

Ficou bom.

+REP.


Re: MenuStore (Crie lojas utilizando TextDraws) - Fonseca - 16.11.2017

Curti, vou usar +REP


Re: MenuStore (Crie lojas utilizando TextDraws) - pWesley - 16.11.2017

Muito legal, bastante dinвmico e dб pra explorar muita coisa ainda. REP+


Re: MenuStore (Crie lojas utilizando TextDraws) - F1N4L - 16.11.2017

Уtimo trabalho, @CaioTJF!


Re: MenuStore (Crie lojas utilizando TextDraws) - Coringa_Vilao - 16.11.2017

Bom Trabalho


Re: MenuStore (Crie lojas utilizando TextDraws) - PeterLinkson - 17.11.2017

Um bom design, gostei