Problem(error/warning): Pa uradio sam admin da kreira vozila org, e sad problem je sto kad udjem u vozilo i da sam lider gsf i da sam lider pd mogu da vozim to vozilo, a eto primer ja sam stavio ORG id 10 to je varrios gang, kako da sredim to da nemoze svi da voze to vozilo
Dio skripte: dole
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Slika/video ingame problema(obavezno ako je ingame problem):
[pawn]
if(newstate == PLAYER_STATE_DRIVER)
{
if(TipVozila[GetPlayerVehicleID(playerid)] == 1)
{
if(PLAYER_ENUM[playerid][pClan] != OrgVehInfo[GetPlayerVehicleID(playerid)][ovOrgID] && PLAYER_ENUM[playerid][pLider] != OrgVehInfo[GetPlayerVehicleID(playerid)][ovOrgID])
{
RemovePlayerFromVehicle(playerid);
GRESKA(playerid, "Nemate kluc od ovog vozila." );
}
}
}
[/pawn]
vjerovatno ti je problem ovo: [pawn]if(TipVozila[GetPlayerVehicleID(playerid)] == 1)[/pawn]
ne zznam kako odredjujes Tip Vozila, i vjerovatno ti nije tip 1, ispitaj prvo taj dio ako ti je bitan iz nekog razloga, a ako nije izbaci ga... i radice ti
Citat: Vuzimir poslato Maj 05, 2020, 19:55:07 POSLE PODNE
vjerovatno ti je problem ovo: [pawn]if(TipVozila[GetPlayerVehicleID(playerid)] == 1)[/pawn]
ne zznam kako odredjujes Tip Vozila, i vjerovatno ti nije tip 1, ispitaj prvo taj dio ako ti je bitan iz nekog razloga, a ako nije izbaci ga... i radice ti
kad kreiram vozilo org[pawn]TipVozila[ i ] = 1;[/pawn]
opet tu ga koristim
[pawn]
for(new i; i < MAX_ORGVEHS; i++)
{
new jFile[ 50 ];
format(jFile, sizeof(jFile), ORGVEH_FILE, i);
if(fexist(jFile))
{
INI_ParseFile(jFile, "LoadOrgVeh", .bExtra = true, .extra = i);
OrgVehInfo[ i ][ ovID ] = CreateVehicle(OrgVehInfo[ i ][ ovModel ], OrgVehInfo[ i ][ ovPosX ], OrgVehInfo[ i ][ ovPosY ], OrgVehInfo[ i ][ ovPosZ ], OrgVehInfo[ i ][ ovRotA ], OrgVehInfo[ i ][ ovBoja1 ], OrgVehInfo[ i ][ ovBoja2 ], -1);
TipVozila[ i ] = 1;
}
}
[/pawn]
i kod kljuceva od org vozila
Umjesto ovog i sto ti stoji u TipVozila[ i ] = 1; trebas staviti OrgVehInfo[ i ][ ovID ]
Citat: Vuzimir poslato Maj 05, 2020, 20:17:04 POSLE PODNE
Umjesto ovog i sto ti stoji u TipVozila[ i ] = 1; trebas staviti OrgVehInfo[ i ][ ovID ]
na svako li mjesto gde imam tipvozila da promenim u to ?
variabla koja ti kreira vozilo mora biti umjesto i tipa ako imas vehcar = CreateVehicle...
onda ti ide ovako: TipVozila[ vehcar ] = 1;
Nadam se da razumijes...
Citat: Vuzimir poslato Maj 05, 2020, 21:14:52 POSLE PODNE
variabla koja ti kreira vozilo mora biti umjesto i tipa ako imas vehcar = CreateVehicle...
onda ti ide ovako: TipVozila[ vehcar ] = 1;
Nadam se da razumijes...
OrgVehInfo[ i ][ ovID ] = CreateVehicle
ovo ti ide OrgVehInfo[ i ][ ovID ] umjesto i tj; TipVozila [OrgVehInfo[ i ][ ovID ] ] = 1;
i dajle ne funkcionise postaivm se /makeleader 0 nece, stavim se neki drugi ID org opet nece :@
daj komandu koja dodaje vozila za org
[pawn]
case DIALOG_ORGVEHC:
{
if(!response) return 1;
new oid, vehid, b1, b2, i = NextOrgVehID(MAX_ORGVEHS), Float:X, Float:Y, Float:Z, Float:A, ovFile[ 60 ];
if(sscanf(inputtext, "dddd", oid, vehid, b1, b2)) return ShowPlayerDialog(playerid, DIALOG_ORGVEHC, DIALOG_STYLE_INPUT, "ORG vozilo kreiranje", "Unesite ID Organizacije, ID Vozila, Boju 1 i Boju 2.\nPrimer: 1 411 1 1","U redu","Izlaz");
format(ovFile, sizeof(ovFile), ORG_FILE, oid);
if(!fexist(ovFile)) return SCM(playerid, -1, "ID te organizacije ne postoji.");
if(vehid < 400 || vehid > 611) return SCM(playerid, -1, "ID Vozila : 400 - 611");
GetPlayerPos(playerid, X,Y,Z); GetPlayerFacingAngle(playerid, A);
OrgVehInfo[ i ][ ovID ] = CreateVehicle(vehid, X, Y, Z, A, b1, b2, -1);
OrgVehInfo[ i ][ ovModel ] = vehid;
OrgVehInfo[ i ][ ovBoja1 ] = b1;
OrgVehInfo[ i ][ ovBoja2 ] = b2;
OrgVehInfo[ i ][ ovOrgID ] = oid;
OrgVehInfo[ i ][ ovPosX ] = X;
OrgVehInfo[ i ][ ovPosY ] = Y;
OrgVehInfo[ i ][ ovPosZ ] = Z;
OrgVehInfo[ i ][ ovRotA ] = A;
TipVozila[ OrgVehInfo[ i ][ ovID ] ] = 1;
SaveOrgVeh(i);
PutPlayerInVehicle(playerid, OrgVehInfo[ i ][ ovID ], 0);
}
[/pawn]
Ovako bi trebalo raditi, da prvo uradi loop kroz sva vozila organizacije da se utvrdi da li je to vozilo odgovarajuce njegovoj organizaciji, orgvehcheck pretvori u player variablu ovo je kao primjer globalna: [pawn]new orgvehcheck = 0;
for(new orgvehi; orgvehi < MAX_ORGVEHS; orgvehi++) {
if(PLAYER_ENUM[playerid][pClan] == OrgVehInfo[orgvehi][ovOrgID] || PLAYER_ENUM[playerid][pLider] == OrgVehInfo[orgvehi][ovOrgID]) {
orgvehcheck = 1;
}
}
if(newstate == PLAYER_STATE_DRIVER)
{
if(TipVozila[GetPlayerVehicleID(playerid)] == 1)
{
if(orgvehcheck == 0)
{
RemovePlayerFromVehicle(playerid);
GRESKA(playerid, "Nemate kluc od ovog vozila." );
}
else {
orgvehcheck = 0;
}
}
}[/pawn]
for(new orgvehi; orgvehi < MAX_ORGVEHS; orgvehi++)
{
if(PLAYER_ENUM[playerid][pClan] == OrgVehInfo[orgvehi][ovOrgID] || PLAYER_ENUM[playerid][pLider] == OrgVehInfo[orgvehi][ovOrgID])
{
orgvehcheck = 1;
}
}
gde da ubacim ovo, stavim pod OnGameModeInit, daje mi error playerid nemoze da pronadze
Stavi kako sam ti poslao prvo to pa ispod ostalo... ne pod ongamemodeinit nego on player state change
HVALA USPELO, a da te pitam kako mogu da evo sto sam ti posalo dialog za kreiranja vozila da uradim da moze da se kupuje od salona, lider da moze da kupuje auta za org ali sa novac od sefom ?
Ima malo vise skripte da ti pisem sad skriptu, moras dodati kada kupuje vozilo ako je lider org da mu iskoci da li kupuje za org ili licno, ako je org provjerava sef ima li para ako ima jednostavno prekopiras kreiranje vozila za org samo parametre izmjenes i to je to, jednostavno je skroz...
Citat: Vuzimir poslato Maj 05, 2020, 23:55:27 POSLE PODNE
Ima malo vise skripte da ti pisem sad skriptu, moras dodati kada kupuje vozilo ako je lider org da mu iskoci da li kupuje za org ili licno, ako je org provjerava sef ima li para ako ima jednostavno prekopiras kreiranje vozila za org samo parametre izmjenes i to je to, jednostavno je skroz...
al kako da uradim ako je primer lider ballas kad kupi vozilo da odi za ballas, ako je varrios da ide u varrios
Ovako: [pawn]OrgVehInfo[ i ][ ovOrgID ] = PLAYER_ENUM[playerid][pLider];[/pawn] to ce ti odrediti da vozilo bude od organizacije koje je lider igrac