No repetir el comando
#1

como hacer para que cuando un jugador ponga este comando y si ya esta del equipo de taxista no pueda volver a poner algunos comandos hasta que escriba el comando /cambiartaxista

pawn Код:
if(strcmp(cmdtext, "/Taxista", true) == 0) {
        new Float:X, Float:Y, Float:Z;
        TAXISTA[playerid] = Create3DTextLabel("es equipo taxista",0xFF9900AA,30.0,40.0,50.0,40.0,0);
        Attach3DTextLabelToPlayer(TAXISTA[playerid], playerid, X, Y, Z);
        new pname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pname, sizeof (pname));
        format(string3, sizeof(string3), " %s  Taxista.", pname);
        SendClientMessageToAll(COLOR_GREEN, string3); //
        SetPlayerColor(playerid, COLOR_TEAM_CIVILESROLL);
        SetPlayerSkin(playerid, 220);
        ResetPlayerWeapons(playerid);
        GivePlayerWeapon(playerid,22,150);
        SetPlayerPos(playerid,-1981.6674,146.2217,27.6875);
        SetPlayerInterior(playerid,0);
        SetPlayerVirtualWorld(playerid, 0);
        GameTextForAll(string3 ,3000,5);
        gTeam[playerid] = TEAM_TAXISTA;
        return 1;}
pawn Код:
else if(strcmp(cmdtext, "/cambiartaxista", true) == 0) {
        Delete3DTextLabel(TAXISTA[playerid]);
        new pname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pname, sizeof (pname));
        format(string3, sizeof(string3), " %s Ha terminado  Taxista.", pname);
        SendClientMessageToAll(COLOR_GREEN, string3); //
        SetPlayerColor(playerid, COLOR_TEAM_CIVILESROLL);
        SetPlayerPos(playerid,-1983.8246,130.8482,27.6875);
        SetPlayerInterior(playerid,0);
        SetPlayerVirtualWorld(playerid, 0);
        GivePlayerWeapon(playerid,1,80);
        GivePlayerWeapon(playerid,5,80);
        GameTextForAll(string3 ,3000,5);
        gTeam[playerid] = TEAM_CIVILESROLL;
        return 1;}
Reply
#2

pawn Код:
if(strcmp(cmdtext, "/Taxista", true) == 0)
{
    if(gTeam[playerid] == TEAM_CIVILESROLL){
        new Float:X, Float:Y, Float:Z;
        TAXISTA[playerid] = Create3DTextLabel("es equipo taxista",0xFF9900AA,30.0,40.0,50.0,40.0,0);
        Attach3DTextLabelToPlayer(TAXISTA[playerid], playerid, X, Y, Z);
        new pname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pname, sizeof (pname));
        format(string3, sizeof(string3), " %s  Taxista.", pname);
        SendClientMessageToAll(COLOR_GREEN, string3); //
        SetPlayerColor(playerid, COLOR_TEAM_CIVILESROLL);
        SetPlayerSkin(playerid, 220);
        ResetPlayerWeapons(playerid);
        GivePlayerWeapon(playerid,22,150);
        SetPlayerPos(playerid,-1981.6674,146.2217,27.6875);
        SetPlayerInterior(playerid,0);
        SetPlayerVirtualWorld(playerid, 0);
        GameTextForAll(string3 ,3000,5);
        gTeam[playerid] = TEAM_TAXISTA;
    }
    else
        SendClientMessage(playerid, 0xFFFFFFFF, "Ya formas parte de un equipo.");
    return 1;
}
Reply
#3

xq usas else if /cambiartaxista?
Reply
#4

Se hace con variables, pero tu codigo esta muy desordenado.
Haz una variable global, por ejemplo, "new EnEquipo[MAX_PLAYERS];", luego utilizas "EnEquipo[playerid] == 1" y tambien utilizas "if(EnEquipo[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "Ya estas en un equipo"); o algo asi.
Reply
#5

Lo tengo de esta

pawn Код:
if(strcmp(cmdtext, "/Taxista", true) == 0)
{
    if(gTeam[playerid] == TEAM_TAXISTA){
        new Float:X, Float:Y, Float:Z;
        TAXISTA[playerid] = Create3DTextLabel("Taxista con Licencia",0xFF9900AA,30.0,40.0,50.0,40.0,0);
        Attach3DTextLabelToPlayer(TAXISTA[playerid], playerid, X, Y, Z);
        new pname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pname, sizeof (pname));
        format(string3, sizeof(string3), " %s  Trabaja de Taxista.", pname);
        SendClientMessageToAll(COLOR_GREEN, string3); //
        SetPlayerColor(playerid, COLOR_TEAM_CIVILESROLL);
        SetPlayerSkin(playerid, 220);
        ResetPlayerWeapons(playerid);
        GivePlayerWeapon(playerid,22,150);
        SetPlayerPos(playerid,-1981.6674,146.2217,27.6875);
        SetPlayerInterior(playerid,0);
        SetPlayerVirtualWorld(playerid, 0);
        GameTextForAll(string3 ,3000,5);
        gTeam[playerid] = TEAM_TAXISTA;
    }
    else
        SendClientMessage(playerid, 0xFFFFFFFF, "Ya trabajas como Taxista.");
pero no deja meter el comando lo meto y me dice que ya forma parte de un equipo y no estoy en el equipo
Reply
#6

Si de verdad supieses scriptear o al menos no dejarte llevar por el nє de post de los usuarios que te responden no tendrнas el problema que planteas.
Reply
#7

Solo es usar la lуgica es algo muy sencillo de hacer.
pawn Код:
if(gTeam[playerid] != TEAM_TAXISTA) {
    //acciуn del comando
}
else {
    //le dices que ya es del equipo
}
Reply
#8

No es solo lуgica, es copiar el cуdigo que le pasй en primera instancia.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)