[Duda] como le saco el dcmd a este comando -
Extr3m3Tz - 17.03.2011
Buenas, este es el comando /v y me pregunto como le saco el dcmd a ese comando, ya que no uso esos procesadores, lo quiero tipo strcmp. espero que me ayuden

.
pawn Код:
dcmd_v(playerid, params[])
{
new
idx,
iString[ 128 ];
if ( gPlayerStatus[ playerid ] != 0 )
{
format ( iString, 128, "[ERROR]: You are already using "%s".", aSelNames[ gPlayerStatus[ playerid ] - 1 ] );
SendClientMessage ( playerid, COLOR_RED, iString );
return true;
}
if ( params[ 0 ] == '' ) // Same effect as a !strlen check.
return SendClientMessage( playerid, COLOR_RED, "[USAGE]: /v MODELID/NAME or /vehicle MODELID/NAME" );
//***************
// Fix by Mike! *
//***************
idx = GetVehicleModelIDFromName( params );
if( idx == -1 )
{
idx = strval(iString);
if ( idx < MIN_VEHI_ID || idx > MAX_VEHI_ID )
return SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid MODELID/NAME");
}
new
Float:x,
Float:y,
Float:z,
Float:a;
GetPlayerPos(playerid, x, y, z);
GetXYInFrontOfPlayer(playerid, x, y, VEHI_DIS);
GetPlayerFacingAngle(playerid, a);
curPlayerVehM[playerid] = idx;
curPlayerVehI[playerid] = CreateVehicle(idx, x, y, z + 2.0, a + 90.0, -1, -1, 5000);
LinkVehicleToInterior(curPlayerVehI[playerid], GetPlayerInterior(playerid));
curServerVehP[curPlayerVehI[playerid]][spawn] = true;
curServerVehP[curPlayerVehI[playerid]][vmodel] = idx;
curServerVehP[curPlayerVehI[playerid]][vInt] = GetPlayerInterior(playerid);
format(iString, 128, "[SUCCESS]: Spawned a "%s" (MODELID: %d, VEHICLEID: %d)", aVehicleNames[idx - MIN_VEHI_ID], idx, curPlayerVehI[playerid]);
SendClientMessage(playerid, COLOR_GREEN, iString);
return true;
}
Respuesta: [Duda] como le saco el dcmd a este comando -
MaRcOsWeB - 17.03.2011
Es mejor usar procesadores de comandos, mбs facil y rбpido.
Re: [Duda] como le saco el dcmd a este comando -
murdoxix - 17.03.2011
Ъsalo asн y ya (:
Respuesta: [Duda] como le saco el dcmd a este comando -
Lunnatiicz - 17.03.2011
Quote:
Originally Posted by MaRcOsWeB
Es mejor usar procesadores de comandos, mбs facil y rбpido.
|
En cierto aspecto tienes razуn
Quote:
Originally Posted by murdoxix
Ъsalo asн y ya (:
|
Si no vas a aportar algo ъtil no comentes, para eso estan las reglas LOL
Como vez zcmd contiene parбmetros diferentes a strcmp, en mi aspecto es mejor utilizarlo asн como esta para no modificar a raнz su estructura y no batallar, no es mбs que descargar un include y listo.
Suerte!
Puedes aprender a usarlos con tutoriales, en simples palabras, todos los procesadores tienen una misma funciуn, ejecutar un comando y ya, claro, cada uno con distintos parбmetros y estructuras, pero todo tiene relaciуn..
Saludos
Respuesta: [Duda] como le saco el dcmd a este comando -
TheChaoz - 17.03.2011
va en pedidos. para la proxima ya sabes
supongo q funciona:
pawn Код:
if(!strcmp(cmd, "/v", true)){
new str[128], tmp[256];
tmp = strtok(cmdtext, idx);
if(gPlayerStatus[playerid] != 0){
format(str,128,"[ERROR]: You are already using "%s".", aSelNames[gPlayerStatus[playerid]-1]);
return SendClientMessage(playerid,COLOR_RED,str);
}
if(!strlen(tmp))return SendClientMessage( playerid, COLOR_RED, "[USAGE]: /v MODELID/NAME or /vehicle MODELID/NAME" );
new veh = GetVehicleModelIDFromName(strval(tmp));
if(veh<MIN_VEHI_ID || veh>MAX_VEHI_ID)return SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid MODELID/NAME");
new Float:x,Float:y,Float:z,Float:a;
GetPlayerPos(playerid, x, y, z);
GetXYInFrontOfPlayer(playerid, x, y, VEHI_DIS);
GetPlayerFacingAngle(playerid, a);
curPlayerVehM[playerid] = veh;
curPlayerVehI[playerid] = CreateVehicle(veh, x, y, z + 2.0, a + 90.0, -1, -1, 5000);
LinkVehicleToInterior(curPlayerVehI[playerid], GetPlayerInterior(playerid));
curServerVehP[curPlayerVehI[playerid]][spawn] = true;
curServerVehP[curPlayerVehI[playerid]][vmodel] = veh;
curServerVehP[curPlayerVehI[playerid]][vInt] = GetPlayerInterior(playerid);
format(str,128,"[SUCCESS]: Spawned a "%s" (MODELID: %d, VEHICLEID: %d)", aVehicleNames[veh-MIN_VEHI_ID], veh, curPlayerVehI[playerid]);
return SendClientMessage(playerid, COLOR_GREEN, iString);
}
Respuesta: [Duda] como le saco el dcmd a este comando -
Lunnatiicz - 17.03.2011
Chaoz creo que tuviste un error aquн
pawn Код:
format(str,128,"[ERROR]: You are already using "%s".", aSelNames[gPlayerStatus[playerid]-1]);
return SendClientMessage(playerid,COLOR_RED,str);
Cerraste Comillas antes de % que le darб error
Serнa asн
pawn Код:
format(str,128,"[ERROR]: You are already using ''%s''.", aSelNames[gPlayerStatus[playerid]-1]);
return SendClientMessage(playerid,COLOR_RED,str);
Y si mal no estoy tambiйn aquн
pawn Код:
format(str,128,"[SUCCESS]: Spawned a "%s" (MODELID: %d, VEHICLEID: %d)", aVehicleNames[veh-MIN_VEHI_ID], veh, curPlayerVehI[playerid]);
return SendClientMessage(playerid, COLOR_GREEN, iString);
quedarнa asн
pawn Код:
format(str,128,"[SUCCESS]: Spawned a ''%'' (MODELID: %d, VEHICLEID: %d)", aVehicleNames[veh-MIN_VEHI_ID], veh, curPlayerVehI[playerid]);
return SendClientMessage(playerid, COLOR_GREEN, iString);
Respuesta: [Duda] como le saco el dcmd a este comando -
TheChaoz - 17.03.2011
yo los mensajes no los toque solo edite lo q era necesario para que este en strtok, no corregi nada xD fijate q los mensajes son =, pero si tendria q usar ' \" ' para que aparecieran las comillas dobles o bien usar " ' "
Re: [Duda] como le saco el dcmd a este comando -
murdoxix - 17.03.2011
Para que aparezcan comillas hay que hacer asн "" (osea poner las comillas dos veces)
Respuesta: [Duda] como le saco el dcmd a este comando -
SuperMarioRol - 17.03.2011
o usar /"texto"/ (creo que era asi o con la barra al revйs \"texto"\)
Respuesta: [Duda] como le saco el dcmd a este comando -
Extr3m3Tz - 17.03.2011
no me sirve, me sale errores, por algunas definiciones, ya que lo saque de un FS, alguien me lo pasa asi de esa manera?, si tiene que definir o poner algo

gracias por su atencion