VIP System
by Vasic
Rec je o VIP Sistemu koji se sastoji od 4 Levela! Proces cuvanja y_ini, Proces Komandi zcmd.
Credits to Y_Less & Zeex | Komande su smestene u Dialozima, primer:
(http://noobot.info/uploader/image.php?di=5204)
Komande VIP Levela 1 su sledece: /nitro - Dodajte Nitro u Vozilo
/vipc - Razgovor izmedju VIP igraca na serveru
/vipclub - Teleportuje vas u VIP Klub
/vipbase - Teleportuje vas u VIP Bazu
/unfreezeme - Unfreezuje vas ukoliko ste zbugani/zglicani.
/vipvozilo - Spawna Vozilo na kojem pise label: (( VIP Level 'tajitaj' IMEIGRACA ))
Primer:
(http://noobot.info/uploader/image.php?di=YDGT)
Komande VIP Levela 2 su sledece: /killme - Jasna Komanda, ubije vas ukoliko ste zglicani (sa timerom)
/vrtc - Respawnuje vase vozilo
/vflip - Flipuje (unglicuje) vase vozilo.
/neon - Dodajete neon na vase vozilo.
/skinineon - Skidate neon sa vozila.
/vgoto - Portanje do zeljenog igraca.
Primer:
(http://noobot.info/uploader/image.php?di=15WK)
Komande VIP Levela 3 su sledece:/vfix - Popravlja vase vozilo
/slapme - Slapuje vas ukoliko ste zbugani.
/freedeagle - Dobijate deagle, komanda se koristi na 8 sati.
/mytime - Podesavate vas sat.
/myweather - Podesavate vase vreme.
/obrisimojchat - Brisete samo vas chat.
/vipdrink - Birate pice po zelji.
Primer:
(http://noobot.info/uploader/image.php?di=VYWL)
Komande VIP Levela 4 ujedno i zadnjeg, su sledece:
/nickboja - Menjate boju nicka.
/cjskin - Glupa komanda, al' da popunim prostor.
/togviptag - Uklanja vas tag iznad glave.
VIP 4 dobija na Spawnu FULL HEALTH & ARMOUR
Primer:
(http://noobot.info/uploader/image.php?di=41O1)
Ukoliko zelite, dodajte jos komandi. Nisam napravio log/reg sys pa tako ne moze sacuvati VIPa. Prebacite ovo u vas mod. Sve je objasnjeno u skripti.
Ovde imate i album slika sistema. Pogledajte pa procenite, nadam se da ce vam koristiti. Da li zelite da uradim i MySQL Verziju? Pisite u komentare! Ukoliko primetite bilo kakav bug, obratite mi se u PM.
(( KLIKNI ME ZA ALBUM SLIKA )) (https://imgur.com/a/dElRAB9)
(( KLIKNI ME ZA DOWNLOAD LINK )) (https://pastebin.com/jiZ3xuU8)
[pawn]stock fullhealtharmour( playerid )
{
SetPlayerHealth( playerid, 99 ); SetPlayerArmour( playerid, 99 ); //prilagoditi ukoliko imate AntiCheat
SendClientMessage( playerid, -1, "Posto ste VIP Level 4 - Dobijate Full Health & Armour kad se spawnate." );
return 1;
}[/pawn] skroz nepotrebno znaci, ko ima anticheat za health hack taj i koristi float a ne integer a ko ne koristi ovo mu samo zauzima prostor i memoriju u skripti..
[pawn]public OnPlayerSpawn(playerid)
{
if ( PlayerInfo[ playerid ][ xVIP ] == 4 ) {
I ovdje setas to i posaljes poruku }
return 1;
}[/pawn] mnogo jednostavnije
[pawn]CMD:makevip( playerid, params[] )
{
if(IsPlayerAdmin(playerid)) {
new lvl, idigraca, stringic[128];
if(sscanf(params, "ud", idigraca, lvl)) return SendClientMessage(playerid, -1, "KORISTITE: /makevip (ID) (Level [0-4])");
if(idigraca == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Igrac nije na serveru.");
if(lvl < 0 || lvl > 4) return SendClientMessage(playerid, -1, "VIP Level ne moze biti manji od 0 i veci od 4!");
PlayerInfo[ idigraca ][ xVIP ] = lvl;
format(stringic, sizeof stringic, "Administrator %s vam je postavio VIP Level %d", GetName(playerid), lvl);
SendClientMessage(idigraca, -1, stringic); }
return 1;
}[/pawn] ne vidim poentu kreiranja varijabli poput - lvl, idigraca itd
zar nije jednostavnije kad vec koristis zcmd da iskoristis njegov potencijal?
[pawn]CMD:makevip(playerid, params[]) {
if(IsPlayerAdmin(playerid)) {
new stringic[128];
if(sscanf(params, "ud[5]", params[0], params[1])) return SendClientMessage(playerid, -1, "KORISTITE: /makevip (ID) (Level [0-4])");
if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Igrac nije na serveru.");
if(params[1] < 0 || params[1] >= 5) return SendClientMessage(playerid, -1, "VIP Level ne moze biti manji od 0 i veci od 4!");
PlayerInfo[ params[0] ][ xVIP ] = params[1];
format(stringic, sizeof(stringic), "Administrator %s vam je postavio VIP Level %d", GetName(playerid), params[1]);
SendClientMessage(params[0], -1, stringic); }
return 1;
}[/pawn]
ako vec koristis ovo
[pawn]
forward dc(playerid, lines);
public dc(playerid, lines)
{
for(new i = 0; i < lines; i++)
{
SendClientMessage(playerid, -1, " ");
}
return 1;
}
i to koristis u ovoj komandi
[/pawn]
[pawn]
CMD:obrisimojchat(playerid, params[])
{
if ( PlayerInfo[ playerid ][ xVIP ] < 3 ) return SendClientMessage( playerid, -1, "[VIP] - Niste ovlasceni!"); {
dc(playerid, 128);
SendClientMessage(playerid, -1,"
- - (( Uspesno ste ocistili vas chat. ))");
}
return 1;
}
[/pawn]
zar nije lakse i bolje
[pawn]
dc(playerid, lines)
{
for(new i = 0; i < lines; i++)
{
SendClientMessage(playerid, -1, " ");
}
return 1;
}
[/pawn]
[pawn]
CMD:obrisimojchat(playerid, params[])
{
if(PlayerInfo[playerid][xVIP] < 3) return SendClientMessage( playerid, -1, "[VIP] - Niste ovlasceni!");
if(sscanf(params, "i", params[0]) return SendClientMessage(playerid, -1, "/obrisimojchat (broj linija)");
if(params[0] <= 0 || params[0] >= 128) return SendClientMessage(playerid, -1, "Error(minimum 1 max 128)");
dc(playerid, params[0]);
SendClientMessage(playerid, -1," - - (( Uspesno ste ocistili vas chat. ))");
return 1;
}
[/pawn]
i stvarno ne shvatam pisanje
if(!response) return 1;
i ovako i onako kad klikne ne responsat ce mu true(1) ono wtf
[pawn]freedeagleTime[playerid] = gettime() + 28800000;[/pawn]
really? lik se reloga i moze opet koristiti
SetTimer("ProveriTag", 50000, true); ne vidim poentu ovoga? i ne vidim da uopce killas tajmer(ubijas)?
(btw SetPlayerChatBubble(i, "[ VIP LEVEL 1 ]", -1, 30.0,60000);) trebao si uskladiti 60000 sa 60000 vec kad radis
zar nije jednostavnije pod neki tajmer koji vec provjerava igraca samo napraviti varijablu i ako ima ukljucen tag da provjeri tag ili pod onplayerupdate jer bezveze kreiras tajmer kad vec postoji public za to a to njemu nije nikakvo opterecenje jer imas samo jednu provjeru, a najbolje bi bilo stavitii pod payday tajmer i staviti bubble tajmer na tajmer od paydaya i to je to i kad se konektuje samo mu postavis jer on ce morati cekati payday da mu se postavi..
koja je poenta ovoga?
[pawn]forward RTC(vehicleid);
public RTC(vehicleid)
{
SetVehicleHealth(vehicleid, 998);
SetVehicleToRespawn(vehicleid);
return 1;
}[/pawn] ti njemu setas helte na 998(default 1000.0 cini mi se nisam ulazio ni dugo provjeravati li je 999.9 uglavnom tako je nesto) i onda ga respawnujes? tebra nigdje veze, kad ga respawnujes on ce opet imati 1000 helta on nece imati tih 998
isto tako nigdje veze je ovo
[pawn]CMD:unfreezeme( playerid, params[] )
{
if ( PlayerInfo[ playerid ][ xVIP ] < 1 ) return SendClientMessage( playerid, -1, "[VIP] - Niste ovlasceni!");
{
SendClientMessage( playerid, -1, "Unfreezovali ste sebe." );
TogglePlayerControllable( playerid, true );
}
return 1;
}[/pawn]
jednostavno ovako
[pawn]CMD:unfreezeme( playerid, params[] )
{
if ( PlayerInfo[ playerid ][ xVIP ] < 1 ) return SendClientMessage( playerid, -1, "[VIP] - Niste ovlasceni!");
SendClientMessage( playerid, -1, "Unfreezovali ste sebe." );
TogglePlayerControllable( playerid, true );
return 1;
}[/pawn]
ili ovo
[pawn]CMD:vipbase( playerid, params[] )
{
if ( PlayerInfo[ playerid ][ xVIP ] < 1 ) return SendClientMessage( playerid, -1, "[VIP] - Niste ovlasceni!");
{
SetPlayerPos(playerid, -2116.7009,-1.4348,35.3203);
SetPlayerInterior(playerid, 0);
RemovePlayerFromVehicle( playerid );
StopAudioStreamForPlayer(playerid);
SendClientMessage( playerid, -1, "Teleportovali ste se u VIP Bazu!");
}
return 1;
}[/pawn]
ne vidim poentu removanja iz auta kad teleportujes samo igraca ne i njegovo auto? wtf
i takodjer ovi preveliki stringovi mislim stvarno..
i ova killme komanda, nigdje veze, lik cuffan ili nesto on se ubije i rijesena stvar lol, ima jos stvari ali stvarno mi se ne da nabrajati, popravi ovo sto sam ti napisao, sve u svemu sistem je vidjen milion puta i nije nista posebno tako da lp
Citat: Hazze poslato Mart 13, 2019, 19:53:10 POSLE PODNE
[pawn]stock fullhealtharmour( playerid )
{
SetPlayerHealth( playerid, 99 ); SetPlayerArmour( playerid, 99 ); //prilagoditi ukoliko imate AntiCheat
SendClientMessage( playerid, -1, "Posto ste VIP Level 4 - Dobijate Full Health & Armour kad se spawnate." );
return 1;
}[/pawn] skroz nepotrebno znaci, ko ima anticheat za health hack taj i koristi float a ne integer a ko ne koristi ovo mu samo zauzima prostor i memoriju u skripti..
[pawn]public OnPlayerSpawn(playerid)
{
if ( PlayerInfo[ playerid ][ xVIP ] == 4 ) {
I ovdje setas to i posaljes poruku }
return 1;
}[/pawn] mnogo jednostavnije
[pawn]CMD:makevip( playerid, params[] )
{
if(IsPlayerAdmin(playerid)) {
new lvl, idigraca, stringic[128];
if(sscanf(params, "ud", idigraca, lvl)) return SendClientMessage(playerid, -1, "KORISTITE: /makevip (ID) (Level [0-4])");
if(idigraca == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Igrac nije na serveru.");
if(lvl < 0 || lvl > 4) return SendClientMessage(playerid, -1, "VIP Level ne moze biti manji od 0 i veci od 4!");
PlayerInfo[ idigraca ][ xVIP ] = lvl;
format(stringic, sizeof stringic, "Administrator %s vam je postavio VIP Level %d", GetName(playerid), lvl);
SendClientMessage(idigraca, -1, stringic); }
return 1;
}[/pawn] ne vidim poentu kreiranja varijabli poput - lvl, idigraca itd
zar nije jednostavnije kad vec koristis zcmd da iskoristis njegov potencijal?
[pawn]CMD:makevip(playerid, params[]) {
if(IsPlayerAdmin(playerid)) {
new stringic[128];
if(sscanf(params, "ud[5]", params[0], params[1])) return SendClientMessage(playerid, -1, "KORISTITE: /makevip (ID) (Level [0-4])");
if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Igrac nije na serveru.");
if(params[1] < 0 || params[1] >= 5) return SendClientMessage(playerid, -1, "VIP Level ne moze biti manji od 0 i veci od 4!");
PlayerInfo[ params[0] ][ xVIP ] = params[1];
format(stringic, sizeof(stringic), "Administrator %s vam je postavio VIP Level %d", GetName(playerid), params[1]);
SendClientMessage(params[0], -1, stringic); }
return 1;
}[/pawn]
ako vec koristis ovo
[pawn]
forward dc(playerid, lines);
public dc(playerid, lines)
{
for(new i = 0; i < lines; i++)
{
SendClientMessage(playerid, -1, " ");
}
return 1;
}
i to koristis u ovoj komandi
[/pawn]
[pawn]
CMD:obrisimojchat(playerid, params[])
{
if ( PlayerInfo[ playerid ][ xVIP ] < 3 ) return SendClientMessage( playerid, -1, "[VIP] - Niste ovlasceni!"); {
dc(playerid, 128);
SendClientMessage(playerid, -1,"- - (( Uspesno ste ocistili vas chat. ))");
}
return 1;
}
[/pawn]
zar nije lakse i bolje
[pawn]
dc(playerid, lines)
{
for(new i = 0; i < lines; i++)
{
SendClientMessage(playerid, -1, " ");
}
return 1;
}
[/pawn]
[pawn]
CMD:obrisimojchat(playerid, params[])
{
if(PlayerInfo[playerid][xVIP] < 3) return SendClientMessage( playerid, -1, "[VIP] - Niste ovlasceni!");
if(sscanf(params, "i", params[0]) return SendClientMessage(playerid, -1, "/obrisimojchat (broj linija)");
if(params[0] <= 0 || params[0] >= 128) return SendClientMessage(playerid, -1, "Error(minimum 1 max 128)");
dc(playerid, params[0]);
SendClientMessage(playerid, -1," - - (( Uspesno ste ocistili vas chat. ))");
return 1;
}
[/pawn]
i stvarno ne shvatam pisanje
if(!response) return 1;
i ovako i onako kad klikne ne responsat ce mu true(1) ono wtf
[pawn]freedeagleTime[playerid] = gettime() + 28800000;[/pawn]
really? lik se reloga i moze opet koristiti
SetTimer("ProveriTag", 50000, true); ne vidim poentu ovoga? i ne vidim da uopce killas tajmer(ubijas)?
(btw SetPlayerChatBubble(i, "[ VIP LEVEL 1 ]", -1, 30.0,60000);) trebao si uskladiti 60000 sa 60000 vec kad radis
zar nije jednostavnije pod neki tajmer koji vec provjerava igraca samo napraviti varijablu i ako ima ukljucen tag da provjeri tag ili pod onplayerupdate jer bezveze kreiras tajmer kad vec postoji public za to a to njemu nije nikakvo opterecenje jer imas samo jednu provjeru, a najbolje bi bilo stavitii pod payday tajmer i staviti bubble tajmer na tajmer od paydaya i to je to i kad se konektuje samo mu postavis jer on ce morati cekati payday da mu se postavi..
koja je poenta ovoga?
[pawn]forward RTC(vehicleid);
public RTC(vehicleid)
{
SetVehicleHealth(vehicleid, 998);
SetVehicleToRespawn(vehicleid);
return 1;
}[/pawn] ti njemu setas helte na 998(default 1000.0 cini mi se nisam ulazio ni dugo provjeravati li je 999.9 uglavnom tako je nesto) i onda ga respawnujes? tebra nigdje veze, kad ga respawnujes on ce opet imati 1000 helta on nece imati tih 998
isto tako nigdje veze je ovo
[pawn]CMD:unfreezeme( playerid, params[] )
{
if ( PlayerInfo[ playerid ][ xVIP ] < 1 ) return SendClientMessage( playerid, -1, "[VIP] - Niste ovlasceni!");
{
SendClientMessage( playerid, -1, "Unfreezovali ste sebe." );
TogglePlayerControllable( playerid, true );
}
return 1;
}[/pawn]
jednostavno ovako
[pawn]CMD:unfreezeme( playerid, params[] )
{
if ( PlayerInfo[ playerid ][ xVIP ] < 1 ) return SendClientMessage( playerid, -1, "[VIP] - Niste ovlasceni!");
SendClientMessage( playerid, -1, "Unfreezovali ste sebe." );
TogglePlayerControllable( playerid, true );
return 1;
}[/pawn]
ili ovo
[pawn]CMD:vipbase( playerid, params[] )
{
if ( PlayerInfo[ playerid ][ xVIP ] < 1 ) return SendClientMessage( playerid, -1, "[VIP] - Niste ovlasceni!");
{
SetPlayerPos(playerid, -2116.7009,-1.4348,35.3203);
SetPlayerInterior(playerid, 0);
RemovePlayerFromVehicle( playerid );
StopAudioStreamForPlayer(playerid);
SendClientMessage( playerid, -1, "Teleportovali ste se u VIP Bazu!");
}
return 1;
}[/pawn]
ne vidim poentu removanja iz auta kad teleportujes samo igraca ne i njegovo auto? wtf
i takodjer ovi preveliki stringovi mislim stvarno..
i ova killme komanda, nigdje veze, lik cuffan ili nesto on se ubije i rijesena stvar lol, ima jos stvari ali stvarno mi se ne da nabrajati, popravi ovo sto sam ti napisao, sve u svemu sistem je vidjen milion puta i nije nista posebno tako da lp
ahhaahaahahahahahahhaahhaaha doso lik povadio pola skripte, i hejtuje na taj nacin xD :D [pawn][pawn]freedeagleTime[playerid] = gettime() + 28800000;[/pawn]
really? lik se reloga i moze opet koristiti[/pawn] ako se reloga, nece nista biti, jer nije nisam stavio resetovanje varijable, dok se ne ugasi dedicated server, :-*
@Hazze pogledaj malo OnPlayerConnect u skripti
[pawn][pawn]freedeagleTime[playerid] = gettime() + 28800000;[/pawn] ako se reloga, nista nece biti jer nema resetovanje varijable... Samo kad sam dedicated srw zatvori. a za ovo killme, napravis opciju kad je cuffan itd. da ne moze se kill. IQ-300 bravo.
Citat: Vasic poslato Mart 13, 2019, 20:23:43 POSLE PODNE
@Hazze pogledaj malo OnPlayerConnect u skripti
[pawn][pawn]freedeagleTime[playerid] = gettime() + 28800000;[/pawn] ako se reloga, nista nece biti jer nema resetovanje varijable... Samo kad sam dedicated srw zatvori. a za ovo killme, napravis opciju kad je cuffan itd. da ne moze se kill. IQ-300 bravo.
ne napravis opciju ako je cuffan nego napravis provjeru, fore tipa iq-300 su za mentalce poput tebe BRAVO, 'nista nece biti jer nema resetovanje varijable' - new freedeagleTime[MAX_PLAYERS]; ovo ti je resetovanje varijable inace, dok se server ugasi ona ce se resetovati, aj testiraj, nemas cuvanja vremena malo mozak koristi
(https://imgur.com/UXhDrwj.png)
i ne mozes ti govorit nekome o skriptanju ko ti moze biti otac u skriptanju
Hazze je samo dao nekolicinu primjera kada da se nekolicina stvari uÄini boljim, ali isto tako bi I Hazze trebao dati pravilan primjer na kodu a ne samo rijecim izvuc nesto. A ti bi Vasic trebao znati primiti nekakvu kritiku, nije bas da je kod bajan.
GJ. :)