Peršokti į turinį
*DeiVidas*

[PAMOKA] Reputacijos Sistema

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

Dalintis šį pranešimą


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





Svečias

Padaryk saugojimą ir krovimą ant MySQL ir gausi 2REP.

Dalintis šį pranešimą


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


kazkur prie savo ten visos info kodu dedi

new rep = playerDB[playerid][reputacija];

tada kur formatuoji zinute, dek gale

Jus reputacijos tasku turite %i

tada prie visu kitu tada paciam gale kintamuju dek ,rep ir f5

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


×