Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define DIALOG_INVENT 2252
- #define DIALOG_INVENT_OPT 2253
- #define DIALOG_INVENT_OPT_GIVE_PLAYER 2254
- #define DIALOG_INVENT_OPT_GIVE_AMOUNT 2255
- #define DIALOG_INVENT_OPT_GIVE_CONFIRM 2256
- #define DIALOG_INVENT_OPT_TRASH 2257
- #define DIALOG_INVENT_OPT_TRASH_CONFIRM 2258
- /* INVENTARIO INFO (EXEMPLO) */
- #define ITEM_TYPE_WEAPON 1
- #define ITEM_TYPE_WEAPON_AMMO 2
- #define ITEM_TYPE_WEAPON_SILENCER 3
- #define ITEM_TYPE_GPS 4
- #define ITEM_TYPE_WATCH 5
- #define ITEM_TYPE_GRENADE 6
- #define ITEM_TYPE_COMPUTER 7
- #define ITEM_TYPE_SCRATCH_CARD 8
- #define ITEM_TYPE_FISH_KIT 9
- #define ITEM_TYPE_PE_DE_CABRA 10
- #define ITEM_TYPE_CORDA 11
- #define ITEM_TYPE_MARTELO 12
- #define ITEM_TYPE_AGENDA 13
- #define ITEM_TYPE_GALAO 14
- #define ITEM_TYPE_DINAMITE 15
- #define ITEM_TYPE_DRUG 16
- enum _inventInfo
- {
- itemName[35],
- itemType,
- itemInfo,
- itemDesc[100]
- };
- static const inventInfo[][_inventInfo] =
- {
- {"None", 0, 0, "None"}
- };
- public OnDialogblablabla
- case DIALOG_INVENT:
- {
- if( response )
- {
- new str[70], item;
- format( str, 70, "SELECT * FROM piteminfo WHERE cid=%d",playerInfo[playerid][pCid]);
- mysql_query( str );
- mysql_store_result( );
- if( mysql_num_rows() )
- {
- mysql_data_seek( listitem );
- if( mysql_fetch_row( str ) )
- {
- sscanf( str, "p<|>{dd}d{d}",item );
- }
- }
- mysql_free_result( );
- SetPVarInt( playerid,"InventChoosen", item );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT, DIALOG_STYLE_LIST, "Seu Inventário", "Usar Item\nDar para Player\nJogar no chão", "Selecionar", "Voltar" );
- }
- }
- case DIALOG_INVENT_OPT:
- {
- if( response )
- {
- switch( listitem )
- {
- case 0:
- {
- new item = GetPVarInt( playerid, "InventChoosen" );
- switch( inventInfo[item][itemType] )
- {
- }
- }
- case 1: //dar pra player
- {
- if( response )
- {
- new title[80], msg[128], item = GetPVarInt( playerid, "InventChoosen" );
- format( title, sizeof title, "Inventário - Dar %s", inventInfo[item][itemName]);
- format( msg, sizeof msg, "Digite a id/ParteDoNome do player pra quem você quer dar o item: %s", inventInfo[item][itemName] );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT_GIVE_PLAYER, DIALOG_STYLE_INPUT, title, msg, "Enviar", "Voltar" );
- }
- else
- {
- playerInvent( playerid, playerid );
- }
- }
- case 2: //jogar
- {
- if( response )
- {
- new title[80], msg[128], item = GetPVarInt( playerid, "InventChoosen" );
- format( title, sizeof title, "Inventário - Jogar %s", inventInfo[item][itemName]);
- format( msg, sizeof msg, "Digite a quantidade de unidades que deseja jogar fora de %s", inventInfo[item][itemName] );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT_TRASH, DIALOG_STYLE_INPUT, title, msg, "Enviar", "Voltar" );
- }
- else
- {
- playerInvent( playerid, playerid );
- }
- }
- }
- }
- else
- playerInvent( playerid, playerid );
- }
- case DIALOG_INVENT_OPT_GIVE_PLAYER:
- {
- if( response )
- {
- new player;
- if( sscanf( inputtext, "u", player ) || player == playerid )
- {
- new title[80], msg[128], item = GetPVarInt( playerid, "InventChoosen" );
- format( title, sizeof title, "Inventário - Dar %s", inventInfo[item][itemName]);
- format( msg, sizeof msg, "Digite a id/ParteDoNome do player pra quem você quer dar o item: %s\n(O player selecionado não existe)", inventInfo[item][itemName] );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT_GIVE_PLAYER, DIALOG_STYLE_INPUT, title, msg, "Enviar", "Voltar" );
- }
- else if( GetDistanceBetweenPlayers( playerid, player ) > 5.0 )
- {
- new title[80], msg[128], item = GetPVarInt( playerid, "InventChoosen" );
- format( title, sizeof title, "Inventário - Dar %s", inventInfo[item][itemName]);
- format( msg, sizeof msg, "Digite a id/ParteDoNome do player pra quem você quer dar o item: %s\n(O player selecionado está muito longe)", inventInfo[item][itemName] );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT_GIVE_PLAYER, DIALOG_STYLE_INPUT, title, msg, "Enviar", "Voltar" );
- }
- else
- {
- SetPVarInt( playerid, "InventGivePlayer", player );
- new title[80], msg[128], item = GetPVarInt( playerid, "InventChoosen" );
- format( title, sizeof title, "Inventário - Dar %s para %s", inventInfo[item][itemName], getPlayerName( player, true ) );
- format( msg, sizeof msg, "Digite a quantidade de itens que você quer dar para %s:", getPlayerName( player, true ) );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT_GIVE_AMOUNT, DIALOG_STYLE_INPUT, title, msg, "Enviar", "Voltar" );
- }
- }
- else
- {
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT, DIALOG_STYLE_LIST, "Seu Inventário", "Usar Item\nDar para Player\nJogar no chão", "Selecionar", "Voltar" );
- }
- }
- case DIALOG_INVENT_OPT_GIVE_AMOUNT:
- {
- if( response )
- {
- new item = GetPVarInt( playerid, "InventChoosen" ),
- player = GetPVarInt( playerid, "InventGivePlayer" ),
- amount = strval(inputtext);
- if( 0 < amount <= GetPlayerItemAmount( playerid, item ) )
- {
- SetPVarInt(playerid, "InventGiveAmount", amount );
- new title[80], msg[128];
- format( title, sizeof title, "Inventário - Dar %s para %s", inventInfo[item][itemName], getPlayerName( player, true ) );
- format( msg, sizeof msg, "Você está prestes a dar %d unidades de %s para %s. Deseja confirmar a ação?", amount, inventInfo[item][itemName],getPlayerName( player, true ) );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT_GIVE_CONFIRM, DIALOG_STYLE_MSGBOX, title, msg, "Enviar", "Voltar" );
- }
- else
- {
- new title[80], msg[128];
- format( title, sizeof title, "Inventário - Dar %s para %s", inventInfo[item][itemName], getPlayerName( player, true ) );
- format( msg, sizeof msg, "Digite a quantidade de itens que você quer dar para %s: (Quantidade inválida)", getPlayerName( player, true ) );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT_GIVE_AMOUNT, DIALOG_STYLE_INPUT, title, msg, "Enviar", "Voltar" );
- }
- }
- else
- {
- new title[80], msg[128], item = GetPVarInt( playerid, "InventChoosen" );
- format( title, sizeof title, "Inventário - Dar %s", inventInfo[item][itemName]);
- format( msg, sizeof msg, "Digite a id/ParteDoNome do player pra quem você quer dar o item: %s", inventInfo[item][itemName] );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT_GIVE_PLAYER, DIALOG_STYLE_INPUT, title, msg, "Enviar", "Voltar" );
- }
- }
- case DIALOG_INVENT_OPT_GIVE_CONFIRM:
- {
- if( response )
- {
- new
- item = GetPVarInt( playerid, "InventChoosen" ),
- player = GetPVarInt( playerid, "InventGivePlayer" ),
- amount = GetPVarInt( playerid, "InventGiveAmount" )
- ;
- new
- msg[128]
- ;
- format( msg, 128, "dá %d unidades de %s para %s.", amount, inventInfo[item][itemName], getPlayerName( player, true ) );
- cmd_eu( playerid, msg );
- GivePlayerItem( playerid, item, -amount );
- GivePlayerItem( player, item, amount );
- }
- else
- {
- new title[80], msg[128];
- new
- item = GetPVarInt( playerid, "InventChoosen" ),
- player = GetPVarInt( playerid, "InventGivePlayer" )
- ;
- format( title, sizeof title, "Inventário - Dar %s para %s", inventInfo[item][itemName], getPlayerName( player, true ) );
- format( msg, sizeof msg, "Digite a quantidade de itens que você quer dar para %s:", getPlayerName( player, true ) );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT_GIVE_AMOUNT, DIALOG_STYLE_INPUT, title, msg, "Enviar", "Voltar" );
- }
- }
- case DIALOG_INVENT_OPT_TRASH:
- {
- if( response )
- {
- new amount = strval(inputtext),
- item = GetPVarInt( playerid, "InventChoosen" );
- if( 0 < amount <= GetPlayerItemAmount( playerid, item ) )
- {
- SetPVarInt( playerid, "InventTrashAmount", amount );
- new title[80], msg[128];
- format( title, sizeof title, "Inventário - Jogar %s", inventInfo[item][itemName]);
- format( msg, sizeof msg, "Você está prestes a jogar %d unidades de %s fora. Deseja confirmar a ação?", amount, inventInfo[item][itemName] );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT_TRASH_CONFIRM, DIALOG_STYLE_INPUT, title, msg, "Sim", "Não" );
- }
- else
- {
- new title[80], msg[128];
- format( title, sizeof title, "Inventário - Jogar %s", inventInfo[item][itemName]);
- format( msg, sizeof msg, "Digite a quantidade de unidades que deseja jogar fora de %s\n(Quantidade Incorreta)", inventInfo[item][itemName] );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT_TRASH, DIALOG_STYLE_INPUT, title, msg, "Enviar", "Voltar" );
- }
- }
- else
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT, DIALOG_STYLE_LIST, "Seu Inventário", "Usar Item\nDar para Player\nJogar no chão", "Selecionar", "Voltar" );
- }
- case DIALOG_INVENT_OPT_TRASH_CONFIRM:
- {
- new
- item = GetPVarInt( playerid, "InventChoosen" ),
- amount = GetPVarInt( playerid, "InventTrashAmount" )
- ;
- if( response )
- {
- new msg[128];
- format( msg, 128, "joga %d unidades de %s fora.",amount, inventInfo[item][itemName] );
- cmd_eu( playerid, msg );
- GivePlayerItem( playerid, item, -amount );
- }
- else
- {
- new title[80], msg[128];
- format( title, sizeof title, "Inventário - Jogar %s", inventInfo[item][itemName]);
- format( msg, sizeof msg, "Digite a quantidade de unidades que deseja jogar fora de %s\n(Quantidade Incorreta)", inventInfo[item][itemName] );
- ShowPlayerDialog( playerid, DIALOG_INVENT_OPT_TRASH, DIALOG_STYLE_INPUT, title, msg, "Enviar", "Voltar" );
- }
- }
- PlayerOwnItem( playerid, itemid )
- {
- new q[180];
- format( q, 180, "SELECT * FROM `piteminfo` WHERE `cid`=%d AND `iid`=%d AND `amount` > 0", #error mudar identificação do player ->playerInfo[playerid][pCid], itemid );
- mysql_query( q );
- mysql_store_result();
- if( mysql_num_rows() )
- {
- mysql_free_result();
- return 1;
- }
- else
- {
- mysql_free_result();
- return 0;
- }
- }
- GetPlayerItemAmount( playerid, itemid )
- {
- new q[180];
- format( q, 180, "SELECT amount FROM `piteminfo` WHERE `cid`=%d AND `iid`=%d AND `amount` > 0", #error mudar identificação do player ->playerInfo[playerid][pCid], itemid );
- mysql_query( q );
- mysql_store_result();
- new amount = mysql_fetch_int();
- mysql_free_result();
- return amount;
- }
- GivePlayerItem( playerid, itemid, amount )
- {
- #define GPI_DEBUG
- new _q[128];
- format( _q, 128, "SELECT * FROM `piteminfo` WHERE `cid`=%d AND `iid`=%d", #error mudar identificação do player ->playerInfo[playerid][pCid], itemid );
- mysql_query( _q );
- //--->
- mysql_store_result();
- //--->
- if( mysql_num_rows() )
- {
- //----------------->
- if( amount < 0 )
- {
- new _dbAmount;
- if( mysql_fetch_row( _q, "|" ) )
- {
- sscanf( _q, "p<|>{ddd}d", _dbAmount );
- }
- mysql_free_result();
- //---------------------------------->
- if( ( _dbAmount + amount ) <= 0 )
- {
- format( _q, 128, "DELETE FROM `piteminfo` WHERE `iid`=%d AND `cid`=%d", itemid, #error mudar identificação do player ->playerInfo[playerid][pCid] );
- mysql_query( _q );
- }
- else
- {
- format( _q, 128, "UPDATE `piteminfo` SET amount=amount%d WHERE `iid`=%d AND `cid`=%d", amount, itemid, #error mudar identificação do player ->playerInfo[playerid][pCid] );
- mysql_query( _q );
- }
- }
- else
- {
- mysql_free_result();
- format( _q, 128, "UPDATE `piteminfo` SET amount=amount+%d WHERE `iid`=%d AND `cid`=%d", amount, itemid, #error mudar identificação do player ->playerInfo[playerid][pCid] );
- mysql_query( _q );
- }
- }
- else
- {
- mysql_free_result();
- //----------------->
- if( amount > 0 )
- {
- format( _q, 128, "INSERT INTO `piteminfo` (id,cid,iid,amount) VALUES (NULL,%d,%d,%d);", #error mudar identificação do player ->playerInfo[playerid][pCid], itemid, amount );
- mysql_query( _q );
- }
- }
- new msg[80];
- format( msg, 80, "SERVER: Foi inserido/retirado %s(%d)[%d] do seu inventário.", inventInfo[itemid][itemName], itemid, amount );
- return SendClientMessage( playerid, -1, msg );
- }
- #define MAX_PLAYER_ITEMS 50
- playerInvent( playerid, toplayerid )
- {
- new _mStr[256];
- format( _mStr, sizeof _mStr, "SELECT * FROM `piteminfo` WHERE `cid`= %d LIMIT %d", #error mudar identificação do player -> playerInfo[playerid][pCid], MAX_PLAYER_ITEMS );
- mysql_query( _mStr );
- mysql_store_result();
- new rows = mysql_num_rows();
- if( rows == 0 )
- {
- SendClientMessage( playerid, 0xC1BFBFAA, "Você não possui nenhum item!" );
- }
- else
- {
- new field[4][5], _fo[50], _dG[1024];
- for( new i; i < rows; i++ )
- {
- if(mysql_fetch_row(_mStr,"|")) // Splits the row
- {
- explode(_mStr, field, "|");
- format( _fo, 50, "%s (ITEM %d) - Quantidade %d\n", inventInfo[strval(field[2])], strval(field[2]), strval(field[3]) );
- strcat( _dG, _fo );
- }
- }
- new a[50];
- format( a, 50, "Mochila de %s", getPlayerName( playerid, true ) );
- if( playerid == toplayerid )
- ShowPlayerDialog( toplayerid, DIALOG_INVENT, DIALOG_STYLE_LIST, a, _dG, "Ok", "Cancelar" );
- else
- ShowPlayerDialog( toplayerid, 1, DIALOG_STYLE_MSGBOX, a, _dG, "Fechar", "" );
- mysql_free_result();
- }
- return 1;
- }
Add Comment
Please, Sign In to add comment