Problem(error/warning): Ne radi mi sistem za zaposaljvanje, bukv sam sve probao i nece...
Deo skripte:[pawn]if( ChosenJob[ playerid ] != 0 ) {
if( !IsPlayerInRangeOfPoint( playerid, 5.0, jobsInfos[ ChosenJob[ playerid ]-1 ][ jTakeJobPos ][ 0 ], jobsInfos[ ChosenJob[ playerid ]-1 ][ jTakeJobPos ][ 1 ], jobsInfos[ ChosenJob[ playerid ]-1 ][ jTakeJobPos ][ 2 ] ) ) return SendErrorMessage( playerid, "Morate stajati na pickupu da bi uzeli posao v1!");
if( ChosenJob[ playerid ] == POSAO_BANKAR ) {
SendJobMessage( playerid, "Cestitamo, Uspesno ste se zaposlili kao Prevoznik Novca." );
SendJobMessage( playerid, "Komande posla: /posao /uniforma /prekiniposao" );
}[/pawn]
Znaci ChosenJob[ playerid ] je postavljen na 0 uvek, menjam ga na OnPlayerPickupDynamicPickup
[pawn]for( new i = 0; i < MAX_JOBS; i++) {
if( pickupid == jobsInfos[ i ][ jPickup ] ) {
ChosenJob[ playerid ] = i+1;
break;
}
}[/pawn]
jPickup pravim ovako
[pawn]if( jobsInfos[ i ][ jIsIllegal ] ) {
jobsInfos[ i ][ jPickup ] = CreateDynamicPickup( 1254, 1, jobsInfos[ i ][ jTakeJobPos ][ 0 ], jobsInfos[ i ][ jTakeJobPos ][ 1 ], jobsInfos[ i ][ jTakeJobPos ][ 2 ], -1, -1 );
}
else {
jobsInfos[ i ][ jPickup ] = CreateDynamicPickup( 1210, 1, jobsInfos[ i ][ jTakeJobPos ][ 0 ], jobsInfos[ i ][ jTakeJobPos ][ 1 ], jobsInfos[ i ][ jTakeJobPos ][ 2 ], -1, -1 );
}[/pawn]
Sve lepo napravi ali mi se cini da pod onplayerpickupdynamicpickup nesto ne valja...idk
if( ChosenJob[ playerid ] != 0 ) {
Valjda je == 0 posto verovatno hoces gledas samo ako nema nikakav job???
Gdje ti stoji taj prvi kod
Citat: Deleted User poslato Jun 25, 2021, 20:52:08 POSLE PODNE
if( ChosenJob[ playerid ] != 0 ) {
Valjda je == 0 posto verovatno hoces gledas samo ako nema nikakav job???
Ne pa ako je 0 onda ne stoji ni na jednom pickupu, kada igrac stane na odredjeni pickup 0 se menja
Cek cek, nije mi jasno sve ovo.
Okej napravio si pickup za poslove, ali cemu komanda? Mozda mu se negde resetovala promenljiva? Ili chosen_job nije jednak POSAO_BANKAR??
Probaj napravi printf debug, vidi dokle dodje i u kojoj proveri u komandi tacno stane.
Odradio sam debug i ovde ne prolazi
[pawn]public OnPlayerPickUpDynamicPickup( playerid, pickupid ) {
for( new i = 0; i < MAX_JOBS; i++) {
if( pickupid == jobsInfos[ i ][ jPickup ] ) {
print("ChosenJob[ playerid ] = i+1;");
ChosenJob[ playerid ] = i+1;
break;
}
}[/pawn]
Ako jos nisi skontao sta radi, znaci kada igrac stane na pickup u ovom slucaju jPickup koji se kreira na startovanju servera, ChosenJob[playerid] se menja max_jobs +1, i tako za svaki pickup...
[pawn]
for( new i = 0; i < MAX_JOBS; i++) {
printf("%d", jobsInfos[jPickup]);
printf("%d", pickupid);
print("Razmak");
if( pickupid == jobsInfos[ i ][ jPickup ] ) {
print("ChosenJob[ playerid ] = i+1;");
ChosenJob[ playerid ] = i+1;
break;
}
}[/pawn]
Probaj ostampaj ovo, vidi da li ce se u nekom trenutku poklopiti
Bukvalno jedino da si zajebao negde drugde, sve ovo sto si poslao je kako treba.. Aj skupi sve sto imas za jPickup i posalji ovde, pritom samo oznaci gde se sta nalazi
Inace nije nista printalo...
Pa da krenemo....
Definisanje u enum-u
[pawn]enum jobData {
jName[ 22 ],
jSalary,
bool:jIsIllegal,
Float:jPos[ 3 ],
Float:jTakeJobPos[ 3 ],
jType,
jUniformSkin_Male,
jUniformSkin_Female,
Float:jUniformPos[ 3 ],
jPickup
};[/pawn]
Onplayerpickupdynamicpickup
[pawn]public OnPlayerPickUpDynamicPickup( playerid, pickupid ) {
for( new i = 0; i < MAX_JOBS; i++) {
if( pickupid == jobsInfos[ i ][ jPickup ] ) {
print("Proso");
ChosenJob[ playerid ] = i+1;
break;
}
}[/pawn]
Kreiranje pickupa, ongamemodeint
[pawn]for( new i = 0; i < MAX_JOBS; i++) {
if( jobsInfos[ i ][ jTakeJobPos ][ 0 ] != 0 ) {
if( jobsInfos[ i ][ jIsIllegal ] ) {
jobsInfos[ i ][ jPickup ] = CreateDynamicPickup( 1254, 1, jobsInfos[ i ][ jTakeJobPos ][ 0 ], jobsInfos[ i ][ jTakeJobPos ][ 1 ], jobsInfos[ i ][ jTakeJobPos ][ 2 ], -1, -1 );
}
else {
jobsInfos[ i ][ jPickup ] = CreateDynamicPickup( 1210, 1, jobsInfos[ i ][ jTakeJobPos ][ 0 ], jobsInfos[ i ][ jTakeJobPos ][ 1 ], jobsInfos[ i ][ jTakeJobPos ][ 2 ], -1, -1 );
}
format( string_1, sizeof( string_1 ), ""col_white"[ "col_zenolo"%s "col_white"]\n"col_zenolo"Ugovor: "col_white"3 sata.\n"col_zenolo"Zarad: "col_white"Ovisno o radu.\n"col_zenolo"Zaposljavate se komandom "col_white"/takejob.", stringtoUpperCase( jobsInfos[ i ][ jName ] ) );
CreateDynamic3DTextLabel( string_1, 0x008080FF, jobsInfos[ i ][ jTakeJobPos ][ 0 ], jobsInfos[ i ][ jTakeJobPos ][ 1 ], jobsInfos[ i ][ jTakeJobPos ][ 2 ], 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1 );
}
if( !jobsInfos[ i ][ jIsIllegal ] && jobsInfos[ i ][ jUniformPos ][ 0 ] != 0 )
Create3DandP(""col_white"Da uzmete/ostavite uniformu kucajte\n"col_zenolo"[ /uniforma ]", jobsInfos[ i ][ jUniformPos ][ 0 ], jobsInfos[ i ][ jUniformPos ][ 1 ], jobsInfos[ i ][ jUniformPos ][ 2 ], -1, -1, 1275, 2.0 );
}[/pawn]
I to je to :)
Daj jobData gdje povlačiš sve to iz enuma
Nista, jobdata pozivam samo ovde
[pawn]new jobsInfos[ MAX_JOBS ][ jobData ] = {
{"Prevoznik_Novca", 12000, false, {1503.1981, -1028.9382, 23.8033}, {-2507.9578,-417.0648, 1516.4678}, POSAO_BANKAR, 71, 69, { -2513.7263,-404.0481, 1516.4678 } },
{"Detektiv", 0, false, {1529.3776, -1678.1588, 13.3828}, {1573.8701, -1663.7325, 928.4659}, POSAO_DETEKTIV, 0, 0, { 0.0, 0.0, 0.0 } },
{"Prevoznik_Sljunka", 9300, false, {625.6708, 848.8824, -42.9609}, {637.5289, 830.7923, -42.9609}, POSAO_DSLJUNKA, 206, 69, { 638.7338, 851.9080, -42.9609 } },
{"Advokat", 0, false, {1489.8491, -1734.1410, 13.3828}, {418.7571, 1361.9248, 1089.1360}, POSAO_ADVOKAT, 0, 0, { 0.0, 0.0, 0.0 } },
{"Komunalac", 0, false, {2453.1184, -2090.8301, 13.5469}, {2511.0684, -2118.9014, 14.9121}, POSAO_KOMUNALAC, 16, 69, { 2510.8708, -2112.6892, 14.9090 } },
{"Prevoznik_Zlata", 10500, false, {1671.2886, -1311.9501, 14.2578}, {1673.7625, -1329.6482, 17.4536}, POSAO_ZLATAR, 71, 69, { 1670.6115, -1330.0754, 17.4557 } },
{"Pizza_Dostavljac", 0, false, {2092.3064, -1804.2070, 13.5485}, {372.6920, -118.9938, 1001.4922}, POSAO_PIZZA, 0, 0, { 0.0, 0.0, 0.0 } },
{"Pilot", 5400, false, {1898.9110, -2319.1619, 13.1186}, {1892.8370, -2328.5259, 13.5469}, POSAO_PILOT, 61, 69, { 1892.5968, -2244.0378, 13.5469 } },
{"Farmer", 0, false, {-371.7446, -1399.2400, 23.1469}, {-385.4589, -1448.7721, 26.2042}, POSAO_FARMER, 61, 69, { -380.3992, -1441.7153, 26.1977 } },
{"Bus_vozac", 6150, false, {931.4767,-1329.9135, 13.2790}, {995.5768,-1353.4496, 13.8630}, POSAO_BUSVOZAC, 61, 69, { 995.6821,-1369.1847, 13.8630 } },
{"Rudar", 5400, false, {593.1714, 857.1762, -43.4550}, {590.3492, 875.4081, -42.496}, POSAO_RUDAR, 260, 69, { 964.3640, 392.4265, -33.1746 } },
{"Prevoznik_Drveca", 9120, false, {-540.2400, -90.1570, 63.1231}, {-538.2335, -78.1697, 62.8672}, POSAO_DDRVECA, 206, 69, { -533.0389, -65.1353, 62.9868 } },
{"Telohranitelj", 0, false, {2222.8613, -1726.4668, 13.3948}, {769.6843, -0.4294, 1000.7252}, POSAO_TELOHRANITELJ, 0, 0, { 0.0, 0.0, 0.0 } },
{"Prevoznik_Auto-otpada", 6000, false, {2222.0991,-1979.7240, 13.5469}, {2200.4712,-1971.7024, 13.7841}, POSAO_AUDID, 261, 69, { 2201.3044,-1968.8051, 13.7841 } },
{"Kosac_Trave", 0, false, {1944.3579, -1187.1322, 20.5566}, {1962.9138, -1191.2517, 19.3624}, POSAO_KOSAC, 202, 69, { 1959.0886,-1187.2491, 19.3656 } },
{"Prevoznik_Goriva", 15000, false, {896.7631, -1221.9664, 17.9895}, {919.4670,-1252.3589, 16.2109}, POSAO_PGORIVA, 206, 69, { 919.4526,-1266.0228, 15.1719 } },
{"Svercer_Materijala", 0, true, {-569.8940,-495.0005, 25.5234}, {-571.8231,-506.4536, 25.52340}, POSAO_SVERCERMATSA, 0, 0, { 0.0, 0.0, 0.0 } },
{"Svercer_Droge", 0, true, {1933.6625, 176.7552, 36.9913}, {1925.5266, 170.0446, 37.2813}, POSAO_SVERCERDROGE, 0, 0, { 0.0, 0.0, 0.0 } },
{"Diler_Oruzja", 0, true, {-569.8940,-495.0005, 25.5234}, {-553.3052,-506.4525, 25.5234}, POSAO_DILERORUZJA, 0, 0, { 0.0, 0.0, 0.0 } },
{"Walmart_Delivery", 8100, false, {911.8455,-1709.3738, 13.1159}, {937.8998,-1718.4352, 13.5804}, POSAO_WALMDOST, 22, 69, { 937.9153,-1720.7484, 13.5804 } },
{"Putar", 7500, false, {1116.18225, -1216.31323, 17.89620}, {1082.66406, -1226.60144, 15.83030}, POSAO_PUTAR, 260, 69, { 1083.30261, -1241.16064, 15.83320 } },
{"Astronaut", 8000, false, {1674.5577, 718.4377, 10.8134}, {1674.5558, 716.4930, 10.8134}, POSAO_ASTRONAUT, 70, 69, { 1674.5576, 714.9489, 10.8134 } },
{"Gradjevinar", 10000, false, {2084.18701, -2056.67236, 13.56610}, {2087.90234, -2064.05103, 13.56610}, POSAO_GRADJEVINAR, 206, 69, { 2084.00439, -2063.93262, 13.56610 } }
};[/pawn]
Aj otvori novu temu nmg ja da citam ovo :D