21.08.2017, 16:15
Olб eu nгo sei como fazer para guardar alйm dos itens (que da pra guardar), fazer para guardar e descartar armas no inventбrio.
FUNЗГO QUE DESCARTA OS ITENS
FUNЗГO QUE MOSTRA AS ARMAS E OS ITENS NO CHГO
stock DA LISTA DE ITENS DO INVENTБRIO E TEM ali uma linha que diz, se for arma
//if(idx >= 331 && idx < 372) format( nomedoitem, 50, GunNames(idx)); // se for arma
COMANDO QUE PEGA AS ARMAS, JA TA PRONTINHO
OS COMANDOS NECESSБRIOS PARA CRIAЗГO ESTГO TODOS AI.
ANTES DE FALAR ALGO, ANTES DE PEDIR AJUDA EU JA TENTEI CRIAR PEGANDO COMANDO DE OUTRA GM E TENTANDO COLOCAR, MAS A LУGICA N DEU MUITO CERTO.
FUNЗГO QUE DESCARTA OS ITENS
Код:
if(playertextid == invText[playerid][14]) { new str[180]; if(InventarioInfo[playerid][ItemSelecionado[playerid]][iSlot] == 19382){ SendClientMessage(playerid, 0xFF6347AA, "* Nгo hб itens suficientes para ser descartado!"); for(new i = 7; i < 16; i++){ PlayerTextDrawHide(playerid, invText[playerid][i]); } BoxAberto[playerid] = 0; return 1; } format(str, 280, "* Vocк largou um item: %s, com %d unidade(s)", NomeItemInv(InventarioInfo[playerid][ItemSelecionado[playerid]][iSlot]), InventarioInfo[playerid][ItemSelecionado[playerid]][iUnidades]); SendClientMessage(playerid, 0x00ccccFF, str); new Float:pos[3];//cria uma array para armazenar a posiзгo X, Y e Z do jogador GetPlayerPos(playerid, pos[0], pos[1], pos[2]);//armazena na variбvel pos a posiзгo do jogador CreateDroppedItem(InventarioInfo[playerid][ItemSelecionado[playerid]][iSlot], InventarioInfo[playerid][ItemSelecionado[playerid]][iUnidades], pos[0], pos[1], pos[2] - 0.9); for(new i = 0; i != 16; i++) { PlayerTextDrawHide(playerid, invText[playerid][i]); } for(new i; i != 75; i++) { PlayerTextDrawHide(playerid, invPreview[playerid][i]); PlayerTextDrawHide(playerid, invName[playerid][i]); } BoxAberto[playerid] = 0; InventarioInfo[playerid][ItemSelecionado[playerid]][iSlot] = 19382; InventarioInfo[playerid][ItemSelecionado[playerid]][iUnidades] = 0; AbrirInventario(playerid); }
Код:
for(new a = 0; a < MAX_OBJ; a++) { if(IsPlayerInRangeOfPoint(i, 1.8, dGunData[a][ObjPos][0], dGunData[a][ObjPos][1], dGunData[a][ObjPos][2]) && dGunData[a][ObjPos][0] != 0) { new Str[73]; format(Str, sizeof Str, "Uma %s com %d balas", GunNames[dGunData[a][ObjData][0]], dGunData[a][ObjData][1]); PlayerTextDrawSetString(i, DropTextdraw5[i], Str); TextDrawShowForPlayer(i, DropTextdraw0); TextDrawShowForPlayer(i, DropTextdraw1); TextDrawShowForPlayer(i, DropTextdraw2); TextDrawShowForPlayer(i, DropTextdraw3); TextDrawShowForPlayer(i, DropTextdraw4); PlayerTextDrawShow(i, DropTextdraw5[i]); break; } if(IsPlayerInRangeOfPoint(i, 1.8, dItemData[a][ObjtPos][0], dItemData[a][ObjtPos][1], dItemData[a][ObjtPos][2]) && dItemData[a][ObjtPos][0] != 0) { new Str[73]; format(Str, sizeof Str, "%s com %d unidade(s)", NomeItemInv(dItemData[a][ObjtData][0]), dItemData[a][ObjtData][1]); PlayerTextDrawSetString(i, DropTextdraw5[i], Str); TextDrawShowForPlayer(i, DropTextdraw0); TextDrawShowForPlayer(i, DropTextdraw1); TextDrawShowForPlayer(i, DropTextdraw2); TextDrawShowForPlayer(i, DropTextdraw3); TextDrawShowForPlayer(i, DropTextdraw4); PlayerTextDrawShow(i, DropTextdraw5[i]); break; } }
//if(idx >= 331 && idx < 372) format( nomedoitem, 50, GunNames(idx)); // se for arma
Код:
stock NomeItemInv(idx) { new nomedoitem[100]; //format( nomedoitem, 100, "Desconhecido"); //if(idx >= 331 && idx < 372) format( nomedoitem, 50, GunNames(idx)); // se for arma //if(idx == 0) format( nomedoitem, 50, "Desconhecido"); if(idx == 19941) format( nomedoitem, 50, "Respeito"); if(idx == 1212) format( nomedoitem, 50, "Dinheiro"); if(idx == 1650) format( nomedoitem, 50, "Gasolina"); if(idx == 2226) format( nomedoitem, 50, "Radio Portatil"); if(idx == 18976) format( nomedoitem, 50, "Capacete"); if(idx == 980) format( nomedoitem, 50, "Portao"); if(idx == 11738) format( nomedoitem, 50, "Remedio pequeno"); if(idx == 11739) format( nomedoitem, 50, "Remedio Normal"); if(idx == 11736) format( nomedoitem, 50, "MedKit"); if(idx == 1271) format( nomedoitem, 50, "Caixa de Itens"); if(idx == 19570) format( nomedoitem, 50, "Garrafa d'Agua"); if(idx == 1581) format( nomedoitem, 50, "Titulo Personalizado"); if(idx == 2881) format( nomedoitem, 50, "Pizza"); if(idx == 2768) format( nomedoitem, 50, "Hamburguer"); if(idx == 19562) format( nomedoitem, 50, "Cereal"); if(idx == 19054) format( nomedoitem, 50, "Caixa Supresa Pequena"); if(idx == 19055) format( nomedoitem, 50, "Caixa Supresa Media"); if(idx == 19056) format( nomedoitem, 50, "Caixa Supresa Grande"); if(idx == 19057) format( nomedoitem, 50, "Caixa Supresa Platina"); if(idx == 370) format( nomedoitem, 50, "JetPack"); if(idx == 1609) format( nomedoitem, 50, "Tartaruga"); //itens if(idx == 19317) format( nomedoitem, 50, "Guitarra"); if(idx == 19319) format( nomedoitem, 50, "Guitarra"); if(idx == 19094) format( nomedoitem, 50, "Item Raro"); if(idx == 18974) format( nomedoitem, 50, "Item Raro"); if(idx == 19142) format( nomedoitem, 50, "Colete"); if(idx == 19555) format( nomedoitem, 50, "Luva esquerda"); if(idx == 19556) format( nomedoitem, 50, "Luva direita"); if(idx == 1736) format( nomedoitem, 50, "Cabeca de touro"); if(idx == 2052) format( nomedoitem, 50, "CJ Tommy Hat"); if(idx == 2053) format( nomedoitem, 50, "CJ Jerry Hat"); if(idx == 2114) format( nomedoitem, 50, "Bola de Basquete"); if(idx == 6865) format( nomedoitem, 50, "Cabeзa de cervo"); if(idx == 3528) format( nomedoitem, 50, "Cabeca de dragao"); if(idx == 1262) format( nomedoitem, 50, "Cabeca de semaforo"); if(idx == 19067) format( nomedoitem, 50, "Bandana gangster"); if(idx == 19136) format( nomedoitem, 50, "Oculos e cabelo"); if(idx == 19320) format( nomedoitem, 50, "Cabeca de abobora"); if(idx == 19348) format( nomedoitem, 50, "Bengala"); if(idx == 19042) format( nomedoitem, 50, "Relogio de ouro"); if(idx == 19528) format( nomedoitem, 50, "Chapeu de bruxa"); if(idx == 19527) format( nomedoitem, 50, "Caldeirao"); if(idx == 19557) format( nomedoitem, 50, "Mascara Stripp"); if(idx == 11704) format( nomedoitem, 50, "Mascara DEMON"); if(idx == 954) format( nomedoitem, 50, "Ferradura"); if(idx == 1247) format( nomedoitem, 50, "Estrela"); if(idx == 1274) format( nomedoitem, 50, "Sifrao"); if(idx == 2918) format( nomedoitem, 50, "Bola aquatica"); if(idx == 19121) format( nomedoitem, 50, "Luz Branca"); if(idx == 19122) format( nomedoitem, 50, "Luz Azul"); if(idx == 19123) format( nomedoitem, 50, "Luz Verde"); if(idx == 19124) format( nomedoitem, 50, "Luz Vermelha"); if(idx == 19125) format( nomedoitem, 50, "Luz Amarela"); if(idx == 19126) format( nomedoitem, 50, "Luz Azul Bebe"); if(idx == 19127) format( nomedoitem, 50, "Luz Roxa"); if(idx == 2894) format( nomedoitem, 50, "Contrato Hospitalar"); if(idx == 19382) format( nomedoitem, 50, "Nenhum Item"); if(idx >= 0 && idx < 312 ) format( nomedoitem, 50, "Skin %d",idx); // se for skin //if(idx > 399 && idx < 612 ) format( nomedoitem, 50, "%s",VehicleNames[idx - 400]); // se for veiculo return nomedoitem; }
Код:
CMD:parma(playerid) { if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 1; new f = MAX_OBJ+1; for(new a = 0; a < MAX_OBJ; a++) { if(IsPlayerInRangeOfPoint(playerid, 1.8, dGunData[a][ObjPos][0], dGunData[a][ObjPos][1], dGunData[a][ObjPos][2])) { f = a; break; } } if(f > MAX_OBJ) return 1; if(gettime() < GetPVarInt(playerid, #VarFlood8)) return 1; SetPVarInt(playerid, #VarFlood8, gettime()+2); GivePlayerWeapon(playerid, dGunData[f][ObjData][0], dGunData[f][ObjData][1]); DestroyDroppedObject(f); ApplyAnimation(playerid,"BOMBER","BOM_Plant_2Idle",4.1,0,1,1,0,0); new buffer[85]; format(buffer, sizeof(buffer), "Vocк pegou um(a) %s.", GunNames[dGunData[f][ObjData][0]]); SendClientMessage(playerid, 0x33AA3300, buffer); format(buffer, sizeof(buffer), "*%s pegou um(a) %s do chгo.", NomePlayer(playerid), GunNames[dGunData[f][ObjData][0]]); SendClientMessageInRange(30.0, playerid, buffer, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); printf("%s", buffer); return 1; }
Код:
stock CreateDroppedGun(GunID, GunAmmo, Float:gPosX, Float:gPosY, Float:gPosZ) { new f = MAX_OBJ+1; for(new a = 0; a < MAX_OBJ; a++) { if(dGunData[a][ObjPos][0] == 0.0) { f = a; break; } } if(f > MAX_OBJ) return; dGunData[f][dropTimer] = gettime() + (30*60);//30 minutos para a arma desaparecer dGunData[f][ObjData][0] = GunID; dGunData[f][ObjData][1] = GunAmmo; dGunData[f][ObjPos][0] = gPosX; dGunData[f][ObjPos][1] = gPosY; dGunData[f][ObjPos][2] = gPosZ; dGunData[f][ObjID] = CreateDynamicObject(GunObjects[GunID], dGunData[f][ObjPos][0], dGunData[f][ObjPos][1], dGunData[f][ObjPos][2]-1, 93.7, 120.0, random(360), -1, -1, -1, 80.0); new buffer[128]; format(buffer, sizeof buffer, "%s",GunNames[dGunData[f][ObjData][0]]); dGunData[f][text3d] = CreateDynamic3DTextLabel(buffer, 0xAAAAAAAA, dGunData[f][ObjPos][0], dGunData[f][ObjPos][1], dGunData[f][ObjPos][2]-1, 15.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 80.0); return; }
ANTES DE FALAR ALGO, ANTES DE PEDIR AJUDA EU JA TENTEI CRIAR PEGANDO COMANDO DE OUTRA GM E TENTANDO COLOCAR, MAS A LУGICA N DEU MUITO CERTO.