Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: ZvRk poslato Septembar 10, 2017, 17:35:47 POSLE PODNE

Naslov: Savet za kreiranje VIP sistema
Poruka od: ZvRk poslato Septembar 10, 2017, 17:35:47 POSLE PODNE
O kakvom savjetu se radi: Vezano za VIP sistem
Detaljan opis savjeta: Treba mi savet kako mogu da napravim kada setam  nekome VIPa da mu se automatski skine za odredjeni period
Komentar: Da li ima vec u nekom modu da pogledam kako je radjeno ili negde na YT ?
Naslov: Odg: Savet za kreiranje VIP sistema
Poruka od: Arkoo poslato Septembar 10, 2017, 19:04:30 POSLE PODNE
Citat: ZvRk poslato Septembar 10, 2017, 17:35:47 POSLE PODNE
O kakvom savjetu se radi: Vezano za VIP sistem
Detaljan opis savjeta: Treba mi savet kako mogu da napravim kada setam  nekome VIPa da mu se automatski skine za odredjeni period
Komentar: Da li ima vec u nekom modu da pogledam kako je radjeno ili negde na YT ?
Imaš u extazy modu
Naslov: Odg: Savet za kreiranje VIP sistema
Poruka od: xsar.p poslato Septembar 10, 2017, 19:11:57 POSLE PODNE
Evo ti jedan VIP sistem.  ( PRILAGODI GA TVOM MODU ) (Moras komande da uradis sam.)
Kod enum-a za ucitavanje dodaj sledece:
[pawn]   pVIP,
   pVIPDan,
   pVIPMesec,
   pVIPGodina,
   pVIPBodovi,[/pawn]
Zatim nadji stock za proveru igraca i dodaj ovo
[pawn]      //----------------------------------------------------------
               new dani, god, mje, ime[MAX_PLAYER_NAME];
               RPIme(playerid, ime);
               getdate(god, mje, dani);
               if(PlayerInfo[playerid][pVIP] >= 1)
               {
                  if(god <= PlayerInfo[playerid][pVIPGodina])
                  {
                     if(dani > PlayerInfo[playerid][pVIPDan])
                     {
                        if(mje >= PlayerInfo[playerid][pVIPMesec])
                        {
                           SCM(playerid, SVETLOPLAVA, "Vas VIP paket je istekao, ne posedujete vise vip i vip bodove.");
                           PlayerInfo[playerid][pVIP] = 0;
                           PlayerInfo[playerid][pVIPDan] = 0;
                           PlayerInfo[playerid][pVIPMesec] = 0;
                           PlayerInfo[playerid][pVIPGodina] = 0;
                           PlayerInfo[playerid][pVIPBodovi] = 0;
                           SavePlayer(playerid);
                        }
                     }
                  }
               }
               if(PlayerInfo[playerid][pVIP] != 0)
               {
                    SCMF(playerid, -1,""LARPBOJA"[AG]:{FFFfff} Vas VIP istjece "LARPBOJA"%d.%d.%d{FFFfff} i preostalo vam je "LARPBOJA"%d{FFFfff} bodova.",PlayerInfo[playerid][pVIPDan],PlayerInfo[playerid][pVIPMesec],PlayerInfo[playerid][pVIPGodina],PlayerInfo[playerid][pVIPBodovi]);
                    }[/pawn]

Pod OnPlayerConnect dodaj ovo
[pawn]   PlayerInfo[playerid][pVIP] = 0;
   PlayerInfo[playerid][pVIPDan] = 0;
   PlayerInfo[playerid][pVIPMesec] = 0;
   PlayerInfo[playerid][pVIPGodina] = 0;
   PlayerInfo[playerid][pVIPBodovi] = 0;   [/pawn]
Naslov: Odg: Savet za kreiranje VIP sistema
Poruka od: ZvRk poslato Septembar 10, 2017, 19:15:01 POSLE PODNE
Citat: SejnurHD poslato Septembar 10, 2017, 19:11:57 POSLE PODNE
Evo ti jedan VIP sistem.  ( PRILAGODI GA TVOM MODU ) (Moras komande da uradis sam.)
Kod enum-a za ucitavanje dodaj sledece:
[pawn]   pVIP,
   pVIPDan,
   pVIPMesec,
   pVIPGodina,
   pVIPBodovi,[/pawn]
Zatim nadji stock za proveru igraca i dodaj ovo
[pawn]      //----------------------------------------------------------
               new dani, god, mje, ime[MAX_PLAYER_NAME];
               RPIme(playerid, ime);
               getdate(god, mje, dani);
               if(PlayerInfo[playerid][pVIP] >= 1)
               {
                  if(god <= PlayerInfo[playerid][pVIPGodina])
                  {
                     if(dani > PlayerInfo[playerid][pVIPDan])
                     {
                        if(mje >= PlayerInfo[playerid][pVIPMesec])
                        {
                           SCM(playerid, SVETLOPLAVA, "Vas VIP paket je istekao, ne posedujete vise vip i vip bodove.");
                           PlayerInfo[playerid][pVIP] = 0;
                           PlayerInfo[playerid][pVIPDan] = 0;
                           PlayerInfo[playerid][pVIPMesec] = 0;
                           PlayerInfo[playerid][pVIPGodina] = 0;
                           PlayerInfo[playerid][pVIPBodovi] = 0;
                           SavePlayer(playerid);
                        }
                     }
                  }
               }
               if(PlayerInfo[playerid][pVIP] != 0)
               {
                    SCMF(playerid, -1,""LARPBOJA"[AG]:{FFFfff} Vas VIP istjece "LARPBOJA"%d.%d.%d{FFFfff} i preostalo vam je "LARPBOJA"%d{FFFfff} bodova.",PlayerInfo[playerid][pVIPDan],PlayerInfo[playerid][pVIPMesec],PlayerInfo[playerid][pVIPGodina],PlayerInfo[playerid][pVIPBodovi]);
                    }[/pawn]

Pod OnPlayerConnect dodaj ovo
[pawn]   PlayerInfo[playerid][pVIP] = 0;
   PlayerInfo[playerid][pVIPDan] = 0;
   PlayerInfo[playerid][pVIPMesec] = 0;
   PlayerInfo[playerid][pVIPGodina] = 0;
   PlayerInfo[playerid][pVIPBodovi] = 0;   [/pawn]
Hvala :)
Naslov: Odg: Savet za kreiranje VIP sistema
Poruka od: ZvRk poslato Septembar 10, 2017, 19:18:53 POSLE PODNE
Jos jedno pitanje kako mogu da prilagodim sad cmd sa ovim sistemom? Neki primer da li mozes poslati ?
Naslov: Odg: Savet za kreiranje VIP sistema
Poruka od: xsar.p poslato Septembar 10, 2017, 19:20:19 POSLE PODNE
Citat: ZvRk poslato Septembar 10, 2017, 19:18:53 POSLE PODNE
Jos jedno pitanje kako mogu da prilagodim sad cmd sa ovim sistemom? Neki primer da li mozes poslati ?
Umesto ovo SCM stavis SendClientMessage, takodje moras i boje da prilagodis prema svom modu.
Naslov: Odg: Savet za kreiranje VIP sistema
Poruka od: ZvRk poslato Septembar 10, 2017, 19:23:46 POSLE PODNE
Citat: SejnurHD poslato Septembar 10, 2017, 19:20:19 POSLE PODNE
Citat: ZvRk poslato Septembar 10, 2017, 19:18:53 POSLE PODNE
Jos jedno pitanje kako mogu da prilagodim sad cmd sa ovim sistemom? Neki primer da li mozes poslati ?
Umesto ovo SCM stavis SendClientMessage, takodje moras i boje da prilagodis prema svom modu.
Razumem to ali kako da napravim cmd koja ce dodavati to? Za to nekji primer
Naslov: Odg: Savet za kreiranje VIP sistema
Poruka od: xsar.p poslato Septembar 10, 2017, 19:24:36 POSLE PODNE
Nesto na ovu foru:
[pawn]//////////////////////////////////////////////
YCMD:makevip(playerid, params[],help)
{
    if(UlogovanProvera[playerid] == 0) return SCM(playerid, -1,""LARPBOJA"[AG]{ffffff} Moras biti prijavljen.");
   if(PlayerInfo[playerid][pAdmin] >= 7)
   {
      new player, nivo,bodovi;
      if(sscanf(params, "udd", player, nivo, bodovi)) return SCM(playerid,COLOR_YELLOW,"Koristi:{FFFFFF} /makevip [ID/Dio Imena] [level (1-4)] [bodovi]");
      if(player == INVALID_PLAYER_ID) return SCM(playerid, -1,""LARPBOJA"[AG]{ffffff} Taj igrac nije online.");
      if(nivo < 0 || nivo > 4) return SCM(playerid, -1,""LARPBOJA"[AG]{ffffff} Level vipa ne moze biti manji od 0 i veci od 4.");
      if(nivo == 0)
       {
           format(nellys, sizeof(nellys), "%s"LARPBOJA" vam je skinuo VIP paket, vise niste vip.", GetName(playerid));
         SCM(player, -1, nellys);
         format(nellys, sizeof(nellys), ""LARPBOJA"Skinuli ste VIP paket igracu {ffffff}%s.", GetName(player));
         SCM(playerid, -1, nellys);
         PlayerInfo[player][pVIP] = 0;
         PlayerInfo[player][pVIPDan] = 0;
         PlayerInfo[player][pVIPMesec] = 0;
         PlayerInfo[player][pVIPGodina] = 0;
         PlayerInfo[player][pVIPBodovi] = 0;
         SavePlayer(player);
      }
       else
       {
           new d,m,y,bx,ca;
          getdate(y,m,d);
         bx = d+30;
         if(m == 12 && bx > 31) { ca = bx-31; m = 1; y++; }
         else if(bx > 31 && m == 1) { ca = bx-31; m++; }
         else if(m == 2 && bx > 29 && y == 2015) { ca = bx-29; m++; }
         else if(m == 2 && bx > 28 && y == 2016) { ca = bx-28; m++; }
         else if(bx > 31 && m == 3) { ca = bx-31; m++; }
         else if(bx > 30 && m == 4) { ca = bx-30; m++; }
         else if(bx > 31 && m == 5) { ca = bx-31; m++; }
         else if(bx > 30 && m == 6) { ca = bx-30; m++; }
         else if(bx > 31 && m == 7) { ca = bx-31; m++; }
         else if(bx > 31 && m == 8) { ca = bx-31; m++; }
         else if(bx > 30 && m == 9) { ca = bx-30; m++; }
         else if(bx > 31 && m == 10) { ca = bx-31; m++; }
         else if(bx > 30 && m == 11) { ca = bx-30; m++; }
         else if(bx > 31 && m == 12) { ca = bx-31; m++; }
         else ca = bx;
         PlayerInfo[player][pVIPDan] = ca;
         PlayerInfo[player][pVIPMesec] = m;
         PlayerInfo[player][pVIPGodina] = y;
         PlayerInfo[player][pVIP] = nivo;
         PlayerInfo[player][pVIPBodovi] = bodovi;
         format(nellys, sizeof(nellys), "{ffffff}%s"LARPBOJA" vam je postavio {ffffff}%d"LARPBOJA" vip level {ffffff}"LARPBOJA"AG {ffffff}%d"LARPBOJA" vip bodova.", GetName(playerid), nivo, bodovi);
         SCM(player, -1, nellys);
         format(nellys, sizeof(nellys), ""LARPBOJA"Vas VIP paket istice: {ffffff}%d.%d.%d"LARPBOJA" godine", PlayerInfo[player][pVIPDan],PlayerInfo[player][pVIPMesec],PlayerInfo[player][pVIPGodina]);
         SCM(player, -1, nellys);
         SPI(player,"VIP Komande mozete vidjeti na /viph");
         format(nellys, sizeof(nellys), ""LARPBOJA"Uspesno ste postavili igracu {ffffff}%s "LARPBOJA"vip level {ffffff}%d "LARPBOJA"AG {ffffff}%d"LARPBOJA" vip bodova.", GetName(player), nivo, bodovi);
         SCM(playerid, -1, nellys);
         format(nellys, sizeof(nellys), ""LARPBOJA"Njegov VIP paket istice: {ffffff}%d.%d.%d"LARPBOJA" godine", PlayerInfo[player][pVIPDan],PlayerInfo[player][pVIPMesec],PlayerInfo[player][pVIPGodina]);
         SCM(playerid, -1, nellys);
         SavePlayer(player);
         }
   }
   else return SCM(playerid,BELA2,""LARPBOJA"[AG]{ffffff} Niste ovlasteni!");
   return 1;
}[/pawn]
Naslov: Odg: Savet za kreiranje VIP sistema
Poruka od: ZvRk poslato Septembar 10, 2017, 19:25:21 POSLE PODNE
Citat: SejnurHD poslato Septembar 10, 2017, 19:24:36 POSLE PODNE
Nesto na ovu foru:
[pawn]//////////////////////////////////////////////
YCMD:makevip(playerid, params[],help)
{
    if(UlogovanProvera[playerid] == 0) return SCM(playerid, -1,""LARPBOJA"[AG]{ffffff} Moras biti prijavljen.");
   if(PlayerInfo[playerid][pAdmin] >= 7)
   {
      new player, nivo,bodovi;
      if(sscanf(params, "udd", player, nivo, bodovi)) return SCM(playerid,COLOR_YELLOW,"Koristi:{FFFFFF} /makevip [ID/Dio Imena] [level (1-4)] [bodovi]");
      if(player == INVALID_PLAYER_ID) return SCM(playerid, -1,""LARPBOJA"[AG]{ffffff} Taj igrac nije online.");
      if(nivo < 0 || nivo > 4) return SCM(playerid, -1,""LARPBOJA"[AG]{ffffff} Level vipa ne moze biti manji od 0 i veci od 4.");
      if(nivo == 0)
       {
           format(nellys, sizeof(nellys), "%s"LARPBOJA" vam je skinuo VIP paket, vise niste vip.", GetName(playerid));
         SCM(player, -1, nellys);
         format(nellys, sizeof(nellys), ""LARPBOJA"Skinuli ste VIP paket igracu {ffffff}%s.", GetName(player));
         SCM(playerid, -1, nellys);
         PlayerInfo[player][pVIP] = 0;
         PlayerInfo[player][pVIPDan] = 0;
         PlayerInfo[player][pVIPMesec] = 0;
         PlayerInfo[player][pVIPGodina] = 0;
         PlayerInfo[player][pVIPBodovi] = 0;
         SavePlayer(player);
      }
       else
       {
           new d,m,y,bx,ca;
          getdate(y,m,d);
         bx = d+30;
         if(m == 12 && bx > 31) { ca = bx-31; m = 1; y++; }
         else if(bx > 31 && m == 1) { ca = bx-31; m++; }
         else if(m == 2 && bx > 29 && y == 2015) { ca = bx-29; m++; }
         else if(m == 2 && bx > 28 && y == 2016) { ca = bx-28; m++; }
         else if(bx > 31 && m == 3) { ca = bx-31; m++; }
         else if(bx > 30 && m == 4) { ca = bx-30; m++; }
         else if(bx > 31 && m == 5) { ca = bx-31; m++; }
         else if(bx > 30 && m == 6) { ca = bx-30; m++; }
         else if(bx > 31 && m == 7) { ca = bx-31; m++; }
         else if(bx > 31 && m == 8) { ca = bx-31; m++; }
         else if(bx > 30 && m == 9) { ca = bx-30; m++; }
         else if(bx > 31 && m == 10) { ca = bx-31; m++; }
         else if(bx > 30 && m == 11) { ca = bx-30; m++; }
         else if(bx > 31 && m == 12) { ca = bx-31; m++; }
         else ca = bx;
         PlayerInfo[player][pVIPDan] = ca;
         PlayerInfo[player][pVIPMesec] = m;
         PlayerInfo[player][pVIPGodina] = y;
         PlayerInfo[player][pVIP] = nivo;
         PlayerInfo[player][pVIPBodovi] = bodovi;
         format(nellys, sizeof(nellys), "{ffffff}%s"LARPBOJA" vam je postavio {ffffff}%d"LARPBOJA" vip level {ffffff}"LARPBOJA"AG {ffffff}%d"LARPBOJA" vip bodova.", GetName(playerid), nivo, bodovi);
         SCM(player, -1, nellys);
         format(nellys, sizeof(nellys), ""LARPBOJA"Vas VIP paket istice: {ffffff}%d.%d.%d"LARPBOJA" godine", PlayerInfo[player][pVIPDan],PlayerInfo[player][pVIPMesec],PlayerInfo[player][pVIPGodina]);
         SCM(player, -1, nellys);
         SPI(player,"VIP Komande mozete vidjeti na /viph");
         format(nellys, sizeof(nellys), ""LARPBOJA"Uspesno ste postavili igracu {ffffff}%s "LARPBOJA"vip level {ffffff}%d "LARPBOJA"AG {ffffff}%d"LARPBOJA" vip bodova.", GetName(player), nivo, bodovi);
         SCM(playerid, -1, nellys);
         format(nellys, sizeof(nellys), ""LARPBOJA"Njegov VIP paket istice: {ffffff}%d.%d.%d"LARPBOJA" godine", PlayerInfo[player][pVIPDan],PlayerInfo[player][pVIPMesec],PlayerInfo[player][pVIPGodina]);
         SCM(playerid, -1, nellys);
         SavePlayer(player);
         }
   }
   else return SCM(playerid,BELA2,""LARPBOJA"[AG]{ffffff} Niste ovlasteni!");
   return 1;
}[/pawn]
Hvala :D
Naslov: Odg: Savet za kreiranje VIP sistema
Poruka od: AMFETAMIN poslato Septembar 10, 2017, 21:32:46 POSLE PODNE
Citat: SejnurHD poslato Septembar 10, 2017, 19:24:36 POSLE PODNE
Nesto na ovu foru:
[pawn]//////////////////////////////////////////////
YCMD:makevip(playerid, params[],help)
{
    if(UlogovanProvera[playerid] == 0) return SCM(playerid, -1,""LARPBOJA"[AG]{ffffff} Moras biti prijavljen.");
   if(PlayerInfo[playerid][pAdmin] >= 7)
   {
      new player, nivo,bodovi;
      if(sscanf(params, "udd", player, nivo, bodovi)) return SCM(playerid,COLOR_YELLOW,"Koristi:{FFFFFF} /makevip [ID/Dio Imena] [level (1-4)] [bodovi]");
      if(player == INVALID_PLAYER_ID) return SCM(playerid, -1,""LARPBOJA"[AG]{ffffff} Taj igrac nije online.");
      if(nivo < 0 || nivo > 4) return SCM(playerid, -1,""LARPBOJA"[AG]{ffffff} Level vipa ne moze biti manji od 0 i veci od 4.");
      if(nivo == 0)
       {
           format(nellys, sizeof(nellys), "%s"LARPBOJA" vam je skinuo VIP paket, vise niste vip.", GetName(playerid));
         SCM(player, -1, nellys);
         format(nellys, sizeof(nellys), ""LARPBOJA"Skinuli ste VIP paket igracu {ffffff}%s.", GetName(player));
         SCM(playerid, -1, nellys);
         PlayerInfo[player][pVIP] = 0;
         PlayerInfo[player][pVIPDan] = 0;
         PlayerInfo[player][pVIPMesec] = 0;
         PlayerInfo[player][pVIPGodina] = 0;
         PlayerInfo[player][pVIPBodovi] = 0;
         SavePlayer(player);
      }
       else
       {
           new d,m,y,bx,ca;
          getdate(y,m,d);
         bx = d+30;
         if(m == 12 && bx > 31) { ca = bx-31; m = 1; y++; }
         else if(bx > 31 && m == 1) { ca = bx-31; m++; }
         else if(m == 2 && bx > 29 && y == 2015) { ca = bx-29; m++; }
         else if(m == 2 && bx > 28 && y == 2016) { ca = bx-28; m++; }
         else if(bx > 31 && m == 3) { ca = bx-31; m++; }
         else if(bx > 30 && m == 4) { ca = bx-30; m++; }
         else if(bx > 31 && m == 5) { ca = bx-31; m++; }
         else if(bx > 30 && m == 6) { ca = bx-30; m++; }
         else if(bx > 31 && m == 7) { ca = bx-31; m++; }
         else if(bx > 31 && m == 8) { ca = bx-31; m++; }
         else if(bx > 30 && m == 9) { ca = bx-30; m++; }
         else if(bx > 31 && m == 10) { ca = bx-31; m++; }
         else if(bx > 30 && m == 11) { ca = bx-30; m++; }
         else if(bx > 31 && m == 12) { ca = bx-31; m++; }
         else ca = bx;
         PlayerInfo[player][pVIPDan] = ca;
         PlayerInfo[player][pVIPMesec] = m;
         PlayerInfo[player][pVIPGodina] = y;
         PlayerInfo[player][pVIP] = nivo;
         PlayerInfo[player][pVIPBodovi] = bodovi;
         format(nellys, sizeof(nellys), "{ffffff}%s"LARPBOJA" vam je postavio {ffffff}%d"LARPBOJA" vip level {ffffff}"LARPBOJA"AG {ffffff}%d"LARPBOJA" vip bodova.", GetName(playerid), nivo, bodovi);
         SCM(player, -1, nellys);
         format(nellys, sizeof(nellys), ""LARPBOJA"Vas VIP paket istice: {ffffff}%d.%d.%d"LARPBOJA" godine", PlayerInfo[player][pVIPDan],PlayerInfo[player][pVIPMesec],PlayerInfo[player][pVIPGodina]);
         SCM(player, -1, nellys);
         SPI(player,"VIP Komande mozete vidjeti na /viph");
         format(nellys, sizeof(nellys), ""LARPBOJA"Uspesno ste postavili igracu {ffffff}%s "LARPBOJA"vip level {ffffff}%d "LARPBOJA"AG {ffffff}%d"LARPBOJA" vip bodova.", GetName(player), nivo, bodovi);
         SCM(playerid, -1, nellys);
         format(nellys, sizeof(nellys), ""LARPBOJA"Njegov VIP paket istice: {ffffff}%d.%d.%d"LARPBOJA" godine", PlayerInfo[player][pVIPDan],PlayerInfo[player][pVIPMesec],PlayerInfo[player][pVIPGodina]);
         SCM(playerid, -1, nellys);
         SavePlayer(player);
         }
   }
   else return SCM(playerid,BELA2,""LARPBOJA"[AG]{ffffff} Niste ovlasteni!");
   return 1;
}[/pawn]

iz kog moda si izvadio tu cmd ako nije tajna
Naslov: Odg: Savet za kreiranje VIP sistema
Poruka od: xsar.p poslato Septembar 10, 2017, 21:33:24 POSLE PODNE
Iz mog moda, tj edit LARP-a.
Naslov: Odg: Savet za kreiranje VIP sistema
Poruka od: Slade poslato Septembar 10, 2017, 23:17:21 POSLE PODNE
Evo ti kratak tutorijal, a ovo ti je najbolja opcija, definitivno.
Kada daješ vipa obavezno definiši 'broj dana' kao new dani ili nekako.
Primjer:

[pawn]new dani; //Ovo ide u sscanf check.

new istice = gettime() + (60*60*24*dani); //Ovo ide kod poruke postavljanja.
PlayerInfo[ playerid ][ VIPIstice ] = istice;[/pawn]

Ovo stavi kada se logira:

[pawn]if(gettime() > PlayerInfo[ playerid ][ VIPIstice ])
{
//ovdje skidas vipa
}[/pawn]

Ukoliko želiš da igraču ispisuje i datum kada VIP ističe, koristi include TimeStampToDate.