Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2012-07-14, 14:43


Krazes201







Wiek: 32
Na forum: 5390 dni
Posty: 2
Nick w MP: [PMS]KoxProDrift

Piwa: 705

Respekt: 40

Siema ; ) wiele, a nawet bardzo du?o os?b ma problem z napisaniem pocz?tkiem mapy.
W tutku napisz? jak zacz?? pisa? GameModa. [ Prosz? o przyklejenie tego tematu]

Autor : Cr34tivE (ja, m?j nowy nick xD )
Poziom : ?atwy


Mapa b?dzie pisana w systemie zcmd

To zaczynamy :)
Na sam pocz?tek dajemy dwa includki.
Kod:
#include <a_samp> //Nasz podstawowy include
#include <zcmd>//Include zCMD, do komend !


Nast?pnie definiojemy kolory
Kod:
#define CZERWONY 0xFF0000AA //definicja koloru czerwonego
#define NIEBIESKI 0x0000FFAA //definicja koloru zielonego
#define CIEMNOSZARY 0xA9A9A9AA //definicja koloru ciemno-szarego
#define BEZOWY 0xFFFFADAA //definicja koloru be?owego


Aby nie pisa? d?ugich wyraz?w (SendClientMessage..) to dajemy :
Kod:
#define SCM SendClientMessage
#define SCMTA SendClientMessageToAll



Nast?pnie tworzymy public, kt?ry odpowiada za wej?cie na serwer, czyli :
Kod:
public OnPlayerConnect(playerid)


i w nim mo?emy da?
Kod:
SendClientMessage(playerid, czerwony, "Witamy na serwie :!"); //Jest to nasz text, kt?ry pojawi si? graczowi przy po??czeniu z serwerem !


Teraz dajemy public, kt?ry b?dzie odpowiada?, za to co b?dzie si? dzia?o przy od??czeniu gracza od serwera.
Kod:
public OnPlayerDisconnect(playerid, reason)
a w nim :

Kod:

new string[256];
switch(reason)
{
case 0: format(string, sizeof(string), "Gracz : %s roz??czy? si?. (po??czenie zerwane)", PlayerName(playerid)); //Je?eli gracz straci? po??czenie z serwem
case 1: format(string, sizeof(string), "Gracz : %s roz??czy? si?. (wyszed?)", PlayerName(playerid));//Je?eli gracz wyszed?
case 2: format(string, sizeof(string), "Gracz : %s roz??czy? si?. (kick/ban)", PlayerName(playerid)); //Je?eli gracz dosta? bana albo kicka
default: format(string, sizeof(string), "Gracz: %s roz??czy? si?. (nieznany pow?d)", PlayerName(playerid)); //Je?eli gracz dosta? CRASHA
}
SCMTA(CZERWONY, string);//same formaty nam nic nie daj? :) , tym musimy wys?a? wiadomo??


Dzi?ki powy?szemu kodowi, dowiemy si? jakim sposobem gracz wyszed? z serwera :)

Nast?pny public kt?ry utworzymy, b?dzie odpowiada?, co ma si? dzia? przy spawnie, czyli po klikni?ciu SPAWN w wybiera?ce !
Kod:
public OnplayerSpawn(playerid)//Jest to nasz public


?eby gracz mia? jak?? bro?, oraz kas? to :
Kod:
GivePlayerMoney(playerid, 5000); //Daje nam 5000 $
GivePlayerWeapon(playerid, 24, 250);//daje nam Desert Eagle + 250 ammo
Jeszcze najlepiej da? funkcj? SetPlayerPos(playerid, X,Y,Z); aby gdzie? nas teleportowa?o :)


Teraz chyba robimy najwa?niejszy public, jakim jest OnGameModeInit, bez niego mapa b?dzie b??dnie chodzi?!
Kod:
public OnGameModeInit()


w nim powinni?my umie?ci? 2 moim zdaniem podstawowe rzeczy (ustawi? nazw? GameModa + zrobi? aby skin normalnie biega? :) ) )
Kod:
SetGameModeText("NazwaGamemoda"); //Ustawiamy nazw? GameModa
UsePlayerPedAnims();//Ustawia nam normalne bieganie



Teraz musi zrobi? wybiera?ke :)
No wi?c tak :
Public kt?ry odpowiada za wybiera?k? to :
Kod:
public OnPlayerRequestClass(playerid, classid)
{


Do niego musimy da? pozycj? gracza, pozycj? kamery oraz gdzie ma patrze? kamera, mo?na doda? jeszcze jakie? bajery, np. Animacj?, ale to nie jest o tym poradnik :)

Kod:

SetPlayerPos(playerid, 2348.110351, -1494.548461, 24.000000); //Pozycja gracza
SetPlayerFacingAngle(playerid, 86.658676); //Ustawia nas na p??noc
SetPlayerCameraLookAt(playerid, 2348.110351, -1494.548461, 24.000000); //Gdzie ma patrze? kamera
SetPlayerCameraPos(playerid, 2348.110351 + (5 * floatsin(-86.658676, degrees)), -1494.548461 + (5 * floatcos(-86.658676, degrees)), 24.000000); //Gdzie ma le?e? kamera.


Teraz na samym dole mapy, musimy da? :
Kod:
stock PlayerName(playerid)
{
new name[MAX_PLAYER_NAME]; //Tablica name
GetPlayerName(playerid, name, MAX_PLAYER_NAME); //Pobiera nazw? gracza.
return name;
}


A teraz dajemy 2 podstawowe komendy na ?ycie oraz armor

Kod:
CMD:100hp(playerid, params[]) //Nazwa komenda
{ //klamra
if(GetPlayerMoney(playerid) < 15000) //Sprawdzenie czy gracz ma podan? ilo?? kasy
return SCM(playerid, niebieski, "(B??d) Nie masz tyle kasy"); //Je?eli nie to wysy?a wiadomo??

SetPlayerHealth(playerid, 100.0); //Daje nam 100 HP
GivePlayerMoney(playerid, -15000); //Zabiera 15000 $
SCM(playerid, bezowy, "(Info) Dosta?e? ?ycie "); //Wysy?a wiadomo??, ?e kupi?e? ?ycie
SCMTA(niebieski, "(Info) {A327ED}%s [id %d] {FF9900}kupi? zycie komend? {99001F}/100hp {A327ED} (15000$)"); //Wysy?a wiadomo?? do wszystkich ?e gracz kupi? ?ycie
return 1;
}

Tej komendy nie b?d? opisywa?, poniewa? tu si? zmienia tylko z SetPlayerHealth na SetPlayerArmour, czyli da nam kamizelk? :)
CMD:armor(playerid, params[])
{
if(GetPlayerMoney(playerid) < 15000)
return SCM(playerid, niebieski, "(B??d) Nie masz tyle kasy");
SetPlayerArmour(playerid, 100.0);
GivePlayerMoney(playerid, -15000);
SCM(playerid, ciemnoszary, "(Info) Dosta?e? armor ");
SCMTA(niebieski, "(Info) {A327ED}%s [id %d] {FF9900}kupi? zycie komend? {99001F}/100hp {A327ED} (15000$)");
return 1;
}


Mam nadzieje ?e pomog?em . Pozdrawiam Krazes201

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-14, 15:11


Lukasbank







Wiek: 30
Na forum: 5329 dni
Posty: 249
Nick w MP: [USD]LuXoR[X]

Piwa: 404

Respekt: 136,5
Respekt: 136,5

Nie ten Dzia? , a co do poradnika to juz widzia??m kilkka podobnych ;-)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-14, 15:18


Marihuana

Żyć by umierać :)






Wiek: 31
Na forum: 6047 dni
Posty: 101
Nick w MP: KoZaKo

Piwa: 547

Respekt: 70

Krazes201, kod dawaj w tagu [code] aby by?o czytelniej.

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-14, 22:01


B!4CK

Never give UP!






Wiek: 32
Na forum: 5809 dni
Posty: 1047
Nick w MP: John

Piwa: 1891

Respekt: 124,2
Respekt: 124,2

Popraw to w [pawn] lub [code] ,aby to estetycznie wygl?da?o.

Poradnik nie zawiera du?o informacji ,ale na pocz?tek nawet ca?kiem 4/5

Podpis
Cześć
! :)


Projekt, który poruszy scenę platformy SA:MP!
Postaw piwo autorowi tego posta
 

 
Tagi: poradnik :: dla :: zielonych :: [jak :: zrobic :: prostą :: mape]
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku