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

Wysłany: 2012-05-21, 12:28


Patrinho







Wiek: 35
Na forum: 6786 dni
Posty: 9

Piwa: 1

Respekt: 50

Witam. Po bardzo d?ugiej przerwie od sampa (prawie 4 letniej) chcia?em wr?ci?, ale i zacz?? pisa? skrypty. Zauwa?y?em, ?e du?o nowych mo?liwo?ci dodano do Sampa. Wi?c teraz nast?puj?ce pytania:
-Jak zacz?? pisa? skrypt?
-Jakie i kiedy #include stosowa? (pr?cz #include <a_samp> bo wiadomo bez tego nie ruszy)?
-Jak u?ywa? #define, new, forward itp. i czy s? konieczne? Jak u?ywa? ich prawid?owo?
-Jakie publici starcz? do napisania skryptu? Czy mo?na tworzy? w?asne, je?li tak to jak?
-Co wybra?, zcmd czy zwykle cmd? (podobno zcmd jest ?atwiejsze z tego co zd??y?em wyczyta?, ale mo?e si? myl?)

Mia?em ju? styczno?? z pawno, ale niestety du?o rzeczy pozapomina?em, du?o rzeczy dosz?o, ale raczej du?o si? nie zmieni?o. Oczywi?cie mo?ecie mnie wy?mia?, m?wi? ?e nic nie szuka?em, ale tak na prawd? to szukam czego? konkretnego od 3 dni. Nie mam zamiaru uczy? si? pisania skryptu na podstawie "kopiuj wklej", "usu? to dodaj to" i mam gotowy "sw?j skrypt" bo nie t?dy droga, a na pewno z tego i tak nic nie wynios?... Wi?c dzi?kuj? z g?ry za jakiekolwiek namiary, za ka?d? rad?, pomoc oczywi?cie respekcik.

Pozdrawiam.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-21, 13:10


karol170396







Wiek: 33
Na forum: 5643 dni
Posty: 580
Nick w MP: Journey

Piwa: 1520

Respekt: -126,9

Ostrzeżeń: 100%
Cytat:

-Jakie publici starcz? do napisania skryptu? Czy mo?na tworzy? w?asne, je?li tak to jak?
-Co wybra?, zcmd czy zwykle cmd? (podobno zcmd jest ?atwiejsze z tego co zd??y?em wyczyta?, ale mo?e si? myl?)


U?ywasz takich callback?w, kt?re s? Ci potrzebne, inne mo?esz usun??.
Co do komend. Polecam Ci w?a?nie ZCMD z u?yciem sscanf, jest to do?? szybki i prosty spos?b.
Przyk?ad komendy to np:
Kod:


CMD:test(playerid, params[])
{
//funkcja
return 1;
}


Podpis
"MłoteK" napisał/a:


Zając, idź kicać gdzie indziej, może w teletubisiach się miejsca zwolnią.
"zajacp1" napisał/a:

Wiele dzieci, które mi zazdroszczą, że mi się powodzi crashują mi serwer
Królik, Ty nigdy nie dorośniesz.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-21, 14:42


Seboo







Wiek: 30
Na forum: 5516 dni
Posty: 124
Nick w MP: Sebo

Piwa: 1228

Respekt: 102
Respekt: 102

"Patrinho" napisał/a:

Witam. Po bardzo d?ugiej przerwie od sampa (prawie 4 letniej) chcia?em wr?ci?, ale i zacz?? pisa? skrypty. Zauwa?y?em, ?e du?o nowych mo?liwo?ci dodano do Sampa. Wi?c teraz nast?puj?ce pytania:
-Jakie i kiedy #include stosowa? (pr?cz #include <a_samp> bo wiadomo bez tego nie ruszy)?
-Jak u?ywa? #define, new, forward itp. i czy s? konieczne? Jak u?ywa? ich prawid?owo?


#define u?ywamy np ?eby zdefiniowa? dialog.
Kod:

#define NOT_DIALOG 0

Lub ustawi? warto??.
Kod:

#define MAX_FUEL 100

new ?eby zdefiniowa? symbol.
Kod:

new CreatedVehicle;
new string[256]; // To u?ywamy zazwyczaj do tekst?w. Przyk?ad:

format(string, 256, "Gracz %s dosta? bron.", PlayerName(playerid));
SendClientMessage(playerid, COLOR_GREEN, string);


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-21, 14:50


bartek2227







Wiek: 29
Na forum: 5765 dni
Posty: 66
Nick w MP: Elvis

Piwa: 1777

Respekt: 107
Respekt: 107

Patrinho, radz? ci pobra? par? skrypt?w i tam zobaczy? co i jak jest:) Czyta? poradniki i za ojczyzn? :P

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-21, 15:24


Patrinho







Wiek: 35
Na forum: 6786 dni
Posty: 9

Piwa: 1

Respekt: 50

No to nie jest g?upie, tylko co mi po tym skoro nawet nie b?d? wiedzia?, co jest po co, kiedy co u?y?, dlatego postanowi?em napisa? ten temat. :) Czyli na razie wywnioskowa?em to:
Powiedzmy chce zrobi? komende na freezowanie gracza(jako admin) to robi? tak:

Kod:


#include <a_samp>
#include <zcmd>
#include <colors>



CMD:zamroz(playerid, params[])
{
if(IsPlayerAdmin(playerid))
if(IsPlayerConnected(playerid))
{
TogglePlayerControllable(playerid, 0);
}
SendClientMessage(playerid, NIEBIESKI, "Zosta?e? zamro?ony przez Admina %s");
return 1;
}

?
Je?li tak to ok, wi?c kiedy np. mam u?y? new, define w jakikch wypadkach? :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-21, 15:30


karol170396







Wiek: 33
Na forum: 5643 dni
Posty: 580
Nick w MP: Journey

Piwa: 1520

Respekt: -126,9

Ostrzeżeń: 100%
We? pod uwag?, ?e "NIEBIESKI" musisz zdefiniowa?.
Brakuje kilku callback?w zwi?zanych z zcmd, ale nie mam czasu, by teraz to t?umaczy?. Lec? do miasta, jak znajd? chwil?, to by? mo?e pomog?.

Podpis
"MłoteK" napisał/a:


Zając, idź kicać gdzie indziej, może w teletubisiach się miejsca zwolnią.
"zajacp1" napisał/a:

Wiele dzieci, które mi zazdroszczą, że mi się powodzi crashują mi serwer
Królik, Ty nigdy nie dorośniesz.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-21, 15:52


bartek2227







Wiek: 29
Na forum: 5765 dni
Posty: 66
Nick w MP: Elvis

Piwa: 1777

Respekt: 107
Respekt: 107

tutaj masz je?eli chcesz ?eby pisa?o ?e jak nie jeste? adminem

Kod:

if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, kolor, "Nie jeste? Adminem!");


[ Dodano: 2012-05-21, 15:53 ]
a PS nie dawaj sscanfa do jednej tylko komendy...

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-21, 16:52


Patrinho







Wiek: 35
Na forum: 6786 dni
Posty: 9

Piwa: 1

Respekt: 50

To po prostu mia? by? przyk?ad, og?lnie to chc? zrobi? co? innego, ale nie chce pisa? wszystkiego, ?eby kto? za mnie robot? odwali?, bo nie t?dy droga

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-21, 20:27


Seboo







Wiek: 30
Na forum: 5516 dni
Posty: 124
Nick w MP: Sebo

Piwa: 1228

Respekt: 102
Respekt: 102

Zobacz:

Na g?rze mapy:
Kod:


#include <a_samp>// Bez tego nie ruszysz, podstawa.
#include <zcmd> // Komendy CMD.
#include <sscanf> // Do komend CMD.

#define COLOR_RED 0xFF4040FF // Je?li chcesz mie? kolorowy tekst, musisz zdefinowa? ten kolor. Tak jak pokaza?em. W takich przypadkach u?ywasz #define

new string[256]; //U?ywamy do tekst?w, czyli gdzie mamy "%s", "%d" itp.

CMD:ban(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return 1; // Komenda tylko dla admina.
new PID, Reason[128]; // Symbol Reason[128]; to jest pow?d wy?wietlany w tek?cie.
sscanf(params, "ds", PID, Reason);
if(IsPlayerConnected(playerid)) // Tylko wtedy gdy gracz jest pod??czony.
{
format(string, 256, "Gracz %s zosta? zbanowany przez %s. Pow?d: %s.", PlayerName(PID), PlayerName(playerid), Reason); // U?ywamy string, by wy?wietli? nazw? gracza lub id. Symbol PID to nazwa gracza kt?ry zosta? zbanowany. Reason to pow?d.
SendClientMessageToAll(COLOR_RED, string); // Wy?wietlane dla wszystkich graczy. Teraz u?ywamy "COLOR_RED" zdefinowanego na g?rze.
Ban(PID, Reason);
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-21, 20:45


Patrinho







Wiek: 35
Na forum: 6786 dni
Posty: 9

Piwa: 1

Respekt: 50

A gdy np. mam kolory zdefiniowane w colors.inc to to starczy? czy musz? je jeszcze raz definiowa??
I mo?e tak, og?lnie chc? napisa? skrypt na prac? ale zrobiony w zcmd/sscanf ale nie w gamemodzie. Czyli jak mam zacz??? No wiadomo wpierw podstawowe #include, a potem? Czy dobrze d??e:

-zdefiniowa? zawody
-da? je jako new
-zrobi? komendy pod dany zaw?d i to co b?dzie w danym zawodzie
Tak? I czy gdzie? na forum jest o zcmd i sscanf bo musz? chyba wiedzie? co jest za co? Ale ju? tak spostrzeg?em ?e zcmd nie r??ni si? zbytnio od zwyk?ego cmd tylko kurcze ten sscanf. :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-21, 20:48


Seboo







Wiek: 30
Na forum: 5516 dni
Posty: 124
Nick w MP: Sebo

Piwa: 1228

Respekt: 102
Respekt: 102

Nie musisz dawa? zawod?w jako new. Tylko #define TEAM_MAFIA 1
A tu prosz? poradnik o sscanf http://gtaonline.pl/index.php?topic=2180.0

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-22, 15:43


Patrinho







Wiek: 35
Na forum: 6786 dni
Posty: 9

Piwa: 1

Respekt: 50

Ok to czy dobrze zrobi?em i czy w dobrym kierunku id?:
Kod:


#include <a_samp>
#include <colors>
#include <zcmd>
#include <sscanf>
#pragma tabsize 0


#define FILTERSCRIPT
#define TEAM_POLICE 1


CMD:zpol(playerid, params[])
{
new gracz;
if(!sscanf(parms, "ui", gracz))
{
if(IsPlayerConnected(gracz))
{
SetPlayerTeam(gracz, 1);
SetPlayerSkin(gracz, 280);
ResetPlayerWeapons(gracz);
GivePlayerWeapon(gracz, 3,1); // jak mog? da? kilka broni w jednej linijce?
SetPlayerHealth(gracz, 100);
SetPlayerArmour(gracz, 100);
SetPlayerPos(gracz, 2293.4147,2450.6450,10.8203);
}
}
return 1;
}



Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-22, 15:54


karol170396







Wiek: 33
Na forum: 5643 dni
Posty: 580
Nick w MP: Journey

Piwa: 1520

Respekt: -126,9

Ostrzeżeń: 100%
"Patrinho" napisał/a:

Ok to czy dobrze zrobi?em i czy w dobrym kierunku id?:
Kod:


#include <a_samp>
#include <colors>
#include <zcmd>
#include <sscanf>
#pragma tabsize 0


#define FILTERSCRIPT
#define TEAM_POLICE 1


CMD:zpol(playerid, params[])
{
new gracz;
if(!sscanf(parms, "ui", gracz))
{
if(IsPlayerConnected(gracz))
{
SetPlayerTeam(gracz, 1);
SetPlayerSkin(gracz, 280);
ResetPlayerWeapons(gracz);
GivePlayerWeapon(gracz, 3,1); // jak mog? da? kilka broni w jednej linijce?
SetPlayerHealth(gracz, 100);
SetPlayerArmour(gracz, 100);
SetPlayerPos(gracz, 2293.4147,2450.6450,10.8203);
}
}
return 1;
}



Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić użytkownikowi)
Wiadomość została ukryta, aby ją przeczytać należy się zalogować.


Podpis
"MłoteK" napisał/a:


Zając, idź kicać gdzie indziej, może w teletubisiach się miejsca zwolnią.
"zajacp1" napisał/a:

Wiele dzieci, które mi zazdroszczą, że mi się powodzi crashują mi serwer
Królik, Ty nigdy nie dorośniesz.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-05-22, 16:51


Patrinho







Wiek: 35
Na forum: 6786 dni
Posty: 9

Piwa: 1

Respekt: 50

Dzi?ki bardzo wszystkim za pomoc. Gdybym jeszcze co? potrzebowa?, napisz?. :)

Postaw piwo autorowi tego posta
 

 
Tagi: pisanie :: skryptów
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