11.03.2018, 13:13
Olб pessoal, eu tinha feito um post porйm o post estava todo mal organizado entгo decidi fazer um post mais elaborado e com vнdeo para vocкs entenderem melhor sobre o que estб se passando.
Breve explicaзгo: Eu fiz um sistema de que quando o jogador morre e tem itens no inventбrio ele dropa os itens em um objeto no chгo entгo se o player chegar perto desse objeto e apertar "N" uma DIALOG se abre e mostra a quantidade de tais itens que tem e o item, porйm ao jogador quase todos os itens e sobrar 1 na DIALOG ele nгo й removido da DIALOG entгo fica infinitamente lб na DIALOG, e a DIALOG nгo й destruнda.
VНDEO: https://*********/DlR8dF9YzXo
CУDIGO:
Funзгo da Dialog
Abrir a dialog
Breve explicaзгo: Eu fiz um sistema de que quando o jogador morre e tem itens no inventбrio ele dropa os itens em um objeto no chгo entгo se o player chegar perto desse objeto e apertar "N" uma DIALOG se abre e mostra a quantidade de tais itens que tem e o item, porйm ao jogador quase todos os itens e sobrar 1 na DIALOG ele nгo й removido da DIALOG entгo fica infinitamente lб na DIALOG, e a DIALOG nгo й destruнda.
VНDEO: https://*********/DlR8dF9YzXo
CУDIGO:
Funзгo da Dialog
Код:
take_OnDialogResponse( playerid, dialogid, response, listitem)
{
if(dialogid == 68)
{
if(!response) return 1;
if(response)
{
AddItem( playerid, ItemInfo[ DeadList[ playerid ][ listitem ] ][ Item_Name ], DeadQntList[ playerid ][ listitem ] );
for( new items; items < MAX_ITEMS; items++)
{
new id = GetDeadID( playerid );
new itemid = PlayerDeadItemID[ items ][ id ];
if( PlayerDeadItemQnt[ items ][ DeadGet[ playerid ][ listitem ] ] != 0)
{
if(itemid == DeadList[ playerid ][ listitem ])
{
PlayerDeadItemQnt[ listitem ][ DeadGet[ playerid ][ listitem ]] = 0;
break;
}
}
}
}
return 1;
}
return 0;
}
Код:
new DeadGet[ MAX_PLAYERS ][ MAX_ITEMS ];
new DeadList[ MAX_PLAYERS ][ MAX_ITEMS ];
new DeadQntList[ MAX_PLAYERS ][ MAX_ITEMS ];
ShowLooting( playerid )
{
new text[ 3000 ], subtxt[ 128 ], lootslot;
for( new items; items < MAX_ITEMS; items++)
{
new id = GetDeadID( playerid );
new itemid = PlayerDeadItemID[ items ][ id ];
if( PlayerDeadItemQnt[ items ][ id ] > 0)
{
printf( "%d", items );
DeadGet[ playerid ][ lootslot ] = id;
DeadList[ playerid ][ lootslot ] = itemid;
DeadQntList[ playerid ][ lootslot ] = PlayerDeadItemQnt[ items ][ id ];
// --
format( subtxt, sizeof subtxt, "%d\t%s\n", PlayerDeadItemQnt[ items ][ id ], ItemInfo[ itemid ][ Item_Name ]);
strcat( text, subtxt );
lootslot++;
}
}
ShowPlayerDialog( playerid, 68, DIALOG_STYLE_LIST, "Quantia | Item ", text, "Pegar", "x");
return 1;
}



