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

[PAMOKA] Reputacijos Sistema


*DeiVidas*

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4337 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

Sveiki, taigi daug kas nori tos reputacijos sistemos, tai aš pasidalinsiu savo kurta sistema.

1.

Visu pirma einame į playerDB failą. Jame kur nors po:

misija1,
misija2,
ispejimai,
sekamas,
seku,

Rašome

reputacija,

Ir išsaugome failą.

2.

Kur nors po komanda /pagalba, ar dar kažkokia dedame pačią komandą, su kurią uždėsite žaidėjui reputacijos vieną tašką.

Padariau dar kad kai žaidėjas duoda rep tašką, kitam žaidėjui parašys už ką davė tašką.

if(!strcmp(cmdtext, "/rep",true,4))
{
if(!cmdtext[4])
{
SendClientMessage(playerid,BLUE,"Uþdëti vienà reputacijos taðkà þaidëjui: /rep [Dalis_Vardo] [uþ kà]");
return 1;
}
new name[24],vardas[24],repuzka[256];
strmid(name,GetArgument(1, cmdtext,0),0,MAX_PLAYER_NAME);
repuzka = GetArgument(2, cmdtext,1);
if(!strcmp(name, "0", true) || !strcmp(repuzka, "0", true)) {SendClientMessage(playerid, BLUE, "Uþdëti vienà reputacijos taðkà þaidëjui: /rep [Dalis_Vardo] [uþ kà]"); return 1;}
new id = GetPlayeridMid(name);
if(id == INVALID_PLAYER_ID)
{
SendClientMessage(playerid,BLUE,"Þaidëjo su tokiu vardu nëra."); return 1;}
if (id == playerid){ SendClientMessage(playerid, BLUE, "Sau REP negali duoti"); return 1;}
GetPlayerName(id,name,sizeof(name));
GetPlayerName(playerid,vardas,sizeof(vardas));
playerDB[id][reputacija]++;
new rep = playerDB[id][reputacija];
new msg1[120],msg2[120],msg3[130],msg4[80];
format(msg1,sizeof(msg1),"Þaidëjui %s uþdëjote vienà reputacijos taðkà, uþ {EA8015}%s",name,repuzka);
SendClientMessage(playerid,BLUE,msg1);
format(msg2,sizeof(msg2),"Þaidëjas %s jums uþdejo vienà reputacijos taðkà, uþ {EA8015}%s.",vardas,repuzka);
SendClientMessage(id,BLUE,msg2);
format(msg3,sizeof(msg3),"Dabar jus turite %i reputacijos taðkà (-us).",rep);
SendClientMessage(id,BLUE,msg3);

if(playerDB[id][reputacija]==100)
{
SendClientMessage(id,GREEN,"Sveikiname. Jûs surinkote 100 reputacijos taðkø.");
SendClientMessage(id,GREEN,"Sveikiname. Uþ tai gavote 1000xp IR 10000Lt");
GivePlayerMoneyA(playerid, 10000);
SetPlayerScore(playerid,GetPlayerScore(playerid)+1000);
format(msg4,sizeof(msg4),"Þaidëjas %s surinko 100 REP. Tad galite jo klausti, jis jums tikrai padës",name);
SendClientMessageToAll(BLUE,msg4);
}
return 1;
}

Komanda jau yra:D

3.

Dabar po :

public Clear(playerid)

Kur nors po:

playerDB[playerid][textas]=0;
playerDB[playerid][narkotikai]=0;
playerDB[playerid][specialybe]=0;
playerDB[playerid][ispejimai]=0;

Dedame:

playerDB[playerid][reputacija]=0;

4.

Po:

public LoadPlayerData(playerid)

Kur nors po:

playerDB[playerid][misija1] = dini_Int(file,"Misija1");
playerDB[playerid][misija2] = dini_Int(file,"Misija2");
playerDB[playerid][kompas] = dini_Int(file,"KOMPIUTERIS");
playerDB[playerid][flead] = dini_Int(file,"Flead");
playerDB[playerid][frakcija] = dini_Int(file,"Faction");
playerDB[playerid][funiforma] = dini_Int(file,"Funiforma");

Dedame:

playerDB[playerid][reputacija] = dini_Int(file,"REPTaskai");

5.

Na beveik ir baigiame, teliko vienas dalykas. Po:

public SavePlayerData(playerid,bool:simple)

Kur nors prie:

dini_IntSet(file,"Kompiuteris",playerDB[playerid][kompas]);
dini_IntSet(file,"Flead",playerDB[playerid][flead]);
dini_IntSet(file,"Faction",playerDB[playerid][frakcija]);
dini_IntSet(file,"Funiforma",playerDB[playerid][funiforma]);

Dedame:

dini_IntSet(file,"REPTaskai",playerDB[playerid][reputacija]);

Na štai PAMOKA baigta. Ji kurta mano:)

  • Teigiamai 2
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 4 savaičių...
  • Parašė po 2 savaičių...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4337 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ą...