Peršokti į turinį
Andrius1993

[GRP] VIP Sistema.

Recommended Posts

1. Punktas:

Nueiname į serverio failus, atsidarome Gamemode\data\playerDB.txt failiuką ir po bool:admin, prirašome

bool:vip,

Išsaugojame, ir einame prie GM.

Atidarome savo GameModą. ir pirmiausiai susirandame eilute,(ji beveik pačioje apačioje) kuria VIP'o nebanins už JetPack naudojimą.

if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)

{

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

new name[MAX_PLAYER_NAME],msg[128];

GetPlayerName(playerid,name,sizeof(name));

format(msg,sizeof(msg),"%s buvo ismestas uz cytinima (Prisiskraide :D)",name);

SendClientMessageToAll(0x0080C0FF,msg);

SendClientMessage(playerid,0xFF8040FF,"* Tai gali daryti tik pauksciukai ir bitutes. Na dar vienas kitas adminas :D.");

Kick(playerid);

return;

}

Taip turėtų atrodyti kodas, kuris Neleis baninti VIP'o kuris naudosis JetPack.

2.Punktas:

Susirandame tokią eilutę: public Clear(playerid)

ir po jas bus tokie dalykai kaip:

zinutes[playerid]="--";

playerDB[playerid][admin]=false;

ir po jais prirašome tokią eilutę:

playerDB[playerid][vip]=false;

Viskas turėtų atrodyti šitaip:

public Clear(playerid)

{

zinutes[playerid]="--";

playerDB[playerid][admin]=false;

playerDB[playerid][vip]=false;

3.Punktas:

Priskiriame vartų komandas, kuriomis galės naudotis ir VIP.

Taigi susirandame eilutę su Vartų komandomis [PVZ imkime VM] ir virš vartų kodo bus tokia eilutė:

if(playerDB[playerid][specialybe]==7 || playerDB[playerid][admin])

Jei norit, kad VIP galėtų naudotis vartų komandomis prirašome || playerDB[playerid][vip]). Tai tur?t? atrodyti šitaip:

if(playerDB[playerid][specialybe]==7 || playerDB[playerid][admin] || playerDB[playerid][vip])

ir taip padarykite su visais vartais [Jei norite!]

4.Punktas:

Padarysime, kad parašius /vip rodytų VIP'us online. Taigi po Public OnPlayerCommandText rašome tokią eilutę:

if(!strcmp(cmdtext, "/vip", true,4))

{

if(!cmdtext[4])

{

new zin[256] = "Prisijunge VIP:";

new name[MAX_PLAYER_NAME];

for(new i = 0; i

if(IsPlayerConnected(i) && playerDB[vip]){

GetPlayerName(i,name,MAX_PLAYER_NAME);

format(zin,256,"%s %s,",zin,name);

}

}

SendClientMessage(playerid,COLOR_GREEN,zin);

return 1;

}

new zin[128],name[MAX_PLAYER_NAME];

GetPlayerName(playerid,name,MAX_PLAYER_NAME);

format(zin,sizeof(zin),"%s VIPAMS: %s",name,cmdtext[7]);

for(new i = 0; i

{

if(IsPlayerConnected(i) && playerDB[vip])

{

SendClientMessage(i,COLOR_GREEN,zin);

}

}

SendClientMessage(playerid,COLOR_GREEN,zin);

return 1;

}

[šią komanda geriausiai kelti ten, kur yra komanda /admin.]

5.Punktas:

Padarysime, kad VIP galėtų rašyti kaip admin [kad visi matytų] ir kikinti žaidėjus [išmesti iš serverio][bet ne Baninti]

Po komanda /vip [kurią prieš tai įkėlėme] dedame tokį kodą:

if(playerDB[playerid][vip])

{

if(!strcmp(cmdtext, "/v ", true,3)){

if(cmdtext[2]==0){SendClientMessage(playerid,GREEN, "* Naudojimas: /v [tekstas]"); return 1;}

new zin[256];

format(zin,sizeof(zin),"VIP: %s",cmdtext[3]);

SendClientMessageToAll(GREEN,zin);

return 1;

}

if(!strcmp(cmdtext, "/vkick", true,5))

{

new vardas[MAX_PLAYER_NAME],prz[128];

strmid(vardas,GetArgument(1, cmdtext,0),0,MAX_PLAYER_NAME);

if(!strcmp(vardas, "0", true) ){SendClientMessage(playerid, BLUE, "* Ismesti zaideja: /vkick [dalis vardo] [priezastis]"); return 1;}

new id = GetPlayeridMid(vardas);

if (id == INVALID_PLAYER_ID){ SendClientMessage(playerid, RED, "* Tokio zaidejo nera"); return 1;}

if (playerDB[id][vip]){ SendClientMessage(playerid, RED, "* VIP ismesti negalima!."); return 1;}

strmid(prz,GetArgument(2, cmdtext,true),0,128);

if(!strcmp(prz, "0", true) ){SendClientMessage(playerid, RED, "* Pamirsote nurodyti priezasti."); return 1;}

new msg[128],vipname[MAX_PLAYER_NAME];

GetPlayerName(id,vardas,sizeof(vardas));

GetPlayerName(playerid,vipname,sizeof(vipname));

format(msg,sizeof(msg),"[kick] %s",prz);

SendClientMessage(id,BLUE,msg);

Kick(id);

format(msg,sizeof(msg),"[kick] %s ismete %s is serverio (%s).",vipname,vardas,prz);

SendClientMessageToAll(BLUE,msg);

return 1;

}

}

šios komandos leis VIP'ui rašyti kad visi matytų, ir kikinti žaidėjus.

6.Punktas:

Informacija apie VIP serverio naudotojams. štai kodas, kuris trumpai aprašys, kas taip per dalykas VIP sistema ir kaip jį gauti. Jį keliame šalia komandų: /masina,/veiksmai.

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

{

SendClientMessage(playerid,RED,"*=====================VIP======================");

SendClientMessage(playerid,GREEN,"* VIP zymimi tokia spalva");

SendClientMessage(playerid,WHITE,"* Vipai gali rašyti kad visi matytu su /v komanda.VIP gali kickinti zmones, bet ne baninti!");

SendClientMessage(playerid,WHITE,"* Vipai gali naudotis absoliuciai visomis vartu komandomis!");

SendClientMessage(playerid,WHITE,"* Del VIP kreiptis y betkury administratoriu.");

SendClientMessage(playerid,WHITE,"* Vip kaina: 5LT/men. Smulkiau apie vipo uzsakyma teiraukities pas adminu");

SendClientMessage(playerid,RED,"* NUSIZENKUS VIESOSIOS TVARKOS TAISYKLEMS VIPO STATUSAS GALI BUTI ATIMTAS NEPASIBAIGUS LAIKUI!!!");

return 1;

}

7.Punktas:

šis kodas padarys taip, kad prisijungusiam VIP vartotojui pasveikinimas bus toks, kaip administratoriui.

Susirandame eilutę. Spaudžiame CTRL + F ir įrašome if(dini ir jums turėtų išmesti tokį kodą:

new exp = dini_Int(file,"Xp");

if(dini_Int(file,"Admin") == 1) playerDB[playerid][admin]=true;

tai po juo prira?ome toki? eilut?:

if(dini_Int(file,"Vip") == 1) playerDB[playerid][vip]=true;

Viskas turėtų atrodyti štai taip:

new exp = dini_Int(file,"Xp");

if(dini_Int(file,"Admin") == 1) playerDB[playerid][admin]=true;

if(dini_Int(file,"Vip") == 1) playerDB[playerid][vip]=true;

Iš karto žemiau po šita eilute, pamatysite eilutę:

if(playerDB[playerid][admin])

tai šalia jos prirašome tokį prierašą:

|| playerDB[playerid][vip]) ir viskas turėtų atrodyti štai taip:

new exp = dini_Int(file,"Xp");

if(dini_Int(file,"Admin") == 1) playerDB[playerid][admin]=true;

if(dini_Int(file,"Vip") == 1) playerDB[playerid][vip]=true;

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

{

8.Punktas:

Šis kodas tikrina ar žaidėjas yra VIP ir nustato jo spalvą.

Susirandame GM pradžioje tokias eilutes:

if(playerDB[playerid][specialybe]==1)

{

SetPlayerColor(playerid, 0x004E5BFF);

}

if(playerDB[playerid][specialybe]==2)

{

SetPlayerColor(playerid, COLOR_RED);

viršuje parašome tokią eilutę:

if(playerDB[playerid][vip])

{

SetPlayerColor(playerid, 0x40FF40FF);

}

ir viskas.

Na štai, VIP sistema baigta! Viską sukompiliname paspaudę F5. Dabar nueikite į serverio failus, Scriptfiles\saves\user\XXX_XXX [jūsų vardas ir pavardė]

atsidarome per notepad ir apačioje prirašome tokią eilutę: vip=1 ir jūs jau VIP.

*** Pamoka 100% Kurta mano, neripinta, viskas mano pačio daryta.

*** Jei gausite kokį ERROR, rašykite čia, bandysime tvarkyti.

Sėkmės naudojant!

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį









Svečias
Ši tema yra užrakinta.

  • Narių peržiūri šį forumą:   0 nariai

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


  • SuperGames programele
  • SuperGames programele


×