Soren Posted June 3, 2012 Share Posted June 3, 2012 Hola a todos, Necesito meter todos los vehiculos en una lista! (Grid List) Pero no se como. Porfavor ayudenme. Porfavor Solid Link to comment
Soren Posted June 3, 2012 Author Share Posted June 3, 2012 Explicame eso de "todos" Quiero meter absolutamente todos los vehiculos de GTA SA En un GridList, y quiero poner un boton que Diga Spawn Vehicle y lo sSpawne Link to comment
Castillo Posted June 3, 2012 Share Posted June 3, 2012 Decis todos los vehiculos del GTA? si es asi, entonces usa esta tabla ( no es mia, esta en la wiki ): vehicleIDS = { 602, 545, 496, 517, 401, 410, 518, 600, 527, 436, 589, 580, 419, 439, 533, 549, 526, 491, 474, 445, 467, 604, 426, 507, 547, 585, 405, 587, 409, 466, 550, 492, 566, 546, 540, 551, 421, 516, 529, 592, 553, 577, 488, 511, 497, 548, 563, 512, 476, 593, 447, 425, 519, 520, 460, 417, 469, 487, 513, 581, 510, 509, 522, 481, 461, 462, 448, 521, 468, 463, 586, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454, 485, 552, 431, 438, 437, 574, 420, 525, 408, 416, 596, 433, 597, 427, 599, 490, 432, 528, 601, 407, 428, 544, 523, 470, 598, 499, 588, 609, 403, 498, 514, 524, 423, 532, 414, 578, 443, 486, 515, 406, 531, 573, 456, 455, 459, 543, 422, 583, 482, 478, 605, 554, 530, 418, 572, 582, 413, 440, 536, 575, 534, 567, 535, 576, 412, 402, 542, 603, 475, 449, 537, 538, 441, 464, 501, 465, 564, 568, 557, 424, 471, 504, 495, 457, 539, 483, 508, 571, 500, 444, 556, 429, 411, 541, 559, 415, 561, 480, 560, 562, 506, 565, 451, 434, 558, 494, 555, 502, 477, 503, 579, 400, 404, 489, 505, 479, 442, 458, 606, 607, 610, 590, 569, 611, 584, 608, 435, 450, 591, 594 } Luego usas un loop de "ipairs" y con las funciones de GUI grid list: guiGridListAddRow guiGridListSetItemText Link to comment
Soren Posted June 3, 2012 Author Share Posted June 3, 2012 Mil gracias Solid. Esto es lo que hice: ----------Vehiculos------------ lisveh = { 602, 545, 496, 517, 401, 410, 518, 600, 527, 436, 589, 580, 419, 439, 533, 549, 526, 491, 474, 445, 467, 604, 426, 507, 547, 585, 405, 587, 409, 466, 550, 492, 566, 546, 540, 551, 421, 516, 529, 592, 553, 577, 488, 511, 497, 548, 563, 512, 476, 593, 447, 425, 519, 520, 460, 417, 469, 487, 513, 581, 510, 509, 522, 481, 461, 462, 448, 521, 468, 463, 586, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454, 485, 552, 431, 438, 437, 574, 420, 525, 408, 416, 596, 433, 597, 427, 599, 490, 432, 528, 601, 407, 428, 544, 523, 470, 598, 499, 588, 609, 403, 498, 514, 524, 423, 532, 414, 578, 443, 486, 515, 406, 531, 573, 456, 455, 459, 543, 422, 583, 482, 478, 605, 554, 530, 418, 572, 582, 413, 440, 536, 575, 534, 567, 535, 576, 412, 402, 542, 603, 475, 449, 537, 538, 441, 464, 501, 465, 564, 568, 557, 424, 471, 504, 495, 457, 539, 483, 508, 571, 500, 444, 556, 429, 411, 541, 559, 415, 561, 480, 560, 562, 506, 565, 451, 434, 558, 494, 555, 502, 477, 503, 579, 400, 404, 489, 505, 479, 442, 458, 606, 607, 610, 590, 569, 611, 584, 608, 435, 450, 591, 594 } ----------Vehiculos------------ GUIEditor_Window = {} GUIEditor_Button = {} GUIEditor_Label = {} GUIEditor_Edit = {} GUIEditor_Grid = {} ventana = guiCreateWindow(499,196,625,515,"",false) lista = guiCreateGridList(22,47,407,438,false,ventana) guiGridListSetSelectionMode(lista,2) busqueda = guiCreateEdit(434,75,178,25,"",false,ventana) texto = guiCreateLabel(456,53,125,21,"Fast Serch:",false,ventana) spawnear = guiCreateButton(433,410,175,57,"Spawn Vehicle",false,ventana) columna = guiGridListAddColumn ( lista, "Vehicle", 47) seleccion = guiGridListAddRow (lista) function agregarvehiculos () if columna then for i, v in ipairs(getElementsByType("vehicle") guiGridListSetItemText (lista, seleccion, columna, getVehicleName(v), true, true) end end end addEventHandler ( "onClientResourceStart", getResourceRootElement(), agregarvehiculos ) Pero ahora no se como hacer spanear los Vehiculos. Ayudame pls Link to comment
Castillo Posted June 3, 2012 Share Posted June 3, 2012 Usa triggerServerEvent. Pero primero debes obtener el vehiculo seleccionado: -- client side: guiGridListGetSelectedItem guiGridListGetItemText getVehicleModelFromName triggerServerEvent -- server side: addEvent addEventHandler createVehicle Link to comment
Soren Posted June 3, 2012 Author Share Posted June 3, 2012 Usa triggerServerEvent.Pero primero debes obtener el vehiculo seleccionado: -- client side: guiGridListGetSelectedItem guiGridListGetItemText getVehicleModelFromName triggerServerEvent -- server side: addEvent addEventHandler createVehicle Como puedo usar el "getVehicleModelFromName"? Esto es como lo intente: function spawnearvehiculo () guiGridListGetSelectedItem (lista) guiGridListGetItemText (lista, seleccion, columna) getVehicleModelFromName("") Link to comment
Castillo Posted June 3, 2012 Share Posted June 3, 2012 Eso no tiene sentido, empeza a pensar como podria funcionar. Link to comment
Soren Posted June 3, 2012 Author Share Posted June 3, 2012 Eso no tiene sentido, empeza a pensar como podria funcionar. Esto es lo que me dice el Syntax getVehicleModelFromName ( string name ) Pero como se supone que estoy consiguiendo el nombre del Row n ose como utilizarlo Link to comment
Castillo Posted June 3, 2012 Share Posted June 3, 2012 Ya te dije como, usa las funciones que te di. Link to comment
Soren Posted June 3, 2012 Author Share Posted June 3, 2012 Ya te dije como, usa las funciones que te di. function spawnearvehiculo () 1 = guiGridListGetSelectedItem (lista) 2 = guiGridListGetItemText (lista, seleccion, columna) getVehicleModelFromName("2") Fuck!, no entiendo Link to comment
iFoReX Posted June 3, 2012 Share Posted June 3, 2012 soren talvez esto funcione. getVehicleModelFromName(guiGridListGetItemText (lista, seleccion, columna)) Link to comment
Soren Posted June 3, 2012 Author Share Posted June 3, 2012 soren talvez esto funcione. getVehicleModelFromName(guiGridListGetItemText (lista, seleccion, columna)) Pero el syntax dice que debe ser string Link to comment
Castillo Posted June 3, 2012 Share Posted June 3, 2012 Pero si lo que tenes en la grid list son strings.. Link to comment
Soren Posted June 3, 2012 Author Share Posted June 3, 2012 Esto es lo que hice. Client: ----------Vehiculos------------ lisveh = { 602, 545, 496, 517, 401, 410, 518, 600, 527, 436, 589, 580, 419, 439, 533, 549, 526, 491, 474, 445, 467, 604, 426, 507, 547, 585, 405, 587, 409, 466, 550, 492, 566, 546, 540, 551, 421, 516, 529, 592, 553, 577, 488, 511, 497, 548, 563, 512, 476, 593, 447, 425, 519, 520, 460, 417, 469, 487, 513, 581, 510, 509, 522, 481, 461, 462, 448, 521, 468, 463, 586, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454, 485, 552, 431, 438, 437, 574, 420, 525, 408, 416, 596, 433, 597, 427, 599, 490, 432, 528, 601, 407, 428, 544, 523, 470, 598, 499, 588, 609, 403, 498, 514, 524, 423, 532, 414, 578, 443, 486, 515, 406, 531, 573, 456, 455, 459, 543, 422, 583, 482, 478, 605, 554, 530, 418, 572, 582, 413, 440, 536, 575, 534, 567, 535, 576, 412, 402, 542, 603, 475, 449, 537, 538, 441, 464, 501, 465, 564, 568, 557, 424, 471, 504, 495, 457, 539, 483, 508, 571, 500, 444, 556, 429, 411, 541, 559, 415, 561, 480, 560, 562, 506, 565, 451, 434, 558, 494, 555, 502, 477, 503, 579, 400, 404, 489, 505, 479, 442, 458, 606, 607, 610, 590, 569, 611, 584, 608, 435, 450, 591, 594 } ----------Vehiculos------------ GUIEditor_Window = {} GUIEditor_Button = {} GUIEditor_Label = {} GUIEditor_Edit = {} GUIEditor_Grid = {} ventana = guiCreateWindow(499,196,625,515,"",false) lista = guiCreateGridList(22,47,407,438,false,ventana) guiGridListSetSelectionMode(lista,2) busqueda = guiCreateEdit(434,75,178,25,"",false,ventana) texto = guiCreateLabel(456,53,125,21,"Fast Serch:",false,ventana) spawnear = guiCreateButton(433,410,175,57,"Spawn Vehicle",false,ventana) columna = guiGridListAddColumn ( lista, "Vehicle", 47) seleccion = guiGridListAddRow (lista) function agregarvehiculos () if columna then for i, v in ipairs(getElementsByType("vehicle") guiGridListSetItemText (lista, seleccion, columna, getVehicleName(v), true, true) end end end addEventHandler ( "onClientResourceStart", getResourceRootElement(), agregarvehiculos ) function spawnearvehiculo () guiGridListGetSelectedItem (lista) guiGridListGetItemText (lista, seleccion, columna) local elvehiculo = getVehicleModelFromName(guiGridListGetItemText (lista, seleccion, columna)) triggerServerEvent("crearVehiculo", getLocalPlayers) addEventHandler ( "onClientGUIClick", spawnear, spawnearvehiculo ) Server: local x, y, z = getPlayerPosition function crearvehiculo () createVehicle ( elvehiculo, x, y + 5, z ) addEvent ("crearVehiculo", true) addEventHandler ("crearVehiculo", getRootElement(), crearvehiculo) Creo que funcionara, dime si encontraste errores, pero quiero hacer otra cosa. Soy muy malo con los Commandos, pero quiero hacer que al escribir /v se abra la ventana. Y tambien quiero hacer que se pueda buscar un nombre especifico, en el edit. Link to comment
Edikosh998 Posted June 3, 2012 Share Posted June 3, 2012 Te hago el debugger a simple vista : Linea 1 - Server side = No existe esa funcion...Usa getElementPosition(elemento) Linea 41 - Client side = No existe getLocalPlayers...Usa el rootElement si queres poner a todos los jugadores. Linea 30 - Client side = Te falto un "do" Linea 4 - Server side = el primer argumento de la funcion createVehicle, es un nil value (Osea, no declaraste la variable "elvehiculo") Link to comment
Soren Posted June 3, 2012 Author Share Posted June 3, 2012 Entendi todo menos esta: Linea 4 - Server side = el primer argumento de la funcion createVehicle, es un nil value (Osea, no declaraste la variable "elvehiculo") A que te refieres? Link to comment
Edikosh998 Posted June 3, 2012 Share Posted June 3, 2012 Osea "elvehiculo" sale de la nada, no declaraste de donde sale. Lo que tenes que hacer es que en el triggerServerEvent, agregar esta variable (fijate en la wiki como es lo de los parametros opcionales). Osea, lo declaraste en client-side pero lo tenes que pasar a server. Link to comment
Soren Posted June 3, 2012 Author Share Posted June 3, 2012 Osea "elvehiculo" sale de la nada, no declaraste de donde sale. Lo que tenes que hacer es que en el triggerServerEvent, agregar esta variable (fijate en la wiki como es lo de los parametros opcionales). Osea, lo declaraste en client-side pero lo tenes que pasar a server. Mira este es el unico error que me da: [2012-06-03 18:32:44] Starting US_VehiclesSpawn [2012-06-03 18:32:44] SCRIPT ERROR: US_VehiclesSpawn\Server.lua:6: 'end' expected (to close 'function' at line 1) near '<eof>' [2012-06-03 18:32:44] WARNING: Loading script failed: US_VehiclesSpawn\Server.lua:6: 'end' expected (to close 'function' at line 1) near '<eof>' [2012-06-03 18:32:44] US_VehiclesSpawn restarted successfully Link to comment
Edikosh998 Posted June 4, 2012 Share Posted June 4, 2012 Si no podes corregir ese error, te recomiendo que repases scripteo de vuelta. = end of file, expected = se esperaba... Link to comment
Soren Posted June 4, 2012 Author Share Posted June 4, 2012 Si no podes corregir ese error, te recomiendo que repases scripteo de vuelta. = end of file, expected = se esperaba... Perdona mi ignorancia, ya repase varias veces. Y lo que puso Solid en el foro en Ingles de verdad me ofendio, yo n oquiero el script hecho, yo solo quiero que me ayuden con mis problemas T_T. Dice que hay un end serca de la linea 1 donde tengo el function. No hay nada Link to comment
iFoReX Posted June 4, 2012 Share Posted June 4, 2012 Soren si postearas tu codigo... alguien podria ayudarte ._. Link to comment
Castillo Posted June 4, 2012 Share Posted June 4, 2012 Porque no lees todo el tema en lugar de postear boludeces, ElMota? Link to comment
Soren Posted June 4, 2012 Author Share Posted June 4, 2012 @ElMota: Lo habias Posteado antes pero aqui esta denuevo Client: ----------Vehiculos------------ lisveh = { 602, 545, 496, 517, 401, 410, 518, 600, 527, 436, 589, 580, 419, 439, 533, 549, 526, 491, 474, 445, 467, 604, 426, 507, 547, 585, 405, 587, 409, 466, 550, 492, 566, 546, 540, 551, 421, 516, 529, 592, 553, 577, 488, 511, 497, 548, 563, 512, 476, 593, 447, 425, 519, 520, 460, 417, 469, 487, 513, 581, 510, 509, 522, 481, 461, 462, 448, 521, 468, 463, 586, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454, 485, 552, 431, 438, 437, 574, 420, 525, 408, 416, 596, 433, 597, 427, 599, 490, 432, 528, 601, 407, 428, 544, 523, 470, 598, 499, 588, 609, 403, 498, 514, 524, 423, 532, 414, 578, 443, 486, 515, 406, 531, 573, 456, 455, 459, 543, 422, 583, 482, 478, 605, 554, 530, 418, 572, 582, 413, 440, 536, 575, 534, 567, 535, 576, 412, 402, 542, 603, 475, 449, 537, 538, 441, 464, 501, 465, 564, 568, 557, 424, 471, 504, 495, 457, 539, 483, 508, 571, 500, 444, 556, 429, 411, 541, 559, 415, 561, 480, 560, 562, 506, 565, 451, 434, 558, 494, 555, 502, 477, 503, 579, 400, 404, 489, 505, 479, 442, 458, 606, 607, 610, 590, 569, 611, 584, 608, 435, 450, 591, 594 } ----------Vehiculos------------ GUIEditor_Window = {} GUIEditor_Button = {} GUIEditor_Label = {} GUIEditor_Edit = {} GUIEditor_Grid = {} ventana = guiCreateWindow(499,196,625,515,"",false) lista = guiCreateGridList(22,47,407,438,false,ventana) guiGridListSetSelectionMode(lista,2) busqueda = guiCreateEdit(434,75,178,25,"",false,ventana) texto = guiCreateLabel(456,53,125,21,"Fast Serch:",false,ventana) spawnear = guiCreateButton(433,410,175,57,"Spawn Vehicle",false,ventana) columna = guiGridListAddColumn ( lista, "Vehicle", 47) seleccion = guiGridListAddRow (lista) function agregarvehiculos () if columna then for i, v in ipairs(getElementsByType("vehicle") do guiGridListSetItemText (lista, seleccion, columna, getVehicleName(v), true, true) end end end addEventHandler ( "onClientResourceStart", getResourceRootElement(), agregarvehiculos ) function spawnearvehiculo () guiGridListGetSelectedItem (lista) guiGridListGetItemText (lista, seleccion, columna) local elvehiculo = getVehicleModelFromName(guiGridListGetItemText (lista, seleccion, columna)) triggerServerEvent("crearVehiculo", getRootElement) addEventHandler ( "onClientGUIClick", spawnear, spawnearvehiculo ) Server: function crearvehiculo (player) local x, y, z = getElementPosition(player) createVehicle ( elvehiculo, x, y + 5, z ) addEvent ("crearVehiculo", true) addEventHandler ("crearVehiculo", getRootElement(), crearvehiculo) Link to comment
Castillo Posted June 4, 2012 Share Posted June 4, 2012 1: En el server side te falta un end. 2: En el client side usas las funciones: guiGridListGetSelectedItem, guiGridListGetItemText pero no las definis. 3: Envias "getRootElement" en lugar de "localPlayer" en triggerServerEvent. 4: Mejor no sigo. Link to comment
Recommended Posts