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

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

Idek komanda /turiu kad zaidejas galetu paziureti ar turi transporta ar ne va script :

Po

public OnPlayerCommandText(playerid, cmdtext[])

{

dedame:

if(!strcmp(cmdtext, "/turiu", true,8))

{

if (Carlist[playerid][Carid]==-1)

{

SendClientMessage(playerid,RAUDONA,"* Neturi transporto priemones. Gal ji sprogus? Bandyk /remont");

return 1;

}

GetPlayerName(playerid,vardas,24);

new msg[156];

format(msg,sizeof(msg),"{FFFFFF}Transporto savininkas: {00BB33}%s\n \n{FFFFFF}Jusu turimas transportas: {FF7722}%s",vardas,Buylist[Carlist[playerid][Typ]][Name]);

ShowPlayerDialog(playerid,8080,DIALOG_STYLE_MSGBOX,"{00BB33}Turimas transportas:",msg,"Ok","Iseit");

return 1;

}

Uzeik i SALG.LT serveris [Forumas Startavo] IP:82.135.154.33:3000

SALG.LT @ Back ;]

Idek komanda /sketi policininkams nes pvz jie nenori rasyt /mapp tai parasys /sekti va script:

Game modo pradžioje prie "new" prisirašome:

new Text:SEKIMAS;

Taipogi PlayerDB.txt prie kitų enum'ų:

new seklys,

new beglys,

Pirmasis new'as - jis mums reikalingas,kad atpažintų vėliau sukurtą Texdraw'ą

PlayerDB - reikalingi kintamiesiems atpažinti

2.

Sukuriame pačio texdraw'o funkcijas

public OnGameModeInit()

callback'e (gali būti data/init.txt):

SEKIMAS = TextDrawCreate( 14, 150, "Beglys uz:~n~~n~" );//sukuriame Texdraw nustatome jo buvimo koordinates, išlyginame teksta su ~n~ (keliame naują eilutę)

TextDrawUseBox(SEKIMAS,1);//Sukuriame dėžutę

TextDrawBoxColor(SEKIMAS,0x00000066);//Nustatome dėžutės spalva (pilka)

TextDrawTextSize(SEKIMAS,159, 81);//Nustatome dydį (patariu nekeisti)

TextDrawBackgroundColor(SEKIMAS,0x000000ff);//Fono spalva (juoda)

TextDrawFont(SEKIMS,2);//Tekstui priskiriame sšifto stylių

TextDrawLetterSize(SEKIMAS,0.33, 1);//nustatome raidžių dydį

TextDrawColor(SEKIMAS,0xffffffff );//raidžių spalva (balta)

TextDrawSetOutline(SEKIMAS,1);//nustatome kad raidės turėtų apipavidalinimą

TextDrawSetProportional(SEKIMAS,1);//Lyginam mūsų texdrw'ą proporcingai

TextDrawSetShadow(SEKIMAS,1);// uždedame šešėlį

Turime jau teksdraw'ą reikią jį kažkaip aktyvuoti taigi sukuriame komandą,po:

public OnPlayerCommandText(playerid, cmdtext[])

if(!strcmp(cmdtext, "/sekti", true,6))// ivedus komandą - tesiame, skacius komandos ilgis

{

if(playerDB[playerid][specialybe]!=2){SendClientMessage(playerid,RED,"Ši komanda teisėsaugai!"); return 1;}//darbo kintamasis nera lygus 2 - siunciame zinute (pasikeisti)

new tname[MAX_PLAYER_NAME];//sekamojo new'sas, priskiriantis visus zaidejus

strmid(tname,GetArgument(1, cmdtext, 0),0,MAX_PLAYER_NAME);// jei nebus tarpo tarpo tarp nick ar tik komanda, isgavus ja kartosime funkcija ir siusime pranesima:

if(!strcmp(tname,"0",true)){SendClientMessage(playerid, GREEN, "Sekti bėgantį nusikaltėlį /Sekti Vardas_Pavardė"); return 1;}

new tid = GetPlayeridMid(tname);//gauname sekamojo id

if(tid==INVALID_PLAYER_ID)// jei toks id negalioja

{

SendClientMessage(playerid,RED,"Tokio žaidėjo nėra!");// issiunciame zinute

return 1;//baigiame funkciją

}

if(tid == playerid)// jei id tavo - neleiziame

{

SendClientMessage(playerid,RED,"Kam tau sekti save !?");// zinute, baigiame

return 1;//baigiame funkciją

}

}

if(playerDB[playerid][seklys])// jei jau sekame zaideja, ir id nebegaliotu

{

if(tid == playerid)// nepersijungtu atgal (nebutina to daryti )

{

SendClientMessage(playerid,RED,"Kam tau sekti save !?");

return 1;

}

playerDB[playerid][seklys]=false;//kartojant komanta (galima ir "else", sekliui bus kintamasis priskirtas false; reiskia jis nebeseks

playerDB[tid][beglys]=false;//isjungiame sekamojo kintamaji "tid" - jo reiksme

TextDrawHideForPlayer(playerid, SEKIMAS); // paslepiame kurta texdraw'ą

DisablePlayerCheckpoint(playerid);// isjungiame chekpintus

return 1;// gražiname funkciją

}

{

GetPlayerName(tid,tname,sizeof(tname));// isgauname sekamojo vardą

new name[MAX_PLAYER_NAME];//gausime vardą, iš visų žaidėjų

GetPlayerName(playerid,name,sizeof(name));//gaunam varda, formatuojame

GetPlayerName(playerid,name,sizeof(name));

TextDrawShowForPlayer(playerid, SEKIMAS);// suaktyvuojame texdraw'ą

playerDB[tid][beglys]=true;//sekamajam priskiriame kintamaji - teigiama

playerDB[playerid][seklys]=true;// sekliui taipogi teigiamaji

return 1;// gražiname funkciją

}

Na dabar mes dar nieko neseksime, tik turime bėglio vardą,bei kintamuosius na o kas gi bus, jei jis bus teigiamas?

Po:

public OnPlayerUpdate(playerid)

(galima kurti ir taimerį, tai labiau patirusiems)

if(playerDB[playerid][seklys])// jei aktyvuojamas seklio kintamasis

{

for(new i = 0; i != MAX_PLAYERS; ++i){// masyvas zaidejams, jei jo nebus buginsis id

if (!IsPlayerConnected(i))continue;//jei "prisikonectinta" - tesiame

if (playerDB[beglys])//beglio kintamais isgautame masyve "i"

{

new vardas[MAX_PLAYER_NAME];//reikalingas gauti vardui

GetPlayerName(i,vardas,MAX_PLAYER_NAME);//gauname varda

new Float:coo[6], SekString[128];//float'as gauti pozicijai, SekString[128] - stingo dydis

GetPlayerPos(i,coo[0],coo[1],coo[2]);//gauname pozicija beglio "i" masyve

GetPlayerPos(playerid,coo[3],coo[4],coo[5]);//gauname savo pozicija

new Float:distance = ((floatabs(coo[0]-coo[3])+floatabs(coo[1]-coo[4])+floatabs(coo[2]-coo[5]))/3)/100;

format(SekString, sizeof(SekString), "~g~Beglys: ~w~%s ~g~uz:~n~~n~%f KM",vardas ,distance);// isvedame float'ą vaizduojame ji,gauname beglio vardą.

SetPlayerCheckpoint(playerid,coo[0],coo[1],coo[2],2);//Priskirime chekpointą pagal float.

TextDrawSetString(SEKIMAS, SekString);// texdrawui priskiriame string'ą

}

}

}

SendClientMessage funkcijose naudokite spalvas pagal save!

P.S - šis callbackas tikrina labai greitai,~6 kartus per sec todėl patartina naudoti taimerį, taip sunaudosite mažiau resursų, jei bus prašymų - sukursiu.

Jei rasite klaidų - praneškite,ačiū už dėmesį

Cia as darau copy/paste

Uzeik i SALG.LT serveris [Forumas Startavo] IP:82.135.154.33:3000

SALG.LT @ Back ;]

Idek anti flood kad zaidejei nefludintu va script:

Po OnPlayerText dedame:

1

SetPVarInt(playerid,"textspam",GetPVarInt(playerid,"textspam")+1);

SetTimerEx("clearspam",3000,false,"d",playerid);

if(GetPVarInt(playerid,"textspam") == 5) {

new string[258];

new tname[MAX_PLAYER_NAME];

GetPlayerName(playerid,tname,sizeof(tname));

format(string,sizeof(string),"{FFFFFF}[ Kick'as ]: {00FF11}%s {FFFFFF}Išmestas Už Flood'inimą.", tname);

SendClientMessageToAll(GREEN,string);

Kick(playerid);

}

else if(GetPVarInt(playerid,"textspam") == 3) {

SendClientMessage(playerid,0xFF484855,"{FFFFFF}Nebeflood'ink, Palauk {009900}3 Sec.");

return 0;

}

2

Po OnplayerCommandText dedame:

SetPVarInt(playerid,"textspam",GetPVarInt(playerid,"textspam")+1);

SetTimerEx("clearspam",3000,false,"d",playerid);

if(GetPVarInt(playerid,"textspam") == 5) {

new string[258];

new tname[MAX_PLAYER_NAME];

GetPlayerName(playerid,tname,sizeof(tname));

format(string,sizeof(string),"{FFFFFF}[ Kick'as ]: {FF9900}%s {FFFFFF}Išmestas Už Flood'inimą.", tname);

SendClientMessageToAll(GREEN,string);

Kick(playerid);

}

else if(GetPVarInt(playerid,"textspam") == 3) {

SendClientMessage(playerid,0xFF484855,"{FFFFFF}Nebeflood'ink, Palauk {009900}3 Sec.");

return 0;

}

1

Kažkur prie OnPLayerRequestSpawn dedame:

forward clearspam(playerid);

public clearspam(playerid)

{

SetPVarInt(playerid,"textspam",0);

}

Uzeik i SALG.LT serveris [Forumas Startavo] IP:82.135.154.33:3000

SALG.LT @ Back ;]

Idek i serveri tecnihine va script:

Objektai :

CreateObject(4199,-1968.939,79.905,28.800,0.0,0.0,90.000);

CreateObject(17950,-1975.927,99.179,28.963,0.0,0.0,90.000);

CreateObject(970,-1980.278,104.741,27.231,0.0,0.0,-90.000);

CreateObject(970,-1980.258,108.908,27.183,0.0,0.0,-90.000);

CreateObject(987,-1953.282,96.130,25.281,0.0,0.0,-90.000);

CreateObject(987,-1953.204,106.580,25.281,0.0,0.0,-90.000);

CreateObject(10282,-1974.485,98.891,27.662,0.0,0.0,-90.000);

CreateObject(11504,-1961.257,97.552,26.687,0.0,0.0,-90.000);

CreateObject(14826,-1974.854,106.446,27.452,0.0,0.0,0.0);

CreateObject(14826,-1970.102,87.479,27.452,0.0,0.0,0.0);

Darbas sukurtas prei Gelezinkelio stoties

Pradedam !

1.Punktas

Ieiname i gamemodes/date/playerdb.txt ir irasome:

bool:tech,

2.Punktas

Dabar sukursime darba su direktoriumi

Ieiname i gamemodes/date/pickup.txt rasome:

tech,

Prei kitu pickup:

pickups[0][tech]=CreatePickupA(1275, 2,-1983.2345,86.3338,27.6799); // techanikine

Pereinam i GM

Po

public OnPlayerPickUpPickup(playerid, pickupid)

{

Prie kitu darba iterpiame:

//----------------------technikine

if(pickupid == pickups[0][tech])

{

if(playerDB[playerid][specialybe]==33)

{

SendClientMessage(playerid,COLOR,"* Technikine: atsisakote! Vistiek mums jusu nereikejo!");

playerDB[playerid][specialybe]=0;

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

if(GetPlayerScore(playerid)<1200)

{

SendClientMessage(playerid,COLOR,"* Technikine: Atsiprasome, jus dar nepakankamai patyres! (xp > 1200)");

return 1;

}

if(!playerDB[playerid][teises])

{

SendClientMessage(playerid,COLOR,"* Technikine: Privalai tureti vairuotojo pazymejima, kaip kitaip vairuosi masina?");

return 1;

}

if(!playerDB[playerid][leanvited][32])

{

SendClientMessage(playerid,COLOR,"* Technikine: Pirmiausia pasikalbekit su direktorium. ");

return 1;

}

SendClientMessage(playerid,COLOR,"* Technikine: Sveikinu, prisidejus prie musu saunios komandos.");

SendClientMessage(playerid,COLOR,"* Technikine: Pasiimk taksi masina, ir prie darbo!");

playerDB[playerid][specialybe]=33;

SetPlayerSkin(playerid,255);

playerDB[playerid][uniforma]=255;

playerDB[playerid][uniformd]=true;

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

}else{

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

}

return 1;

}

Einame i gamemodes/date/playerDB.txt

Ir po kitais Lead irasom:

stock SendMessageToTech(color,text[])

{

for(new i=0; i<MAX_PLAYERS; i++)

{

if(IsPlayerConnected(i))

{

if(playerDB[specialybe]==33)

{

SendClientMessage(i,color,text);

}

}

}

}

Einame zemiau ir randame :

stock GetJobFromFaction(faction)

{

Po juo parasome:

else if(faction == LEAD_Tech) return 33;

Dabar sukuriame /priimt /ismest komandas

Surandame komanda /priimt ir prei else if kitu iterpiame:

else if(playerDB[playerid][plead] == LEAD_Tech) SendClientMessage(id,GANG_COLOR,"* Jus kvieciamas dirbti Techaniku, jei norite, prisistatykit i Technikines Pervarymo Centra !");

Surandame komanda /ismest ir prie kitu else if iterpiame :

else if(playerDB[playerid][plead] == LEAD_Tech) SendClientMessage(id,GANG_COLOR,"* Jus ismestas is Technikiniu Perziuros Centro.. !");

Stai ir darbas sukurtas

3.Punktas

Sukuriame komanda , kad duotu technikines pazymejima:

if(!strcmp(cmdtext, "/tsupa", true,6))

{

if(playerDB[playerid][specialybe]!=33){SendClientMessage(playerid,COLOR,"* Si komanda tik adminiu"); return 1;}

if(cmdtext[6]==0){SendClientMessage(playerid,COLOR,"* Iteikti technikines pazymejima: /tsupa [vardo_dalis]"); return 1;}

new vardas[MAX_PLAYER_NAME];

strmid(vardas,cmdtext[7],0,MAX_PLAYER_NAME);

new id = GetPlayeridMid(vardas);

if (id == INVALID_PLAYER_ID){ SendClientMessage(playerid, COLOR, "* Zaidejo nera"); return 1;}

new Float:Coo[3];

GetPlayerPos(id,Coo[0],Coo[1],Coo[2]);

if(!PlayerToPoint(5, playerid, Coo[0],Coo[1],Coo[2])){SendClientMessage(playerid, COLOR, "* Zaidejas per toli!"); return 1;}

if(playerDB[id][tech])

{

SendClientMessage(playerid,COLOR,"* Zaidejas jau turi pazymejima.");

return 1;

}

if(GetPlayerMoneyA(playerid)<3000)

{

SendClientMessage(playerid,COLOR,"* Technikines Pazymejimas kainuoja 3000LT.");

return 1;

}

GivePlayerMoneyA(playerid,-200);

SendClientMessage(playerid,COLOR,"* Technikines Pazymejima iteikiau.");

playerDB[id][tech]=true;

SendClientMessage(id,COLOR,"* Gavau Technikines pazymejima!");

pelnas[6]+=100;

return 1;

}

4.Punktas

Sukuriame policininkams komanda , kad galetu tikrinti ar zaidejas turi Technikines pazymejima:

if(!strcmp(cmdtext, "/tpaz", true,5))

{

if(playerDB[playerid][specialybe]!=1){SendClientMessage(playerid,COLOR,"* Si komanda tik policininkams"); return 1;}

if(cmdtext[5]==0){SendClientMessage(playerid,0x7DB34DFF,"* Patikrinti, zaidejo technikines pazym.: /tpaz [vardo_dalis]"); return 1;}

new vardas[MAX_PLAYER_NAME];

strmid(vardas,cmdtext[6],0,MAX_PLAYER_NAME);

new id = GetPlayeridMid(vardas);

if (id == INVALID_PLAYER_ID){ SendClientMessage(playerid, COLOR, "* Zaidejo nera"); return 1;}

if (id == playerid){ SendClientMessage(playerid, COLOR, "* Save galiu pasitikrinti ir paprasciau!"); return 1;}

new Float:Coo[3];

GetPlayerPos(id,Coo[0],Coo[1],Coo[2]);

if(!PlayerToPoint(30, playerid, Coo[0],Coo[1],Coo[2])){SendClientMessage(playerid, COLOR, "* Zaidejas per toli!"); return 1;}

if(playerDB[id][masina]==-1){SendClientMessage(playerid, COLOR, "* Zaidejas dar nevairavo masinos!"); return 1;}

if(playerDB[id][tech]) { SendClientMessage(playerid,COLOR,"* Zaidejo Technikines pazymejimas galioja."); SendClientMessage(id,COLOR_IVORY,"* Policija: Mano pazymejimas galioja! Policija atsipraso uz sutrukdyma."); return 1;}

SendClientMessage(playerid,COLOR,"* Zaidejo pazymejimas negalioja! Turiu teise ji suimti!");

SendClientMessage(id,COLOR,"* Policija: Vairuoju be Technikines Pazymejimo.");

SetPlayerWantedLevel(id,GetPlayerWantedLevel(id)+(2+random(5)));

new mokestis = 200+random(500);

if(GetPlayerMoneyA(id)<mokestis){

GivePlayerMoneyA(playerid,GetPlayerMoneyA(id));

ResetPlayerMoneyA(id);

return 1;

}

GivePlayerMoneyA(playerid,mokestis);

GivePlayerMoneyA(id,-mokestis);

return 1;

}

5.Punktas

Padarome , kad kaip isidi i masina be Technikines pazymejimo rasytu , kad esi be jo :

Surandame:

if (ArMasinaTinkama(playerid,model)) return 1;

if(model != BMX && model != MTBIKE && model != BIKE) //Netaikomi dviraciams dalykai

{[/b]

Ir rasome po juo :

if(!playerDB[playerid][tech]) SendClientMessage(playerid,COLOR,"* Jus neturite Technikines pazymejimo! Rekomenduojama Kreiptis i Techninkines apziuros centra!");

6.Punktas

Surandame eilute :

public Clear(playerid)

{

Ir prie kitu iterpiame :

playerDB[playerid][tech]=false;

7.Punktas

Surandame eilute:

public LoadPlayerData(playerid)

{

Randame tokia eilute :

if (dini_Int(file,"Tech")) playerDB[playerid][tech] = true;

Surandame eilute:

public SavePlayerData(playerid,bool:simple)

{

Po juo rasime eilute:

dini_BoolSet(file,"License",playerDB[playerid][teises]);

Iterpsime:

dini_BoolSet(file,"Tech",playerDB[playerid][tech]);

Uzeik i SALG.LT serveris [Forumas Startavo] IP:82.135.154.33:3000

SALG.LT @ Back ;]

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

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.


×
×
  • Sukurti naują...