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:
[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]
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 :)
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.
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:
[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]
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
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
Iz mog moda, tj edit LARP-a.
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.