Paketici System


Započeo Gospodar, Mart 27, 2023, 14:06:41 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Da li neko zna zbog cega se desava ovo kada neko izadje iz org/kuca/firmu takodje nekada i kroz ulicu kada se prodje nazalsot taj snimak nemam Server registruje kao da je taj igrac pronasao paketic.
Deo skripte: #define MAX_GIFTS (500)

new giftCounter;
new Gift[MAX_GIFTS];
new Picked[MAX_PLAYERS];
new RandomModel[5][1] = {
   {19054},
   {19055},
   {19056},
   {19057},
   {19058}
};

enum PlayerInfo
{
   aGift,
   gFound
};

new pInfo[MAX_PLAYERS][PlayerInfo];


CMD:bacipoklon( playerid, params[] ) {
{
    if(IsPlayerAdmin(playerid))
       {
         new Float:x, Float:y, Float:z;
         GetPlayerPos(playerid, x, y, z);
         new rand = random(sizeof(RandomModel));
         Gift[giftCounter] = CreatePickup(RandomModel[rand][0], 1, x + 3, y + 1, z, GetPlayerVirtualWorld(playerid));
         giftCounter++;
         new string[128];
         format(string, sizeof(string), "{FF0000}Vlasnik{FFFFFF}je izgubio {FF3C00}Poklon {FFFFFF}u {0069FF}gradu! {FFFFFF}nadji ga brzo!");
         SendClientMessageToAll(BELA, string);
      }
   }
   return 0;
}


public OnPlayerPickUpPickup(playerid, pickupid)
{
    new string[128];
   for(new x = 0; x < MAX_GIFTS; x++)
   {
       if(pickupid == Gift
  • && Picked[playerid] == 0)
           {
               switch(random(6))
             {
                 case 0: {
                     new rand = (5000 + random(40000));
                   DajIgracuNovac(playerid, rand);
                        format(string, sizeof(string), "~r~Cestitke!~n~~w~Dobio si ~g~$%d", rand);
                        GameTextForPlayer(playerid, string, 4000, 3);
                        format(string, sizeof(string), "{FF3C00}Cestitke! {FFFFFF}Dobio si {FF3C00}$%d!", rand);
                        SendClientMessage(playerid, BELA, string);
                }
                 case 1: {
                     SetPlayerHealth(playerid, 100);
                     format(string, sizeof(string), "~r~Cestitke!~n~~w~Dobio si ~y~Cokoladu");
                        GameTextForPlayer(playerid, string, 4000, 3);
                        SendClientMessage(playerid, BELA, "Dobio si {FF3C00}Cokoladu! {FFFFFF}Tvoji {FF3C00}Helti {FFFFFF}su napunjeni!");
                 }
                 case 2: {
                     SetPlayerArmour(playerid, 100);
                     format(string, sizeof(string), "~r~Cestitke!~n~~w~Dobio si ~y~Pancir");
                     GameTextForPlayer(playerid, string, 4000, 3);
                        SendClientMessage(playerid, BELA, "Dobio si {FF3C00}Pancir! {FFFFFF}Tvoj {FF3C00}Pancir {FFFFFF}je napunjen!");
                 }
                 case 3: {
                     new rand = (5000 + random(40000));
                   DajIgracuNovac(playerid, rand);
                        format(string, sizeof(string), "~r~Cestitke!~n~~w~Dobio si ~g~$%d", rand);
                        GameTextForPlayer(playerid, string, 4000, 3);
                        format(string, sizeof(string), "{FF3C00}Cestitke! {FFFFFF}Dobio si {FF3C00}$%d!", rand);
                        SendClientMessage(playerid, BELA, string);
                }
                case 4: {
                   PI[ playerid ][ xApoeni ]++;
                        format(string, sizeof(string), "~r~Cestitke!~n~~w~Dobio si ~y~1 zeton");
                     GameTextForPlayer(playerid, string, 4000, 3);
                        format(string, sizeof(string), "{FF3C00}Cestitke! {FFFFFF}Dobio si {FF3C00}1 zeton!");
                        SendClientMessage(playerid, BELA, string);
                        UpdateDpoeniTD( playerid );
                }
                    case 5: {
                   PI[ playerid ][ xRespekt ]++;
                        format(string, sizeof(string), "~r~Cestitke!~n~~w~Dobio si ~y~1 respekt");
                     GameTextForPlayer(playerid, string, 4000, 3);
                        format(string, sizeof(string), "{FF3C00}Cestitke! {FFFFFF}Dobio si {FF3C00}1 respekt!");
                        SendClientMessage(playerid, BELA, string);
                }
             }
             format(string, sizeof(string), "%s je pronasao izgubljen {FF3C00}Poklon {FFFFFF}u {0069FF}gradu!", ImeIgraca(playerid));
             SendClientMessageToAll(BELA, string);
             DestroyPickup(Gift
  • );
             pInfo[playerid][gFound]++;
             Picked[playerid] = 1;
          }
       }
       Picked[playerid] = 0;
    Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Nemamo problem sa time
    Slika/video ingame problema(obavezno ako je ingame problem):
    Snimci:
    https://streamable.com/1qmwsu
    https://streamable.com/mbmeoi
    Sada ima i kod gore staru temu sam Lock. To je cela skripta paketica od 0% do 100% pravljena Koga mrzi da cita evo link: https://pastebin.com/rtAWvPqY
Poslednja Izmena: Mart 27, 2023, 14:08:03 POSLE PODNE od Gospodar

Ajd probaj ovako

#define MAX_GIFTS 500
new giftCounter;
new Gift[MAX_GIFTS];
new Picked[MAX_PLAYERS];
new RandomModel[5][1] = 
{
  {19054},
  {19055},
  {19056},
  {19057},
  {19058}
};

Napravio sam ti da vidis klk ima paketica isto

CMD:gifts(playerid, params[])
{
    new string[64];
    if(giftCounter == 0) return SCM(playerid, -," Trenutno nema kreiranih paketica.");
    format(string, sizeof(string), "Ukupno preostalih paketica %d", giftcounter);
    SendClientMessage(-1, string);
    return 1;
}

CMD:bacipoklon(playerid, params[])
{
   if(IsPlayerAdmin(playerid))
   {
       new Float:x, Float:y, Float:z;
       new rand = random(sizeof(RandomModel));
       GetPlayerPos(playerid, x, y, z);
       Gift[giftCounter] = CreateDynamicPickup(RandomModel[rand][0], 1, x + 3, y + 1, z, GetPlayerVirtualWorld(playerid));
       new string[128];
       format(string, sizeof(string), "{FF0000}Vlasnik{FFFFFF}je izgubio {FF3C00}Poklon {FFFFFF}u {0069FF}gradu! {FFFFFF}nadji ga brzo!");
       SendClientMessageToAll(BELA, string);
       giftCounter++;
   }
} 
public OnPlayerPickUpDynamicPickup(playerid, pickupid)
{
  for(new i = 0; i < MAX_GIFTS; i++)
  {
    if(pickupid == Gift[i] && Picked[playerid] == 0)
    {
      switch(random(5))
      {
        case 0:
        {
          new rand = (5000 + random(40000));
          DajIgracuNovac(playerid, rand);
          format(string, sizeof(string), "~r~Cestitke!~n~~w~Dobio si ~g~$%d", rand);
          GameTextForPlayer(playerid, string, 4000, 3);
          format(string, sizeof(string), "{FF3C00}Cestitke! {FFFFFF}Dobio si {FF3C00}$%d!", rand);
          SendClientMessage(playerid, BELA, string);
          DestroyDynamicPickup(Gift[i]); giftCounter --;
        }
        case 1:
        {
          SetPlayerHealth(playerid, 100);
          format(string, sizeof(string), "~r~Cestitke!~n~~w~Dobio si ~y~Cokoladu");
          GameTextForPlayer(playerid, string, 4000, 3);
          SendClientMessage(playerid, BELA, "Dobio si {FF3C00}Cokoladu! {FFFFFF}Tvoji {FF3C00}Helti {FFFFFF}su napunjeni!");
          DestroyDynamicPickup(Gift[i]); giftCounter --;
        }
        case 2:
        {
          SetPlayerArmour(playerid, 100);
          format(string, sizeof(string), "~r~Cestitke!~n~~w~Dobio si ~y~Pancir");
          GameTextForPlayer(playerid, string, 4000, 3);
          SendClientMessage(playerid, BELA, "Dobio si {FF3C00}Pancir! {FFFFFF}Tvoj {FF3C00}Pancir {FFFFFF}je napunjen!");
          DestroyDynamicPickup(Gift[i]); giftCounter --;
        }
        case 3:
        {
          new rand = (5000 + random(40000));
          DajIgracuNovac(playerid, rand);
          format(string, sizeof(string), "~r~Cestitke!~n~~w~Dobio si ~g~$%d", rand);
          GameTextForPlayer(playerid, string, 4000, 3);
          format(string, sizeof(string), "{FF3C00}Cestitke! {FFFFFF}Dobio si {FF3C00}$%d!", rand);
          SendClientMessage(playerid, BELA, string);
          DestroyDynamicPickup(Gift[i]); giftCounter --; 
        }
        case 4:
        {
          PI[ playerid ][ xApoeni ]++;
          format(string, sizeof(string), "~r~Cestitke!~n~~w~Dobio si ~y~1 zeton");
          GameTextForPlayer(playerid, string, 4000, 3);
          format(string, sizeof(string), "{FF3C00}Cestitke! {FFFFFF}Dobio si {FF3C00}1 zeton!");
          SendClientMessage(playerid, BELA, string);
          UpdateDpoeniTD( playerid );
          DestroyDynamicPickup(Gift[i]); giftCounter --; 
        }
        case 5: 
        {
            PI[ playerid ][ xRespekt ]++;
            format(string, sizeof(string), "~r~Cestitke!~n~~w~Dobio si ~y~1 respekt");
            GameTextForPlayer(playerid, string, 4000, 3);
            format(string, sizeof(string), "{FF3C00}Cestitke! {FFFFFF}Dobio si {FF3C00}1 respekt!");
            SendClientMessage(playerid, BELA, string);
            DestroyDynamicPickup(Gift[i]); giftCounter --; 
      }
    }
  }
  return 1;
}

Sada sve radi super sa org, firme vise ne baguju ali postoji jos dalje taj 1 mali problem a to sto kada se prave kuce na server preko komande /nkuca pomesa se pickup sa paketicima, na serveru postoji tacno 2649 kuca..
Takodje kada smo spawn kucu i pokupili taj paketic >> Ne radi vise komanda /bacipoklon << zbagovala se skroz mora restart da bi radio
Primer: /nkuca 4 i prodje se kroz pickup dobije se paketic
Poslednja Izmena: Mart 27, 2023, 15:10:27 POSLE PODNE od Gospodar

Citat: Gospodar poslato Mart 27, 2023, 15:04:50 POSLE PODNE
Sada sve radi super sa org, firme vise ne baguju ali postoji jos dalje taj 1 mali problem a to sto kada se prave kuce na server preko komande /nkuca pomesa se pickup sa paketicima, na serveru postoji tacno 2649 kuca..
Takodje kada smo spawn kucu i pokupili taj paketic >> Ne radi vise komanda /bacipoklon << zbagovala se skroz mora restart da bi radio
Primer: /nkuca 4 i prodje se kroz pickup dobije se paketic
Posalji /nkuca cmd


treba napraviti poseban podforum "Paketici sistem" i da svako doprinese sa jednom linijom pa mozda dogodine i sastavimo sistem citav da radi

Citat: njoBe_ poslato Mart 28, 2023, 16:07:12 POSLE PODNE
treba napraviti poseban podforum "Paketici sistem" i da svako doprinese sa jednom linijom pa mozda dogodine i sastavimo sistem citav da radi
Hahah dobra ideja :D