Opaaaa, Demorei, mas voltei, Estou liberando o ultimo Backup da Gamemode do BvO de 2021, Mais Precisamente no dia: 23/12/2020
Espero que voces tenham um Bom Uso, e Alias, Vendas Proibidas!
Por exemplo, eu queria deixar para quando o player deslogar do servidor, entrar com a skin que tinha antes. Por exemplo, quando um player é PM e compra outra skin e quando ele reloga ele volta com a Skin do PM, porem eu queria deixar para quando ele relogar a skin não mudar!!!!
Fala galera, eu fiz uma GM ela ja ta completa mais eu queria adicionar mais coisas nelas, só que to sem ideia, vocês poderiam me ajudar mandando sugestões??
bom criei sistema de lixeira para os players add itens no lixo e quando player usa para descartar item na lixeira aparece esse bug no log_serve
Código PHP:
[16:55:40] [debug] Run time error 4: "Array index out of bounds" [16:55:40] [debug] AMX backtrace: [16:55:40] [debug] #0 001503c4 in public DR_OnDialogResponse (0, 384, 1, 4, 55632640) from Projeto.amx [16:55:40] [debug] #1 0006e734 in public OnDialogResponse (0, 384, 1, 4, 55632640) from Projeto.amx
e codigo scripters
Código PHP:
case DIALOG_LIXO: { if(response) { switch(listitem) { case 0: { foreach(new id: Lixeiras) { if(IsPlayerInRangeOfPoint(playerid, 1.5, LixeiraInfo[id][lixeira_pos][0], LixeiraInfo[id][lixeira_pos][1], LixeiraInfo[id][lixeira_pos][2])) { SetPlayerLixeira(playerid, id); } } } case 1: { new str[1000], linha[20]; format(linha,sizeof(linha), "Item\tQuantidade\n"); strcat(str, linha); for(new i; i < MAX_SLOTS_INV; i ++) { if(Inventory[playerid][I_SLOT][i] != -1) strcat(str, fmat_return("\n%s\t%i\n", Itens[Inventory[playerid][I_SLOT][i]][item_nome], Inventory[playerid][I_UNITY][i])); } ShowPlayerDialog(playerid, DIALOG_ADD_LIXO, 5, "Inventario", str, "Jogar", "Voltar"); } case 2: { new str[1000], linha[20]; format(linha,sizeof(linha), "Item\tQuantidade\n"); strcat(str, linha); foreach(new id: Lixeiras) { if(IsPlayerInRangeOfPoint(playerid, 1.5, LixeiraInfo[id][lixeira_pos][0], LixeiraInfo[id][lixeira_pos][1], LixeiraInfo[id][lixeira_pos][2])) { for(new i; i < MAX_LIXEIRAS_SLOT; i ++) strcat(str, fmat_return("\n%s\t%i\n", Itens[LixeiraInfo[id][Lixos][i]][item_nome], LixeiraInfo[id][UniLixos][i])); } } ShowPlayerDialog(playerid, DIALOG_PEGAR_LIXO, 5, "Itens nessa lixeira", str, "Pegar", "Voltar"); } case 3: { if(GetPlayerProf(playerid, Emprego_Lixeiro)) { if(LixoMissao[playerid]) { if(!SegurandoLixo[playerid]) { new Float:X, Float:Y, Float:Z; GetVehicleBoot(CaminhaoLixo[playerid], X, Y, Z); if(GetPlayerDistanceFromPoint(playerid, X, Y, Z) >= 30) return SendClientMessage(playerid, COLOR_ERRO, "Você não está próximo do caminhão que você iniciou a missão."); for(new x = 0; x != MAX_LIXEIRAS_SLOT; x++) { foreach(new id: Lixeiras) { LixeiraInfo[id][Lixos][x] = 0; LixeiraInfo[id][UniLixos][x] = 0; Atualizar3DLixeiras(id); //SalvarLixeira(id); } } ApplyAnimation(playerid, "CARRY", "liftup105", 4.1, 0, 0, 0, 0, 0); SetPlayerAttachedObject(playerid, 9, 1264, 6, 0.222, 0.024, 0.128, 1.90, -90.0, 0.0, 0.5,0.5, 0.5); SegurandoLixo[playerid] = true; showBalao(playerid, "Coloque o saco de lixo dentro do caminhao.", 4000); SacosDeLixo[playerid]--; SetPlayerCheckpoint(playerid, X, Y, Z, 1.5); CP[playerid] = MarcandoCaminhao; } } } return SendClientMessage(playerid, COLOR_ERRO, "Você não é um lixeiro."); } } } }
Código PHP:
case DIALOG_PEGAR_LIXO: { if(!response) { ShowPlayerDialog(playerid, DIALOG_LIXO, DIALOG_STYLE_LIST, "Escolhe uma opcao", "Se esconder Voce se esconde na lixeira\nDescartar item Jogar item do inventario no lixo\nRevirar lixo Area disponivel para mendigos\nEnsacar lixos Area disponivel para lixeiros", "Confirmar", "Cancelar"); return true; } for(new x = 0; x != MAX_LIXEIRAS_SLOT; x++) { if(listitem == x) { foreach(new id: Lixeiras) { if(IsPlayerInRangeOfPoint(playerid, 1.5, LixeiraInfo[id][lixeira_pos][0], LixeiraInfo[id][lixeira_pos][1], LixeiraInfo[id][lixeira_pos][2])) { if(LixeiraInfo[id][Lixos][x] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "slot da lixeira vazia.");
if(LixeiraInfo[id][Lixos][x] == 116)SendClientMessageToAll(0x19EA65AA, fmat_return("[LIXEIRA]:{FFFFFF} %s encontrou presente {19EA65}SACOLA DE PREVISÕES{FFFFFF} na Lixeiras %i.", PlayerGetName(playerid), id)); AddItem(playerid, LixeiraInfo[id][Lixos][x], LixeiraInfo[id][UniLixos][x]); ProxDetector(30.0, playerid, fmat_return("* %s pegou item %s da lixeira.", PlayerGetName(playerid), Itens[LixeiraInfo[id][Lixos][x]][item_nome]), COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); LixeiraInfo[id][Lixos][x] = 0; LixeiraInfo[id][UniLixos][x] = 0; Atualizar3DLixeiras(id); //SalvarLixeira(id); } } } } } case DIALOG_ADD_LIXO: { if(!response) { ShowPlayerDialog(playerid, DIALOG_LIXO, DIALOG_STYLE_LIST, "Escolhe uma opcao", "Se esconder Voce se esconde na lixeira\nDescartar item Jogar item do inventario no lixo\nRevirar lixo Area disponivel para mendigos\nEnsacar lixos Area disponivel para lixeiros", "Confirmar", "Cancelar"); return true; } for(new x = 0; x != MAX_SLOTS_INV; x++) { if(listitem == x) { foreach(new id: Lixeiras) { if(IsPlayerInRangeOfPoint(playerid, 1.5, LixeiraInfo[id][lixeira_pos][0], LixeiraInfo[id][lixeira_pos][1], LixeiraInfo[id][lixeira_pos][2])) { AddItemLixo(id, Inventory[playerid][I_SLOT][x], Inventory[playerid][I_UNITY][x]); ProxDetector(30.0, playerid, fmat_return("* %s jogou item %s na lixeira.", PlayerGetName(playerid), Itens[Inventory[playerid][I_SLOT][x]][item_nome]), COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);