Üdv, az lenne a problémám hogy amikor az m4dmbe lépek a sawnoffdmbe rak le, ez van az összes dmnél nem értem h mért, segítenétek ezt megoldani?
public OnPlayerSpawn(playerid) {
switch(GetPVarInt(playerid,\"DM\"))
{
case 0:
{
new rand = random(sizeof( M4 ) );
SetPlayerPos(playerid,M4[rand][0],M4[rand][1],M4[rand][2]);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,31,5000);
SetPlayerHealth(playerid,10);
}
case 1:
{
new rand = random( sizeof ( Sawn ) );
SetPlayerPos(playerid,Sawn[rand][0],Sawn[rand][1],Sawn[rand][2]);
SetPlayerHealth(playerid,100);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid,26,5000);
}
case 2:
{
new
rand = random( sizeof ( MGM ) );
SetPlayerPos( playerid, MGM[ rand ] [ 0 ], MGM[ rand ] [ 1 ], MGM[ rand ] [ 2 ] );
ResetPlayerWeapons( playerid );
GivePlayerWeapon( playerid, 38, 9999 );
}
case 3:
{
new
rand = random( sizeof ( MGM ) );
SetPlayerPos( playerid, DDM[ rand ] [ 0 ], DDM[ rand ] [ 1 ], DDM[ rand ] [ 2 ] );
ResetPlayerWeapons( playerid );
SetPlayerInterior(playerid,16);
GivePlayerWeapon( playerid, 10, 9999 );
}
default:
{
Tele(playerid,2239.0166,2233.2952,10.8032,273.8759,\"\");
}
}
return 1;
}
Parancsok:
CMD:m4dm(playerid,params[])
{
SetPVarInt( playerid, \"DM\", M4DM);
format( szFormat, sizeof( szFormat ), \"|- Death Match -| {%06x}%s(%d) {00ff00} Belépett az M4 DM Zónába! {00ff00}. ( /m4dm )\",GetPlayerColor( playerid ) >>> 8, GetName(playerid),playerid);
SendClientMessageToAll( -1, szFormat );
SpawnPlayer(playerid);
return 1;
}
CMD:sawndm(playerid,params[])
{
SetPVarInt(playerid,\"DM\",SAWN);
format( szFormat, sizeof( szFormat ), \"|- Death Match -| {%06x}%s(%d) {00ff00} Belépett a Sawn OFF DM Zónába! {00ff00}. ( /sawndm )\",GetPlayerColor( playerid ) >>> 8, GetName(playerid),playerid);
SendClientMessageToAll( -1, szFormat );
SpawnPlayer(playerid);
return 1;
}
CMD:minigundm(playerid,params[])
{
SetPVarInt(playerid,\"DM\",MGDM);
format( szFormat, sizeof( szFormat ), \"|- Death Match -| {%06x}%s(%d) {00ff00} Belépett a Minigun DM Zónába! {00ff00}. ( /minigundm )\",GetPlayerColor( playerid ) >>> 8, GetName(playerid),playerid);
SendClientMessageToAll( -1, szFormat );
SpawnPlayer(playerid);
return 1;
}
CMD:dildodm(playerid,params[])
{
SetPVarInt(playerid,\"DM\",DIDM);
format( szFormat, sizeof( szFormat ), \"|- Death Match -| {%06x}%s(%d) {00ff00} Belépett a DILDO DM Zónába! {00ff00}. ( /dildodm )\",GetPlayerColor( playerid ) >>> 8, GetName(playerid),playerid);
SendClientMessageToAll( -1, szFormat );
SpawnPlayer(playerid);
return 1;
}
Legyenek így definálva:
#define M4DM 0
#define SWAN 1
#define MGDM 2
#define DIDM 3
Legyenek így definálva:
#define M4DM 0
#define SWAN 1
#define MGDM 2
#define DIDM 3
igy is vannak.
Lehet másik szkript bezavar, mivel több helyen meghívásra kerülhet az OnPlayerSpawn visszahívás.
Nem tudom de ha, ismétlem ha, return 0; -át írnál akkor nem hívná meg a samp szerver a többit, de hát tuti nem lesz jó, mert egy retek logika alapján írták meg ezt a sa-mp-ot. :D
Semmilyen ötletet nem fogad el az a kretén.
Minden visszahívásnak lehetne fix visszatérési értéke mely alapján értelmezné a samp szerver hogy a többi visszahívást (callback) meghívja avagy sem.
A szkript írók könnyen alkalmazkodnának hozzá az biztos, meg arról nem beszélve hogy kevesebb lenne a processzor használat is.
Írj SendClientMessage üzenetet a kódodba hogy lásd mi történik mikor teleportálsz.
case 0:
{
SendClientMessage(playerid, -1, \"M4 dm\");