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

Sa-MP Scripto pamoka Zvejybos sistema


Andrius1993

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4311 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 šiandien sukursiu pamoką kaip sukurti kad serveri galima butu gaudyti žuvį.

Pradedam

1.Sukuriam kintamuosius, šituos rašom prie new kazkas;

new Traukti[MAX_PLAYERS];new Kibimas[MAX_PLAYERS];new Zvejojimas[MAX_PLAYERS];new Pabegimas[MAX_PLAYERS];

Rašykit i viena eilute kaip parodyta sutaupisyt eilučiu

Tada sukurem dar 2 kintamuosius tik šikart einam į gamemode/data/playerDB ir ten rašom:

zuvis,

gskilas,

2.Dedame po gamemodo kintamasiais(po new)

Darysime kad rodytu ka pagavo

new FishNamesNumber = 22;

new FishNames[22][20] = {

{"Striuke"},

{"Palaidine"},

{"Kelnes"},

{"Kraba"},

{"Sortus"},

{"Eseri"},

{"Delfina"},

{"Rikli"},

{"Silke"},

{"Lydeka"},

{"Batus"},

{"Lasisa"},

{"Upetaki"},

{"Tuna"},

{"Menke"},

{"Karpi"},

{"Ziobri"},

{"Sama"},

{"Vezliuka"},

{"Kojine"},

{"Pinigu maisa"},

{"Konservus"}

};

3.Darome žvejojimo komandą kad ja parasius užmestumem meškerę:

CMD:zvejoti(playerid,params[])

{

if(playerDB[playerid][meskere]==0)

{

SendClientMessage(playerid,COLOR_RED,"Nuturite meškeres.");

return 1;

}

if(playerDB[playerid][masalas]<1)

{

SendClientMessage(playerid,COLOR_RED,"Neturite masalo.");

return 1;

}

if(Zvejojimas[playerid]==1)

{

SendClientMessage(playerid,COLOR_RED,"Meškere jau užmesta.");

return 1;

}

if(IsPlayerInRangeOfPoint(playerid,60,x,y,z))

{

GameTextForPlayer(playerid, "Palaukite 30 sekundžiu", 5000, 5);

Kibimas[playerid] = SetTimerEx("Kimba",30000,0,"i",playerid);

Zvejojimas[playerid]=1;

}else{

SendClientMessage(playerid,COLOR_RED,"Neesate žvejojimo vietoje.");

}

return 1;

}

Ten kur yra x,y,z nustatysite kurioje vietoje norite kad galima butu užmesti meškerę

4.Darome jog parašius komandą kažkas atsitiktu,taigi sukurem pirma forwardus:

forward Kimba(playerid); forward Begti(playerid);

tada rašom gale modo:

public Kimba(playerid)

{

Zvejojimas[playerid]=0;

GameTextForPlayer(playerid, "Jums užkibo žuvis ~N~Spauskite ENTER", 5000, 5);

Traukti[playerid]=1;

KillTimer(Kibimas[playerid]);

Pabegimas[playerid] = SetTimer("Begti",5000,0);

return 1;

}

public Begti(playerid)

{

if(Traukti[playerid]==1)

{

KillTimer(Pabegimas[playerid]);

Traukti[playerid]=0;

GameTextForPlayer(playerid, "~R~Žuvis pabego nespejote ištraukti", 3000, 5);

}else{

KillTimer(Pabegimas[playerid]);

}

return 1;

}

5.Darome kad eitu ištraukti meškerę su enter, po OnPlayerKeyStateChange rašom:

if (PRESSED(KEY_SECONDARY_ATTACK)) // ENTER

{

//============1skilas==================

if(playerDB[playerid][gskilas]==0)

{

if(random(10)==5)

{

new rand,fstring[128];

rand = random(FishNamesNumber);

format(fstring, sizeof(fstring), "Pagavote %s", FishNames[rand]);

GameTextForPlayer(playerid, fstring, 5000, 5);

Traukti[playerid]=0;

playerDB[playerid][zuvis]++;

playerDB[playerid][masalas]--;

new pname[ MAX_PLAYER_NAME ],msg[64];

GetPlayerName( playerid, pname, MAX_PLAYER_NAME );

format(msg, sizeof(msg), "%s pagavo %s",pname,FishNames[rand]);

MeFunction(playerid,msg);

}else{

GameTextForPlayer(playerid, "~G~Kaip smagu žvejoti", 5000, 5);

playerDB[playerid][masalas]--;

Traukti[playerid]=0;

}

}

//===============2skilas==============

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

{

if(random(8)==4)

{

new rand;

rand = random(FishNamesNumber);

Traukti[playerid]=0;

playerDB[playerid][zuvis]++;

playerDB[playerid][masalas]--;

new pname[ MAX_PLAYER_NAME ],msg[64];

GetPlayerName( playerid, pname, MAX_PLAYER_NAME );

format(msg, sizeof(msg), "%s pagavo %s",pname,FishNames[rand]);

MeFunction(playerid,msg);

}else{

GameTextForPlayer(playerid, "~G~Kaip smagu žvejoti", 5000, 5);

playerDB[playerid][masalas]--;

Traukti[playerid]=0;

}

}

//==================3skilas==============

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

{

if(random(6)==3)

{

new rand;

rand = random(FishNamesNumber);

Traukti[playerid]=0;

playerDB[playerid][zuvis]++;

playerDB[playerid][masalas]--;

new pname[ MAX_PLAYER_NAME ],msg[64];

GetPlayerName( playerid, pname, MAX_PLAYER_NAME );

format(msg, sizeof(msg), "%s pagavo %s",pname,FishNames[rand]);

MeFunction(playerid,msg);

}else{

GameTextForPlayer(playerid, "~G~Man jau lengviau žvejoti", 5000, 5);

playerDB[playerid][masalas]--;

Traukti[playerid]=0;

}

}

//=================4skilas===============

if(playerDB[playerid][gskilas]==3)

{

if(random(2)==1)

{

new rand;

rand = random(FishNamesNumber);

Traukti[playerid]=0;

playerDB[playerid][masalas]--;

playerDB[playerid][zuvis]++;

new pname[ MAX_PLAYER_NAME ],msg[64];

GetPlayerName( playerid, pname, MAX_PLAYER_NAME );

format(msg, sizeof(msg), "%s pagavo %s",pname,FishNames[rand]);

MeFunction(playerid,msg);

}else{

playerDB[playerid][masalas]--;

GameTextForPlayer(playerid, "~G~Kaip man gerai sekasi", 5000, 5);

Traukti[playerid]=0;

}

}

//================5skilas=============

if(playerDB[playerid][gskilas]==4)

{

new rand;

rand = random(FishNamesNumber);

Traukti[playerid]=0;

playerDB[playerid][zuvis]++;

playerDB[playerid][masalas]--;

new pname[ MAX_PLAYER_NAME ],msg[64];

GetPlayerName( playerid, pname, MAX_PLAYER_NAME );

format(msg, sizeof(msg), "%s pagavo %s",pname,FishNames[rand]);

MeFunction(playerid,msg);

}else{

playerDB[playerid][masalas]--;

GameTextForPlayer(playerid, "~G~As jau tikras žvejys", 5000, 5);

Traukti[playerid]=0;

}

//===================pabaiga===========

}

}

šiaip pamoką jau butu baigta bet liko dar biški

Taigi rašom po:

Public clear

playerDB[playerid][zuvis]=0; playerDB[playerid][masalas]=0;

Tada po:

public LoadPlayerData

rasom:

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

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

Ir galiausiai po:

public SavePlayerData

rašom:

dini_BoolSet(file,"zuvis",playerDB[playerid][zuvis]);

dini_BoolSet(file,"masalas",playerDB[playerid][masalas]);

Jai negaila +rep

  • Neigiamai 3
Nuoroda į komentarą
Dalintis per kitą puslapį

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