3HAXAPb94 Posted October 25, 2013 Share Posted October 25, 2013 Hello, I have one problem I cant send text from server side to client side. I want to use dxDrawText I use message = "My text" Link to comment
Dzejki Posted October 25, 2013 Share Posted October 25, 2013 You have to use triggering. Look how it works on wiki Link to comment
Dealman Posted October 25, 2013 Share Posted October 25, 2013 You can read this post for an example - it's from client to server. But should work the other way. Link to comment
3HAXAPb94 Posted October 25, 2013 Author Share Posted October 25, 2013 --client addEvent ("onUpgradeText",true) addEventHandler ("onUpgradeText",root,weaponBar) function weaponBar(message) if not message then message = "no upgrade" dxDrawRectangle (posX*2+300,posY,250,100, tocolor (0,0,0,150)) dxDrawRectangle (posX*2+300,posY,250,Hvis, tocolor (255,255,255,150)) dxDrawText ("Upgrade",posX*2+300,-(vis)+50-(Hvis),sX,sY,tocolor (255,255,255,255),1.5,"default-bold", "center", "center") dxDrawText (message,posX*2+300,-(vis)+100-(Hvis),sX,sY,tocolor (255,255,255,255),2,"default-bold", "center", "center") end end addEventHandler ("onClientRender",root, weaponBar) --server function someFucntion () message = "Barrel" triggerClientEvent ("onUpgradeText",source,message) end its doesnt work... Link to comment
Dealman Posted October 25, 2013 Share Posted October 25, 2013 function someFucntion () message = "Barrel" triggerClientEvent ("onUpgradeText",source,message) end You don't have any event handler attached to this function, so as far as I can see - source would be nil. Also I believe you would have to construct your triggerClientEvent like this; triggerClientEvent (source, "onUpgradeText", message) Link to comment
3HAXAPb94 Posted October 25, 2013 Author Share Posted October 25, 2013 Still not working. Link to comment
Dealman Posted October 25, 2013 Share Posted October 25, 2013 Ah, I mis-read the wiki. Try this; triggerClientEvent (source, "onUpgradeText", getRootElement(), message) Source being the element you want to send the message to. Make sure there actually is a source for the function you're working with. Also if there are errors and/or warnings - post them. Link to comment
3HAXAPb94 Posted October 25, 2013 Author Share Posted October 25, 2013 Debug empy and still not work... Link to comment
.:HyPeX:. Posted October 25, 2013 Share Posted October 25, 2013 Surely you havent done what he says, how are you triggering the function? (server) Link to comment
3HAXAPb94 Posted October 25, 2013 Author Share Posted October 25, 2013 (edited) local luck = math.random(1,5) if luck == 1 then message = "Barrel" triggerClientEvent (source, "onUpgradeText", getRootElement(), message) giveMeBarrel () elseif luck == 2 then message = "Aura" triggerClientEvent (source, "onUpgradeText", getRootElement(), message) giveMeAura() elseif luck ==3 then message = "Fix" triggerClientEvent (source, "onUpgradeText", getRootElement(), message) fixVehicle () elseif luck == 4 then message = "Nitro" triggerClientEvent (source, "onUpgradeText", getRootElement(), message) nitro () elseif luck == 5 then message = "Rocket" triggerClientEvent (source, "onUpgradeText", getRootElement(), message) doShoot() end Its server side PS i use this if player get racepickup Edited October 25, 2013 by Guest Link to comment
3HAXAPb94 Posted October 25, 2013 Author Share Posted October 25, 2013 addEvent ("onUpgradeText",true) addEventHandler ("onUpgradeText",root,weaponBar) function weaponBar(message) if not message then message = "not upgrade" dxDrawRectangle (posX*2+300,posY,250,100, tocolor (0,0,0,150)) dxDrawRectangle (posX*2+300,posY,250,Hvis, tocolor (255,255,255,150)) dxDrawText ("Upgrade",posX*2+300,-(vis)+50-(Hvis),sX,sY,tocolor (255,255,255,255),1.5,"default-bold", "center", "center") dxDrawText (message,posX*2+300,-(vis)+100-(Hvis),sX,sY,tocolor (255,255,255,255),2,"default-bold", "center", "center") end end addEventHandler ("onClientRender",root, weaponBar) client side Link to comment
Dealman Posted October 25, 2013 Share Posted October 25, 2013 What event handler are you using for the server-side code you pasted? Are you sure source is returned as a player element? Link to comment
Chronic Posted October 25, 2013 Share Posted October 25, 2013 This should work. triggerClientEvent ( "onUpgradeText", source, message ) Link to comment
Dealman Posted October 25, 2013 Share Posted October 25, 2013 This should work. triggerClientEvent ( "onUpgradeText", source, message ) bool triggerClientEvent ( [element sendTo=getRootElement()], string name, element theElement, [arguments...] ) First argument is the element to send it to. Link to comment
3HAXAPb94 Posted October 25, 2013 Author Share Posted October 25, 2013 so what i need to do? Link to comment
Castillo Posted October 25, 2013 Share Posted October 25, 2013 triggerClientEvent ( source, "onUpgradeText", source, message ) Link to comment
Chronic Posted October 25, 2013 Share Posted October 25, 2013 Trust me, this will work. I tried doing that on my other scripts, but didn't work. triggerClientEvent ( "onUpgradeText", source, message ) Link to comment
Castillo Posted October 25, 2013 Share Posted October 25, 2013 That'll trigger to everyone, not just to 'source'. Link to comment
Chronic Posted October 25, 2013 Share Posted October 25, 2013 Oh, sorry didn't see your post when I said it. Anyway thanks for telling me! Link to comment
3HAXAPb94 Posted October 25, 2013 Author Share Posted October 25, 2013 Guys, but it still not work. Maybe in client somethink bugged? Link to comment
Castillo Posted October 25, 2013 Share Posted October 25, 2013 Post both client and server side scripts. Link to comment
3HAXAPb94 Posted October 25, 2013 Author Share Posted October 25, 2013 --Client addEvent ("onUpgradeText",true) addEventHandler ("onUpgradeText",root,weaponBar) function weaponBar(message) if not message then message = "not upgrade" dxDrawRectangle (posX*2+300,posY,250,100, tocolor (0,0,0,150)) dxDrawRectangle (posX*2+300,posY,250,Hvis, tocolor (255,255,255,150)) dxDrawText ("Upgrade",posX*2+300,-(vis)+50-(Hvis),sX,sY,tocolor (255,255,255,255),1.5,"default-bold", "center", "center") dxDrawText (message,posX*2+300,-(vis)+100-(Hvis),sX,sY,tocolor (255,255,255,255),2,"default-bold", "center", "center") end end addEventHandler ("onClientRender",root, weaponBar) --server local luck = math.random(1,5) if luck == 1 then outputChatBox ("barrel ") message = "Barrel" triggerClientEvent ( source, "onUpgradeText", source, message ) giveMeBarrel () elseif luck == 2 then message = "Aura" triggerClientEvent ( source, "onUpgradeText", source, message ) outputChatBox ("you gived AURA(6 sec)") giveMeAura() elseif luck ==3 then message = "Fix" triggerClientEvent ( source, "onUpgradeText", source, message ) outputChatBox ("you vehicle fixed") fixVehicle () elseif luck == 4 then message = "Nitro" triggerClientEvent ( source, "onUpgradeText", source, message ) outputChatBox ("nitro") nitro () elseif luck == 5 then message = "Rocket" triggerClientEvent ( source, "onUpgradeText", source, message ) outputChatBox (" rocket") doShoot() end Link to comment
Castillo Posted October 25, 2013 Share Posted October 25, 2013 local message = "" addEvent ( "onUpgradeText", true ) addEventHandler ( "onUpgradeText", root, function ( msg ) removeEventHandler ( "onClientRender", root, weaponBar ) message = msg addEventHandler ( "onClientRender", root, weaponBar ) end ) function weaponBar ( ) dxDrawRectangle (posX*2+300,posY,250,100, tocolor (0,0,0,150)) dxDrawRectangle (posX*2+300,posY,250,Hvis, tocolor (255,255,255,150)) dxDrawText ("Upgrade",posX*2+300,-(vis)+50-(Hvis),sX,sY,tocolor (255,255,255,255),1.5,"default-bold", "center", "center") dxDrawText (message,posX*2+300,-(vis)+100-(Hvis),sX,sY,tocolor (255,255,255,255),2,"default-bold", "center", "center") end I'm assuming that you have 'posX', 'posY', 'Hvis', 'vis' variables defined already? Link to comment
3HAXAPb94 Posted October 25, 2013 Author Share Posted October 25, 2013 Thanks Solidsnake now Its work =) "I'm assuming that you have 'posX', 'posY', 'Hvis', 'vis' variables defined already?" yes Link to comment
Dealman Posted October 25, 2013 Share Posted October 25, 2013 (edited) so what i need to do? As I said, what event are you using for your server-side function? 'Cause you didn't post the entire part of that function. Are you sure that source is returning a player element and not something else? Edit: Forgot to refresh tab Solidsnake14 strikes as always Edited October 25, 2013 by Guest Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now