PDA

Просмотр полной версии : [Вопрос] По сохранению/закрузки.



Jacob1997
29.06.2014, 02:51
Ребят подскажите пожалуйста как написать сохранение/Загрузку дропнутого оружия .

Т.е я добавил систему drop оружия, но если выкинешь 2 оружия то можно поднять только 2 а 1 уже нельзя.

DeimoS
29.06.2014, 13:31
Ребят подскажите пожалуйста как написать сохранение/Загрузку дропнутого оружия .

Т.е я добавил систему drop оружия, но если выкинешь 2 оружия то можно поднять только 2 а 1 уже нельзя.

Вы, видимо, записываете всё в одну переменную. Нужен массив

Jacob1997
29.06.2014, 14:21
Ну вот я выкидываю оружие


CMD:drop(playerid, params[])
{
new m_string[144];
new f_string[144];
if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы находитесь в транспорте.");
if(GetPlayerWeapon(playerid) <= 0 && GetPlayerAmmo(playerid) <= 0) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы не имеете при себе оружие.");
for(new g; g != MAX_GUNS; g++)
{
if(g > MAX_GUNS) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы не можете выбросить оружие. Превышен максимальный лимит.");
B_RemovePlayerWeapon(playerid, GetPlayerWeapon(playerid));
ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
GetPlayerPos(playerid, Dgun[g][dPos][0], Dgun[g][dPos][1], Dgun[g][dPos][2]);
Dgun[g][dWeapon] = GetPlayerWeapon(playerid);
Dgun[g][dAmmo] = GetPlayerAmmo(playerid);
Dgun[g][dVirtualWorld] = GetPlayerVirtualWorld(playerid);
Dgun[g][dInterior] = GetPlayerInterior(playerid);
Dgun[g][dID] = CreateDynamicObject(GunObjects[Dgun[g][dWeapon]], Dgun[g][dPos][0], Dgun[g][dPos][1], Dgun[g][dPos][2]-1, 93.7, 120.0, 120.0, Dgun[g][dVirtualWorld], Dgun[g][dInterior], -1, 300.0);
GetWeaponName(Dgun[g][dWeapon], m_string, sizeof(m_string));
format(f_string, sizeof(f_string), "Оружие %s и %d патронов.\n{00A86B}Введите: /dropup", m_string, Dgun[g][dAmmo]);
Dgun[g][dLabel] = CreateDynamic3DTextLabel(f_string, 0xFFFF00AA, Dgun[g][dPos][0], Dgun[g][dPos][1], Dgun[g][dPos][2], 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, Dgun[g][dVirtualWorld], Dgun[g][dInterior], -1, 100.0);
format(f_string, sizeof(f_string), "Вы выбросили оружие %s и %d патронов.", m_string, Dgun[g][dAmmo]);
SendClientMessage(playerid, 0xFFA500AA, f_string);
format(f_string, sizeof(f_string), "Выбросил оружие %s и %d патронов", m_string, Dgun[g][dAmmo]);
SetPlayerChatBubble(playerid, f_string, 0xFF9900AA, 5.0, 3000);
break;
}
return true;
}

Вот подбираю


CMD:dropup(playerid, params[])
{
new m_string[144];
new f_string[144];
if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы находитесь в транспорте.");
for(new g; g != MAX_GUNS; g++)
{
if(!IsPlayerInRangeOfPoint(playerid, 1.0, Dgun[g][dPos][0], Dgun[g][dPos][1], Dgun[g][dPos][2])) continue;
if(g > MAX_GUNS) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы не можете подобрать оружие. Превышен максимальный лимит.");
ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
DestroyDynamicObject(Dgun[g][dID]);
DestroyDynamic3DTextLabel(Dgun[g][dLabel]);
GivePlayerWeapon(playerid, Dgun[g][dWeapon], Dgun[g][dAmmo]);
GetWeaponName(Dgun[g][dWeapon], m_string, sizeof(m_string));
format(f_string, sizeof(f_string), "Вы подобрали оружие %s и %d патронов.", m_string, Dgun[g][dAmmo]);
SendClientMessage(playerid, 0xFFA500AA, f_string);
format(f_string, sizeof(f_string), "Подобрал оружие %s и %d патронов", m_string, Dgun[g][dAmmo]);
SetPlayerChatBubble(playerid, f_string, 0xFF9900AA, 5.0, 3000);
Dgun[g][dID] = -1;
Dgun[g][dPos][0] = 0.0;
Dgun[g][dPos][1] = 0.0;
Dgun[g][dPos][2] = 0.0;
Dgun[g][dWeapon] = -1;
Dgun[g][dAmmo] = -1;
Dgun[g][dVirtualWorld] = -1;
Dgun[g][dInterior] = -1;
break;
}
return true;
}