-LiveGameS-


CalendarGalerieFAQCautareAcasaMembriGrupuriInregistrareConectare

Distribuiţi|

CREAREA FACTIUNILOR

Vezi subiectul anterior Vezi subiectul urmator In jos
AutorMesaj
Moderator Global
avatar


Rank: Moderator Global
Mesaje : 70
Puncte : 132
Reputatie : 0
Data de inscriere : 16/11/2013
MesajSubiect: CREAREA FACTIUNILOR Lun Noi 18, 2013 7:44 am


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.

Cod:
__________________________

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
Cod:
___________________________

#include <a_samp>
___________________________


si adaugam

Cod:
___________________________

#include <dini>
#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

Cod:
_________________

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


Cod:
________________
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.


Cod:
________________
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.


Cod:
____________________
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

Cod:
_______________________
public OnPlayerSpawn (playerid)
{
CheckPlayerFaction(playerid);
return 1;
}
Sus In jos
Vezi profilul utilizatorului

CREAREA FACTIUNILOR

Vezi subiectul anterior Vezi subiectul urmator Sus
Pagina 1 din 1

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
-LiveGameS- :: >>[LiveGameS]Resurce Samp :: Tutoriale-
Copyrightˆ2013 by Khrystyan&zDs - Toate drepturile sunt rezervate.