SA-MP Forums Archive
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(playerididobjectkolobject)
{
    for(new 
ii<24i++)
    {
        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 
i24i++)
    {
        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

благодарю.