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; }