Narutimmy Posted January 10, 2013 Share Posted January 10, 2013 Hola lo que pasa es que me encontre con este scrip en la comunidad, me gusto ahi mejores pero no me funcionan correctamente. Los Problemas son 2: El primero es que no tienes una vista previa del skin si le das click al skin te cobra el dinero y el segundo es que si por ejemplo los skins valen 50mil y tu tienes 0 y lo compras de todas maneras te cobra el dinero y quedas en numeros rojos. Server: marker = createMarker( -2489.9577, 2363.4064, 9, "cylinder", 2, 255, 255, 0, 255 ) blip = createBlip( -2489.9577, 2363.4064, 10.30, 45 ) function buy(id) reskin = setElementModel(source, id) takePlayerMoney(source, 500) playeraccount = getPlayerAccount(source) setAccountData(playeraccount, "standardskin", id) end addEvent("useSkin",true) addEventHandler("useSkin", root, buy) function guishow(hitPlayer) triggerClientEvent (hitPlayer,"guishowc",getRootElement(),hitPlayer) end addEventHandler("onMarkerHit",marker,guishow) Gui: Wnd = guiCreateWindow ( 0.2, 0.2, 0.25, 0.5, "Skin shop", true ) guiSetAlpha( Wnd, 1 ) button = guiCreateButton ( 0.01, 0.8, 0.99, 0.15, "Close", true, Wnd ) label = guiCreateLabel ( 0.1, 0.1, 0.9, 0.1, "Double click on skin. ($500)", true, Wnd ) showCursor(false) guiSetVisible( Wnd, false ) guiWindowSetSizable( Wnd, false ) guiWindowSetMovable( Wnd, false ) vehicles = { {"Truth", 1}, {"Wuzi Mu", 294}, {"Claude", 299}, {"Madd Dogg", 297}, {"Mike Toreno", 295}, {"Cesar", 292}, {"OG Loc", 293}, {"T-Bone", 307}, {"Pimp", 249}, {"White Dealer", 29}, {"Black Dealer", 28}, {"Hiker", 26}, {"Casino Bouncer 1", 163}, {"Casino Bouncer 2", 164}, {"Drug Worker 1", 144}, {"Drug Worker 2", 145}, {"Drug Worker 3", 146}, } grid = guiCreateGridList(0.01, 0.2, 0.99, 0.5, true, Wnd) guiGridListAddColumn(grid, "Skins", 0.85) for i,veh in ipairs(vehicles) do row = guiGridListAddRow(grid) -- guiGridListSetItemText(grid, row, 1, tostring(veh[1]), false, false) guiGridListSetItemData(grid, row, 1, tostring(veh[2])) end function use() local row, col = guiGridListGetSelectedItem(grid) if (row and col and row ~= -1 and col ~= -1) then local model = tonumber(guiGridListGetItemData(grid, row, 1)) if model ~= "" then triggerServerEvent("useSkin", localPlayer, model) end end end addEventHandler("onClientDoubleClick", root, use, false) function close() if (source == button) then guiSetVisible(Wnd,false) showCursor(false) end end addEventHandler("onClientGUIClick", button, close) function guishowc() guiSetVisible(Wnd,true) showCursor(true) end addEvent("guishowc",true) addEventHandler("guishowc", getRootElement(), guishowc) Link to comment
Xperia Posted January 12, 2013 Share Posted January 12, 2013 Podrias guiarte con esto: Client addEventHandler("onClientGUIClick",root, function () local money = getPlayerMoney(player) local precioSkin1 = 50000 if ( money >= precioSkin1 ) then triggerServerEvent("onGiveWeapon",player) takePlayerMoney(precioSkin1) end end ) Server addEvent("onGiveWeapon",true) addEventHandler("onGiveWeapon",root, function(skinID) setPlayerSkin(player,285) end ) PD: Lo he hecho a la rapida... Link to comment
BorderLine Posted January 13, 2013 Share Posted January 13, 2013 la funcion setPlayerSkin ya no se usa. Debes usar setElementModel y el takePlayerMoney debes ponerlo en serverside. Desde clientside se bugea. Se te quita el dinero, pero si ganas algo de dinero de cualquier modo, se te devuelve el dinero del skin mas el ke se te agrego. Link to comment
Recommended Posts