Sa incepem:
1. Ca sa creezi variabila care va retine comanda DM-ului in care esti, vom pune in varful scriptului:
Code: [Select]
new SpawnInDM[ MAX_PLAYERS ][ 20 ];
MAX_PLAYERS - aceasta se va inlocui in functii cu 'playerid' .
20 - numarul maxim de caractere care-l poate avea o comanda de DM, daca aveti un DM cu o comanda mai lunga de 30 de caractere, puteti mari '20' .
2. Ca sa setezi comanda DM-ului in care se va respawna, puneti la un teleport de DM asta:
Code: [Select]
SpawnInDM[ playerid ] = "/comanda_dm";
playerid - acesta este ID-ul jucatorului caruia ii va seta respawnarea.
"/comanda_dm" - inlocuiti cu comanda DM-ului, de exemplu: "/minigun" .
3. Ca sa adaugati respawnul ( ceea ce te respawneaza la spawn ), adaugati acestea la OnPlayerSpawn ( explicatiile sunt trecute la sfarsitul linie cu // ):
Code: [Select]
if( strlen( SpawnInDM[ playerid ] ) < 2 ) //daca marimea la SpawnInDM[ playerid ] este mai mica de 2, nu-l respawnam in DM.
{
//scrieti aici SetPlayerPos, SetPlayerVirtualWorld, SetPlayerFacingAngle, etc., tot ce are legatura cu pozitia care era inainte la spawn.
//exemplu:
SetPlayerPos( playerid, 0.0, 0.0, 10.0 ); //seteaza pozitia jucatorului cand nu va fi respawnat in DM
SetPlayerFacingAngle( playerid, 133.33 );
SetPlayerVirtualWorld( playerid, 0 );
}
else if( strlen( SpawnInDM[ playerid ] ) >= 2 ) //daca marimea la SpawnInDM[ playerid ] este mai mare sau egala cu 2, il respawnam in DM, pentru ca sigur a fost setata variabila pentru respawn in DM
{
CallRemoteFunction( "OnPlayerCommandText", "is", playerid, SpawnInDM[ playerid ] ); //il vom pune pe jucator sa "scrie" comanda DM-ului ( care este retinua in SpawnInDM[ playerid ] ) pentru a se respawna in DM.
}
4. Ca sa punem ca la /exitdm si /kill ( de exemplu ) sa iasa din DM, adaugam asta in comenzile /exitdm si /kill:
Code: [Select]
SpawnInDM[ playerid ] = " "; //nu modificati, va avea marimea 1, deci nu te va respawna in DM
5. Ca sa nu avem buguri cand se spawneaza un jucator nou conectat, pune la OnPlayerConnect asta:
Code: [Select]
SpawnInDM[ playerid ] = " "; //daca un jucator cu acelasi ID de dinainte iesise de pe server cand era intr-un DM, pe noul jucator conectat cu acelasi ID l-ar fi respawnat in acel DM
Sursa: http://www.sa-mp.ro/forum/index.php/topic,13123.0.html