21.02.2015, 20:29
Bueno lo que pasa es que cuando selecciono cualquiera de los 3 equipos, me spawnea siempre con el mismo skin (206). Aca les dejo el GM para ver donde esta el problema:
Ademбs es raro, debido a que en AddPlayerClass y OnPlayerSpawn les setie el skin a cada equipo. (SetPlayerSkin)
Код:
#include <a_samp> #include <core> #include <float> #include <string> #include <file> #include <time> #include <datagram> #include <a_players> #include <a_vehicles> #include <a_objects> #include <a_sampdb> #pragma tabsize 0 #define COLOR_AZUL 0x0000FFFF #define COLOR_BLANCO 0xFFFFFFFF #define COLOR_NEGRO 0x000000FF #define COLOR_ROJO 0xFF0000FF #define COLOR_AMARILLO 0xFFFF00FF #define COLOR_NARANJA 0xFFC200FF #define COLOR_VERDE 0x00FF00FF #define COLOR_VIOLETA 0xFF00FFFF #define COLOR_CELESTE 0x00FFFFFF #define Dialogo_Equipos (423) // definimos la id del diбlogo que aparecera para escoger un equipo #define Dialogo_Argentina (424) // definimos la id del diбlogo que aparecera al escoger un equipo #define Dialogo_Chile (425) #define Dialogo_Brasil (426) new Equipo[MAX_PLAYERS]; new string[64], NombreJugador[MAX_PLAYER_NAME]; #define TEAM_ARGENTINA 0 #define TEAM_CHILE 1 #define TEAM_BRASIL 2 public OnGameModeInit() { SetGameModeText("TDM v0.0.1 ESPAСOL"); UsePlayerPedAnims(); AddPlayerClass(206, 2043.6832,1352.4706,10.6719,91.6490, 0, 1, 0, 1, 0, 1); //ARGENTINA AddPlayerClass(121, 2044.8971,1282.7948,10.6719,185.0232, 0, 1, 0, 1, 0, 1); //CHILE AddPlayerClass(109, 2043.6832,1352.4706,10.6719,91.6490, 0, 1, 0, 1, 0, 1); //BRASIL return 1; } public OnPlayerConnect(playerid) { ShowPlayerDialog(playerid, Dialogo_Equipos, DIALOG_STYLE_LIST, "Selecciona un equipo", "{0000FF}Argentina\n{FF0000}Chile\n{FFFF00}Brasil", "Seleccionar", "Cerrar"); SendClientMessage(playerid, COLOR_BLANCO, "Bienvenido al servidor, si no estбs registrado utiliza /registrarse [Contraseсa] para guardar tus datos."); SendClientMessage(playerid, COLOR_NARANJA, "Para comenzar a jugar usa /ayuda."); SendClientMessage(playerid, COLOR_ROJO, "No te olvides de leer las /reglas para evitar ser baneado."); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case Dialogo_Equipos: { if(!response) return Kick(playerid); if(response) // Si seleccionу uno de los equipos { switch(listitem) { case 0: SetPlayerTeam(playerid,TEAM_ARGENTINA),ShowPlayerDialog(playerid, Dialogo_Argentina, DIALOG_STYLE_LIST, "Selecciona una clase", "Asalto\nSniper\nComandante", "Seleccionar", "Atrбs"); // Si la opciуn fue Equipo A case 1: SetPlayerTeam(playerid,TEAM_CHILE),ShowPlayerDialog(playerid, Dialogo_Chile, DIALOG_STYLE_LIST, "Selecciona una clase", "Asalto\nSniper\nComandante", "Seleccionar", "Atrбs"); // Si la opciуn fue Equipo B case 2: SetPlayerTeam(playerid,TEAM_BRASIL),ShowPlayerDialog(playerid, Dialogo_Brasil, DIALOG_STYLE_LIST, "Selecciona una clase", "Asalto\nSniper\nComandante", "Seleccionar", "Atrбs"); // Si la opciуn fue Equipo C } } return true; } case Dialogo_Argentina: // CLASES DE EQUIPO A { if(response) { switch(listitem) { case 0:SendClientMessage(playerid,COLOR_AZUL,"*SPAWN* Equipo: Argentina / Clase: Asalto."); //SE ENVIARA UN case 1:SendClientMessage(playerid,COLOR_AZUL,"*SPAWN* Equipo: Argentina / Clase: Sniper."); // MENSAJE SI SELECCIONA case 2:SendClientMessage(playerid,COLOR_AZUL,"*SPAWN* Equipo: Argentina / Clase: Comandante."); // TAL CLASE } } return true; } case Dialogo_Chile: // CLASES DE EQUIPO B { if(response) { switch(listitem) { case 0:SendClientMessage(playerid,COLOR_ROJO,"*SPAWN* Equipo: Chile / Clase: Asalto."); //SE ENVIARA UN case 1:SendClientMessage(playerid,COLOR_ROJO,"*SPAWN* Equipo: Chile / Clase: Sniper."); // MENSAJE SI SELECCIONA case 2:SendClientMessage(playerid,COLOR_ROJO,"*SPAWN* Equipo: Chile / Clase: Comandante."); // TAL CLASE } } return true; } case Dialogo_Brasil: // CLASES DE EQUIPO B { if(response) { switch(listitem) { case 0:SendClientMessage(playerid,COLOR_AMARILLO,"*SPAWN* Equipo: Brasil / Clase: Asalto."); //SE ENVIARA UN case 1:SendClientMessage(playerid,COLOR_AMARILLO,"*SPAWN* Equipo: Brasil / Clase: Sniper."); // MENSAJE SI SELECCIONA case 2:SendClientMessage(playerid,COLOR_AMARILLO,"*SPAWN* Equipo: Brasil / Clase: Comandante."); // TAL CLASE } } return true; } } return false; } public OnPlayerSpawn(playerid) { if(Equipo[playerid] == TEAM_ARGENTINA) { SetPlayerPos(playerid, 2043.6832,1352.4706,10.6719); SetPlayerColor(playerid, COLOR_AZUL); SetPlayerSkin(playerid, 206); SetPlayerAmmo(playerid, 100.0) GivePlayerWeapon(playerid, 24, 500); GivePlayerWeapon(playerid, 27, 500); GivePlayerWeapon(playerid, 31, 500); } if(Equipo[playerid] == TEAM_CHILE) { SetPlayerPos(playerid, 2044.8971,1282.7948,10.6719); SetPlayerColor(playerid, COLOR_ROJO); SetPlayerSkin(playerid, 121); SetPlayerAmmo(playerid, 100.0) GivePlayerWeapon(playerid, 24, 500); GivePlayerWeapon(playerid, 27, 500); GivePlayerWeapon(playerid, 31, 500); } if(Equipo[playerid] == TEAM_BRASIL) { SetPlayerPos(playerid, 2043.6832,1352.4706,10.6719); SetPlayerColor(playerid, COLOR_AMARILLO); SetPlayerSkin(playerid, 109); SetPlayerAmmo(playerid, 100.0) GivePlayerWeapon(playerid, 24, 500); GivePlayerWeapon(playerid, 27, 500); GivePlayerWeapon(playerid, 31, 500); } if(Equipo[playerid] == Equipo[playerid]) { GetPlayerName(playerid,NombreJugador,MAX_PLAYER_NAME); format(string,sizeof string,"**SERVER: %s ha entrado al servidor.**",NombreJugador); //Mensaje. Si lo vais a modificar no cambies %s (es el nombre del jugador). SendClientMessageToAll(COLOR_BLANCO, string); } SetPlayerInterior(playerid, 0);//Regresarlos al interior normal cada vez que spawneen SetPlayerVirtualWorld(playerid, 0);//Regresarlos al mundo normal cada vez que spawneen } public OnPlayerDeath(playerid, killerid, reason) { SendDeathMessage(killerid,reason,playerid); // para q se muestre como tu quieres SetPlayerScore(killerid, GetPlayerScore(killerid) + 1); // esto le suma score cada jugador q mate GivePlayerMoney(killerid,2500); // y esto le da 1000 $ cada vez q mata a un jugador return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/ayuda", true)) { SendClientMessage(playerid, COLOR_VERDE, "SERVER: Este es el comando de ayuda."); return 1; } if(!strcmp(cmdtext, "/guardardatos", true)) { SendClientMessage(playerid, COLOR_VERDE, "Todas tus estadisticas han sido guardadas exitosamente."); return 1; } return SendClientMessage(playerid, COLOR_ROJO, "**Comando inexistente**, escribe /ayuda."); }