Započeo Elmedin Techo
•8. Avg. 2014.• Zaključano[Pomoc] Delay pri izvrsavanju funkcija i problem pri izvrsavanju istih.
469
pregleda
15
postova
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
100
Postovi:
44
Teme:
Pridružio se:Nov. 2011
8. Avg. 2014.
Skripta koju koristim:NBE
Detaljan opis problema:Eh ovako, znaci pravim posao rudar i sada pravim komadu /kopaj koja ce se izvrsavati, treba mi delay(timer ide valjda) izmedju njih a ne znam kako da napravim, kada dodem na neku lokaciju da mi se ukloni objekat, posalje poruka i dobijem 1 zlato.(Napravio sam ja ali ne radi)
Kod:
Neke slike/video za lakse dobivanje pomoci(neobavezno)::
Detaljan opis problema:Eh ovako, znaci pravim posao rudar i sada pravim komadu /kopaj koja ce se izvrsavati, treba mi delay(timer ide valjda) izmedju njih a ne znam kako da napravim, kada dodem na neku lokaciju da mi se ukloni objekat, posalje poruka i dobijem 1 zlato.(Napravio sam ja ali ne radi)
Kod:
if(strcmp(cmd, "/kopaj", true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, -280.1637,2157.3110,-13.9278) || IsPlayerInRangeOfPoint(playerid, 5.0, -298.8161,2165.6951,-13.9278) || IsPlayerInRangeOfPoint(playerid, 5.0, -314.3528,2163.2004,-13.6020) || IsPlayerInRangeOfPoint(playerid, 5.0, -337.5083,2174.1167,-13.4593) || IsPlayerInRangeOfPoint(playerid, 5.0, -359.8916,2172.1741,-13.9028) && PlayerInfo == 30)
{
//===KADA KOPA
SendClientMessage(playerid, -1, "Poceo si da kopas, pricekaj 1 minut da dobijes rudu!");
new pajser = CreateObject(18634, 0,0,0,0,0,0);
AttachObjectToPlayer(pajser, playerid, 0.05,0.03,0.00,0.0,100.0,88.0);
ApplyAnimation(playerid, "CHAINSAW", "CSAW_1", 4.1, 1, 0, 0, 1, 1, 1);
//nakon sto mu posalje poruku i doda pajser da ceka 1 min pa da dobije kamen(rudu)
//===KADA ISKOPA
DestroyObject(pajser);
ClearAnimations(playerid);
SendClientMessage(playerid, -1, "Upravo si iskopao rudu, idi je preradi");
new kamen = CreateObject(3930, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToPlayer(kamen, playerid, 0.100000, 0.9000, 0.000000, 0.000000, 0.000000, 0.000000);
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1, 1, 1, 1, 1, 1, 1);
if(IsPlayerInRangeOfPoint(playerid, 5.0, -215.1245,2127.5347,-13.9028)) //OVO ne radi kako da fix?
{
ClearAnimations(playerid);
DestroyObject(kamen);
SendClientMessage(playerid, -1, "Sacekaj 1 minut da se ruda preradi");
// OVDE ISTO DELAY OD 1 min
SendClientMessage(playerid, -1, "Ruda se upravo preradila i dobio si 1 zlato");
PlayerInfo++;
return 1;
}
return 1;
}else{
SendClientMessage(playerid, 0xFFFFFFFF, "Niste na mjestu za kopanje/Niste rudar!");
}
return 1;
}Neke slike/video za lakse dobivanje pomoci(neobavezno)::
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
100
Postovi:
44
Teme:
Pridružio se:Nov. 2011
8. Avg. 2014.
C++ wrote on August 8, 2014, 6:27 pm:
Objasni ponovo nerazumem tacno sta ti treba.
Ovako znaci, kada kopa(kada kuca /kopaj) da se izvrsi ovaj deo:
SendClientMessage(playerid, -1, "Poceo si da kopas, pricekaj 1 minut da dobijes rudu!");
new pajser = CreateObject(18634, 0,0,0,0,0,0);
AttachObjectToPlayer(pajser, playerid, 0.05,0.03,0.00,0.0,100.0,88.0);
ApplyAnimation(playerid, "CHAINSAW", "CSAW_1", 4.1, 1, 0, 0, 1, 1, 1);
I da to izvrsava jedan minut(da se stvori kao loop), nakon jednog minuta da se izvrsi sljedeci,
DestroyObject(pajser);
ClearAnimations(playerid);
SendClientMessage(playerid, -1, "Upravo si iskopao rudu, idi je preradi");
new kamen = CreateObject(3930, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToPlayer(kamen, playerid, 0.100000, 0.9000, 0.000000, 0.000000, 0.000000, 0.000000);
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1, 1, 1, 1, 1, 1, 1);Eh sad kada dode na pickup(poziciju) if(IsPlayerInRangeOfPoint(playerid, 5.0, -215.1245,2127.5347,-13.902😎) da mu taj kamen nestane i da ceka opet jedan minut i nakon jednog minuta da se izvrsi sljedeci kod:
ClearAnimations(playerid);
DestroyObject(kamen);
SendClientMessage(playerid, -1, "Sacekaj 1 minut da se ruda preradi");
SendClientMessage(playerid, -1, "Ruda se upravo preradila i dobio si 1 zlato"); //OVO TREBA KAD SE PRERADI
PlayerInfo++;A ovaj kod mi ne radi, valjda sto sam stavio IsPlayerInRangeOfPoint u IsPlayerInRangeOfPoint(pogledaj skriptu bolje):
if(IsPlayerInRangeOfPoint(playerid, 5.0, -215.1245,2127.5347,-13.9028)) //OVO ne radi kako da fix?
{
ClearAnimations(playerid);
DestroyObject(kamen);
SendClientMessage(playerid, -1, "Sacekaj 1 minut da se ruda preradi");
// OVDE ISTO DELAY OD 1 min
SendClientMessage(playerid, -1, "Ruda se upravo preradila i dobio si 1 zlato");
PlayerInfo++;
return 1;
}
Kada bih ovo gore nekako moga da napravim kada dode na poziciju i pritisne LMB da mu nesta kamen i onda se izvrsava)
OG Legend
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosAktivan Član
23 / 250 XP
Početnik(2)
3,748
Postovi:
73
Teme:
Pridružio se:Jan. 2012
8. Avg. 2014.
Ovo za nestajanje znaci pod OnPlayerKeyStateChange samo proveris jeli kliknuo tipku koju zelis i dali je na mestu na kojem zelis da bude i das mu response. i pokrenes timer i kad prodje timer od 1 min ispises mu ono sto si hteo.
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
100
Postovi:
44
Teme:
Pridružio se:Nov. 2011
8. Avg. 2014.
C++ wrote on August 8, 2014, 7:03 pm:
Ovo za nestajanje znaci pod OnPlayerKeyStateChange samo proveris jeli kliknuo tipku koju zelis i dali je na mestu na kojem zelis da bude i das mu response. i pokrenes timer i kad prodje timer od 1 min ispises mu ono sto si hteo.
Pa brate, pokusao sam stavim ovo dole sto kad iskopa al pise undefined symbol kamen( pa sam ga vratio gore) a za timer mi je veliki problem, kako mogu da napravim to ? pokusavao sa timerom ali nista(SetTimerEx) Mozes li da napises ti nekoliko linija koda na brzinu i da kazes gdje sta da stavim ?
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
100
Postovi:
44
Teme:
Pridružio se:Nov. 2011
8. Avg. 2014.
C++ wrote on August 8, 2014, 7:28 pm:
Pa sta tacno da ti objasnim ovo sto sam napisao u prethodnom postu?
Kako da napravim timer da ima delaya izmedju funkcija, evo za Primjer uzmi:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/help", true))
{
SendClientMessage(playerid, -1, "Sacekajte 1 minut da bi dobili novac");
GivePlayerMoney(killerid, 1000);
SendClientMessage(playerid, -1, "Prosla je 1 minuta a vi ste upravo dobili novac!");
return 1;
}
return 0;
}
OG Legend
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosAktivan Član
23 / 250 XP
Početnik(2)
3,748
Postovi:
73
Teme:
Pridružio se:Jan. 2012
8. Avg. 2014.
SetTimerEx("ImeTimera", vreme, false, "i", playerid);forward ImeTimera ( playerid );
public ImeTimera(playerid)
{
GivePlayerMoney(killerid, 1000);
SendClientMessage(playerid, -1, "Prosla je 1 minuta a vi ste upravo dobili novac!");
return true;
}to ti je primer izvrsavanja.
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
100
Postovi:
44
Teme:
Pridružio se:Nov. 2011
8. Avg. 2014.
C++ wrote on August 8, 2014, 7:52 pm:
SetTimerEx("ImeTimera", vreme, false, "i", playerid);forward ImeTimera ( playerid );
public ImeTimera(playerid)
{
GivePlayerMoney(killerid, 1000);
SendClientMessage(playerid, -1, "Prosla je 1 minuta a vi ste upravo dobili novac!");
return true;
}to ti je primer izvrsavanja.
SetTimerEx("ImeTimera", vreme, false, "i", playerid); da stavim u ongamemodeinit ili u OnPlayerCommandText , komanda /kopaj ?
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
100
Postovi:
44
Teme:
Pridružio se:Nov. 2011
8. Avg. 2014.
C++ wrote on August 8, 2014, 8:00 pm:
Pa OnPlayerCommandText jer OnGamemodeInit nema player parametar.
Evo nesto sam uradio ali error sam dobio,
if(strcmp(cmd, "/kopaj", true) == 0)
{
// new kamen = CreateDynamicObject(3930, 0, 0, 0, 0, 0, 0);
if(IsPlayerInRangeOfPoint(playerid, 5.0, -280.1637,2157.3110,-13.9278) || IsPlayerInRangeOfPoint(playerid, 5.0, -298.8161,2165.6951,-13.9278) || IsPlayerInRangeOfPoint(playerid, 5.0, -314.3528,2163.2004,-13.6020) || IsPlayerInRangeOfPoint(playerid, 5.0, -337.5083,2174.1167,-13.4593) || IsPlayerInRangeOfPoint(playerid, 5.0, -359.8916,2172.1741,-13.9028) && PlayerInfo == 30)
{
//===KADA KOPA
SendClientMessage(playerid, -1, "Poceo si da kopas, pricekaj 1 minut da dobijes rudu!");
SetTimerEx("AddPajser", 1000, false, "i", playerid);
SetTimerEx("RemovePajser", 60000, false, "i", playerid)
//SetTimerEx("Kopanjerude", 60000, false, "i", playerid)
/* if(IsPlayerInRangeOfPoint(playerid, 5.0, -215.1245,2127.5347,-13.9028))
{
ClearAnimations(playerid);
DestroyObject(kamen);
SendClientMessage(playerid, -1, "Sacekaj 1 minut da se ruda preradi");
SendClientMessage(playerid, -1, "Ruda se upravo preradila i dobio si 1 zlato");
PlayerInfo++;
return 1;
}*/
return 1;
}else{
SendClientMessage(playerid, 0xFFFFFFFF, "Niste na mjestu za kopanje/Niste rudar!");
}
return 1;
}
forward AddPajser(playerid);
public AddPajser(playerid){
new pajser = CreateDynamicObject(18634, 0, 0, 0, 0, 0, 0);
AttachObjectToPlayer(pajser, playerid, 0.05,0.03,0.00,0.0,100.0,88.0);
ApplyAnimation(playerid, "CHAINSAW", "CSAW_1", 4.1, 1, 0, 0, 1, 1, 1);
ApplyAnimation(playerid, "CHAINSAW", "CSAW_1", 4.1, 1, 0, 0, 1, 1, 1);
return 1;
}
forward RemovePajser(playerid);
public RemovePajser(playerid){
DestroyObject(pajser);
ClearAnimations(playerid);
ClearAnimations(playerid);
SendClientMessage(playerid, -1, "Upravo si iskopao rudu, idi je preradi");
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1, 1, 1, 1, 1, 1, 1);
return 1;
}
Undefined symbol pajser -(DestroyObject(pajser)😉,
Sta da radim? a kad ga stavim pod OnGameModeInit
C:\Users\ActioN\Desktop\NBE GM\gamemodes\NBE.pwn(16733) : warning 204: symbol is assigned a value that is never used: "pajser"
C:\Users\ActioN\Desktop\NBE GM\gamemodes\NBE.pwn(100809) : error 017: undefined symbol "pajser"
C:\Users\ActioN\Desktop\NBE GM\gamemodes\NBE.pwn(100816) : error 017: undefined symbol "pajser"Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
100
Postovi:
44
Teme:
Pridružio se:Nov. 2011
8. Avg. 2014.
C++ wrote on August 8, 2014, 9:02 pm:
Pa nemozes tako naravno...
moras ovako dodaj na vrh,,,
moras ovako dodaj na vrh,,,
new Pajaser [ MAX_PLAYERS ];Pajaser [ playerid ] = Create....DestroyObject(Pajaser [ playerid ]);Hvala, sredio sam, ali sada je novi problem tj u Animacija mi se ne apply (moram dva puta kucati /kopaj da bih pocela iako sam dodao dve iste, takode ni ne zaustavi se)
Quote
forward AddPajser(playerid);
public AddPajser(playerid){
Pajser = CreateObject(18634, 0, 0, 0, 0, 0, 0);
AttachObjectToPlayer(Pajser, playerid, 0.05,0.03,0.00,0.0,100.0,88.0);
ApplyAnimation(playerid, "CHAINSAW", "CSAW_1", 4.1, 1, 0, 0, 1, 1, 1);
ApplyAnimation(playerid, "CHAINSAW", "CSAW_1", 4.1, 1, 0, 0, 1, 1, 1);
return 1;
}
forward RemovePajser(playerid);
public RemovePajser(playerid){
DestroyObject(Pajser);
ClearAnimations(playerid);
ClearAnimations(playerid);
Kamen = CreateObject(3930, 0, 0, 0, 0, 0, 0);
AttachObjectToPlayer(Kamen, playerid, 0.05,0.03,0.00,0.0,100.0,88.0);
SendClientMessage(playerid, -1, "Upravo si iskopao rudu, idi je preradi");
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1, 1, 1, 1, 1, 1, 1);
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1, 1, 1, 1, 1, 1, 1);
return 1;
}
public AddPajser(playerid){
Pajser = CreateObject(18634, 0, 0, 0, 0, 0, 0);
AttachObjectToPlayer(Pajser, playerid, 0.05,0.03,0.00,0.0,100.0,88.0);
ApplyAnimation(playerid, "CHAINSAW", "CSAW_1", 4.1, 1, 0, 0, 1, 1, 1);
ApplyAnimation(playerid, "CHAINSAW", "CSAW_1", 4.1, 1, 0, 0, 1, 1, 1);
return 1;
}
forward RemovePajser(playerid);
public RemovePajser(playerid){
DestroyObject(Pajser);
ClearAnimations(playerid);
ClearAnimations(playerid);
Kamen = CreateObject(3930, 0, 0, 0, 0, 0, 0);
AttachObjectToPlayer(Kamen, playerid, 0.05,0.03,0.00,0.0,100.0,88.0);
SendClientMessage(playerid, -1, "Upravo si iskopao rudu, idi je preradi");
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1, 1, 1, 1, 1, 1, 1);
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1, 1, 1, 1, 1, 1, 1);
return 1;
}
Shot Caller
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
100
Postovi:
44
Teme:
Pridružio se:Nov. 2011
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava