SA-MP Forums Archive
No repetir el comando - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: No repetir el comando (/showthread.php?tid=286701)



No repetir el comando - chucho - 30.09.2011

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;}



Re: No repetir el comando - Xyrex - 30.09.2011

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;
}



Respuesta: No repetir el comando - TiNcH010 - 30.09.2011

xq usas else if /cambiartaxista?


Respuesta: No repetir el comando - leaNN! - 30.09.2011

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.


Respuesta: No repetir el comando - chucho - 02.10.2011

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


Re: No repetir el comando - Xyrex - 02.10.2011

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.


Re: No repetir el comando - Daniel-92 - 02.10.2011

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
}



Re: No repetir el comando - Xyrex - 03.10.2011

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