Jump to content

nfs32100

Membru
  • Posts

    4
  • Joined

  • Last visited

    Never

Everything posted by nfs32100

  1. Nu merge,imi da erori am incercat [pawn]stock GasesteBronze1(playerid) { for(new s; s < BAGCOUNT; s++) { if (Bags[playerid] == bronze) { if (Bags[playerid][s+1] == bronze) { if (Bags[playerid][s+2] == bronze) { return s; } } } } return bronze; }[/pawn] Da eu vreau sa-mi caute in tot inventarul nu unu dupa altu
  2. Salut,am si eu o problema.Am un sistem de inventar, si vreau sa-mi caute in inventar trei obiecte de acelasi fel. Sistemul asa cauta un loc gol [pawn]stock FindPlayerBagSpace(playerid) { for(new s; s < BAGCOUNT; s++) { if (Bags[playerid] == EMPTY_BAGSPACE) return s; } return EMPTY_BAGSPACE; }[/pawn] Iar eu am incercat [pawn] stock GasesteBronze(playerid) { for(new s; s < BAGCOUNT; s++) { if (Bags[playerid] == bronze) { if (Bags[playerid][s++] == bronze) { if (Bags[playerid][s++] == bronze) return s; } } } return bronze; } [/pawn] Dar imi cauta decat 2 iteme de acelasi fel.Cum as pute sa-mi caute 3 iteme?Sau macar imi ziceti cum fac sa caut numai de doua ori. Iar apoi mai este comanda: [pawn] new space = FindPlayerBagSpace(playerid); if (space == EMPTY_BAGSPACE) return SendClientMessage(playerid, YELLOW, "[ ! ] Valiza ta este plina!"); Bags[playerid][space] = prezervativ;[/pawn] Multumesc pentru ajutor.
  3. Poti macar sa-mi dai un model pentru comanda /giveitem(trebuie sa trimita jucator catre jucator).
  4. 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]
×
×
  • Create New...

Important Information

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.