Üdv. Van egy cw/tg módom, és ugye van benne egy /spec és egy /autospec parancs.
A sima /spec-el az a baj, hogyha meghal a játékos nem speceli tovább, beteszi abba a \"tájnézőbe\" -> mint ahogy betölt a samp (connectel a szerverhez)
Kód:
CMD:spec(playerid, params[])
{
if(gTeam[playerid] == FIRST_TEAM & SECOND_TEAM)
return MSG(playerid, COLOR_RED, \"Hiba: Nem használhatod ezt a parancsot, mivel részt veszel a warban!\");
new specid;
if(sscanf(params, \"u\", specid)) return MSG(playerid, 0xFFFFFF, \"Használat: /spec [playerid]\");
if(specid == INVALID_PLAYER_ID) return MSG(playerid, 0xFFFFFF, \"Hiba: Nincs ilyen játékos!\");
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, specid);
return 1;
}
Az /autospec-el meg az a baj, hogy nem specel senkit, beteszi ugyan abba a \"tájnézőbe\". Ötlet?
Kód:
CMD:autospec(playerid, params[]) {
TogglePlayerSpectating(playerid, 1);
if(gTeam[playerid] == FIRST_TEAM & SECOND_TEAM)
return TogglePlayerSpectating(playerid, 0);
return ( 1 );
}
Ui. Tudom, hogy egy csomó minden hiányzik belőle, azt nem kell megcsinálni, majd én megcsinálom, csak sehogy sem sikerült, így nem fogom addig azt oda írni, amíg nem is megy a kód. Előre is köszönöm a segítséget!
Így nézd meg, nem biztos hogy jó, nem tudtam sajnos tesztelni. :wave:
new SpectateVariable[MAX_PLAYERS] = INVALID_PLAYER_ID;
CMD:spec(playerid, params[])
{
if(gTeam[playerid] == FIRST_TEAM & SECOND_TEAM) return MSG(playerid, COLOR_RED, \"Hiba: Nem használhatod ezt a parancsot, mivel részt veszel a warban!\");
new specid;
if(sscanf(params, \"u\", specid)) return MSG(playerid, 0xFFFFFF, \"Használat: /spec [playerid]\");
if(specid == INVALID_PLAYER_ID) return MSG(playerid, 0xFFFFFF, \"Hiba: Nincs ilyen játékos!\");
SpectateVariable[specid] = playerid;
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, specid);
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(GetPlayerState(SpectateVariable[playerid]) == PLAYER_STATE_SPECTATING && SpectateVariable[playerid]!= INVALID_PLAYER_ID) {
if((IsPlayerConnected(playerid)) ? TogglePlayerSpectating(SpectateVariable[playerid], playerid) : TogglePlayerSpectating(SpectateVariable[playerid], false), (SpectateVariable[playerid] = INVALID_PLAYER_ID)) return 1;
}
return 1;
}
// Spectate Off parancsnál pedig
SpectateVariable[playerid] = INVALID_PLAYER_ID