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

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

Darbo su direktoriaus kurimas

Sveiki taigi surengsiu jums darbo su direktoriaus kurimą.Pradedame:

1 punktas.

Pirmiausia nueinam i DEBUG, ar paprasciausiai i bet koki serveri ir issisaugojam marskiniu vieta.

Tai padaryti galite paspaude [t] ir parase /save darbas

2 punktas.

Nu va turim koordinates dabar einam i data/pickups.txt po

Kodas:

enum pdata{

irasome darbas, , tada einam i apacia ir prie visu darbų pickupu irasome:

Kodas:

pickups[0][darbas]=CreatePickupA(1275,2,X,Y,Z); // darbas

Kad gautumet X,Y,Z nueikite i GTA direktorija ten rasite savepositions.txt ir ten bus eilute panasi i sita:

Cituoti:

AddPlayerClass(123,222.1660,1190.4722,1080.2578,88.9968,0,0,0,0,0,0); // darbas

Is siu kordinaciu mums reikės:

Cituoti:

222.1660,1190.4722,1080.2578

3 punktas.

Sukurem pickupa, dabar reikia padaryti kad tas pickupas ka nors darytu kaj ant jo uzlipame (siuo atveju idarbintu zaideja):

Atsidarome savo gamemodo pwn lapą ir susirandame: public OnPlayerPickUpPickup(playerid, pickupid)

{

Po juo įrašome:

Cituoti:

if(pickupid == pickups[0][darbas]) // jusu pickupas

{

if(playerDB[playerid][specialybe]==SPECID) // cia irasome ID toki kurio dar nera

{

if(playerDB[playerid][uniformd]) // si funkcija tikrina ar darbuotojas norintis iseit is darbo su uniforma ar be

{

SendClientMessage(playerid,COLOR,"* Jus esate su uniforma. Pries palikdami musu stoti ja nusivilkite.");

return 1;

}

// isejimas is darbo

SendClientMessage(playerid,COLOR,"*darbas: Atsisakete darbo!"); // pranesa zaidejui kad isejo is darbo

playerDB[playerid][specialybe]=0; // nustato zaidejo specialybe i 0

playerDB[playerid][uniforma]=-1; // atima uniforma

}else if(playerDB[playerid][specialybe]==0){

if(GetPlayerScore(playerid)<100) // tikrina ar zaidejas turi ne maziau (siuo atveju 100 xp)

{

SendClientMessage(playerid,COLOR_MEDIUMMAGENTA,"* darbas: Atsiprasome, jus dar nepakankamai patyres! (xp > 100)");

SendClientMessage(playerid,COLOR_MEDIUMMAGENTA,"* darbas: Sugrizkite veliau.");

return 1;

}

if(!playerDB[playerid][teises]) // tikrina ar zaidejas turi teises

{

SendClientMessage(playerid,COLOR_MEDIUMMAGENTA,"* darbas: Atsiprasome, bet turite tureti vairavimo teises.");

return 1;

}

SendClientMessage(playerid,COLOR,"* darbas: Sveikinu, prisidejus prie musu!"); // jei viskas atitinka tuomet idarbinam zmogu.

playerDB[playerid][drabuziai]=GetPlayerSkin(playerid); // priskiriame uniforma

if(playerDB[playerid][lytis]==1) // jei vyras

{

SetPlayerSkin(playerid,skin id);

playerDB[playerid][uniforma]=skin id; // vyro uniforma

ApplyAnimation(playerid,"PLAYIDLES","stretch",4.1,0,0,0,0,0); // cia animation :)

}else{

SetPlayerSkin(playerid,skin id); // jei moteris

playerDB[playerid][uniforma]=skin id;

ApplyAnimation(playerid,"PLAYIDLES","stretch",4.1,0,0,0,0,0);

}

playerDB[playerid][uniformd]=true; // patwirtina kad zmogus turi uniforma

playerDB[playerid][specialybe]=SPEC ID; // irasykite ta pati kaip pradzioje

}else{

SendClientMessage(playerid,COLOR,"*darbas: Negalite dirbti dvieju darbu!");

}

return 1;

}

4 punktas.

Na va iprastas darbas sukurtas, pareikime prie direktoriaus.

Einame i data/playerDB.txt ir virsuje rasome:

Cituoti:

#define LEAD_DARBAS ID // ID pasirinkite patys

Dabar einame i data/functions.txt ir virsui prie kitu stock irasome:

Cituoti:

stock SendMessageToDarbas(color,text[])

{

for(new i=0; i

{

if(IsPlayerConnected(i))

{

if(playerDB[specialybe]==SPECID)

{

SendClientMessage(i,color,text);

}

}

}

}

tada tame paciame functions.txt susirandame

Cituoti:

stock GetJobFromFaction(faction)

{

ir ten tarp visu kitu iterpiame

Cituoti:

else if(faction == LEAD_DARBAS) return SPECID;

5 punktas.

Viskas su data failais berods susitwarkem dabar gryztam i GM.

Ten kur raseme kas vyksta uzlipus ant pickupo po situo:

Cituoti:

if(!playerDB[playerid][teises]) // tikrina ar zaidejas turi teises

{

SendClientMessage(playerid,COLOR_MEDIUMMAGENTA,"* darbas: Atsiprasome, bet turite tureti vairavimo teises.");

return 1;

}

irasykime:

Cituoti:

if(!playerDB[playerid][leanvited][Darbo id vienu pazesnis negu rasete prie darbo kurimo])

{

SendClientMessage(playerid,COLOR_MEDIUMMAGENTA,"* dabras: Musu direktorius neinformuotas apie jus, pries istojant, turite pasikalbeti su juo.");

return 1;

}

*** paaiskinimas: irasome skaiciu vienu mazesni nei LEAD IDAS tarkim playerDB buvom irase #define LEAD_DARBAS 10 taj sklaiusteliuose rasysim 9.

6 punktas.

na dabar darysim racija, /priimt /ismest komandas.

susirandame /r komanda

ten bus kazkas panasaus i:

Cituoti:

if(!strcmp(cmdtext, "/r", true,2))

{

if(!(playerDB[playerid][specialybe] == 1 || playerDB[playerid][specialybe] == 2 || playerDB[playerid][specialybe] == 3)

{

SendClientMessage(playerid,COLOR,"* Jus neturite racijos.");

return 1;

}

Pabrauktoje eiluteje irasom savo darba taj turetu atoryti taip:

Cituoti:

if(!(playerDB[playerid][specialybe] == 1 || playerDB[playerid][specialybe] == 2 || playerDB[playerid][specialybe] == 3 || playerDB[playerid][specialybe] == SPECID)

Dabar siek tiek zemiau turetume rasti eilute panasia i sita:

Cituoti:

if(playerDB[playerid][specialybe] == 1) SendMessageToCops(TEXTCOL_WHITE,msg);

po ja rasome:

Cituoti:

else if(playerDB[playerid][specialybe] == SPECID) SendMessageToDarbas(TEXTCOL_WHITE,msg);

Viskas! racija padaryta.

Einame prie /priimt /ismest.

Susiraskite /priimt komanda ir kur nors vidury iterpkite sita eilute:(pamatysite ten 5-6 gal ir daugiau gal ir maziau panasiu eiluciu i sia:

Cituoti:

else if(playerDB[playerid][plead] == LEAD_DARBAS) SendClientMessage(id,TEXTCOL_RED,"* Jus kvieciamas i darba!");

ta pati darom su /ismest tik ten irasom stai tokia eilute:

Cituoti:

else if(playerDB[playerid][plead] == LEAD_DARBAS) SendClientMessage(id,TEXTCOL_RED,"* Jus ismestas is darbo!");

7 punktas.

Na ka galiausiai priskirkime darbui masina ir padarykime kad eitu pinigai i pelna ;)

taigi kurnors po

Cituoti:

public OnPlayerStateChange(playerid, newstate, oldstate)

rasome:

Kodas:

if(model == Masinosid)

{

if(spec == specid)

{

SendClientMessage(playerid,0x00FF00AA,"* uz vazinejima firmai uzdirbsite 40LT/min"); // sia suma nustatysite siek tiek veliau :)

return 1;

}

SendClientMessage(playerid,0x00FF00AA,"* Jus ne darbuotojas!");

Stop(playerid);

return 1;

}

Na va o dabar padarykime kad pinigai eitu i pelna

na va nelabai moku paaiskinti kur ja reiks irasyt, na meginkim turetu rasti.

Spaudziate CTRL+f ir irasote

Kodas:

((model

jums turejo ismesti panasia eilute i sia:

Cituoti:

if((model == 598 || model== 523 || model == 599) && playerDB[playerid][specialybe] == 1) pelnas[0]+=40;

po ja rasome sawo darbo atlyginima, tai turetu atrodyti taip:

Cituoti:

else if(model == MasinosID && playerDB[playerid][specialybe] == SPECID) pelnas[sPECID]+=40;

*** paaiskinimas: i situos sklaistelius irasome skaiciu vienu mazesni uz specialybes ID, taj yra pvz specialybes id pasirinkot 11 taj [pelnas][10] manau supratote.

8 punktas.

Jei kompiliuojant meta stai tokius errorus:

Cituoti:

array index out of bounds (variable "playerDB")

Jei toks erroras kaip paminetas virsui taj jums reikia eiti i data/playerDB

ten rasite eilute leaninvited[*skaicius]

*skaicius - taj gali buti bet koks irasytas skaicius, paimkite ir padidinkite ji. didinkite tol kol nebemes error. (tai yra limitas)

Jei meta šį errorą:

Cituoti:

array index out of bounds (variable "pelnas")

Jeigu erroras toks kaip antras jums reikia eiti į data/pelnas.txt ir padidinti pelno limitą, su pelnu irgi tas pats didinkite tol kol nebemes sito erroro.

+Rep už viską

http://www.minestudio.weebly.com

Ivairiu zaidimu failai ir visa kita.

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

Meta 5erorus.

data/functions.txt(14) : error 028: invalid subscript (not an array or too many subscripts): "i"

data/functions.txt(16) : error 001: expected token: "}", but found "if"

data/functions.txt(16 -- 18) : error 028: invalid subscript (not an array or too many subscripts): "IsPlayerConnected"

data/functions.txt(16 -- 20) : error 001: expected token: "}", but found "if"

data/functions.txt(16 -- 20) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

5 Errors.

Padek!!! :(

Ieškomas Counter-Strike Source serverių kurėjas. skype:naturex_1

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

if(!playerDB[playerid][leanvited][Darbo id vienu pazesnis negu rasete prie darbo kurimo])

{

SendClientMessage(playerid,COLOR_MEDIUMMAGENTA,"* dabras: Musu direktorius neinformuotas apie jus, pries istojant, turite pasikalbeti su juo.");

return 1;

}

man meta eror del sito zek :C:\Documents and Settings\MANO\Desktop\vyto failai\SFG 7.2 LT By Honda Ir Toffy\gamemodes\band7.pwn(14082) : error 032: array index out of bounds (variable "playerDB")

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

1 Error.

padek

  • Parašė po 1 mėnesio...

Prašau padėkit man meta 5 errorus,kaip ir visiems.

data/functions.txt(6) : error 028: invalid subscript (not an array or too many subscripts): "i"

data/functions.txt(7) : error 001: expected token: "}", but found "if"

data/functions.txt(7 -- 8) : error 028: invalid subscript (not an array or too many subscripts): "IsPlayerConnected"

data/functions.txt(7 -- 9) : error 001: expected token: "}", but found "if"

data/functions.txt(7 -- 9) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

Pirmas tikslas:

5 +Rep'ai. [+]

100 FLT. [+]

40 Post'ų. [+]

  • Parašė po 1 mėnesio...

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