Jump to content

Základy Pawna 1. a 2. díl,aneb lama radí větším lamám


Recommended Posts

Takže na dnešek jsem si připravil svůj 1. TuT A jsou to základy pawna

#include //nutné pro funkčnost módu

takže #include=přidání souboru ze složky includes v pawnu...

abychom mohli používat barvy bez psaní RGB kódu musíme použít kód

#define

takže zde máte pár kódů na barvy...

#define COLOR_MODRA 0x0000FFAA
#define COLOR_CERVENA 0xAA3333AA
#define COLOR_BILA 0xFFFFFFAA
#define COLOR_ZLUTA   0xFFFF00AA

mimo doporučuji si označit obsahy jednotlivých řádků takže třeba takhle:

//include's
#include 
//define's
#define COLOR_MODRA 0x0000FFAA
#define COLOR_CERVENA 0xAA3333AA
#define COLOR_BILA 0xFFFFFFAA
#define COLOR_ZLUTA   0xFFFF00AA
//new's
new neco
atd...

kódy pro jednotlivé funkce se vždy rozdělují do jednotlivých kategorií

např.

public OnGameModeInit()
{
	SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}

public OnGameModeInit()

{

je jeden z nejpoužívanějších publiců,protože se do něj vkládají auta,nebo pickupy...

(auta se vkládají přes filterscript DEBUG http://uloz.to/311914/debug-05.amx

auto se vytvoří příkazem /V id auta (např. 522 je NRG) ,a potom si do auta sednete,dáte ho na požadovanou pozici a diáte /save. Ve složce s GTA san andreas se vám vytvoří soubor savedposipotisions.txt

a v něm bude vytvořen příkaz

AddStaticVehicle(560,2038.3019,1388.4896,10.4788,359.9245,9,39); 

 

-- čtv 03. čer 2010 17:08:18 --

 

2. díl

 

TUT ZACATKY

 

Takže je tu úplný začátek, pawno jsi nikdy neviděl.Proto je tu tento TUTORIAL aby se ti lepe zacinalo ;)

Tento TUT jsem napsal, protože když nekdo napiše pomoc s errory, a chybi mu tam svorka, nebo strednik, tak to vam nikdo radit nebude :d

 

1.Krok

 

Stahnout si Pawno 0.3

DOWNLOAD

______________________________________________________________________________________

 

2.Krok(Zaklady)

 

První co by jste měli vědět je, že za každou funkcí musí být středník ( ; )

Např:

 

SendClientMessage(playerid, 0xFFFFFF, "Tvoje zpráva do chatu!!!");// 0xFFFFFF je hexovi kod barvy

 

Všiměte se za funkcí středníku!!!

 

GivePlayerMoney(playerid, 2000);
GivePlayerWeapon(playerid, 25, 30);
SendClientMessage(playerid, 0xFFFFFF, "Dostal jsi 2000$ a brokovnici s 30ti naboji!!!");

 

Veskere funkce naleznete zde: WIKI

 

Pokud nerozumíte anglicky, tak:WIKI ČESKY!!!!

 

 

Ale tím se mění jazyk i ve funkcích, a mohlo by se vám to promíchat v češtině, a hnedle error :)

 

Dále by jste měli vědět že za podmínkou středník být nesmí :d !!!

 

if(Povolani[MAX_PLAYERS] == 1)//Podmínka, středník být nesmi!!!
{
   SendClientMessage(playerid, 0xFFFFFF, "Tvé povolani je policie!");//Funkce, středník být musí!!!
}
else if(Povolani[playerid] == 0)//Podmínka
{
   Povolani[playerid] = 1;//Funkce
   SendClientMessage(playerid, 0xFFFFFF, "Od teď jsi zaměstnán u policie!!!");//Funkce
}

Vysvětlení podmínek:

if - if musí být vždy první podmínka, tam se dát else nemůže(je to standartní podmínka jakou určiě požijete)

else if - else if se požívá pokud hráč danou hodnotu nesplňuje, tak se tato podmínka nevyvolá, zatím co když by tam bylo pouze if, vyvolají se podmínky obě(takhle můžete kombinovat neskutečné množství podmínek!!!)

 

if(Povolani[playerid] == 1)
{
   if(GetPlayerMoney(playerid) > 300)
   {
       SendClientMessage(playerid, 0xFFFFFF, "Máš dost peněz!!!!"
   }
   else if(GetPlayerMoney(playerid) !> 300)
   {
       SendClientMessage(playerid, 0xFFFFFF, "Dostal jsi 300");
       GivePlayerMoney(playerid, 300);
   }
}
if(Povolani[playerid] == 2)
{
    if(GetPlayerMoney(playerid) > 3000000)
   {
       SendClientMessage(playerid, 0xFFFFFF, "Máš dost peněz!!!!"
   }
   else if(GetPlayerMoney(playerid) !> 3000000)
   {
       SendClientMessage(playerid, 0xFFFFFF, "Dostal jsi 3000000");
       GivePlayerMoney(playerid, 3000000);
   }
}

Závorky:

{ } - Otevírá podmínky, publici....atd...

[ ] - rozdeluje ve vasich promených informace, enumy, atd

( ) - rozdeluje v samp promenach a jsou ve funkcích

Kolik závorek otevřete, tolik jich musíte zavřít!!!(častá chyba)

 

Mezery za čárkou:

Sám nevím jestly je to pravda, ale prý za čárkou by měla být nejméně jedna mezere, aby pawno stíhalo číst data ;)

______________________________________________________________________________________

3.Krok(Proměné)

 

Do proměných můžete dosazovat jakoukoliv hodnotu, a při každé hodnotě provést jinou akci.

new VASEPROMENA;

 

Např.:

 

new Povolani[MAX_PLAYERS];

 

Takhle můžeme do podmínky přidat, např string:

 

new string[256];//256 počet zanků ve stringu

String se používá při vypisování promené do textu!!!!

new string_penez[170];
format(string_penez, sizeof(string_penez), "Máš %d $", GetPlayerMoney(playerid));
SendClientMessage(playerid, 0xFFFFFF, string_penez);

 

Dále můžeme do proměné pridat enumy.

 

enum PLAYERINFO
{
WantedLevel,
AdminLevel,
Skin
}
new PlayerInfo[MAX_PLAYERS][PLAYERINFO];

 

a pak použití proměné...

tento příklad bude taková hovadina, protože na použiti takoveho enumu potřebujete ukladani učtu, a k tomu je nutna registrace a login, TuT dodam :)

Ale snad pochopite na jakem je to principu.

PlayerInfo[playerid][WantedLevel] = GetPlayerWantedLevel(playerid);
if(PlayerInfo[playerid][WantedLevel] > 0)
{
   SendClientMessage(playerid, 0xFFFFFF, "Jsi hledaný!!!!");
}

 

Tak to by zatím mělo být vše, kdyžtak něco ještě dodám.Reknete kdo najde chyby a ja opravim :)

 

A na závěr stránky které by se vám mely hodit!!!

 

 

ZDE NALEZNETE ID VSECH AUT,POCASI,HUDBY...atd

HEXOVE KODY BAREV

 

2. díl děkuji Bagrovi

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

díky

 

budu se snažit udělat další díly... Prostě jsem tady na pawnu neviděl nic, co by lamkám mohlo pomoci. Já když jsem začínal jsem musela škemrat o pomoc jiné pawnery... A nyní mám na starost 3 začátečníky,a proto dělám tyto TuTy

Link to comment
Share on other sites

String se používá při vypisování promené do textu!!!!

A co kdyz dam?

new ping[170];
format(ping, sizeof(ping), "Máš %d $", GetPlayerMoney(playerid));
SendClientMessage(playerid, 0xFFFFFF, ping);

 

 

Jinak TuT dobrej ale takový moc informaci v jednom TuTorialu, vzal bych jednu nebo dvě věci a ty vysvětlil pořádně.

Link to comment
Share on other sites

String se používá při vypisování promené do textu!!!!

A co kdyz dam?

new ping[170];
format(ping, sizeof(ping), "Máš %d $", GetPlayerMoney(playerid));
SendClientMessage(playerid, 0xFFFFFF, ping);

 

 

Jinak TuT dobrej ale takový moc informaci v jednom TuTorialu, vzal bych jednu nebo dvě věci a ty vysvětlil pořádně.

 

Asi máš pravdu, psal jsem to tenkrát na rychlo.

Link to comment
Share on other sites

tut tak 5/10 ....ale mam pro tebe spatnou zpravu chlape....postovani odkazu na cizi pawn fora sou prisne zakazany....a je to hodne trestany....takze te ban na tejden nemine....

Link to comment
Share on other sites

omen, ty jsi správný moderator :thumbup: :thumbup:

 

Ale taky petapl je dobrý že přiznal chybu ne jak někteří nejmenovaní (leone) xD jak tu začli spamovat xD

Link to comment
Share on other sites

  • 3 weeks later...
super tut moc som sa s neho naučil ale trochu som nepochopil vo wiki samp čo robi :

AddPlayerClass vedel by mi to niekto vysvetliť?

to sou tymy jak vybiras na zacatku das tam ID skynu a pak pozici kde se ma spawnout

Link to comment
Share on other sites

Guest [HQW]MASTER

hej ok mod mi ide super dal som uz aj spawn aj dake objekty ale dalej ako určim aby auto vzdy ked sa vytvori malo vzdy napr. ciernu farbua alebo aby malo nitro

Link to comment
Share on other sites

hej ok mod mi ide super dal som uz aj spawn aj dake objekty ale dalej ako určim aby auto vzdy ked sa vytvori malo vzdy napr. ciernu farbua alebo aby malo nitro

 

 

Hledej funkce AddVehicleComponent a AddStaticVehicle.

Na wiki máš vysvětlení jednotlivých věci, co ta funkce zobrazuje, kdyžtak použij Google překladač ;)

Link to comment
Share on other sites

Guest [HQW]MASTER

mam otazku ktru som nikde nenasiel tak to tu pisem....

AddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2)

pridavanie auta ale ako dam aby bola nahodna farba? lebo tu je napisane:color1, color2

a bez nich to nejde tak ako dam nahodnu farbu auta?

Link to comment
Share on other sites

mam otazku ktru som nikde nenasiel tak to tu pisem....

AddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2)

pridavanie auta ale ako dam aby bola nahodna farba? lebo tu je napisane:color1, color2

a bez nich to nejde tak ako dam nahodnu farbu auta?

AddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2)

 

Napiš místo color1 a 2

random(150),random(150)

 

;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...