-
Posts
113 -
Joined
-
Last visited
Content Type
Profiles
Forums
News
Documentation
Posts posted by OscarJoaca
-
-
Pai, cauti in GM(ctrl+f):
public OnPlayerKeyStateChange
Daca nu ai, adaugi tu asta:
public OnPlayerKeyStateChange { //aici pui bind-ul return 0; }
Dupa, ca sa faci un bind, trebuie sa faci asa: Pui asta:
if (newkeys & KEY_LOOK_BEHIND) { //aici pui tot ce contine comanda /engine inafar de prima si ultima paranteza }
Aici ai o lista cu bind-uri https://wiki.sa-mp.com/wiki/Keys
Succes!
Scuze dar nu prea ma pricep la tutoriale.
Adica prima si ultima paranteza?
-
Descriere tutorial: As dori un tutorial in care ne aratati cum sa facem ca de ex daca apasam tasta 2 sa foloseasca comanda /engine si daca apasam tasta n sa foloseasca comanda /lock. Multumesc! ;)
-
De cand mi-am reinstall windows-ul 7 professional, imi da erroare aceasta http://i.imgur.com/iCW4xqS.png pe orice gamemode. Am cautat pe internet, am incercat toate modalitatile, de a install nush care Microsoft Pack pana la adaugarea unor fisiere in folderul Pawno.
-
Am avut si eu problema asta intr-un timp ... incearca sa reinstalezi platforma , bineinteles descarcand alta , daca folosesti nulled sau chiar daca e licentiata , acesteia s-ar putea sa-i lipseasca ceva . Nu mai tin minte daca la mine a fost de la permisiuni sau de la platforma, dar incercarea moarte n-are .
Am rezolvat, T/C.
-
Nu inteleg ai mai jos butonul "Post new topic" ...
Ma refer sa scriu ceva in acel topic ...
-
Salut, am luat o theme de pe net, Carbon credca sa numea, si am o problema foarte mare cu ea, nu imi apare casuta de la postara topic.
-
Nu ai asezat bine codul , primele warning-uri iar la cel cu playerid, arata-mi linia .
Revolvat faza cu warning-urile
\\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(42264) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.Linia:
TimerGetGift[playerid] = 0;
-
Ma mai ajuta cineva, ca ma grabesc ...
-
Defineste o variabila la inceputul gamemode-ului , de exemplu :
new TimerGetGift[MAX_PLAYERS];
La "public OnPlayerConnect" vei adauga :
TimerGetGift[playerid] = 0;
La comanda /getgift , la inceput , vei adauga asa :
if(TimerGetGift[playerid] >= 1) { SendClientMessage(playerid, -1, "Ai luat deja un cadou, trebuie sa astepti doua ore !"); return 1; }
Apoi urmeaza ca la fiecare case primit sa adaugi urmatoarea linie :
TimerGetGift[playerid] = 1; SetTimerEx("NewGetGift", 7200000, false, "i", playerid);
Asa vei adauga la fiecare case la care vrei sa se adauge timer-ul .
Acum, undeva mai jos, vei face un public de genul :
forward NewGetGift(); public NewGetGift() { TimerGetGift[playerid] = 0; }
Cam asta e ceea ce ai de facut .
Sa-ti explic acum niste lucruri :
1.TimerGetGift poate fi inlocuit cu orice variabila vrei tu, eu ti-am dat un exemplu , tu poti pune orice in loc de TimerGetGift .
2.TimerGetGift[playerid] = 0; inseamna ca player-ul nu a luat cadou si il va lasa sa foloseasca comanda /getgift .
3.TimerGetGift[playerid] = 1; inseamna ca player-ul a luat cadou si nu il va lasa sa foloseasca comanda /getgift daca adaugi linia pe care ti-am dat-o mai sus .
4.SetTimerEx("NewGetGift", 7200000, false, "i", playerid); este timer-ul de 2 ore setat pentru player-ul care a dat /getgift , acel false inseamna ca timer-ul nu se repeta dupa doua ore, ceea ce-i ofera player-ului posibilitatea sa dea /getgift din nou .
5.public NewGetGift(); este functia care dupa doua ore ii va seta player-ului variabila "TimerGetGift[playerid]" la 0, adica player-ul va putea da /getgift iar dupa ce trece timer-ul explicat mai sus . In loc de NewGetGift tu vei putea pune orice doresti , eu am pus un exemplu . Dar ai grija, daca schimbi numele de la public, sa-l schimbi si de la forward .
Iti urez mult succes !
Multumesc!
Am intalnit niste errori:
\\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(17064) : warning 217: loose indentation
\\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(17070) : warning 217: loose indentation
\\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(17078) : warning 217: loose indentation
\\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(17089) : warning 217: loose indentation
\\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(17096) : warning 217: loose indentation
\\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(42264) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.Eu am definit playerid, nush dece nu vrea sa-l citeasca in situatia asta " TimerGetGift[playerid] = 0;"
-
Problema intalnita (descriere): Am un bug la getgift, poti da de cate ori vrei... Si vreau sa fac sa poti da o data la 2 ore...
Ero(area / rile) / warning-(ul / urile): -
Liniile de cod / sursa / script-ul(obligatoriu):CMD:getgift(playerid, params[])
{
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Trebuie sa te loghezi mai intai.");
if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_WHITE,"{37B9C8}Please get out of the car.");
if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1516.1532,-1655.5228,13.5392)) return SCM(playerid,COLOR_WHITE, "Nu esti la locul unde poti folosi [/getgift] (LSPD).");{
{
new Random = random(6);
switch(Random)
{
case 0:
{
GivePlayerCash(playerid,25000);
Update(playerid,pCashx);
SendClientMessage(playerid, COLOR_WHITE, "Felicitari!Ai castigat 25.000$");
}
case 1:
{
SendClientMessage(playerid, COLOR_WHITE, "Felicitari!Ai castigat 5 ppoints");
}
case 2:
{
PlayerInfo[playerid][pMats] += 50000;
Update(playerid,pMatsx);
SendClientMessage(playerid, COLOR_WHITE, "Felicitari!Ai castigat 50000 materiale");
}
case 3:
{
PlayerInfo[playerid][pDrugs] += 10;
new wakaname[25],str2[128];
GetPlayerName(playerid,wakaname,sizeof(wakaname));
format(str2,sizeof(str2),"UPDATE users SET `Drugs`='%d' WHERE `name`='%s'",PlayerInfo[playerid][pDrugs],wakaname);
mysql_query(SQL,str2);
SendClientMessage(playerid, COLOR_WHITE, "Felicitari!Ai castigat 10 grame de droguri");
}
case 4:
{
PlayerInfo[playerid][pExp] += 2;
SendClientMessage(playerid, COLOR_WHITE, "Felicitari!Ai castigat 2 respect points");
}
case 5:
{
SendClientMessage(playerid, COLOR_WHITE, "Felicitari!Ai castigat inca 2 cadouri!");
}
}
}
}
return 1;
}
Imagini / Video (optional): -
Ati incercat sa rezolvati singur?: Da, dar nu am reusit sa fac un timer... Tin sa mentionez ca am GM-ul Saints. -
Problema intalnita (descriere): Vreau sa fac ca playerii noi cand intra sa dea /bonus si sa primeasca level 2 si 10.000$
Ero(area / rile) / warning-(ul / urile): -
Liniile de cod / sursa / script-ul(obligatoriu): -
Imagini / Video (optional): -
Ati incercat sa rezolvati singur?: Da, am cautat pe net cum sa fac, dar nu am gasit, tin sa mentionez ca am gamemode-ul Saints. -
Daca ar avea si o placa video dedicata ar fi perfect !
Imi poti recomanda una?
-
Salutare, vreau sa imi iau un PC de Gaming, si am gasit unu care pare ok, dar am nevoie si de parerea voastra ( a expertilor ).
Merita bani?
-
Ce parere aveti despre aceasta map ...Ar trebui sa mai continui?
http://postimg.org/image/iv0vgvdbp/
Eu zic ca da, este frumos pana acuma
-
Am instalat si degeaba nu imi apare localhost/phhpmyadmin
Ai pornit macar din Control Panel?
-
Eu zic ca nu are sens sa faci asa ceva, cum a zis si @WopsS, daca ea cineva mai priceput, iti manipuleaza programul cum vrea el ... Si tu cum vrei sa faca sa citeasca din baza de date a anumite servere, ti-a manipulat programul, si a facut rost de baza de date de la serverele respective ... Plus ca si @TheTuNNeFPS are dreptate, tie iti va trebui o baza de date in care sa faci legatura de la trade, care si ea poate sa fie manipulata si sa intre in ea, si sa ia contul respectiv fara sa puna nimic ... Si acum sa faci sa securezi aceste lucruri iti va lua foarte mult, si stiind ca nu te-ai candit la faza cu baza de date la trade-uri, nu pot sa zic ca esti foarte avansat in asta ... Parerea mea este ca nu se merita de facut asa ceva! Dar daca vrei sa faci asa ceva, o sa mai ai de invatat, plus sa incepi cu un buget ... ( ca sa poti cumpara o baza de date la trade-uri )
-
Nu pot intra in localhost/phppmyadmin ... asta e buba ce-a mare
Ai instalat xampp sau alta aplicatie care iti face o baza de date?
-
TheTuNNeFPS are dreptate, adica acel program nu schimba cu nimic. Cineva poate da niste date gresite acolo. Poate sa creezi un bot care sa intre pe server si sa scrie parola sa vada daca e buna, dar e aproape imposobil
De aceea el vrea baza de date, ca sa caute in ea contul respectiv ...
EDIT: Daca ai fi citit regulamentul comunitatilor gen Bugged sau B-Zone, este interzis sa vinzi/schimbi contul!
-
Pacat ca ce i-ai dat tu e doar un copy/paste nici explicat nici nimic
Eu acum sunt plecat si am netul foarte prost, si nu prea am timp sa explic, daca esti asa grozav, explica tu!
-
Ce mai faci ma Stalkere?
Apasa CTRL+F si cauta in GM: 'forward ' dupa ultimele forward`uri adauga:
Codforward dmventercartimer(playerid);
forward DMVCountDown(playerid);
forward DMVTest1(playerid);
forward DMVTest2(playerid);
forward DMVTest3(playerid);
forward DMVTest4(playerid);
apoi apasa din nou CRTL+F si cauta in GM: 'new '(cu tot cu spatiul ala) iti va gasi mai multe coduri de genu:Codnew
[text]new
[text]new [text]
deasupra primului adauga:Codnew dmvtimer1;
new dmvcount = 90;
new dmvcounttimer;
new DMVPrepare[MAX_PLAYERS];
new DMVT[MAX_PLAYERS];
dupa care cauti in GM linia:CodDivorceOffer [playerid]= 999;
si adaugi dupa ea:CodDMVPrepare [playerid]= 0;
dupa care cauti:CodGameTextForPlayer(playerid, "~y~Sold the car", 2500, 1);
si la sfarsitul scriptului mentionat anterior adaugi:Codelse if(CP[playerid]==80)//DMV CK
{
DisablePlayerCheckpoint(playerid);
}
//-----------------[DMV-CPS]-----------------------------------------------------
else if(CP [playerid]== 99)
{
DisablePlayerCheckpoint(playerid);
CP [playerid]= 0;
}
else if(CP [playerid]== 100)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1316.4380,-1551.6968,13.2656,5.0);
CP [playerid]= 101;
}
else if(CP [playerid]== 101)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1349.1302,-1480.4143,13.2578,5.0);
CP [playerid]= 102;
}
else if(CP [playerid]== 102)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1348.8680,-1396.1429,13.2354,5.0);
CP [playerid]= 103;
}
else if(CP [playerid]== 103)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1261.5745,-1367.9585,13.1112,5.0);
CP [playerid]= 104;
}
else if(CP [playerid]== 104)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1235.3260,-1278.4755,13.2594,5.0);
CP [playerid]= 105;
}
else if(CP [playerid]== 105)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1196.4308,-1332.2494,13.2735,5.0);
CP [playerid]= 106;
}
else if(CP [playerid]== 106)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1195.2240,-1567.2039,13.2579,5.0);
CP [playerid]= 107;
}
else if(CP [playerid]== 107)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1292.7499,-1575.0261,13.2578,5.0);
CP [playerid]= 108;
}
else if(CP [playerid]== 108)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1303.9189,-1853.2737,13.2576,5.0);
CP [playerid]= 109;
}
else if(CP [playerid]== 109)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1313.6161,-1735.8108,13.2577,5.0);
CP [playerid]= 110;
}
else if(CP [playerid]== 110)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1423.0956,-1734.7076,13.2577,5.0);
CP [playerid]= 111;
}
else if(CP [playerid]== 111)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1432.5210,-1600.2316,13.2578,5.0);
CP [playerid]= 112;
}
else if(CP [playerid]== 112)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1371.9871,-1579.4713,13.3273,5.0);
CP [playerid]= 113;
}
else if(CP [playerid]== 113)
{
new currentveh;
currentveh = GetPlayerVehicleID(playerid);
if(IsPlayerInAnyVehicle(playerid))
{
SetVehicleToRespawn(currentveh);
}
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "** The Instructor looks proud at %s and hands him a Driver License **", name);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
DisablePlayerCheckpoint(playerid);
PlayerInfo[playerid] [pCarLic]= 1;
TakingLesson [playerid]= 0;
SendClientMessage(playerid,COLOR_LIGHTBLUE,"[DMV]: Felicitari,ai trecut testul !");
CP [playerid]= 0;
KillTimer(dmvcounttimer);
}
dupa care intri pe server, spawnezi vehiculele cu,comenda '/veh'(
if(strcmp(cmd, "/veh", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid] [pAdmin]< 1340)
{
SendClientMessage(playerid, COLOR_GRAD1, " you are not authorized to use that command!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /veh [carid][color1] [color2]");
return 1;
}
new car;
car = strval(tmp);
if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Vehicle Number can't be below 400 or above 611 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /veh [carid][color1] [color2]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 126 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /veh [carid][color1] [color2]");
return 1;
}
new color2;
color2 = strval(tmp);
if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 126 !"); return 1; }
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
new carid = AddStaticVehicleEx(car, X,Y,Z, 0.0, color1, color2, 60000);
CreatedCars [CreatedCar]= carid;
CreatedCar ++;
format(string, sizeof(string), " Vehicle %d spawned.", carid);
SendClientMessage(playerid, COLOR_GREY, string);
}
return 1;
}
Acum faza cu checkpointurile ...Codif(newcar == oldcar id || newcar == oldcar id || newcar == oldcar id)
{
new name[MAX_PLAYER_NAME];
if(TakingLesson [playerid]== 1)
{
KillTimer(dmvtimer1);
DMVCountDown(playerid);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"[Instructor]:Urmeaza checkpointurile pentru a trece traseul.Ai la dizpozitie 90 de secunde ");
SendClientMessage(playerid,COLOR_LIGHTBLUE,"[Instructor]:Condu pe partea dreapta si ai grija la celelalte masini !");
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "** The Instructor starts the engine and lefts the car looking at %s **", name);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string, sizeof(string), "** The Instructor waves to %s and shouts: Good Luck ! **", name);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
CP [playerid]= 100;
SetPlayerCheckpoint(playerid, 1360.1252,-1579.2396,13.2598,5.0);
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Nu ai cheile acestui vehicul !");
RemovePlayerFromVehicle(playerid);
}
}
dupa care cauti in GM linia:
Codelse if(TutTime)
iar la sfarsitul acestui script adaugi:
Codif(DMVPrepare >= 1)
{
DMVPrepare += 1;
if(DMVPrepare == 3)
{
TogglePlayerControllable(i, 0);
SendClientMessage(i,COLOR_YELLOW,"|______ DMV Test _____| ");
SendClientMessage(i,COLOR_LIGHTBLUE," Buna,esti pe cale de a da testul scris pentru carnetul de sofer !");
SendClientMessage(i,COLOR_WHITE," Te rugam sa fii atent ca sa raspunzi corect la intrebari !");
}
else if(DMVPrepare == 7)
{
SendClientMessage(i,COLOR_LIGHTGREEN,"|______ Instructor _____| ");
SendClientMessage(i,COLOR_LIGHTBLUE," In primul rand,trebuie sa conduci pe partea dreapta mereu !");
SendClientMessage(i,COLOR_WHITE," Singura data cand poti conduce pe partea stanga este atunci cand drumul este blocat");
SendClientMessage(i,COLOR_LIGHTBLUE," Nu trebuie sa stai la semafoare,deoarecere ar dura prea mult");
SendClientMessage(i,COLOR_WHITE," Nu ai voie sa conduci cu viteza foarte mare,poti primi amenda pentru asa ceva sau carnetul iti poate fi confiscat");
SendClientMessage(i,COLOR_LIGHTBLUE," Daca cineva iti avariaza masina,foloseste /call 911");
}
else if(DMVPrepare == 18)
{
SendClientMessage(i,COLOR_LIGHTGREEN,"|______ Instructor _____| ");
SendClientMessage(i,COLOR_LIGHTBLUE," Trebuie sa tragi pe dreapta daca o masina de politie ti-o cere");
SendClientMessage(i,COLOR_WHITE," Deasemenea,trebuie sa tragi pe dreapta daca o masina de politie trece cu girofarele pornite");
SendClientMessage(i,COLOR_LIGHTBLUE," Nu folosi nitro daca nu ai acordul unui politist");
SendClientMessage(i,COLOR_WHITE," Tine minte: Pentru curse ilegale poti fi arestat iar masina iti va fi confiscata");
}
else if(DMVPrepare == 30)
{
SendClientMessage(i,COLOR_LIGHTGREEN,"|______ Instructor _____| ");
SendClientMessage(i,COLOR_LIGHTBLUE," Daca cineva iti fura masina foloseste /call 911");
SendClientMessage(i,COLOR_WHITE,"Deasemenea,daca esti martorul unui accident si victimele sunt prea ranite sa o faca,suna medicii");
SendClientMessage(i,COLOR_LIGHTBLUE," Nu ai voie sa opresti in mijlocul strazii");
}
else if(DMVPrepare == 35)
{
SendClientMessage(i,COLOR_LIGHTGREEN,"|______ Instructor _____| ");
SendClientMessage(i,COLOR_LIGHTBLUE," Asta a fost tot ! Urmeaza testul,intrebarile au 4 variante de raspuns (A,B,C,D)");
SendClientMessage(i,COLOR_WHITE," Numai una din ele este corecta.Iti uram succes !");
DMVPrepare = 0;
SetTimerEx("DMVTest1", 8000, 0, "d", i);
}
}
urmatorul pas cauti in GM linia:
SendClientMessage(playerid, COLOR_YELLOW2, "| - Logout");
si la sfarsitul acestui script adaugi:
if(DMVT [playerid]> 0)
{
new idx;
tmp = strtok(text, idx);
if(DMVT [playerid]== 1)
{
if ((strcmp("A", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("A")))
{
SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !");
DMVT [playerid]= 0;
TogglePlayerControllable(playerid, 1);
return 0;
}
else if ((strcmp("B", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("B")))
{
SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !");
DMVT [playerid]= 0;
TogglePlayerControllable(playerid, 1);
return 0;
}
else if ((strcmp("C", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("C")))
{
SendClientMessage(playerid,COLOR_LIGHTBLUE," Raspuns corect,trecem la urmatoarea intrebare !");
SetTimerEx("DMVTest2", 5000, 0, "d", playerid);
return 0;
}
else if ((strcmp("D", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("D")))
{
SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !");
DMVT [playerid]= 0;
TogglePlayerControllable(playerid, 1);
return 0;
}
else
{
SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ Intrebare Examen _____|");
SendClientMessage(playerid,COLOR_LIGHTBLUE," Ce fac daca vad o masina de politie cu girofarul pornit urmarind un suspect iar eu sunt in masina ?");
SendClientMessage(playerid,COLOR_YELLOW2," A: Opresc masina in pozitia curenta ");
SendClientMessage(playerid,COLOR_YELLOW2," B: Ma bag in fata lor ");
SendClientMessage(playerid,COLOR_YELLOW2," C: Trag pe dreapta ");
SendClientMessage(playerid,COLOR_YELLOW2," D: Ma duc si incerc sa ajut politia ");
}
}
if(DMVT [playerid]== 2)
{
if ((strcmp("A", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("A")))
{
SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !");
DMVT [playerid]= 0;
TogglePlayerControllable(playerid, 1);
return 0;
}
else if ((strcmp("B", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("B")))
{
SendClientMessage(playerid,COLOR_LIGHTBLUE," Raspuns corect,trecem la urmatoarea intrebare !");
SetTimerEx("DMVTest3", 5000, 0, "d", playerid);
return 0;
}
else if ((strcmp("C", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("C")))
{
SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !");
DMVT [playerid]= 0;
TogglePlayerControllable(playerid, 1);
return 0;
}
else if ((strcmp("D", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("D")))
{
SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !");
DMVT [playerid]= 0;
TogglePlayerControllable(playerid, 1);
return 0;
}
else
{
SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ Intrebare Examen _____|");
SendClientMessage(playerid,COLOR_LIGHTBLUE," Ce pot patesc daca particip intr-o cursa ilegale ?");
SendClientMessage(playerid,COLOR_YELLOW2," A: Nimic,sunt regele soselelor ");
SendClientMessage(playerid,COLOR_YELLOW2," B: Pot intra la inchisoare ");
SendClientMessage(playerid,COLOR_YELLOW2," C: Imi pot distruge masina si nu pot plati reparatile ");
SendClientMessage(playerid,COLOR_YELLOW2," D: Pot sa o castig si sa primesc marele premiu ");
}
}
if(DMVT [playerid]== 3)
{
if ((strcmp("A", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("A")))
{
SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !");
DMVT [playerid]= 0;
TogglePlayerControllable(playerid, 1);
return 0;
}
else if ((strcmp("B", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("B")))
{
SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !");
DMVT [playerid]= 0;
TogglePlayerControllable(playerid, 1);
return 0;
}
else if ((strcmp("C", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("C")))
{
SendClientMessage(playerid,COLOR_LIGHTBLUE," Raspuns corect,trecem la urmatoarea intrebare !");
SetTimerEx("DMVTest4", 5000, 0, "d", playerid);
return 0;
}
else if ((strcmp("D", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("D")))
{
SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !");
DMVT [playerid]= 0;
TogglePlayerControllable(playerid, 1);
return 0;
}
else
{
SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ Intrebare Examen _____|");
SendClientMessage(playerid,COLOR_LIGHTBLUE," Ce fac daca cineva imi fura masina ?");
SendClientMessage(playerid,COLOR_YELLOW2," A: Ma duc,il dau jos din masina,il bat si mi-o iau inapoi ");
SendClientMessage(playerid,COLOR_YELLOW2," B: Alerg pana gasesc alta si o fur ");
SendClientMessage(playerid,COLOR_YELLOW2," C: Sun la politie (( /call 911 )) ");
SendClientMessage(playerid,COLOR_YELLOW2," D: Merg pe jos ");
}
}
if(DMVT [playerid]== 4)
{
if ((strcmp("A", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("A")))
{
SendClientMessage(playerid,COLOR_LIGHTBLUE," Raspuns corect.Ai trecut testul din sala !");
SendClientMessage(playerid,COLOR_LIGHTBLUE," Du-te afara si ia o masina pentru a da traseul !");
TogglePlayerControllable(playerid, 1);
DMVT [playerid]= 0;
TakingLesson [playerid]= 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "** The Instructor takes a pair of keys from his pockets and hands it to %s **", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 0;
}
else if ((strcmp("B", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("B")))
{
SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !");
DMVT [playerid]= 0;
TogglePlayerControllable(playerid, 1);
return 0;
}
else if ((strcmp("C", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("C")))
{
SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !");
DMVT [playerid]= 0;
TogglePlayerControllable(playerid, 1);
return 0;
}
else if ((strcmp("D", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("D")))
{
SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !");
DMVT [playerid]= 0;
TogglePlayerControllable(playerid, 1);
return 0;
}
else
{
SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ Intrebare Examen _____|");
SendClientMessage(playerid,COLOR_LIGHTBLUE," Cand pot conduce pe partea stanga ?");
SendClientMessage(playerid,COLOR_YELLOW2," A: Cand drumul de pe partea dreapta este blocat ");
SendClientMessage(playerid,COLOR_YELLOW2," B: Cand vreau ");
SendClientMessage(playerid,COLOR_YELLOW2," C: Cand este ceata in fata ");
SendClientMessage(playerid,COLOR_YELLOW2," D: Cand este o coada imensa in fata mea si nu vreau sa astept ");
}
}
}
la sfarsitul GM`ului adaugam:
public DMVTest1(playerid)
{
SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ DMV Test _____|");
SendClientMessage(playerid,COLOR_LIGHTBLUE," Ce fac daca vad o masina de politie cu girofarul pornit urmarind un suspect iar eu sunt in masina ?");
SendClientMessage(playerid,COLOR_YELLOW2," A: Opresc masina in pozitia curenta ");
SendClientMessage(playerid,COLOR_YELLOW2," B: Ma bag in fata lor ");
SendClientMessage(playerid,COLOR_YELLOW2," C: Trag pe dreapta ");
SendClientMessage(playerid,COLOR_YELLOW2," D: Ma duc si incerc sa ajut politia ");
DMVT [playerid]= 1;
}
public DMVTest2(playerid)
{
SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ DMV Test _____|");
SendClientMessage(playerid,COLOR_LIGHTBLUE," Ce pot patesc daca particip intr-o cursa ilegala ?");
SendClientMessage(playerid,COLOR_YELLOW2," A: Nimic,sunt regele soselelor ");
SendClientMessage(playerid,COLOR_YELLOW2," B: Pot intra la inchisoare ");
SendClientMessage(playerid,COLOR_YELLOW2," C: Imi pot distruge masina si nu pot plati reparatile ");
SendClientMessage(playerid,COLOR_YELLOW2," D: Pot sa o castig si sa primesc marele premiu ");
DMVT [playerid]= 2;
}
public DMVTest3(playerid)
{
SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ DMV Test _____|");
SendClientMessage(playerid,COLOR_LIGHTBLUE," Ce fac daca cineva imi fura masina ?");
SendClientMessage(playerid,COLOR_YELLOW2," A: Ma duc,il dau jos din masina,il bat si mi-o iau inapoi ");
SendClientMessage(playerid,COLOR_YELLOW2," B: Alerg pana gasesc alta si o fur ");
SendClientMessage(playerid,COLOR_YELLOW2," C: Sun la politie (( /call 911 )) ");
SendClientMessage(playerid,COLOR_YELLOW2," D: Merg pe jos ");
DMVT [playerid]= 3;
}
public DMVTest4(playerid)
{
SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ DMV Test _____|");
SendClientMessage(playerid,COLOR_LIGHTBLUE," Cand pot conduce pe partea stanga ?");
SendClientMessage(playerid,COLOR_YELLOW2," A: Cand drumul de pe partea dreapta este blocat ");
SendClientMessage(playerid,COLOR_YELLOW2," B: Cand vreau ");
SendClientMessage(playerid,COLOR_YELLOW2," C: Cand este ceata in fata ");
SendClientMessage(playerid,COLOR_YELLOW2," D: Cand este o coada imensa in fata mea si nu vreau sa astept ");
DMVT [playerid]= 4;
}
public dmventercartimer(playerid)
{
TakingLesson [playerid]= 0;
SendClientMessage(playerid,COLOR_LIGHTRED,"Ai picat testul.Nu ai intrat in masina ca sa dai traseul !");
}
public DMVCountDown(playerid)
{
if(dmvcount <= -0)
{
GameTextForPlayer(playerid,"~r~ Ai picat testul pentru ca a trecut timpul", 5000, 3);
KillTimer(dmvcounttimer);
new currentveh;
currentveh = GetPlayerVehicleID(playerid);
if(IsPlayerInAnyVehicle(playerid))
{
SetVehicleToRespawn(currentveh);
}
TakingLesson [playerid]= 0;
dmvcount = 120;
return 1;
}
else
{
new str[128];
format(str, sizeof str, "~w~ %d", dmvcount);
GameTextForPlayer(playerid,str, 250, 5);
dmvcounttimer = SetTimer("DMVCountDown", 1000, 0);
dmvcount--;
}
return 1;
}
apoi cautam comanda "/pay" si sub aceasta comanda adaugam:
//===============TakeTest==================================
if(strcmp(cmd, "/taketest", true) == 0)
{
if(PlayerToPoint(5.0,playerid,X,Y,Z)) //coordonatele unde vrei sa dai de permis
{
if(GetPlayerMoney(playerid) >= 500)
{
if(PlayerInfo[playerid] [pCarLic]== 0)
{
if(DMVPrepare [playerid]== 0)
{
DMVPrepare [playerid]= 1;
GivePlayerMoney(playerid,-500);
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Esti deja in cursul testului !");
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Ai deja permisul de conducere!!" );
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Nu ai destui bani pentru a plati examenul!");
}
}Asta e genul cel mai popular, daca nu vrei sa fie cu tutorial si test, nu il pune si gata .
Imi para rau ca nu am avut timp sa iti explic ce face fiecare in parte, dar te prinzi tu, ca esti istet ...
-
for(new i=0; i<MAX_PLAYERS; i++)
Pai asa ar trebui sa fie nu stiu ce e gresit, poate e ceva deasupra lui.
Esti sigur ca forul meu nu este deja pus intr-un for? adica textdrawul probabil e pus lintr-un for si ai pus for in for? ceva de genu.Am rezolvat, multumesc!
Puteti sa inchideti topic-ul...
-
Si care e linia?
for(new i = 0;i<MAX_PLAYERS;i++)
-
Salut o sa iti fac eu unul:
Sa incepem
cream un textdraw
new Text:NameText[MAX_PLAYERS];
Punem la OnGameModeInit Textdrawul pentru fiecare player
for(new i = 0;i<MAX_PLAYERS;i++) { NameText[i] = TextDrawCreate(60.000000, 426.000000, " "); // textdraw cu nume sub mapa TextDrawBackgroundColor(NameText[i], 255); TextDrawFont(NameText[i], 2); TextDrawLetterSize(NameText[i], 0.260000, 1.499999); TextDrawColor(NameText[i], 629657343); TextDrawSetOutline(NameText[i], 1); TextDrawSetProportional(NameText[i], 1); }
Iar la OnPlayerConnect punem asta:
new namestring[40],numele[40]; GetPlayerName(playerid,numele,sizeof(numele)); format(namestring,sizeof(namestring), "%s",numele); TextDrawSetString(NameText[playerid], namestring); TextDrawShowForPlayer(playerid, NameText[playerid]);
Si gata. Sper ca ti-a fost de folos.
Multumesc! ;)
EDIT: Am o eroare....
C:\Users\Damian\Desktop\Gamemodes SAMP\AG RPG\gamemodes\gamemode.pwn(26797) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error. -
Descriere tutorial: As dori un tutorial prin care este explicat cum sa fac un TextDraw gen B-*one (cel de sub harta cu numele).O poza ca sa intelegeti mai bine la ce ma refer: http://i.imgur.com/DmhxPOy.png
Unable to execute ...
in Totul şi Nimic
Posted
Le am, daca deschid cu Administrator imi da aceasi problema ...