[bf1942] Missing event: InitiateVote(playerId,voteType)

Forrest Thiessen thiessen at alum.mit.edu
Mon Jul 4 16:41:02 EDT 2005


That's what I thought, too, but I spent some time experimenting with it,
and found:

   1. A ClientCommand event *is* generated when a player responds to the
      question of whether they want to punish a TK or not.
   2. No ClientCommand is generated by map votes
   3. No ClientCommand is generated by mutiny votes
   4. No ClientCommand is generated by accepting the commander position

It looks to me like ClientCommand is probably connected to something in
some .con file somewhere as a generic mechanism for in-game player
feedback to Python scripts. . . but that mechanism is *not* used for map
votes, mutiny votes, etc.

--Forrest (aka "Woody")


Giel van Schijndel wrote:

> How about the ClientCommand() event then?
> (http://bf2.fun-o-matic.org/index.php/Event_Reference#Command_Events)
>
> Wouldnt that event be raised whenever someone initiates a vote? (Just
> guessing this would be the most logical one)
>
> ClientCommand(command, issuerPlayerObject, args) 
>     This event occurs when a game client issues certain in-game
>     commands. The only such commands identified so are are:
>     command=100 means player wants to punish teammate for teamkill;
>     command=101 means player wants to forgive. In both cases, args=1.
>     This response is generated by the player responding to an
>     on-screen prompt caused by a call to the
>     |bf2.gameLogic.sendClientCommand| method.
>
>
>
>
> Mortis
> European Tactical Battlefield Forces
>
>
> Forrest Thiessen schreef:
>
>>Yes, if you're playing the game, it does indeed announce who started the
>>vote (making it easy to start a kick vote, if necessary, to get rid of
>>people who abuse mutiny votes).
>>
>>However, Einar's original point is still valid: there doesn't seem to be
>>any way to tell from Python that a vote is underway, or who started it.
>>. . or even if a vote is successful!  With the existing events
>>available, all Python would see in a successful mutiny vote is a
>>ChangedCommander event--which could have happened due to the commander
>>resigning, too; if the vote is unsuccessful, you wouldn't see anything.
>>
>>If you want to do comprehensive logging of what's happening in the game,
>>this is a major problem--it doesn't matter that players receive the
>>information: your game logs wouldn't show it, and couldn't show it. Same
>>thing if you wanted to add some admin features related to these
>>votes--forget it, the hooks aren't available.
>>
>>This isn't the only event that's missing: want to make a mod where a
>>radio command causes a bomb to explode?  You can't--Python has no access
>>to the internal RadioMessageEvent. Etc., etc. . . .
>>
>>If you look at
>>    http://bf2.fun-o-matic.org/index.php/Event_Reference#Mysterious_Events
>>you'll see a long list of internal game engine events for which there is
>>no corresponding hook in Python.  Why?  It's obvious that, internally,
>>BF2 uses an event-driven architecture, and it looks like DICE just added
>>a little code to their own event handlers that calls a procedure that
>>checks for and dispatches to registered Python event handlers.  Why not
>>just add that to EVERY internal game event?  It would probably not be
>>very much work, and would make all kinds of things possible that simply
>>aren't possible today.
>>
>>Please, DICE, make more events available. . . and why not make all of
>>them available?
>>
>>--Forrest (aka "Woody")
>>
>>
>>
>>
>>Einar S. Idsø wrote:
>>
>>  
>>
>>>Great, thanks! I'll tell our admins to shut their pieholes and pay
>>>attention to the messages then :D
>>>
>>>(I would still like the event though, and enable logging of votes... ;))
>>>
>>>Einar
>>>
>>>
>>>Giel van Schijndel wrote:
>>> 
>>>
>>>    
>>>
>>>>Well unless this sentence doesnt read out the name of the voter it does
>>>>show the voter (yah whatever crazylogic :-P ):
>>>>ETBF//Mortis has initiated a kickvote against Porlen[JPN]
>>>>
>>>>And it is already impossible to vote more than one time in I believe 5
>>>>mins or so.
>>>>
>>>>cheers,
>>>>
>>>>Mortis
>>>>European Tactical Battlefield Forces
>>>>
>>>>
>>>>Einar S. Idsø schreef:
>>>>
>>>>   
>>>>
>>>>      
>>>>
>>>>>According to what I'm hearing, it's not. But I am unable to join a
>>>>>server and test myself over the next couple of weeks (only access to old
>>>>>laptop with GForce2go), so I can't say for sure.
>>>>>
>>>>>In any case it would be nice to have an event for this so that we can
>>>>>autokick people that start three votes within 30 seconds, or people that
>>>>>kickvote admins :)
>>>>>
>>>>>Einar
>>>>>
>>>>>
>>>>>David Stevens wrote:
>>>>>
>>>>>
>>>>>     
>>>>>
>>>>>        
>>>>>
>>>>>>I was pretty sure it said in game that "so and so started a mutiny vote"
>>>>>>ect.
>>>>>>
>>>>>>Is it not there with kick?
>>>>>>
>>>>>>
>>>>>>-----Original Message-----
>>>>>>From: "Einar S. Idsø" [mailto:esi at itk.ntnu.no] 
>>>>>>Sent: Monday, July 04, 2005 8:51 AM
>>>>>>To: bf1942 at icculus.org
>>>>>>Subject: [bf1942] Missing event: InitiateVote(playerId,voteType)
>>>>>>
>>>>>>In BF 1942 and BFV there was no way to see who started votes, not from
>>>>>>inside the game nor from server logs. Therefore, it was common to turn
>>>>>>off voting on many servers, so that smacktards weren't able to votespam.
>>>>>>
>>>>>>It seems there is no way to figure out who is voting in BF2 either,
>>>>>>unfortunately. I see no events onto which we may hook (except a
>>>>>>VoteEvent which seems to be hidden from our use - see
>>>>>>http://bf2.fun-o-matic.org/index.php/Event_Reference). Would it be
>>>>>>possible to make such an event available to us, so at the very least we
>>>>>>can get a log of who starts votes (sometimes votes are used to get rid
>>>>>>of admins, something which can be VERY frustrating since you don't have
>>>>>>any way of figuring out who to kick). we could then also choose to have
>>>>>>text written to the screen indicating who initiated the vote, as is
>>>>>>common in other games.
>>>>>>
>>>>>>Hope this is somehow possible. Or if it already is, please advice :)
>>>>>>
>>>>>>Einar
>>>>>>
>>>>>>
>>>>>>
>>>>>>  
>>>>>>
>>>>>>       
>>>>>>
>>>>>>          
>>>>>>
>>>>>     
>>>>>
>>>>>        
>>>>>
>>
>>
>>  
>>



More information about the Bf1942 mailing list