[Tutorial] Crearea factiunilor
World of MetinsXS :: Jocuri Online :: SA:MP :: Tutoriale
Pagina 1 din 1
[Tutorial] Crearea factiunilor
Crearea factiunilor de la 0
Inceputul
Salut , in acest tutorial o sa va prezint cum se creeaza niste factiuni ,vreau sa va anunt ca nu am deschis niciodata un GM de RP sa vad cum se creeaza un sistem de factiuni.
Acest tutorial il voi face pe dini , pentru a fi pe intelesul tuturor , am mai facut cateva tutoriale pe SQLite si mi s-a spus ca sa fac pe ini nu SQL
Prima data creem 2 variabile pentru player , nu globale.
__________________________
new FactionM [ MAX_PLAYERS ] , FactionL [ MAX_PLAYERS ] ;
__________________________
FactionM - Factiunea in care esti membru
FactionL - Factiunea in care esti lider
Ne ducem sus in script sub
___________________________
#include
___________________________
si adaugam
___________________________
#include
#define FilePlace "Factions/%s.ini"
___________________________
define FilePlace "Factions/%s.ini" - locul unde se vor salva datele playerului
Adica in scriptfiles/Factions/%s.ini
Dupa ce am facut toate astea , v-om face un mic stock , care va "lua" numele playerului , ca sa ne miscam mai rapid
_________________
stock pName ( playerid ){
new i [ 24 ] ;
GetPlayerName ( playerid ,i , 24 ) ;
return i ;
}
________________
Crearea/Setarea/Updatarea
Ok , acum v-om merge la OnPlayerRequestClass , pentru a face o verificare contului care tocmai a intrat pe server.
1.Creem o noua variabila
2.Facem un simplu format care verifica locatia si daca contul care a intrat pe server exista.
3.Facem verificarea de la pasul 2
3.1 .Daca contul exista ii vom "reda" statisticile
3.2 .Daca nu exista , se va crea cu FactionM/L pe 0
________________
public OnPlayerRequestClass(playerid, classid)
{
new str [ 50 ] ;
format ( str , 50 , FilePlace , pName ( playerid ) ) ;
if ( dini_Exists ( str ) ){ //contul exista
FactionM [ playerid ] = dini_Int ( str , "Faction Member" ) ;
FactionL [ playerid ] = dini_Int ( str , "Faction Leader" ) ;
}
else{ //contul nu exista
dini_Create ( str ) ;
dini_IntSet ( str , "Faction Member" , FactionM [ playerid ] = 0 ) ;
dini_IntSet ( str , "Faction Leader" , FactionL [ playerid ] = 0 ) ;
}
return 1;
}
________________
Dupa ce terminam cu OnPlayerRequestClass , mergem la OnPlayerDisconnect , pentru ai salva statisticile cand se deconecteaza.
________________
public OnPlayerDisconnect(playerid)
{
new str [ 50 ] ;
format ( str , 50 , FilePlace , pName ( playerid ) ) ; //Verifica contul
dini_IntSet ( str , "Faction Member" , FactionM [ playerid ] ) ;
dini_IntSet ( str , "Faction Leader" , FactionL [ playerid ] ) ;
return 1;
}
________________
Cam asta e partea cu crearea/inserarea/salvarea , nu prea ma pricep la explicatii de genu , dar sper ca ati inteles cat de cat
Crearea Spawnurilor
Crearea unui astfel de sistem e mai usor decat sa mananci seminte (vorba mea cea noua =)) )
Trebuie doar sa gandesti putin , pentru a crea spawnurile si sa setam skinurile playerilor din anumite factiuni , vom face un simplu stock
Eu voi crea 2 factiuni
1-Politia romana
2-Fratia oboroaca
Stock-ul meu se va numi , CheckPlayerFaction.
____________________
stock CheckPlayerFaction ( playerid ) {
if ( FactionM [ playerid ] == 1 || FactionL [ playerid ] == 1 ){ //Daca playerul este lider/membru in factiunea cu id-ul 1 (Politia romana)
SetPlayerSkin ( playerid , 280 ) ;
SetPlayerPos ( playerid , /*coordonatele spawn-ului*/ ) ;
GivePlayerWeapon ( playerid , 24 , 100 ) ; //Armele care vreti sa le aiba playerul din factiunea respectiva
}
else if ( FactionM [ playerid ] == 2 || FactionL [ playerid ] == 2 ){ //Daca playerul este lider/membru in factiunea cu id-ul 2 (Fratia oboroaca)
SetPlayerSkin ( playerid , 291 ) ;
SetPlayerPos ( playerid , /*coordonatele spawn-ului*/ ) ;
GivePlayerWeapon ( playerid , 24 , 100 ) ; //Armele care vreti sa le aiba playerul din factiunea respectiva
}
return 1;
}
____________________
Dupa ce ati facut toate acestea , adaugati stockul la OnPlayerSpawn , adica asa
_______________________
public OnPlayerSpawn (playerid)
{
CheckPlayerFaction(playerid);
return 1;
}
_______________________
Cam asta este toata treaba cu factiunile , eu nu v-am aratat nimic avansat , ca sa fie clar .
Eu va arat doar ca idee cum se creeaza , nu dau mura in gura , sper sa va descurcati de aici.
Inceputul
Salut , in acest tutorial o sa va prezint cum se creeaza niste factiuni ,vreau sa va anunt ca nu am deschis niciodata un GM de RP sa vad cum se creeaza un sistem de factiuni.
Acest tutorial il voi face pe dini , pentru a fi pe intelesul tuturor , am mai facut cateva tutoriale pe SQLite si mi s-a spus ca sa fac pe ini nu SQL
Prima data creem 2 variabile pentru player , nu globale.
__________________________
new FactionM [ MAX_PLAYERS ] , FactionL [ MAX_PLAYERS ] ;
__________________________
FactionM - Factiunea in care esti membru
FactionL - Factiunea in care esti lider
Ne ducem sus in script sub
___________________________
#include
___________________________
si adaugam
___________________________
#include
#define FilePlace "Factions/%s.ini"
___________________________
define FilePlace "Factions/%s.ini" - locul unde se vor salva datele playerului
Adica in scriptfiles/Factions/%s.ini
Dupa ce am facut toate astea , v-om face un mic stock , care va "lua" numele playerului , ca sa ne miscam mai rapid
_________________
stock pName ( playerid ){
new i [ 24 ] ;
GetPlayerName ( playerid ,i , 24 ) ;
return i ;
}
________________
Crearea/Setarea/Updatarea
Ok , acum v-om merge la OnPlayerRequestClass , pentru a face o verificare contului care tocmai a intrat pe server.
1.Creem o noua variabila
2.Facem un simplu format care verifica locatia si daca contul care a intrat pe server exista.
3.Facem verificarea de la pasul 2
3.1 .Daca contul exista ii vom "reda" statisticile
3.2 .Daca nu exista , se va crea cu FactionM/L pe 0
________________
public OnPlayerRequestClass(playerid, classid)
{
new str [ 50 ] ;
format ( str , 50 , FilePlace , pName ( playerid ) ) ;
if ( dini_Exists ( str ) ){ //contul exista
FactionM [ playerid ] = dini_Int ( str , "Faction Member" ) ;
FactionL [ playerid ] = dini_Int ( str , "Faction Leader" ) ;
}
else{ //contul nu exista
dini_Create ( str ) ;
dini_IntSet ( str , "Faction Member" , FactionM [ playerid ] = 0 ) ;
dini_IntSet ( str , "Faction Leader" , FactionL [ playerid ] = 0 ) ;
}
return 1;
}
________________
Dupa ce terminam cu OnPlayerRequestClass , mergem la OnPlayerDisconnect , pentru ai salva statisticile cand se deconecteaza.
________________
public OnPlayerDisconnect(playerid)
{
new str [ 50 ] ;
format ( str , 50 , FilePlace , pName ( playerid ) ) ; //Verifica contul
dini_IntSet ( str , "Faction Member" , FactionM [ playerid ] ) ;
dini_IntSet ( str , "Faction Leader" , FactionL [ playerid ] ) ;
return 1;
}
________________
Cam asta e partea cu crearea/inserarea/salvarea , nu prea ma pricep la explicatii de genu , dar sper ca ati inteles cat de cat
Crearea Spawnurilor
Crearea unui astfel de sistem e mai usor decat sa mananci seminte (vorba mea cea noua =)) )
Trebuie doar sa gandesti putin , pentru a crea spawnurile si sa setam skinurile playerilor din anumite factiuni , vom face un simplu stock
Eu voi crea 2 factiuni
1-Politia romana
2-Fratia oboroaca
Stock-ul meu se va numi , CheckPlayerFaction.
____________________
stock CheckPlayerFaction ( playerid ) {
if ( FactionM [ playerid ] == 1 || FactionL [ playerid ] == 1 ){ //Daca playerul este lider/membru in factiunea cu id-ul 1 (Politia romana)
SetPlayerSkin ( playerid , 280 ) ;
SetPlayerPos ( playerid , /*coordonatele spawn-ului*/ ) ;
GivePlayerWeapon ( playerid , 24 , 100 ) ; //Armele care vreti sa le aiba playerul din factiunea respectiva
}
else if ( FactionM [ playerid ] == 2 || FactionL [ playerid ] == 2 ){ //Daca playerul este lider/membru in factiunea cu id-ul 2 (Fratia oboroaca)
SetPlayerSkin ( playerid , 291 ) ;
SetPlayerPos ( playerid , /*coordonatele spawn-ului*/ ) ;
GivePlayerWeapon ( playerid , 24 , 100 ) ; //Armele care vreti sa le aiba playerul din factiunea respectiva
}
return 1;
}
____________________
Dupa ce ati facut toate acestea , adaugati stockul la OnPlayerSpawn , adica asa
_______________________
public OnPlayerSpawn (playerid)
{
CheckPlayerFaction(playerid);
return 1;
}
_______________________
Cam asta este toata treaba cu factiunile , eu nu v-am aratat nimic avansat , ca sa fie clar .
Eu va arat doar ca idee cum se creeaza , nu dau mura in gura , sper sa va descurcati de aici.
Bogdan- Membru
- Posts : 50
Reputation : 0
Join date : 22/09/2013
Subiecte similare
» Crearea propriului counter strike...
» [TUTORIAL] Poarta cu KEY
» Tutorial FPS
» [TUTORIAL]Cum sa creezi un HQ
» Tutorial Mp3
» [TUTORIAL] Poarta cu KEY
» Tutorial FPS
» [TUTORIAL]Cum sa creezi un HQ
» Tutorial Mp3
World of MetinsXS :: Jocuri Online :: SA:MP :: Tutoriale
Pagina 1 din 1
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum
|
|