Započeo CADILAB
•1. Apr. 2014.• Zaključano[Pomoc] Praznjenje
420
pregleda
14
postova
Administrator
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP Doprinos21
Saradnik
16 / 500 XP
Doprinosilac(50)
2,745
Postovi:
151
Teme:
Pridružio se:Jul 2011
1. Apr. 2014.
Skripta koju koristim: Od 0
Detaljan opis problema: Evo pravim neki poslic, i sada hocu da samo jednom moze da uradi nesto na tom kontenjeru, ali meni se to namesti za sve kontenjere, znaci iz jednog izvadim smece, i iz njega vise ne mogu dok ne zavrsim posao, a meni nemoze nigde onda, i da kako da namestim da kad je u autu ne moze koristiti ovu komandu
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Detaljan opis problema: Evo pravim neki poslic, i sada hocu da samo jednom moze da uradi nesto na tom kontenjeru, ali meni se to namesti za sve kontenjere, znaci iz jednog izvadim smece, i iz njega vise ne mogu dok ne zavrsim posao, a meni nemoze nigde onda, i da kako da namestim da kad je u autu ne moze koristiti ovu komandu
if (newkeys & KEY_SPRINT)
{
if(KupiSmece == 1)
{
new Float:Pos;
for(new i = 0; i < sizeof(Kontenjeri); i++)
{
GetDynamicObjectPos(Kontenjeri, Pos,Pos,Pos);
if(Kontenjeri == 999) return SCM(playerid, ORANGE, " >> U ovom kontenjeru vise nema smeca !");
if(IsPlayerInRangeOfPoint(playerid,1.0,Pos,Pos,Pos) && KupiSmece == 1)
{
SetPlayerAttachedObject(playerid, 0, 1265, 6, 0.298000, -0.031999, -0.050000, 0.000000, -104.599983, 0.000000, 0.683000, 0.648999, 1.077999, 0, 0);
SCM(playerid, RED, " >> Uzimate kontenjer i praznite smece !");
Kontenjeri = 999;
DestroyDynamicPickup(Kontenjeri);
}
}
}
}Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
OG Legend
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
246 / 250 XP
Početnik(0)
2,678
Postovi:
133
Teme:
Pridružio se:Maj 2012
2. Apr. 2014.
Pa ti si mu napravio sada samo 1 kontejner odradi kada igrac dodje do kontejnera i kada zavrsi s njim da dobije nesto sto mu vise nece dati da tu radi vec novi marker za novi kontejner 😄
Sredis jednostavno sa kordinatama
Sredis jednostavno sa kordinatama
if (IsPlayerInRangeOfPoint(playerid,3.0,x,y,z)) // 1 kontejner
{
PokupioSmece = 1;
// Ponistavas mu sve oko tog kontejnera
//Stavis mu novi marker
}
else if (IsPlayerInRangeOfPoint(playerid,3.0,x,y,z)) // 2 kontejner
{
}
itd...
Hustler
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
25 / 100 XP
Početnik(0)
67
Postovi:
0
Teme:
Pridružio se:Jan. 2014
2. Apr. 2014.
Za ovog iznad mene lupas gluposti.
Vidi logiku, ti stavis tako nesto, ti ces time kada krene loop on prvo proveravati da li je taj kontenjer vec uzimano iz njega ako jeste vratice tu poruku, a to ako uradis sa prvim vise neces moci da vadis smece. Prosto ovako stavis:
Prosto, ako je u blizini tog kontenjera i ako mu je taj objekat na 999 on ce vratiti to, ovako ce raditi ja mislim i siguran sam
Vidi logiku, ti stavis tako nesto, ti ces time kada krene loop on prvo proveravati da li je taj kontenjer vec uzimano iz njega ako jeste vratice tu poruku, a to ako uradis sa prvim vise neces moci da vadis smece. Prosto ovako stavis:
if (newkeys & KEY_SPRINT)
{
if(KupiSmece == 1)
{
new Float:Pos;
for(new i = 0; i < sizeof(Kontenjeri); i++)
{
GetDynamicObjectPos(Kontenjeri, Pos,Pos,Pos);
if(IsPlayerInRangeOfPoint(playerid,1.0,Pos,Pos,Pos) && KupiSmece == 1)
{
if(Kontenjeri == 999) return SCM(playerid, ORANGE, " >> U ovom kontenjeru vise nema smeca !");
SetPlayerAttachedObject(playerid, 0, 1265, 6, 0.298000, -0.031999, -0.050000, 0.000000, -104.599983, 0.000000, 0.683000, 0.648999, 1.077999, 0, 0);
SCM(playerid, RED, " >> Uzimate kontenjer i praznite smece !");
Kontenjeri = 999;
DestroyDynamicPickup(Kontenjeri);
}
}
}
}Prosto, ako je u blizini tog kontenjera i ako mu je taj objekat na 999 on ce vratiti to, ovako ce raditi ja mislim i siguran sam
Hustler
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
25 / 100 XP
Početnik(0)
67
Postovi:
0
Teme:
Pridružio se:Jan. 2014
2. Apr. 2014.
Shoorty wrote on April 2, 2014, 5:26 pm:
Sad kada pridjem i stisnem spejs nista ...
Da povecas range, jer ako je upitanju kontenjer, ako je 1.0 to znaci da moras biti u kotenjeru verovatno, aj probaj staviti bar 3.0 ili 5.0
Enforcer
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
308
Postovi:
46
Teme:
Pridružio se:Sep. 2011
2. Apr. 2014.
"public OnPlayerEnterCheckpoint(playerid)"
Povežeš sa komandom da li me kontaš?
odeš tamo i sada napraviš.
To ti je primjer i sada ti sebi tako uradiš? ako misliš na to?
Ali sebi to uradiÅ¡ kontaÅ¡? povežeÅ¡ sa komandom i ispast Äe tako kao Å¡to si mislio.
Isti tak naÄin sam i ja neÅ¡to pravio.
Povežeš sa komandom da li me kontaš?
odeš tamo i sada napraviš.
if(GetPVarInt(playerid,"PoceoWork") == 1)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 453)
{
if(GetPVarInt(playerid,"CP") == 1)//Ispitivanje da li CP na 1
{
if(IsPlayerInRangeOfPoint(playerid,5.0,2617.9966,-2482.6226,-0.3542))//Tu kordinate za CP1 kao u komandi
{
SetPlayerCheckpoint(playerid,133.2870,-1937.5846,-0.4944,5.0);
SetPVarInt(playerid,"CP",2);//Stavimo "CP" na 2
SendClientMessage(playerid, COLOR_WHITE, ">>Odvezi opremu sad do svjetleonika.");
}
}
if(GetPVarInt(playerid,"CP") == 2)//Ispitivanje da li CP na 2
{
if(IsPlayerInRangeOfPoint(playerid,5.0,133.2870,-1937.5846,-0.4944))//Tu kordinate za CP2 kao iznad
{
SetPlayerCheckpoint(playerid,1142.1008,-2467.3606,-0.5795,5.0);
SetPVarInt(playerid,"CP",3);//Stavimo "CP" na 3
SendClientMessage(playerid, COLOR_WHITE, ">>Sad se vrati do baze po platu.");
}
}
if(GetPVarInt(playerid,"CP") == 3)//Ispitivanje da li CP na 3
{
if(IsPlayerInRangeOfPoint(playerid,5.0,1142.1008,-2467.3606,-0.5795))//Tu kordinate za CP2 kao iznad
{
DisablePlayerCheckpoint(playerid);
SetPVarInt(playerid,"CP",0);//Stavimo "CP" na 0, jer prakticki zavrsavaju CP-evi
SendClientMessage(playerid, COLOR_WHITE, ">>Dobio si 1000$.");
GivePlayerMoney(playerid, 1000);
}
}
}
}
return 1;
}To ti je primjer i sada ti sebi tako uradiš? ako misliš na to?
Ali sebi to uradiÅ¡ kontaÅ¡? povežeÅ¡ sa komandom i ispast Äe tako kao Å¡to si mislio.
Isti tak naÄin sam i ja neÅ¡to pravio.
Hustler
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
25 / 100 XP
Početnik(0)
67
Postovi:
0
Teme:
Pridružio se:Jan. 2014
2. Apr. 2014.
Shoorty wrote on April 2, 2014, 6:48 pm:
Hvala gagi radi, al sada kada pokupim nece da unisti taj pickup kod objekta, a postavio sam ovako
DestroyDynamicMapIcon(Kontenjeri);Kontenjeri je id od objekta, a za map iconu moras nesto tipa
new KontenjeriMapIcone;
I onda kod SetDynamicMapIcon dodas KontenjeriMapIcone = SetDynamicMapIcon...
i onda za to destroy koristis KontenjeriMapIcone, a ne Kontenjeri jer to je objekat, ne map icona
Hustler
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
25 / 100 XP
Početnik(0)
67
Postovi:
0
Teme:
Pridružio se:Jan. 2014
2. Apr. 2014.
Shoorty wrote on April 2, 2014, 7:59 pm:
Pa necu valjda morati dodavati map ikonu posebno za svako kontenjer, mogu li to loop-at ili ?
Pa dobro u loop-u dodas samo taj deo KontenjeriMapIcone = SetDynamic...
Ili daj mi kako setujes map icone da vidim pa cu dodati odmah, a lako je samo definises nesto tipa ovo KontenjerMapIcone i dodas ono...
Administrator
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP Doprinos21
Saradnik
16 / 500 XP
Doprinosilac(50)
2,745
Postovi:
151
Teme:
Pridružio se:Jul 2011
2. Apr. 2014.
CMD:kupismece(playerid, params[])
{
if(PI != 2) return SCM(playerid, ORANGE, " >> Niste zaposleni kao Djubretar !");
if(KupiSmece != 0) return SCM(playerid, ORANGE, " >> Vec ste krenuli sa kupljenjem smeca !");
new Float:Pos;
for(new i = 0; i < sizeof(Kontenjeri); i++) //Broj 4 je broj kontenjera
{
GetDynamicObjectPos(Kontenjeri,Pos,Pos,Pos);
CreateDynamicMapIcon(Pos,Pos,Pos, 56, -1, -1, -1, -1, 50.0);
}
KupiSmece = 1;
return 1;
}EDIT: Napravio sam, hvala gagi, kraljina si.
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava
