28.03.2015, 01:08
Basically, what this is, is a team kill menu, ex. if a player on your team kills you, you can choose a list of punishments for them. but, for some reason, it gives the player the menu, but when the player chooses their option, it gives the punishment to the person who got killed, not the person who killed them. I tried everything I could, but now I just can't figure it out. There are no errors or warnings whatsoever.
Code:
Code:
Код:
public OnPlayerSelectedMenuRow( playerid, row ) { new Float:x, Float:y, Float:z; new Menu:current; current = GetPlayerMenu( playerid ); if (current == TKMenu) { switch(row) { case 0: { HideMenuForPlayer( TKMenu, playerid ); SendClientMessage( PlayerInfo[ playerid ][ pTheKiller ], COLOR_RED, "***Very kind of this person he doesn't punish you for teamkilling!" ); } case 1: { HideMenuForPlayer( TKMenu, playerid ); SetPlayerInterior( PlayerInfo[playerid][ pTheKiller ], 6 ); SetPlayerPos( PlayerInfo[playerid][ pTheKiller ], 264.6296, 77.1372, 1001.0390); ResetPlayerWeapons( PlayerInfo[playerid][ pTheKiller ] ); SetPlayerColor( PlayerInfo[playerid][ pTheKiller ], COLOR_ORANGE ); SendClientMessage( PlayerInfo[playerid][ pTheKiller ], COLOR_RED, "*** You've been jailed for teamkilling!" ); } case 2: { HideMenuForPlayer( TKMenu, playerid ); SetPlayerHealth( PlayerInfo[playerid][ pTheKiller ], 0 ); SendClientMessage( PlayerInfo[playerid][ pTheKiller ], COLOR_RED, "*** You've been sentenced to death for teamkilling!" ); } case 3: { HideMenuForPlayer( TKMenu, playerid ); GivePlayerMoney( PlayerInfo[playerid][ pTheKiller ], -5000 ); SendClientMessage( PlayerInfo[playerid][ pTheKiller ], COLOR_RED, "*** You've been fined $5000 for teamkilling!" ); } case 4: { HideMenuForPlayer( TKMenu, playerid ); GetPlayerPos( PlayerInfo[playerid][ pTheKiller ], x, y, z ); SetPlayerPos( PlayerInfo[playerid][ pTheKiller ], x, y, z+1000 ); SendClientMessage( PlayerInfo[playerid][ pTheKiller ], COLOR_RED, "*** You've been dropped from the sky for teamkilling!" ); } case 5: { HideMenuForPlayer( TKMenu, playerid ); GetPlayerPos( PlayerInfo[playerid][ pTheKiller ], x, y, z ); CreateExplosion( x, y, z, 10, 10 ); SetPlayerHealth( PlayerInfo[playerid][ pTheKiller ], 0 ); SendClientMessage( PlayerInfo[playerid][ pTheKiller ], COLOR_RED, "*** You've been blown up for teamkilling!" ); } case 6: { HideMenuForPlayer( TKMenu, playerid ); SetPlayerHealth( PlayerInfo[playerid][ pTheKiller ], 30 ); SendClientMessage( PlayerInfo[playerid][ pTheKiller ], COLOR_RED, "*** 70 percent of your health is taken away for teamkilling!" ); } } }
Код:
TKMenu = CreateMenu( "TeamKill", 1, 30.0, 170.0, 100.0, 150.0 ); AddMenuItem( TKMenu, 0, "Let him go" ); AddMenuItem( TKMenu, 0, "Prison" ); AddMenuItem( TKMenu, 0, "Death Penalty" ); AddMenuItem( TKMenu, 0, "$5000 Fine" ); AddMenuItem( TKMenu, 0, "Drop From The Sky" ); AddMenuItem( TKMenu, 0, "Blow Up" ); AddMenuItem( TKMenu, 0, "Take 70% Health" );