Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: [NG | RP] Almir poslato Decembar 09, 2012, 17:42:35 POSLE PODNE

Naslov: [Pomoc]Public AreaTimer
Poruka od: [NG | RP] Almir poslato Decembar 09, 2012, 17:42:35 POSLE PODNE
Skripta: CLRP
Problem: Ovako, treba mi area ali ne na ovaj nacin SetPlayerWorldBounds nego na onaj koji je u Dio Skripte, al ovdje mi neke errore pokazuje, kako tacno da uradm
Dio skripte:
Ukomandu
SetTimer("Areatimer", 20000, 1);

onda

public Areatimer(playerid)
{

if(!PlayerToPoint(30, x, y, z) return SetPlayerPos(xyz)
Slike:

}
Naslov: Odg: [Pomoc]Public AreaTimer
Poruka od: LOckeRâ„¢ poslato Decembar 09, 2012, 17:44:24 POSLE PODNE
Prije publica staviÅ¡ forward meÄ'u ostale forwarde
forward AreaTimer(playerid);
Naslov: Odg: [Pomoc]Public AreaTimer
Poruka od: [NG | RP] Almir poslato Decembar 09, 2012, 17:46:08 POSLE PODNE
Jel mi mozes to ovdje sve napista gdje sta da stavim, u ono sto sam stavio DioSkritpe imaju mi neki errori, tako da bi bilo dobro da mi ti kazes gdje sta da stavim, sta u cmd , sta u public itd.. Hvala unaprijed :D
Naslov: Odg: [Pomoc]Public AreaTimer
Poruka od: Blaeks poslato Decembar 09, 2012, 17:47:06 POSLE PODNE
ovo stavis na vrh forward AreaTimer(playerid); public stavis na kraj skripte, a tajmer pod OnGameModeInit
Naslov: Odg: [Pomoc]Public AreaTimer
Poruka od: [NG | RP] Almir poslato Decembar 09, 2012, 17:49:44 POSLE PODNE
Sta tacno u public stavit, ovaj sto sam naveo kao primjer ne valja, neki errori, jel mzoes ti napisat public
Naslov: Odg: [Pomoc]Public AreaTimer
Poruka od: Blaeks poslato Decembar 09, 2012, 17:51:03 POSLE PODNE
public ti je okej, samo umesti tako gde pise x,y,z ti tamo zapisi svoje koordinate
Naslov: Odg: [Pomoc]Public AreaTimer
Poruka od: [NG | RP] Almir poslato Decembar 09, 2012, 17:55:38 POSLE PODNE
Pa zar bi uopste petljao oko aree da ne znam da treba umjesto x,y,z stavit koordinatu, Naravno da sam stavio, al vjerovatno je bio error sto nisam imao taj forward
Naslov: Odg: [Pomoc]Public AreaTimer
Poruka od: Blaeks poslato Decembar 09, 2012, 17:57:11 POSLE PODNE
Citat: BC Aldin Delic poslato Decembar 09, 2012, 17:55:38 POSLE PODNE
Pa zar bi uopste petljao oko aree da ne znam da treba umjesto x,y,z stavit koordinatu, Naravno da sam stavio, al vjerovatno je bio error sto nisam imao taj forward
Testiraj i javi da li ima errora, ne znam stvarno do cega ti je bio error.
Naslov: Odg: [Pomoc]Public AreaTimer
Poruka od: [NG | RP] Almir poslato Decembar 09, 2012, 18:27:31 POSLE PODNE
Ok. Kasnije cu testat, hvala ti
Naslov: Odg: [Pomoc]Public AreaTimer
Poruka od: Stari covek poslato Decembar 09, 2012, 18:38:33 POSLE PODNE
Pa taj timer ti nece raditi stalno ce raditi na id-u 0
Ako ovo stavljas u komandu: SetTimer("Areatimer", 20000, 1); i hoces da to pokrene za igraca onda mora SetTimerEx ici
SetTimer("Areatimer", 20000, 1, "i",koja_je_varijabla_za_ID_koji_je_kucao_admin);//Samo stavis id igraca kojeg bacas u areu....
Iako je to relativno los sistem da pokreces toliko timer-a zbog toga...
Naslov: Odg: [Pomoc]Public AreaTimer
Poruka od: [NG | RP] Almir poslato Decembar 09, 2012, 18:57:10 POSLE PODNE
Jel mozes ti napravit cu cmd, ne kontam bas :D
Naslov: Odg: [Pomoc]Public AreaTimer
Poruka od: Stari covek poslato Decembar 09, 2012, 20:36:08 POSLE PODNE
Citat: BC Aldin Delic poslato Decembar 09, 2012, 18:57:10 POSLE PODNE
Jel mozes ti napravit cu cmd, ne kontam bas :D
Daj komandu
Naslov: Odg: [Pomoc]Public AreaTimer
Poruka od: Maxwellâ„¢ poslato Decembar 09, 2012, 20:37:27 POSLE PODNE
new area[MAX_PLAYERS];

public OnGameModeInit()
{
    SetTimer("AreaTimer", 40000, 1);
    return 1;
}

// NA MESTU GDE TI SE IGRAC STAVLJA U AREU, ZNACI ONO GDE JE SETPLAYERPOS ZA AREU, ISPOD TOGA SETPLAYERPOS DODAS:
area[playerid] = 1;

// NA MESTU GDE IGRAC IZLAZI IZ AREE, ZNACI SETPLAYERPOS ZA IZLAZ IZ AREE ISPOD TOG SETPLAYERPOSA OVO DODAS:
area[playerid] = 0;
////////////////////////////////////////////////
//NA KRAJ MODA:
forward AreaTimer(playerid);
public AreaTimer(playerid)
{
    if(area[playerid] == 1)
    {
        if(!PlayerToPoint(50.0, playerid, x, y, z)) return SetPlayerPos(playerid, x, y z,); //XYZ = koordinate aree
    }
    return 1;
}


Probaj ovako...

Edit: Nisam zatvorio zagradu samo, evo ispravka
if(!PlayerToPoint(50.0, playerid, x, y, z)) return SetPlayerPos(playerid, x, y z,); //XYZ = koordinate aree
Jebi ga, na brzinu sam, dešava se :)