- 0
Cum fac /giveitem si /sellitem la acest inventar
-
Similar Content
-
- 4 replies
- 983 views
-
- 3 answers
- 372 views
-
- 0 replies
- 1.236 views
-
- 0 replies
- 577 views
-
- 4 replies
- 2.087 views
-
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.
Question
nfs32100
Salut,am si eu acest inventar(l-am cautat vreo 3 zile) am rezolvat la el mici errori si nu pre stiu cum sa fac comenzile "/giveitem playerid slot" si "/sellitem playerid slot amount".Ma poate ajuta cineva va multumesc.
[pawn]
#include <a_samp>
#include <Dini>
#define YELLOW 0xFFFF00FF
//============ Defines of Bag IDS
#define MAX_ITEMS 10
#define BAGCOUNT 5
#define EMPTY_BAGSPACE -1
#define ecard 1
#define smedal 2
#define gmedal 3
#define mayorsig 4
#define swatsig 5
#define sdoc1 6
#define sdoc2 7
#define sdoc3 8
#define sdoc4 9
#define sdocfull 10
new Bags[MAX_PLAYERS][bAGCOUNT];
new ItemNames[MAX_ITEMS][32] =
{
{"Electronic Card"},
{"S Medal"},
{"G Medal"},
{"Mayor Sig"},
{"Swat Sig"},
{"S Document 1"},
{"S Document 2"},
{"S Document 3"},
{"S Document 4"},
{"S Full Document"}
};
main();
public OnGameModeInit()
{
SetGameModeText("test");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnPlayerConnect(playerid)
{
// Resets
for(new s; s < BAGCOUNT; s++)
{
Bags[playerid] = EMPTY_BAGSPACE;
}
// Loads
LoadPlayerBagFromFile(playerid);
}
public OnPlayerDisconnect(playerid)
{
// Save
SavePlayerBagToFile(playerid);
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/mybag", true) == 0)
{
new bagitem[128];
SendClientMessage(playerid, YELLOW, "-----------------------------------------------");
SendClientMessage(playerid, YELLOW, " Your Bag");
SendClientMessage(playerid, YELLOW, "-----------------------------------------------");
for (new i = 0; i < BAGCOUNT; i++)
{
if (Bags[playerid] == EMPTY_BAGSPACE) format(bagitem, sizeof(bagitem), "Item %d: ", i + 1);
else format(bagitem, sizeof(bagitem), "Item %d: %s", i + 1, ItemNames[bags[playerid] - 1]);
SendClientMessage(playerid, 0xffffffff, bagitem);
}
SendClientMessage(playerid, YELLOW, "-----------------------------------------------");
return 1;
}
if(strcmp(cmdtext, "/killbag", true) == 0)
{
for(new s; s < BAGCOUNT; s++)
{
Bags[playerid] = EMPTY_BAGSPACE;
}
SendClientMessage(playerid, YELLOW, "[ ! ] Your bag is now empty!");
return 1;
}
if(strcmp(cmdtext, "/putecard", true) == 0)
{
new space = FindPlayerBagSpace(playerid);
if (space == EMPTY_BAGSPACE) return SendClientMessage(playerid, YELLOW, "[ ! ] Your bag is full!");
Bags[playerid][space] = ecard;
SendClientMessage(playerid, YELLOW, "[ ! ] You have got an electing card !");
return 1;
}
return 0;
}
stock FindPlayerBagSpace(playerid)
{
for(new s; s < BAGCOUNT; s++)
{
if (Bags[playerid] == EMPTY_BAGSPACE) return s;
}
return EMPTY_BAGSPACE;
}
stock Player(playerid)
{
new player[MAX_PLAYER_NAME];
GetPlayerName(playerid, player, sizeof(player));
return player;
}
stock i_path(playerid)
{
new a[256];
format(a, sizeof(a), "%s's_Bag.ini",Player(playerid));
return a;
}
stock SavePlayerBagToFile(playerid){
if(!dini_Exists(i_path(playerid))) dini_Create(i_path(playerid));
new bagdinikey[256], bagitemline[256];
for(new i = 0; i < BAGCOUNT; i++){
format(bagdinikey, 256, "slot:%d", i+1);
format(bagitemline, 256, "%d", Bags[playerid]);
dini_Set(i_path(playerid), bagdinikey, bagitemline);
}
return 1;
}
stock LoadPlayerBagFromFile(playerid)
{
new filename[256];
format(filename, sizeof(filename), "%s's_Bag.ini", Player(playerid));
if (fexist(filename))
{
new File: BagFile;
BagFile = fopen(filename, io_read);
if(BagFile)
{
new key[128];
new Data[128];
while(fread(BagFile, Data, sizeof(Data)))
{
key = ini_GetKey(Data);
if(strcmp(key, "slot:1", true)==0)
{
Bags[playerid][0]=strval(ini_GetValue(Data));
}
if(strcmp(key, "slot:2", true)==0)
{
Bags[playerid][1]=strval(ini_GetValue(Data));
}
if(strcmp(key, "slot:3", true)==0)
{
Bags[playerid][2]=strval(ini_GetValue(Data));
}
if(strcmp(key, "slot:4", true)==0)
{
Bags[playerid][3]=strval(ini_GetValue(Data));
}
if(strcmp(key, "slot:5", true)==0)
{
Bags[playerid][4]=strval(ini_GetValue(Data));
}
}
}
fclose(BagFile);
}
return 1;
}
stock ini_GetKey(line[])
{
new keyRes[128];
keyRes[0] = 0;
if(strfind(line, "=", true) == -1) return keyRes;
strmid(keyRes, line, 0, strfind(line, "=", true), sizeof(keyRes));
return keyRes;
}
stock ini_GetValue(line[])
{
new valRes[128];
valRes[0] = 0;
if(strfind(line, "=", true) == -1) return valRes;
strmid(valRes, line, strfind(line, "=", true)+1, strlen(line), sizeof(valRes));
return valRes;
}
[/pawn]
3 answers to this question
Recommended Posts