Szerző Téma: Csomagtartó ( ? )  (Megtekintve 1544 alkalommal)

Csomagtartó ( ? )
« Dátum: 2016. február 19. - 18:53:09 »
0 Show voters
Szép estét ismét mindenkinek! Azt szeretném kérni hogy valaki ebből az inventory includebol tudna nekem csinálni egy csomagtartósat? Tehát hogy a csomagtartóba tárolja a dolgokat. Egy adott kocsi mellett kilehessen nyitni a csomagtartót, becsukni, és be/ki venni belőle dolgokat, nagyon megköszönném! :angel:  :)
http://joestaff.net/files/scripts/j_inventory_v2.inc

Csomagtartó ( ? )
« Válasz #1 Dátum: 2016. február 25. - 23:36:51 »
0 Show voters
A weboldal nem elérhető
A(z) joestaff.net nem található.
 
[/quote]
??

Nem elérhető BVZS

  • 487
    • Profil megtekintése
Csomagtartó ( ? )
« Válasz #2 Dátum: 2016. február 29. - 16:17:29 »
0 Show voters
Idézetet írta: florone date=1456439811\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"59587\" data-ipsquote-contentclass=\"forums_Topic

A weboldal nem elérhető
A(z) joestaff.net nem található.
 
??
 
[/quote]
Nekem működik a link, de itt van a kód, ha te megcsinálod neki. :D
 

#define INV_DIALOG_ID 13337
#define MAX_ITEMS 20
#define MAX_ITEM_STACK 99
#define MAX_ITEM_NAME 24
forward OnPlayerUseItem(playerid,ItemName[]);
new gItemList[(MAX_ITEMS+1)*(MAX_ITEM_NAME+3)];
/*
native AddItem(playerid,ItemName[],Amount);
native RemoveItem(playerid,ItemName[],Amount);
native PlayerHasItem(playerid,ItemName[]);
native GetPlayerItemInfo(playerid,&idx,const ItemName[],len=sizeof(ItemName),&Amount);
native ResetPlayerInventory(playerid);
native ShowInventory(playerid);
native InventoryOnDialogResponse(playerid, dialogid, response, inputtext[]);
native SaveInventory(playerid);
native LoadInventory(playerid);
*/
stock _GetItemNamePVar(playerid,item)
{
new tmp[32];
new tmp2[MAX_ITEM_NAME];
format(tmp,32,\"PITEMNAME%d\",item);
GetPVarString(playerid,tmp,tmp2,MAX_ITEM_NAME);
return tmp2;
}
stock _SetItemNamePVar(playerid,item,ItemName[])
{
new tmp[MAX_ITEM_NAME];
format(tmp,MAX_ITEM_NAME,\"PITEMNAME%d\",item);
SetPVarString(playerid,tmp,ItemName);
}
stock _GetItemAmountPVar(playerid,item)
{
new tmp[16];
format(tmp,16,\"PITEMAMOUNT%d\",item);
return GetPVarInt(playerid,tmp);
}
stock _SetItemAmountPVar(playerid,item,Amount)
{
new tmp[16];
format(tmp,16,\"PITEMAMOUNT%d\",item);
SetPVarInt(playerid,tmp,Amount);
}
stock AddItem(playerid,ItemName[],Amount)
{
new slot=-1;
for(new item;item<MAX_ITEMS;item++)
{
if(!_GetItemAmountPVar(playerid,item))
{
   if(slot==-1)slot=item;
   continue;
}
if(!strcmp(_GetItemNamePVar(playerid,item),ItemName,true))
{
   _SetItemAmountPVar(playerid,item,_GetItemAmountPVar(playerid,item)+Amount);
   if(_GetItemAmountPVar(playerid,item)<=0)_SetItemAmountPVar(playerid,item,0);
   if(_GetItemAmountPVar(playerid,item)>MAX_ITEM_STACK)
   {
      _SetItemAmountPVar(playerid,item,MAX_ITEM_STACK);
      return 2;
   }
   return 1;
}
}
if(slot>-1)
{
_SetItemNamePVar(playerid,slot,ItemName);
_SetItemAmountPVar(playerid,slot,Amount);
if(_GetItemAmountPVar(playerid,slot)>MAX_ITEM_STACK)
{
   _SetItemAmountPVar(playerid,slot,MAX_ITEM_STACK);
   return 2;
}
return 1;
}
return 0;
}
stock RemoveItem(playerid,ItemName[],Amount)
{
for(new item;item<MAX_ITEMS;item++)
{
if(!_GetItemAmountPVar(playerid,item))continue;
if(!strcmp(_GetItemNamePVar(playerid,item),ItemName,true))
{
   _SetItemAmountPVar(playerid,item,_GetItemAmountPVar(playerid,item)-Amount);
   if(_GetItemAmountPVar(playerid,item)<=0)_SetItemAmountPVar(playerid,item,0);
   if(_GetItemAmountPVar(playerid,item)>MAX_ITEM_STACK)
   {
      _SetItemAmountPVar(playerid,item,MAX_ITEM_STACK);
      return 2;
   }
   return 1;
}
}
return 0;
}
stock PlayerHasItem(playerid,ItemName[])
{
for(new item;item<MAX_ITEMS;item++)
{
if(!_GetItemAmountPVar(playerid,item))continue;
if(!strcmp(_GetItemNamePVar(playerid,item),ItemName,false))return _GetItemAmountPVar(playerid,item);
}
return 0;
}
stock GetPlayerItemInfo(playerid,&idx,ItemName[],len=sizeof(ItemName),&Amount)
{
if(idx>=MAX_ITEMS)return 0;
format(ItemName,len,_GetItemNamePVar(playerid,idx));
Amount=_GetItemAmountPVar(playerid,idx);
idx++;
return 1;
}
stock ResetPlayerInventory(playerid)
{
for(new item;item<MAX_ITEMS;item++)_SetItemAmountPVar(playerid,item,0);
}
stock ShowInventory(playerid)
{
gItemList=\"\";
for(new item;item<MAX_ITEMS;item++)
{
if(!strlen(_GetItemNamePVar(playerid,item))||!_GetItemAmountPVar(playerid,item))continue;
format(gItemList,sizeof(gItemList),\"%s\\n%d\\t\\t%s\",gItemList,_GetItemAmountPVar(playerid,item),_GetItemNamePVar(playerid,item));
}
format(gItemList,sizeof(gItemList),\"Amount\\t\\tItem Name%s\",gItemList);
ShowPlayerDialog(playerid,INV_DIALOG_ID,DIALOG_STYLE_LIST,\"Inventory\",gItemList,\"Use\",\"Close\");
SetPVarInt(playerid,\"PUSINGDIALOG\",1);
}
stock SaveInventory(playerid)
{
gItemList=\"\";
new filename[48];
GetPlayerName(playerid,filename,24);
format(filename,48,\"Inventory/%s.inv\",filename);
new File:file=fopen(filename,io_write);
for(new item;item<MAX_ITEMS;item++)
{
if(!strlen(_GetItemNamePVar(playerid,item))||!_GetItemAmountPVar(playerid,item))continue;
format(gItemList,sizeof(gItemList),\"%s%s\\n%d\\n\",gItemList,_GetItemNamePVar(playerid,item),_GetItemAmountPVar(playerid,item));
}
fwrite(file,gItemList);
fclose(file);
GetPlayerName(playerid,filename,24);
printf(\"[iNV] %s[%d]\'s inventory saved.\",filename,playerid);
}
stock LoadInventory(playerid)
{
new tstring[48];
new tstring2[12];
GetPlayerName(playerid,tstring,48);
format(tstring,48,\"Inventory/%s.inv\",tstring);
if(!fexist(tstring))return 0;
new File:file=fopen(tstring,io_read);
fread(file,tstring);
while(tstring[0])
{
format(tstring,strlen(tstring),\"%s\",tstring); //Delete last character
fread(file,tstring2);
AddItem(playerid,tstring,strval(tstring2));
fread(file,tstring);
}
fclose(file);
GetPlayerName(playerid,tstring,24);
printf(\"[iNV] %s[%d]\'s inventory loaded.\",tstring,playerid);
return 1;
}
InventoryOnDialogResponse(playerid, dialogid, response, inputtext[])
{
if(dialogid!=INV_DIALOG_ID)return 1;
if(!GetPVarInt(playerid,\"PUSINGDIALOG\"))return 1;
if(!response)return 1;
if(!strcmp(inputtext,\"Amount\",true,6))
{
ShowInventory(playerid);
return 1;
}
format(gItemList,MAX_ITEM_NAME,inputtext[strfind(inputtext,\"\\t\")+2]);
if(CallLocalFunction(\"OnPlayerUseItem\",\"is\",playerid,gItemList))ShowInventory(playerid);
else SetPVarInt(playerid,\"PUSINGDIALOG\",0);
return 1;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal