Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 5229 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

V.I.P Sistema

VIP privilegijos tai panašaus pobūdžio privilegijos kaip ir administratoriaus. Šioje pamokoje parodysiu kaip susikurti patį pagrindą ir paaiškinsiu keletą funkcijų.

1 Punktas.

Įeinate į savo serverio aplanką/Gamemodes/data/playerDB.txt.

Susirandate 'bool:admin' ir po visais 'bool' parašote:

vip,

Viskas turėtų atrodyti maždaug taip:

kills,

checkpoint,

masina,

banke,

vip,

namuose,

vip,

//Priskyrėm žaidėjui privilegijas.

2 Punktas.

Įsijungiate savo gamemode.Na ir dabar prasidės visas smagumas.

a) Susirandate:

public Clear(playerid)

{

Ir pvz. po:

playerDB[playerid][lytis]=0;

Rašote:

playerDB[playerid][vip]=1;

//Privilegijų priskyrimo funkcija. Pvz nueinant į kiekvieno žaidėjo acc, prirašius vip=1 uždės VIP privilegijas.

b ) usirandate:

public SavePlayerData(playerid,bool:simple)

{

Ir po:

dini_IntSet(file,"Lead",playerDB[playerid][plead]);

Rašote:

dini_IntSet(file,"Vipas",playerDB[playerid][vip]);

//Padarėme, kad SavePlayerData funkcija išsaugotų VIP privilegijas.

c) Susirandate

public LoadPlayerData(playerid)

{

Ir po:

playerDB[playerid][plead] = dini_Int(file,"Lead");

Rašote:

playerDB[playerid][vip] = dini_Int(file,"Vipas");

//Padarėme, kad prisijungus žaidėjui "loadintų" VIP privilegijas.

3 Punktas.

Susirandate:

if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)

{

Ir iškart po juo rasite:

if(playerDB[playerid][admin]) return;

Šią eilutę pakeiskite į :

if(playerDB[playerid][admin]|| playerDB[playerid][vip]) return;

//Padarėme, kad VIP privilegijas turinčio žaidėjų neiškickintų iš serverio už Jet-Pack naudojimą.

4 Punktas.

VIP Komandos. Čia jau pasidarysite kaip kas norėsite, tik duosiu jums kaip pavyzdį /vgydyti komandą:

Po OnPlayerCommandText rašote:

if(strcmp(cmdtext, "/vgydyti", true)==0)

{

if(playerDB[playerid][vip]){SendClientMessage(playerid,COLOR,"* Si komanda tik VIP'ams"); return 1;}

if(IsPlayerInAnyVehicle(playerid)) SetVehicleHealth(GetPlayerVehicleID(playerid),1000);

SetPlayerHealth(playerid,100);

SetPlayerArmour(playerid,100);

SendClientMessage(playerid,COLOR,"* Gyvybiu kodas");

return 1;

}

if(playerDB[playerid][vip]){SendClientMessage(playerid,COLOR,"* Si komanda tikVIP'ams"); return 1;}

//Ši funkcija pritaiko komandą tik VIP'ams.

P A B A I G A

  • Parašė po 1 mėnesio...
  • Parašė po 3 mėnesių...
Svečias

Įdomiai čia padarei :)

Kai prisijungia nustatai tą kintamąjį į "1", ( tai jau žaidėjas VIP) ir tikrinimuose:

if(playerDB[playerid][admin]|| playerDB[playerid][vip]) return;

Tai pagal tavo pamoką ką tik atėjęs į serverį galėčiau su JETPACK skraidyt.

O čia jau normaliai padarei:

if(strcmp(cmdtext, "/vgydyti", true)==0)
{
if(playerDB[playerid][vip]){SendClientMessage(playerid,COLOR,"* Si komanda tik VIP'ams"); return 1;}
if(IsPlayerInAnyVehicle(playerid)) SetVehicleHealth(GetPlayerVehicleID(playerid),1000);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
SendClientMessage(playerid,COLOR,"* Gyvybiu kodas");
return 1;
}

if(playerDB[playerid][vip]){SendClientMessage(playerid,COLOR,"* Si komanda tikVIP'ams"); return 1;}

Geriau sutvarkyk pamoką, kai prisijungia nustatyk kintamąjį į 0,o tikrinimai turėtų atrodyt tokie:

if(!playerDB[playerid][vip]){SendClientMessage(playerid,COLOR,"* Si komanda tikVIP'ams"); return 1;}

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 5229 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...