-
Posts
540 -
Joined
-
Last visited
-
Days Won
20
Content Type
Profiles
Forums
News
Documentation
Posts posted by hanako
-
-
asa ma baieti, va salut cu stima si respect.
am intampinat si eu o problema, deci
am 13 joburi pe server, ok? primele 2 job-uri merge, insa celelalte da cu id pe -1, adica daca job-ul pe care-l iau are id 4, mie o sa-mi dea id 3 la setarea job-ului.
comanda /getjob :
CMD:getjob(playerid, params[]) {
new jobid;
if(PlayerInfo[playerid][pJob] >= 1) return SCM(playerid, -1, "Deja ai un job, foloseste /quitjob.");
if(PlayerInfo[playerid][pLevel] < DynamicJobs[jobid][jobLevel]) return SCM(playerid, -1, "Nu detii nivelul necesar pentru a te angaja la jobul respectiv!");
for(new j = 0; j < sizeof(DynamicJobs); j++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, DynamicJobs[j][jPosX], DynamicJobs[j][jPosY], DynamicJobs[j][jPosZ]))
{
PlayerInfo[playerid][pJob] = j; pUpdateInt(playerid, "Job", j);
SCMf(playerid, COLOR_YELLOW, "(JOB): {ffffff}Felicitari! Noul tau job este %s.", DynamicJobs[j][jobName]);
}
}
return true; }functia loaddynamicjobs:
function LoadDynamicJobs() {
//jobss = cache_num_rows();
for(new i = 1; i <= Iter_Add(Jobs, i); i++) {
gString[0] = (EOS);
new j = i - 1;
DynamicJobs[i][jobID] = cache_get_field_content_int(j, "jobID");
DynamicJobs[i][jOwned] = cache_get_field_content_int(j, "Owned");
cache_get_field_content(j, "jobName", DynamicJobs[i][jobName], SQL, 130);
DynamicJobs[i][jobLevel] = cache_get_field_content_int(j, "jobLevel");
DynamicJobs[i][jPosX] = cache_get_field_content_float(j, "PosX");
DynamicJobs[i][jPosY] = cache_get_field_content_float(j, "PosY");
DynamicJobs[i][jPosZ] = cache_get_field_content_float(j, "PosZ");
cache_get_field_content(j, "JobOwner", DynamicJobs[i][jobOwner], SQL, 64);
DynamicJobs[i][jBuyPrice] = cache_get_field_content_int(j, "BuyPrice");
DynamicJobs[i][jTill] = cache_get_field_content_int(j, "Till");
DynamicJobs[i][jPickupID] = cache_get_field_content_int(j, "PickupID");
cache_get_field_content(j, "Message", DynamicJobs[i][jMessage], SQL, 130);if(DynamicJobs[i][jBuyPrice] >= 1) {
DestroyDynamic3DTextLabel(DynamicJobs[i][jLabelID]);
format(gString, sizeof gString, "{FFD700}ID: {ffffff}%d{FFD700}\n%s\nName: {ffffff}%s{FFD700}\nMinim Level: {ffffff}%d{FFD700}\nOwner: {ffffff}%s{FFD700}\n{FFD700}[/getjob] - To get the job\nPrice: {ffffff}$%s\n{FFD700}[/buyjob] - For buy the job{ffffff}", DynamicJobs[i][jobID], DynamicJobs[i][jMessage], DynamicJobs[i][jobName], DynamicJobs[i][jobLevel], DynamicJobs[i][jobOwner], FormatNumber(DynamicJobs[i][jBuyPrice]));
DynamicJobs[i][jLabelID] = CreateDynamic3DTextLabel(gString, -1, DynamicJobs[i][jPosX], DynamicJobs[i][jPosY], DynamicJobs[i][jPosZ], 100, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 25.0);
}
if(DynamicJobs[i][jOwned] == 1)
{
DestroyDynamic3DTextLabel(DynamicJobs[i][jLabelID]);
format(gString, sizeof gString, "{FFD700}ID: {ffffff}%d{FFD700}\n%s\nName: {ffffff}%s{FFD700}\nMinim Level: {ffffff}%d{FFD700}\nOwner: {ffffff}%s{FFD700}\n{FFD700}[/getjob] - To get the job", DynamicJobs[i][jobID], DynamicJobs[i][jMessage],DynamicJobs[i][jobName], DynamicJobs[i][jobLevel], DynamicJobs[i][jobOwner]);
DynamicJobs[i][jLabelID] = CreateDynamic3DTextLabel(gString, -1, DynamicJobs[i][jPosX], DynamicJobs[i][jPosY], DynamicJobs[i][jPosZ], 100, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 25.0);
}
DynamicJobs[i][jPickupID] = CreateDynamicPickup(1275, 23, DynamicJobs[i][jPosX], DynamicJobs[i][jPosY], DynamicJobs[i][jPosZ], 0, -1, -1, 15); pickups++;
}
printf("[LOADING] JOBS - %d", Iter_Count(Jobs));
return true; }[preciez ca este sistemul lui flint din gamemode-ul ala stoners, mi-a placut cum arata si am vrut sa-l editezi putin pana am dat de problema asta la care ma chinui aproximativ 7 ore sa o rezolv].
A, si in mysql_log apare asa ceva:
Log("16:09:39","cache_get_field_content_int",1,"invalid datatype",0);
Log("16:09:39","CMySQLResult::GetRowDataByName()",1,"invalid row index ('13') (Query: \"SELECT * FROM `jobs`\")",0);
-
ideea e ca eu nu prea stiu limba rusa, am nevoie de cineva care sa stie
-
daca ai discord, da-mi add si te pot ajuta cu mare drag alecs#0237
- 1
-
Acum 19 ore, Kiran a spus:
Sincer sa fiu, nu prea ai ce sa aduci nou la SA:MP, iti recomand sa incepi sa lucrezi in lua pt mta or fivem, scriptul iti permite mai multe lucruri, dar daca chiar doresti sa ramai mult succes in continuare.
probabil o sa incep o sa-i copiez pe cei din Rusia, avand in vedere ca modul lor de lucru este cu 10-15 ani inaintea noastra.
-
Acum 17 ore, Hudson a spus:
Nu prea ai de ce lucra la un GameMode RP/RPG.
Daca chiar vrei sa faci ceva nou in Romania, incearca un GM survival, ceva de gen, asa ceva cred ca ar atrage jucatorii, parerea mea.
am inceput ceva de genul acum o luna, insa e o pierdere de timp.
-
nush dc ai pune puscaria asta pe internet.
(nu-l recomand, o sa puste curand)
-
frumos, chiar imi plac textdraw-uriile pe care le-ai facut.
-
Ma bag si eu, nu se pune problema!
-
-
Salut, am inceput sa lucrez la un gamemode ok, si as avea nevoie de ceva sisteme atragatoare pentru samp-ul din ziua de azi.
*nu am nevoie de pokemon si d-astea, singurul lucru pe care o sa-l am la vehicule este stage pentru ca asa se cere acum*
astept idei, va pup
-
eu am rezolvat chestia asta cand am rescris job-uriile
-
-
portofoliu?
-
-
la SELECT * FORUM `server_exam_checkpoints` modifica cu SELECT * FROM `server_exam_checkpoints`
-
alecs#0237
-
PersonalVehicle[i][pvDespawnTime] - gettime()) / 60));
uita-te aici si rezolva.
-
Apreciez ca ai inceput de la versiunea pe care am postat-o, mult succes.
-
Salut, am zis sa mai reimprospatez putin aceasta zona, si am oferit jumatate din quest (mai trebuie facuta decat salvarea).
Pai, quest-ul este aproape complet, mai e de facut decat salvarea.
// puneti asta la float-uri new Float:QuestObjects[20][3] = { {1666.6095,2254.1096,10.8203}, {1676.3660,1624.0376,10.8203}, {1686.7211,1115.1724,10.7152}, {2086.3630,1318.9218,10.8203}, {2437.3992,1660.2825,15.2361}, {2316.0188,2333.9509,10.8203}, {1476.4000,1921.8619,10.8946}, {1890.8251,1986.9982,13.7848}, {2576.2412,1077.5697,10.6719}, {2162.3022,919.3609,10.8203}, {1492.2125,667.3132,10.9838}, {2300.9333,556.3300,7.7813}, {2805.9348,909.8344,10.7500}, {2800.6467,913.4963,11.5617}, {2829.0735,1279.7488,10.7709}, {2776.4670,2523.5203,10.8203}, {1041.3608,1062.0674,10.1691}, {1386.4358,922.4484,10.8184}, {1082.9188,1685.3890,6.9541}, {914.1532,2035.2485,11.6145} }; // asta puneti la enum pInfo pObiecteAdunate, pQuestObjects[20], // daca aveti public onplayerpickupdynamicpickup puneti asta sub for(new i; i < 20; i++) { if(pickupid == PlayerInfo[playerid][pQuestObjects][i]) { PlayerInfo[playerid][pObiecteAdunate]++; SCMf(playerid, COLOR_GREY, "progress quest: (%d/20)", PlayerInfo[playerid][pObiecteAdunate]); DestroyDynamicPickup(PlayerInfo[playerid][pQuestObjects][i]); RemovePlayerMapIcon(playerid, 70+i); verificaquestobiecte(playerid); } } return 1; } daca nu-l aveti, public OnPlayerPickUpDynamicPickup(playerid, pickupid) { for(new i; i < 20; i++) { if(pickupid == PlayerInfo[playerid][pQuestObjects][i]) { PlayerInfo[playerid][pObiecteAdunate]++; SCMf(playerid, COLOR_GREY, "progress quest: (%d/20)", PlayerInfo[playerid][pObiecteAdunate]); DestroyDynamicPickup(PlayerInfo[playerid][pQuestObjects][i]); RemovePlayerMapIcon(playerid, 70+i); verificaquestobiecte(playerid); } } return 1; } apoi faceti o functie (verificaquestobiecte) function verificaquestobiecte(playerid) { if(PlayerInfo[playerid][pObiecteAdunate] == 20) { new money = 300000 + random(250000); new pp = 25 + random(3); new rp = 4 + random(3); new rob = 5 + random(2); SCM(playerid, COLOR_YELLOW2, "Felicitari! Ai terminat quest-ul special si ai primit:"); SCMf(playerid, -1, "- %s bani", FormatNumber(money)); SCMf(playerid, -1, "- %d puncte premium", pp); SCMf(playerid, -1, "- %d puncte de respect", rp); SCMf(playerid, -1, "- %d puncte de rob", rob); GivePlayerCash(playerid, money); PlayerInfo[playerid][pPremiumPoints] += pp; pUpdateInt(playerid, "PremiumPoints", PlayerInfo[playerid][pPremiumPoints]); // aici modificati voi cum aveti PlayerInfo[playerid][pExp] += rp; pUpdateInt(playerid, "Respect", PlayerInfo[playerid][pExp]); // aici modificati voi cum aveti PlayerInfo[playerid][pRob] += rob; pUpdateInt(playerid, "Rob", PlayerInfo[playerid][pRob]); // aici modificati voi cum aveti } return 1; } inclusiv comanda [/startquest] CMD:startquest(playerid, params[]) { if(arecpactiv(playerid)) return true; if(!IsPlayerInRangeOfPoint(playerid, 3, 1907.9348,1511.0798,14.0482)) { SCM(playerid, COLOR_ERROR, "Nu esti la locatia potrivita, ti-a fost setat un punct pe harta."); SetPlayerCheckpointEx(playerid, 1907.9348,1511.0798,14.0482, 3.0); CP[playerid] = 43; return true; } SCMf(playerid, -1, "Ai inceput quest-ul, du-te si aduna cele 25 caiete (progress: %d/20)", PlayerInfo[playerid][pObiecteAdunate]); for(new i = 0; i < sizeof(QuestObjects); i++) { PlayerInfo[playerid][pQuestObjects][i] = CreateDynamicPickup(2855, 18, QuestObjects[i][0], QuestObjects[i][1], QuestObjects[i][2], -1); SetPlayerMapIcon(playerid, 70+i, QuestObjects[i][0], QuestObjects[i][1], QuestObjects[i][2] , 56, -1, MAPICON_GLOBAL); } return 1; }
-
La 10.09.2020 la 20:31, DiBlaine a spus:
Salutare, astazi am facut un tutorial cu pickup-uri dinamice + salvare in baza de date care se pot creea si edita direct din joc, sper sa va placa si sper sa va fie de folos. As aprecia foarte mult daca m-ati sustine cu un subscribe si cu un comment cu idei pentru tutoriale scripting.
Imi place ce vad, bafta in continuare.
-
un portofoliu ceva?
-
foreach(new c : Paintp) { SetCameraBehindPlayer(c), SetPlayerVirtualWorldEx(c, 0), SetPlayerPos(c, 1310.14, -1368.57, 13.5508), SendClientMessage(c, COLOR_DARKGRAY, "Paintball round was end, not enough enrolled players. (2)"); Iter_Clear(Paintp); return 1; }
-
cand intra in garaj faci sa seteze vw masinii 53, ce e asa de greu? sau mai pe scurt pui masina sa fie in vw 0
-
Tu zici ca, esti web developer
si acum cauti?
problema jobs cica
in Discuţii scripting
Posted
- ele sunt ok