Peršokti į turinį
Andrius1993

Sa-MP Scripto pamoka Zvejybos sistema

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

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


×