11.08.2014, 19:01
Hola a todos. Hace unos pocos dнas que empecй a trabajar con PAWN, a dнa de hoy he aprendido a hacer y reconocer lo bбsico pero algunas cosas quizбs mбs avanzadas se me resisten (supongo que a todos nos ha pasado en un principio).
Bбsicamente donde tengo el problema es como bien digo en el tнtulo, con dos pickups: uno de ellos se encarga de dar armadura completa al usuario que se pone encima de йl y ademбs le suelta un SendClientMessage, el otro, se encarga de avisar que en esa posiciуn te puedes cambiar el skin. (Es el sistema que te sale un TextDraw con las imбgenes de todos los skins, supongo que sabrйis de cual os hablo).
Ahora bien, en un principio creй el pickup de la armadura, todo saliу perfecto y no me daba fallos, se mostraba correctamente. El problema ha sido al meter la informaciуn del otro pickup en el que te cambias el skin en el public OnPlayerPickUpPickup, ahora, cuando paso por el pickup de cambiar el skin, tambiйn me setea armadura y me sale el correspondiente mensaje que puse con SendClientMessage, evidentemente tambiйn me sale el otro mensaje que puse para avisar de que ahн se podнa cambiar el skin y el comando me funciona correctamente. Por otro lado, el comando de la armadura me sigue funcionando igual de bien aunque ahora por alguna extraсa razуn me sale tambiйn un mensaje diciйndome que hay una casa, cuando, en realidad no lo estб.
A continuaciуn procedo a dejar tanto las dos variables creadas, tanto el OnGameModeInit como el OnPlayerPickUpPickup para una posible mejor ayuda. Espero que me haya explicado bien, aъn no sй demasiado bien todos los 'conceptos' de PAWN.
Bбsicamente donde tengo el problema es como bien digo en el tнtulo, con dos pickups: uno de ellos se encarga de dar armadura completa al usuario que se pone encima de йl y ademбs le suelta un SendClientMessage, el otro, se encarga de avisar que en esa posiciуn te puedes cambiar el skin. (Es el sistema que te sale un TextDraw con las imбgenes de todos los skins, supongo que sabrйis de cual os hablo).
Ahora bien, en un principio creй el pickup de la armadura, todo saliу perfecto y no me daba fallos, se mostraba correctamente. El problema ha sido al meter la informaciуn del otro pickup en el que te cambias el skin en el public OnPlayerPickUpPickup, ahora, cuando paso por el pickup de cambiar el skin, tambiйn me setea armadura y me sale el correspondiente mensaje que puse con SendClientMessage, evidentemente tambiйn me sale el otro mensaje que puse para avisar de que ahн se podнa cambiar el skin y el comando me funciona correctamente. Por otro lado, el comando de la armadura me sigue funcionando igual de bien aunque ahora por alguna extraсa razуn me sale tambiйn un mensaje diciйndome que hay una casa, cuando, en realidad no lo estб.
A continuaciуn procedo a dejar tanto las dos variables creadas, tanto el OnGameModeInit como el OnPlayerPickUpPickup para una posible mejor ayuda. Espero que me haya explicado bien, aъn no sй demasiado bien todos los 'conceptos' de PAWN.
Код:
- Variables new Armadura; new skinlist = mS_INVALID_LISTID; new Ropa;
Код:
- OnGameModeInit (lo paso entero, por posibles errores) public OnGameModeInit() { AddStaticVehicle(522, -254.4105, 2603.3188, 62.8583, 0, 5, 5); // Aсades una NRG-500 al punto de spawn seсalizado arriba. // BACKUP GATE // CreateObject(975,-220.3999900,2659.3000000,63.3000000,0.0000000,0.0000000,0.0000000); //object(columbiangate) (1) CreateObject(8657,-240.2000000,2658.6001000,64.0000000,0.0000000,0.0000000,270.0000000); //object(shbbyhswall10_lvs) (1) CreateObject(8657,-200.5000000,2659.6006000,63.0000000,0.0000000,0.0000000,270.0000000); //object(shbbyhswall10_lvs) (2) Ropa = CreatePickup(1239, 1, -252.4105, 2603.3188, 62.8583, -1); Puerta = CreateObject(975, -220.3999900, 2659.3000000, 63.3000000,0.0000000,0.0000000,0.0000000); Armadura = CreatePickup(1239, 1, -249.5859, 2587.7678, 63.5703, -1); skinlist = LoadModelSelectionMenu("skins.txt"); return 1; }
Код:
- Publics Armadura y selecciуn de skin public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == Ropa) SendClientMessage(playerid, -1, "ЎAquн puedes comprar ropa!"); if(pickupid == Armadura) SetPlayerArmour(playerid, 100); SendClientMessage(playerid, -1, "ЎAhora tienes armadura completa!"); return 1; }
Код:
- Mensaje de la casa que me sale * House: type /enter to enter