how can my map identify who is the host of game?

MagnaGuard

Active Member
Reaction score
49
Here is what I ued

Add this into map header


Code:
function GetHost takes nothing returns nothing
local gamecache g = InitGameCache("Map.w3v")
call StoreInteger(g, "Map", "Host", GetPlayerId(GetLocalPlayer ())+1)
call TriggerSyncStart()
call SyncStoredInteger(g, "Map", "Host" )
call TriggerSyncReady()
set udg_Host = Player( GetStoredInteger(g, "Map", "Host" )-1)
call FlushGameCache(g )
set g = null
endfunctionMap Header = The most top thing in the Triggers List, place the code under where you write the comment, NOT ON THE COMMENT.

Then make this trigger


Code:
Custom script: call GetHost()

PS:
I did not write this code, ragingspeedhorn (of hiveworkshop.com) did.. Credit him for making it ^_^..
 

Zurtrogx

Active Member
Reaction score
24
I had the same question a while ago, but I found the answer.
You need to use JASS to be able to detect the host.
So far, this is VERY reliable. It has worked every time for me.

First, you must have a variable named Host, exactly as it is there.
Then, go to the trigger editor, click on yourmapname.w3x and you will see a custom script code section. In there, type in:

function GetHost takes nothing returns nothing
local gamecache g = InitGameCache("Map.w3v")
call StoreInteger(g, "Map", "Host", GetPlayerId(GetLocalPlayer ())+1)
call TriggerSyncStart()
call SyncStoredInteger(g, "Map", "Host" )
call TriggerSyncReady()
set udg_Host = Player( GetStoredInteger(g, "Map", "Host" )-1)
call FlushGameCache(g )
set g = null
endfunction


Then make a trigger:
Code:
[B][I]Custom Script[/I][/B]
    [B]Events[/B]
        Map initialization
    [B]Conditions[/B]
    [B]Actions[/B]
        Custom script:   call GetHost()

This will store the host as the variable Host

To show other players who the host is, do the following:
Code:
[B][I]Host[/I][/B]
    [B]Events[/B]
        Time - Elapsed game time is <any value> seconds
    [B]Conditions[/B]
    [B]Actions[/B]
        Game - Display to (All players) the text: (The host has been detected as + ((Name of Host) + |r))
 

LiTtLe_LiOn

Active Member
Reaction score
0
thanks....
but after I have made these triggers
its come out
The trigger 'Untitled Trigger 001' must have an initialization function called 'initTrig_untitled_Trigger_001'.

Untitled Trigger 001 is the trigger with the code:

function GetHost takes nothing returns nothing
local gamecache g = InitGameCache("Map.w3v")
call StoreInteger(g, "Map", "Host", GetPlayerId(GetLocalPlayer ())+1)
call TriggerSyncStart()
call SyncStoredInteger(g, "Map", "Host" )
call TriggerSyncReady()
set udg_Host = Player( GetStoredInteger(g, "Map", "Host" )-1)
call FlushGameCache(g )
set g = null
endfunction

whats wrong with my trigger?
please help
 
Reaction score
456
JASS:
function GetHost takes nothing returns nothing
    local gamecache g = InitGameCache(&quot;Map.w3v&quot;)
    call StoreInteger(g, &quot;Map&quot;, &quot;Host&quot;, GetPlayerId(GetLocalPlayer ())+1)
    call TriggerSyncStart()
    call SyncStoredInteger(g, &quot;Map&quot;, &quot;Host&quot; )
    call TriggerSyncReady()
    set udg_Host = Player( GetStoredInteger(g, &quot;Map&quot;, &quot;Host&quot; )-1)
    call FlushGameCache(g )
    set g = null
endfunction


That function should be placed in the map's header. Map Header is located in the very top of the trigger editor. Click your maps name, and then there is comment and code fields on the right side of the trigger editor. Paste that function to the one below (code field).
 

LiTtLe_LiOn

Active Member
Reaction score
0
thanks again~~
the above problem is solved~
i followed Zurtrogx's to make trigger
but it still identify who is host on that text message...
also, i want to know how can i give some function to host only
like kick function....
any one can help?
 

Slapshot136

Divide et impera
Reaction score
471
event
player 1 types a chat message containing "-kick" as a substring
player 2 types a chat message containing "-kick" as a substring
player 3 types a chat message containing "-kick" as a substring
player 4 types a chat message containing "-kick" as a substring
etc. you may want to use a loop to add all of these
conditions
(triggering player) is equal to (host)
actions
defeat player (player # (get substring (7,8) (7 and 8 is from the 7th slot to the 8th slot so like -kick ## would work, but if you want kick ## it should be 6 and 7))) with message (You have been kicked. GG)
 

LiTtLe_LiOn

Active Member
Reaction score
0
thank you Slapshot136

and if I want to display a text message that tell all player who is host
what should I do?
 

Doom-Angel

Jass User (Just started using NewGen)
Reaction score
167
it was already written above:
Code:
Host
    Events
        Time - Elapsed game time is <any value> seconds
    Conditions
    Actions
        Game - Display to (All players) the text: (The host has been detected as + ((Name of Host) + |r))
 

omnipotent

Active Member
Reaction score
0
yes i ran into the same problem as u did

srry to dig this thread now


but my question is...i want to use the function Host to make a kick system, so the game detects whos the Host and gives him the option to kick

how can i do it? any way to help me?

srry n ty ^^


Edit: nevermind i figure out how to use it, such dumb guy i am ^^, ty anyway
 

Dameon

"All the power in the world resides in the eyes"
Reaction score
127
Hey guys I have never used jass before and have no idea what I am doing wrong here

Ok in the Custom Script Code Section

Code:
function GetHost takes nothing returns nothing
local gamecache g = InitGameCache("Map.w3v")
call StoreInteger(g, "Map", "Host", GetPlayerId(GetLocalPlayer ())+1)
call TriggerSyncStart()
call SyncStoredInteger(g, "Map", "Host" )
call TriggerSyncReady()
set udg_Host = Player( GetStoredInteger(g, "Map", "Host" )-1)
call FlushGameCache(g )
set g = null
endfunction

Then the Trigger

Code:
Host
    Events
        Map initialization
    Conditions
    Actions
        Custom script:   [COLOR="Red"]Custom script:[/COLOR] call GetHost()

I keep getting a message saying line 659: Expected a code statement.

Umm never mind I found out what I did wrong, so embarising. :-(
 

AdamGriffith

You can change this now in User CP.
Reaction score
69
This is possibly the 3rd revived thread i've seen today!

You don't type in custom script, you click custom script in gui then call the function.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top