Savet za kreiranje VIP sistema


Započeo ZvRk, Septembar 10, 2017, 17:35:47 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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 ?

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

Evo ti jedan VIP sistem.  ( PRILAGODI GA TVOM MODU ) (Moras komande da uradis sam.)
Kod enum-a za ucitavanje dodaj sledece:
pVIP,
	pVIPDan,
	pVIPMesec,
	pVIPGodina,
	pVIPBodovi,

Zatim nadji stock za proveru igraca i dodaj ovo
      //----------------------------------------------------------
					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]);
                    }


Pod OnPlayerConnect dodaj ovo
PlayerInfo[playerid][pVIP] = 0;
	PlayerInfo[playerid][pVIPDan] = 0;
	PlayerInfo[playerid][pVIPMesec] = 0;
	PlayerInfo[playerid][pVIPGodina] = 0;
	PlayerInfo[playerid][pVIPBodovi] = 0;
Oduvek sam se pitao:
"Zbog cega se ljudi toliko brinu jedni za druge?",
"Zasto ljudi daju sve od sebe da usrece neku osobu?"

Najjednostavnije receno brinu se jer vole tu osobu celim svojim srcem,
daju sve od sebe da je usrece zbog toga sto ne zele da je ikada vide tuznom ili rasplakanom.
#xsarnaaparatima..

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:
pVIP,
	pVIPDan,
	pVIPMesec,
	pVIPGodina,
	pVIPBodovi,

Zatim nadji stock za proveru igraca i dodaj ovo
      //----------------------------------------------------------
					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]);
                    }


Pod OnPlayerConnect dodaj ovo
PlayerInfo[playerid][pVIP] = 0;
	PlayerInfo[playerid][pVIPDan] = 0;
	PlayerInfo[playerid][pVIPMesec] = 0;
	PlayerInfo[playerid][pVIPGodina] = 0;
	PlayerInfo[playerid][pVIPBodovi] = 0;

Hvala :)

Jos jedno pitanje kako mogu da prilagodim sad cmd sa ovim sistemom? Neki primer da li mozes poslati ?

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.
Oduvek sam se pitao:
"Zbog cega se ljudi toliko brinu jedni za druge?",
"Zasto ljudi daju sve od sebe da usrece neku osobu?"

Najjednostavnije receno brinu se jer vole tu osobu celim svojim srcem,
daju sve od sebe da je usrece zbog toga sto ne zele da je ikada vide tuznom ili rasplakanom.
#xsarnaaparatima..

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

Nesto na ovu foru:
//////////////////////////////////////////////
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;
}
Oduvek sam se pitao:
"Zbog cega se ljudi toliko brinu jedni za druge?",
"Zasto ljudi daju sve od sebe da usrece neku osobu?"

Najjednostavnije receno brinu se jer vole tu osobu celim svojim srcem,
daju sve od sebe da je usrece zbog toga sto ne zele da je ikada vide tuznom ili rasplakanom.
#xsarnaaparatima..

Citat: SejnurHD poslato Septembar 10, 2017, 19:24:36 POSLE PODNE
Nesto na ovu foru:
//////////////////////////////////////////////
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;
}

Hvala :D

Citat: SejnurHD poslato Septembar 10, 2017, 19:24:36 POSLE PODNE
Nesto na ovu foru:
//////////////////////////////////////////////
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;
}


iz kog moda si izvadio tu cmd ako nije tajna

SLOBODAN SKRIPTER

Iz mog moda, tj edit LARP-a.
Oduvek sam se pitao:
"Zbog cega se ljudi toliko brinu jedni za druge?",
"Zasto ljudi daju sve od sebe da usrece neku osobu?"

Najjednostavnije receno brinu se jer vole tu osobu celim svojim srcem,
daju sve od sebe da je usrece zbog toga sto ne zele da je ikada vide tuznom ili rasplakanom.
#xsarnaaparatima..

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:

new dani; //Ovo ide u sscanf check.

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


Ovo stavi kada se logira:

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


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