Bueno , esta es una forma simple de como scriptear un sv de SAMP


Primer Tutorial: ''Como Crear Un Comando''

Spoiler:
Bien daremos un ejemplo del comando ''/ayuda'' Esto es facil aqui un breve ejemplo de un cmd:

if (!strcmp(cmd, "/ayuda", true))
{
SendClientMessage(playerid, 0x00C800FF, "__________";
SendClientMessage(playerid, 0x00C800FF, "Ayuda del servidor:";
SendClientMessage(playerid, 0x00C800FF, "Utiliza /ayuda .";
SendClientMessage(playerid, 0x00C800FF, "Temas disponibles: Reglas, Objetivo, Banco.";
SendClientMessage(playerid, 0x00C800FF, "__________";
return 1;
}

en el (cmd, ''/ayuda'',true)) se puede cambiar a cualquier nombre dentro de las '' ''' , en donde dice ''SendClientMessage(playerid, 0x00C800FF, ''Aqui Pon Lo que quieras Poner un tutorial o lo que sea'' Puedes poner , cuantas veces aquieras ese ''SendClientMessage'' al poner ese comando te saldra lo que pusiste en IC , Se hace abajo de cualquier comando pongan /ayuda o algun otro comando , y elijan lo que quieran poner



Segundo Paso: ''Como crear facciones / modificar ''

Spoiler:
Primero comenzamos por ir a el cmd ''/makeleader o /hacerlider o como lo tengan en el GM''
y nos saldra algo asi:



Bueno si se fijan esto else if(level == 1) { PlayerInfo[para1][pChar] = 288; } Es la faccion de los polis

else if(level == 1): el 1 es la id de la faccion
{ PlayerInfo[para1][pChar] = 288; }: el 288 es la id del skin que tendra el lider

Bueno sigamos para agregar una faccion nos vamos al ultimo else if(level == 1)
en mi caso el es

else if(level == 19) { PlayerInfo[para1][pChar] = 100; }

Debajo de eso ponemos lo sigiente xd:

else if(level == 20) { PlayerInfo[para1][pChar] = 98; }

Bueno el 20 es la id de mi nueva faccion y el 98 es la nueva skin, pueden poner lo que la id que quieran y la skin que quieran.

Si ya quieren tener lista la faccion , pueden compilar o pueden seguir :

ahora donde respawnearan los de la faccion

nos vamos a la callback public SetPlayerSpawn(playerid)

mas a bajo de la callback veremos algo asi



les explicare con los polis xDD
SetPlayerToTeamColor(playerid); dejar como esta

if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) Esta es la de los polis el primer los 1 son las id de las facciones yo pondre el 20 ya que es la que estoy creando
SetPlayerInterior(playerid,6); es to es el interior, si la faccion respawneara en un interior poner la id del interior, si no dejar en 0

SetPlayerPos(playerid, 1754.99,-1894.19,13.55); esta es la pocicion dodne spawnearan los mienbros de las facciones cambia 1754.99,-1894.19,13.55 por la ubicasion donde spawnearan
PlayerInfo[playerid][pInt] = 0; Esto es igual que lo del interior

Bueno, si quieren agregar un arma al spawnear
tambien agregar SetPlayerWeapon(playerid, id arma, municion)

Bueno nos quedaria todo algo asi

if (PlayerInfo[playerid][pMember] == 20 || PlayerInfo[playerid][pLeader] == 20)
{
SetPlayerToTeamColor(playerid);
SetPlayerPos(playerid, 1102.7017,-299.0774,73.9922);//Pongan la que quieran ( esa coor es inventada )
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
SetPlayerWeapon(playerid,36,250)
return 1;

Bueno ahora los rangos

Nos vamos a la callback public ShowStats

Y mas abajo veran algo asi:



Con los polis de nuevo xDDD
else if(PlayerInfo[targetid][pMember] == 1 || PlayerInfo[targetid][pLeader] == 1) los 1 es la id de la faccion en este caso yo pondre el 20

Vamos con los rangos
f(PlayerInfo[targetid][pRank] == 1) { rtext = "Cadete"; }
else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Oficial"; }
else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Oficial General"; }
else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Sargento"; }
else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Sargento Jefe"; }
else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Capitan"; }
else if(PlayerInfo[targetid][pRank] == 7) { rtext = "Jefe"; }
else if(PlayerInfo[targetid][pRank] == { rtext = "Jefe General"; }
else { rtext = "Cadete"; }

Bueno vemos que tiene 8 Rangos, pero yo solo quiero 5 para mi faccion entonces ago esto

if(PlayerInfo[targetid][pRank] == 1) { rtext = "Cadete"; }
else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Oficial"; }
else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Oficial General"; }
else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Sargento"; }
else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Sargento Jefe"; }
else { rtext = "Cadete"; }


Responder citando
Nota ¿Como crear facciones? Completo al 100% entra aki!!!

bueno es mi primer tutorial en la comunidad, antes no dejaba porque e estado ocupado en examenes.

Bueno enpesemos
Primero nos vamos a /makeleader luego mas abajo veran algo asi:

Imagen

Explicacion:

Bueno si se fijan esto else if(level == 1) { PlayerInfo[para1][pChar] = 288; } Es la faccion de los polis

else if(level == 1): el 1 es la id de la faccion
{ PlayerInfo[para1][pChar] = 288; }: el 288 es la id del skin que tendra el lider

Bueno sigamos para agregar una faccion nos vamos al ultimo else if(level == 1)
en mi caso el es
Código:
else if(level == 19) { PlayerInfo[para1][pChar] = 100; }[/b]


Bueno debajo de el ultimo ponemos esto:
Código:
else if(level == 20) { PlayerInfo[para1][pChar] = 98; }


Bueno el 20 es la id de mi nueva faccion y el 98 es la nueva skin, pueden poner lo que la id que quieran y la skin que quieran

bueno ya tenemos lista la faccion, si quieren pueden compilar o segir

ahora donde respawnearan los de la faccion

nos vamos a la callback public SetPlayerSpawn(playerid)

mas a bajo de la callback veremos algo asi

Imagen

Explicasion:

les explicare con los polis xDD
SetPlayerToTeamColor(playerid); dejar como esta

if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) Esta es la de los polis el primer los 1 son las id de las facciones yo pondre el 20 ya que es la que estoy creando
SetPlayerInterior(playerid,6); es to es el interior, si la faccion respawneara en un interior poner la id del interior, si no dejar en 0
SetPlayerPos(playerid, 1754.99,-1894.19,13.55); esta es la pocicion dodne spawnearan los mienbros de las facciones cambia 1754.99,-1894.19,13.55 por la ubicasion donde spawnearan
PlayerInfo[playerid][pInt] = 0; Esto es igual que lo del interior

Bueno, si quieren agregar un arma al spawnear
tambien agregar SetPlayerWeapon(playerid, id arma, municion)

Bueno nos quedaria todo algo asi

Código:

Código:
if (PlayerInfo[playerid][pMember] == 20 || PlayerInfo[playerid][pLeader] == 20)
{
SetPlayerToTeamColor(playerid);
SetPlayerPos(playerid, 1102.7017,-299.0774,73.9922);//yo le puse esta ubicasion pongan la que quieran
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
SetPlayerWeapon(playerid,36,250)
return 1;
}


Bueno ahora los rangos

Nos vamos a la callback public ShowStats

Y mas abajo veran algo asi:

Imagen

Explicasion

Con los polis de nuevo xDDD
else if(PlayerInfo[targetid][pMember] == 1 || PlayerInfo[targetid][pLeader] == 1) los 1 es la id de la faccion en este caso yo pondre el 20
Código:
else if(PlayerInfo[targetid][pMember] == 20 || PlayerInfo[targetid][pLeader] == 20)

Bueno vamos con los rangos
Código:
f(PlayerInfo[targetid][pRank] == 1) { rtext = "Cadete"; }
else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Oficial"; }
else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Oficial General"; }
else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Sargento"; }
else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Sargento Jefe"; }
else if(PlayerInfo[targetid][pRank] == 6) { rtext = "Capitan"; }
else if(PlayerInfo[targetid][pRank] == 7) { rtext = "Jefe"; }
else if(PlayerInfo[targetid][pRank] == { rtext = "Jefe General"; }
else { rtext = "Cadete"; }

Bueno vemos que tiene 8 Rangos, pero yo solo quiero 5 para mi faccion entonces ago esto

Código:
if(PlayerInfo[targetid][pRank] == 1) { rtext = "Cadete"; }
else if(PlayerInfo[targetid][pRank] == 2) { rtext = "Oficial"; }
else if(PlayerInfo[targetid][pRank] == 3) { rtext = "Oficial General"; }
else if(PlayerInfo[targetid][pRank] == 4) { rtext = "Sargento"; }
else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Sargento Jefe"; }
else { rtext = "Cadete"; }


Lsito ahora mi faccion tiene 5 rangos
Cadete: lo cambiare por nuevo
Oficial lo cambiare por boludo
oficial General lo cambiare por cojoyo
Sargento Lo cambiare por Pechudo
Sargento Jefe por Porno
Entonces me quedaria algo asi

if(PlayerInfo[targetid][pRank] == 1) { rtext = "nuevo"; }
else if(PlayerInfo[targetid][pRank] == 2) { rtext = "boludo"; }
else if(PlayerInfo[targetid][pRank] == 3) { rtext = "cojoyo"; }
else if(PlayerInfo[targetid][pRank] == 4) { rtext = "pechudo"; }
else if(PlayerInfo[targetid][pRank] == 5) { rtext = "porno"; }
else { rtext = "nuevo"; }


PD: Eso es todo , si queiren poner el /f en la facc avisen








Tercer y ultimo paso : ''Como crear Pueras con movimiento''.


asd:
Bueno comenzemos xdd
Al princiop de GM ponemos esto:

''foward cierre;''

y dsp esto:

''new puerta;''
((Sin las comillas ))

Despues, vas a OnGameModeInit y colocás esto(Ya me canse ¬¬)

puerta = CreateObject(x,y,z Cordenadas de donde estara la puerta xd ) ;

Ahora, creamos el maldito comando, debajo de OnPlayerCommandText colocamos lo siguiente:

if(strcmp(cmdtext, "/abrirpuerta", true)==0);
{
MoveObject(puerta, x,y,z de la puerta ABIERTA, 3.5);
SetTimer("cierre",5000,0); // Aca ponemos para que comienze el timer del cierre, le puse '5000' para que cierre a los 5 segs.
SendClientMessage(playerid,color,"La puerta se Cerrará Automaticamente en 5 segundos.";
return 1;
}

Abajo de todo, definimos para que sirve el timer.. asi:

public cierre()
{
MoveObject(puerta,x,y,z de la puerta CERRADA 3.5);
return 1;
}

Listo


Creditos:
Pawnoscripting 30% / Nestor_Josse 70% .

Si Necesitas ayuda o Scripter,contactame en:
tomy.cap.tigre@hotmail.com
PD:soy scripter si me dan dueño en un sv e_E
PD2:Unos puntitos en Foro o comentarios,no cuesta nada ¬_¬