GiveObject(playerid, objectid, kolobject) - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (
https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: GiveObject(playerid, objectid, kolobject) (
/showthread.php?tid=550933)
GiveObject(playerid, objectid, kolobject) -
AlexeyTrekkkk - 15.12.2014
делаю выдачу предметов для инвентаря, получилось немного быдловато, т.к хочу сделать так, если предмет есть такой в инвентаре то прибавляется его количество, но почему то не получается, помогите.
PHP код:
stock GiveObject(playerid, idobject, kolobject)
{
for(new i; i<24; i++)
{
if(Player[playerid][item_id][i] == idobject)
{
Player[playerid][item_kol][i] += kolobject;
if( kolobject <= 0)
{
Player[playerid][item_id][i] = 0;
}
break;
}
}
for(new i; i < 24; i++)
{
if(Player[playerid][item_id][i] == 0)
{
Player[playerid][item_id][i] = idobject;
Player[playerid][item_kol][i] = kolobject;
if( kolobject <= 0)
{
Player[playerid][item_id][i] = 0;
}
break;
}
}
}
Re: GiveObject(playerid, objectid, kolobject) -
Stepashka - 15.12.2014
В обоих случаях нужен
return, а не
break.
И второй цикл не нужно запускать если
kolobject <= 0, если в первом цикле объект не найден, его нельзя удалить во втором.
pawn Код:
GiveObject(playerid, idobject, kolobject) {
for (new i; i < 24; i++) {
if (Player[playerid][item_id][i] == idobject) {
if (kolobject <= 0) {
Player[playerid][item_id][i] = Player[playerid][item_kol][i] = 0;
} else {
Player[playerid][item_kol][i] += kolobject;
}
return 1;
}
}
for (new i; i < 24; i++) {
if (Player[playerid][item_id][i] == 0) {
Player[playerid][item_id][i] = idobject;
Player[playerid][item_kol][i] = kolobject;
return 1;
}
}
return 1;
}
Re: GiveObject(playerid, objectid, kolobject) -
AlexeyTrekkkk - 15.12.2014
благодарю.