Skripta koju koristim: NL
Detaljan opis problema: Eh ovako hoću da napravim mini posao za bande to jeste oko luke droga. Eh kako ja sada to da uradim?
Stvarno ne kontam , može malo objašnjenje? hvala vam , znam da ide nešto kao posao , treba svašta.
Znam da tu radi samo 2 komande kada zapoÄinjeÅ¡ i tamo uzimaÅ¡?
Može mala pomoć?
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Ovako stavis normalnu komandu kao i za svaki posao samo stavis:
if(PlayerInfo[playerid][pClan] != 1 && PlayerInfo[playerid][pLider] != 1) return SendClientMessage(playerid,-1,""B"Samo clanovi Mafije!");
I onda ti ide npr:
SetPlayerCheckpoint(playerid, 2455.2285,-2090.3384,14.1206, 5.0); DilaDrogu[playerid] = 1;
Nakon toga
if(DilaDrogu[playerid] == 1)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2455.2285,-2090.3384,14.1206))
{
utovar[playerid] = SetTimerEx("preposta", 15000, false, "d", playerid);
SCM(playerid, -1,""SPLAVA"| Dilanje | "BELA"Sacekaj da se droga utovari!");
SetPlayerCheckpoint(playerid, 2455.2285,-2090.3384,14.1206, 5.0);
DilaDrogu[playerid] = 2;
}
}
if(DilaDrogu[playerid] == 2)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2455.2285,-2090.3384,14.1206))
{
utovar[playerid] = SetTimerEx("preposta", 15000, false, "d", playerid);
SCM(playerid, -1,""SPLAVA"| Dilanje | "BELA"Sacekaj da se droga istovari, pa se vrati pa se vrati u bazu!");
SetPlayerCheckpoint(playerid, 2455.2285,-2090.3384,14.1206, 5.0);
DilaDrogu[playerid] = 3;
}
}
if(DilaDrogu[playerid] == 3)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2455.2285,-2090.3384,14.1206))
{
SCM(playerid, -1,""SPLAVA"| Dilanje | "BELA"Zavrsio si dilanje droge!");
DilaDrogu[playerid] = 0;
DisablePlayerCheckpoint(playerid);
}
}
I sve tako.. :D
A gdje stavdljam to zadnje jeli u komandu ili ? poÄetnik sam može malo , liijepÅ¡e , izavnjam se ako smetam!
To zadnje bi trebalo u komandu da ide ...
Kako sada da definiram ovo dila drogu?
jeli idem new
ili define? :D
msm ?
DilaDrogu kako da definiram? to?
Da na vrh definises tu varijablu
new DilaDrogu[MAX_PLAYERS];
Komanda:
Stim da ti ne moras koristiti YCMD! Koristi ono sto ti imas u Scripti! Ovo ti ja dajem samo primjer. Pogledaj tacno sve kako sam ja uradio i ti tako ubaci u scriptu ali samo podesi na svoju komandu, CP, i sve ostalo kako je kod tebe na GM
YCMD:dilajdrogu(playerid, params[], help)
{
#pragma unused help
#pragma unused params
if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,""CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pClan] != 1 && PlayerInfo[playerid][pLider] != 1) return SendClientMessage(playerid,-1,""B"Samo clanovi Mafije!");
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, 1796.5811,-1926.9221,13.3892))
{
if(DilaDrogu[playerid] != 0 || GPS[playerid] != 0) return SCM(playerid,-1,""B"Vec imas aktiviran posao ili vam je ukljucen GPS! "CR"[ "ZUTA"/ponistidilanje | /iskljucigps "CR"]");
SetPlayerCheckpoint(playerid, 2455.2285,-2090.3384,14.1206, 5.0);
}
else
{
SCM(playerid,-1,""B"Nisi na mestu gde se pokrece dilanje droge!");
}
}
Ovaj PlayerInfo[playerid][pClan] != 1 i ovo PlayerInfo[playerid][pLider] != 1 Ti tu upisujes redni broj te Mafije/Bande/Organizacije.. Ako je kod tebe npr Banda/Mafija/Org za koju pravis ovaj sistem dilanja droge npr pod rednim brojem 3 definisana onda ti upisi broj 3! To znaci da ce tu komandu moci da izvrsi samo igrac koji je u toj org ili je lider
Ovo sto si me pitao, gdje ide zadnje, ide pod:
public OnPlayerEnterCheckpoint
A to izgleda ovako.. Ti mozes da stavis koliko god hoces da bude Checkpoint-a Znaci ako hoces samo 1 onda odma ovde u prvom IsPlayerInRangeOfPoint stavi DisablePlayerCheckpoint
public OnPlayerEnterCheckpoint(playerid)
{
if(DilaDrogu[playerid] == 1)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2455.2285,-2090.3384,14.1206))
{
utovar[playerid] = SetTimerEx("preposta", 15000, false, "d", playerid);
SCM(playerid, -1,""SPLAVA"| Dilanje | "BELA"Sacekaj da se droga utovari!");
SetPlayerCheckpoint(playerid, 2455.2285,-2090.3384,14.1206, 5.0);
DilaDrogu[playerid] = 2;
}
}
if(DilaDrogu[playerid] == 2)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2455.2285,-2090.3384,14.1206))
{
utovar[playerid] = SetTimerEx("preposta", 15000, false, "d", playerid);
SCM(playerid, -1,""SPLAVA"| Dilanje | "BELA"Sacekaj da se droga istovari, pa se vrati pa se vrati u bazu!");
SetPlayerCheckpoint(playerid, 2455.2285,-2090.3384,14.1206, 5.0);
DilaDrogu[playerid] = 3;
}
}
if(DilaDrogu[playerid] == 3)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2455.2285,-2090.3384,14.1206))
{
SCM(playerid, -1,""SPLAVA"| Dilanje | "BELA"Zavrsio si dilanje droge!");
SCM(playerid, -1,""SPLAVA"| Dilanje | "BELA"Dobio si 200g droge!");
PlayerInfo[playerid][pDroga] += 200;
DilaDrogu[playerid] = 0;
DisablePlayerCheckpoint(playerid);
}
}
return 1;
}
Obavezno dodaj:
new DilaDrogu[MAX_PLAYERS];
Gore negdje u scripti gdje imas dosta new
Nadam se da sam ti nekako pomogao, ako negdje zapnes javi pa cemo probati i to resiti. Poz ;)
Ali kako ja to gore da provjerim kako mi je banda/mafija , definirana :(( ?
Pa nez koji ti GM koristis i kako izgleda uglavnom probaj naci pod stock:
stock ImeOrganizacije(factionid)
{
new string[126];
switch(factionid)
{
case 11: string = "Corleone Family";
case 10: string = "Salieri Family";
case 9: string = "Russian Mafia";
case 8: string = "Parking Servis";
case 7: string = "Interventna";
case 6: string = "RL News";
case 5: string = "Ballas";
case 4: string = "Grove Street Family";
case 3: string = "La Cosa Nostra";
case 2: string = "The Columbian Cartel";
case 1: string = "Beograd Police Department";
case 0: string = "Nijedna";
default: string = "Nijedna";
}
return string;
}
Ovako bi moglo slicno da bude, ovde ti je definisani ID-ovi organizacija. Trazi tako mora biti pretrazi svaki:
stock
Ili mozes umesto da definise organizacuju, da bi pokrenuo dilanje stavis da se pokrece iz vozila te organizacije. Znaci kada igrac u toj organizaciji i kuca /dilajdrogu mora biti u kombiju da bi pokrenuo dilanje..
YCMD:dilajdrogu(playerid, params[],help)
{
new voz = GetPlayerVehicleID(playerid);
if(voz == tvf[3] || voz == tvf[4] || voz == tvf[5] || voz == tvf[6])
Ovo "tvf" je definisano vozilo organizacije, i ono se isto nalazi pod Stock
Ili mozes zajedno dodati i da igrac mora biti u ORG i da mora biti u Vozilu da bi pokrenuo dilanje:
YCMD:dilajdrogu(playerid, params[],help)
{
#pragma unused help
if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"Y:RP | "CRVENA"Moras se ulogovati da bi koristio ovu komandu!");
new voz = GetPlayerVehicleID(playerid);
if(PlayerInfo[playerid][pClan] == 2 || PlayerInfo[playerid][pLider] == 2)
{
if(voz == tvf[3] || voz == tvf[4] || voz == tvf[5] || voz == tvf[6])
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid,-1,""CRVENA"[Y:RP] "SIVA"Morate biti na mestu vozaca da bi pokrenuli sverc!");
SetPlayerCheckpoint(playerid, 2455.2285,-2090.3384,14.1206, 5.0);
}
else return SCM(playerid,-1,""CRVENA"[TCC]: "SIVA"Niste u kombiju za sverc!");
}
Eto ja sam ti poslao na pm , kako dalje*?
u nl nije taj naÄin uopÅ¡te organizacija ja bi ti mogao napraviti ali nemam vremena