Sta je ovo?
Ovo je dodatak koji Vam omogucava kreiranje nekog tipa komande ( Poziva se kada igrac stisne tipku 'Y' na mjestu na kojem je komanda kreirana). Komandu kreirate jednom linijom (Automatski se dodaju i pickup i label na mjesto kreiranja ).
Kako i gdje se ovo koristi?
Salter u banci. Da igrac ne bi morao kucati komandu jednostavno napravite sa ovim dodatkom komandu na tom mjestu. I kad igrac stisne 'Y' komanda se poziva a vi dalje nastavljate normalno kao sa obicnom komandom.
Lista funkcija:
CreatePosCommand(poscmdID, const PCText[], Float:pcX, Float:pcY, Float:pcZ, bool:MozeIzVozila = true, pickupTip = 1239)
poscmdID: ID komande koja se kreiraj. Definise se isto kao i ID dialoga. Moja preporuka je da to radite sa enum(primjer ispod).
PCText: Text koji ce biti na labelu. Npr: "Ovdje mozete kupiti vozilo". Ispod njega se samo dodaje "Stisnite tipku 'Y'".
pcX: X pozicija komande.
pcY: Y pozicija komande.
pcZ: Z pozicija komande.
MozeIzVozila: False: igrac mora izaci iz vozila da koristi ovo. True: Igrac moze biti i u vozilu kada koristi komandu. Default: True - moze biti u vozilu.
pickupTip: ID pickupa koji ce biti kreiran na mjestu komande. Default: 1239 ( Upitnik ).
DestroyPosCommand(poscmdID)
poscmdID: ID Komande koju zelite izbrisati.
OnPosCommandPreesed(playerid, pcid)
Ovu funkciju morate imati u skripti. Ona se poziva kada igrac stisne tipku 'Y' na mjestu komande. Ovo je isto sto i OnDialogResponse kod dialoga.
playerid: ID Igraca koji izvrsava komandu.
pcid: ID Komande koju igrac izvrsava.
Napomena:
- Morate imati stramer plugin i YSI include.
- Pod OnPosCommandPreesed id-ove komandi morate razvrstati sa switch a ne sa if i else if jer je dosta brze.
- Najveci ID Komande je 2047. Komande sa vecim ID-om nece biti kreirane.
- Kad igrac jednom odradi komandu. Mora sacekati 2s kako nebi pokusao stvoriti lag ili nesto ( Jer se vrti loop kroz komande ).
Primjeri:
#include
#include
enum
{
PC_TEST1, //Ovaj ce biti ID 0
PC_TEST222, //Ovaj ce biti ID 1
PC_TEST2 = 2045, //Ovaj ce biti ID 2045
PC_TEST3 //Ovaj ce biti ID 2046
}
public OnGameModeInit()
{
CreatePosCommand(PC_TEST1, "Ovo moze biti bilo sta!", 5.0, 0.0, 3.0, _, 1314);//ID 0
CreatePosCommand(PC_TEST2, "Ovo moze biti bilo sta 2!", 0.0, 0.0, 3.0);//ID 2045
return 1;
}
public OnPosCommandPreesed(playerid, pcid)
{
switch(pcid)
{
case PC_TEST1:
{
//Poziva se komanda ID-0.
//Uradite bilo sta.
SendClientMessage(playerid, -1, "Pozvali ste komandu id 0.");
return 1;
}
case PC_TEST2:
{
//Poziva se komanda ID-2045.
//Uradite bilo sta.
SendClientMessage(playerid, -1, "Pozvali ste komandu id 2045.");
return 1;
}
}
return 1;
}
Slike:
Download:
Mega.co.nz: https://mega.co.nz/#!egRRkYoC!_Ar6SGtotdqOfnpQoq6LCejonvY-z4kXbV4gwqorEfo
Ostalo: