pasar de strcmp a zcmd
#1

Buenas.
Hace rato intento pasar dos comandos /milugar y /lugar pero no puedo, quedan mal, y no se si uso el parametro correcto con sscanf, me gustarнa si me los pudieran pasar ustedes, muchas gracias:

pawn Код:
new cmd[256], idx, tpm[256];

     if(strcmp(cmd, "/milugar", true) == 0)
     {
        new tpm2[256], file[256];
        tpm = strtok(cmdtext,idx);
        tpm2 = strrest(cmdtext, idx);
        format(file, sizeof(file), "/Teleports.txt");
        if(!strlen(tpm))return SendClientMessage(playerid, -1, "Uso: /milugar <nombre> [opcional]<comentario>");
        if(strlen(tpm) > 10)return SendClientMessage(playerid, -1, "ERROR: El nombre es muy largo");
        if(strlen(tpm2) > 90)return SendClientMessage(playerid, -1, "ERROR: El comentario es muy largo");
        if(dini_Isset(file, tpm))return SendClientMessage(playerid, -1, "ERROR: Ese lugar ya existe");
        new Float:X, Float:Y, Float:Z, Float:A, I, Vw, str[11], str2[128];
        GetPlayerPos(playerid, X, Y, Z);
        GetPlayerFacingAngle(playerid, A);
        I = GetPlayerInterior(playerid);
        Vw = GetPlayerVirtualWorld(playerid);
    new dotcount;
    for(new s, l = strlen(tpm2); s < l; s++)
    {
        if (tpm2[s] == ':' && dotcount == 3) return 1;
        if (tpm2[s] == '.' && dotcount < 3) dotcount++;
    }
        if(!dini_Exists(file))dini_Create(file);
        dini_Set(file, tpm, "1");
        format(str, sizeof(str), "%sX", tpm);
        dini_FloatSet(file, str, X);
        format(str, sizeof(str), "%sY", tpm);
        dini_FloatSet(file, str, Y);
        format(str, sizeof(str), "%sZ", tpm);
        dini_FloatSet(file, str, Z);
        format(str, sizeof(str), "%A", tpm);
        dini_FloatSet(file, str, A);
        format(str, sizeof(str), "%sC", tpm);
        dini_Set(file, str, tpm2);
        format(str, sizeof(str), "%sI", tpm);
        dini_IntSet(file, str, I);
        format(str, sizeof(str), "%sVw", tpm);
        dini_IntSet(file, str, Vw);
        format(str2, sizeof(str2), "Has creado un nuevo teleport, usa /lugar %s para ir a el", tpm);
        SendClientMessage(playerid, -1, str2);
          return 1;
    }

    if(strcmp(cmd, "/lugar", true) == 0){
        tpm = strtok(cmdtext,idx);
        if(!strlen(tpm))return SendClientMessage(playerid, -1, "Uso: /lugar <nombre>");
    new Float:health;
    GetPlayerHealth(playerid,health);
   
        new file[256];
        format(file, sizeof(file), "/Teleports.txt");
        if(!dini_Isset(file, tpm))return SendClientMessage(playerid, -1, "ERROR: Ese lugar no existe");
        new Float:X, Float:Y, Float:Z, Float:A, I, str[128], cmt[128];
        format(str, sizeof(str), "%sX", tpm);
        X = dini_Float(file, str);
        format(str, sizeof(str), "%sY", tpm);
        Y = dini_Float(file, str);
        format(str, sizeof(str), "%sZ", tpm);
        Z = dini_Float(file, str);
        format(str, sizeof(str), "%sA", tpm);
        A = dini_Float(file, str);
        format(str, sizeof(str), "%sI", tpm);
        I = dini_Int(file, str);
        if(IsPlayerInAnyVehicle(playerid)){
            SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
            SetVehicleZAngle(GetPlayerVehicleID(playerid), A);
            LinkVehicleToInterior(GetPlayerVehicleID(playerid), I);
        }
        else{
            SetPlayerPos(playerid, X, Y, Z);
            SetPlayerFacingAngle(playerid, A);
            SetPlayerInterior(playerid, I);
            SetCameraBehindPlayer(playerid);
        }
        format(cmt, sizeof(cmt), "%sC", tpm);
        format(str, sizeof(str), "%s", dini_Get(file, cmt));
        SendClientMessage(playerid, -1, str);
        return 1;
    }
Reply


Messages In This Thread
pasar de strcmp a zcmd - by pep_25 - 09.12.2013, 19:08
Re: pasar de strcmp a zcmd - by PT - 09.12.2013, 21:03
Respuesta: pasar de strcmp a zcmd - by pep_25 - 10.12.2013, 00:43

Forum Jump:


Users browsing this thread: 2 Guest(s)