AW: Cуdigos Ъteis #1 -
ipsBruno - 23.07.2013
O Windows Seven nгo executava o comando via cliente .. Alias, olha a data: 28.05.2010, 02:40:35
Re: AW: Cуdigos Ъteis #1 -
Bruno13 - 27.07.2013
Quote:
Originally Posted by ipsBruno
O Windows Seven nгo executava o comando via cliente .. Alias, olha a data: 28.05.2010, 02:40:35
|
Vacilei
Re: Cуdigos Ъteis #1 -
zSuYaNw - 13.10.2013
Minha funзгo que pega parвmetro por parвmetro,
http://pastebin.com/Kwq2sidv
(forum sa-mp dб erro ao postar este script -.-')
Irei desenvolver uma parecida com sscanf, creio que estбs tentando me dizer pegar parвmetro "iii",como o sscanf.
Mas a funзгo que desenvolvi, й para pegar parгmetro por parвmetro exemplos:
pawn Code:
zCMD("/palavras Hello World", string);
Parвmetro 0 = Hello
Parвmetro 1 = World
zCMD(cmdtext, string_out, parametro).
Nota: use a funзгo sem definir parвmetro, que serб lida a string toda.
zCMD("/falar olб mundo cruel", string_out);
sairб: "olб mundo cruel".
Re : Cуdigos Ъteis #1 -
ipsBruno - 13.10.2013
Vocк nгo entendeu. Se eu pegar X parвmetro, eu tenho que pegar o X parвmetro mais toda strng final
pawn Code:
new var1[300];
zCMD("bruno da silva inteligente", var1, 1);
print(var1);
retorna sу "silva", quando deveria retornar "silva inteligente"
Sem contar que nгo funciona estes casos:
pawn Code:
new var1[300];
zCMD("bruno da silva gostoso", var1, 1);
print(var1);
retorna null
Re: Re : Cуdigos Ъteis #1 -
zSuYaNw - 14.10.2013
Quote:
Originally Posted by ipsBruno
Vocк nгo entendeu. Se eu pegar X parвmetro, eu tenho que pegar o X parвmetro mais toda strng final
pawn Code:
new var1[300];
zCMD("bruno da silva inteligente", var1, 1); print(var1);
retorna sу "silva", quando deveria retornar "silva inteligente"
Sem contar que nгo funciona estes casos:
pawn Code:
new var1[300];
zCMD("bruno da silva gostoso", var1, 1); print(var1);
retorna null
|
Jбjб estou fazendo uma versгo muito mais avanзada e diferente desta
Re : Cуdigos Ъteis #1 -
ipsBruno - 14.10.2013
Okay, se quiser pode se basear no que estou fazendo em ICMD
http://pastebin.com/HLiVNw2m
Funзгo: comandoParametro
Re: Cуdigos Ъteis #1 -
Juniiro3 - 14.10.2013
Converter Dini para DOF2:
pawn Code:
#include <DOF2> //Retire o #include <Dini> e poem isso
#define dini_Exists DOF2_FileExists
#define dini_Remove DOF2_RemoveFile
#define dini_Create DOF2_CreateFile
#define dini_Set DOF2_SetString
#define dini_Get DOF2_GetString
#define dini_IntSet DOF2_SetInt
#define dini_Int DOF2_GetInt
#define dini_BoolSet DOF2_SetBool
#define dini_Bool DOF2_GetBool
#define dini_FloatSet DOF2_SetFloat
#define dini_Float DOF2_GetFloat
#define dini_Unset DOF2_Unset
#define dini_Isset DOF2_IsSet
Respuesta: Re: Cуdigos Ъteis #1 -
DanDRT - 14.10.2013
Quote:
Originally Posted by Juniiro3
Converter Dini para DOF2:
pawn Code:
#include <DOF2> //Retire o #include <Dini> e poem isso
#define dini_Exists DOF2_FileExists #define dini_Remove DOF2_RemoveFile #define dini_Create DOF2_CreateFile #define dini_Set DOF2_SetString #define dini_Get DOF2_GetString #define dini_IntSet DOF2_SetInt #define dini_Int DOF2_GetInt #define dini_BoolSet DOF2_SetBool #define dini_Bool DOF2_GetBool #define dini_FloatSet DOF2_SetFloat #define dini_Float DOF2_GetFloat #define dini_Unset DOF2_Unset #define dini_Isset DOF2_IsSet
|
Se for utilizar, ponha
na Callback OnGameModeExit (GM) ou na OnFilterScriptExit (FS).
Re: Cуdigos Ъteis #1 -
zSuYaNw - 14.10.2013
Quote:
Originally Posted by Juniiro3
Converter Dini para DOF2:
pawn Code:
#include <DOF2> //Retire o #include <Dini> e poem isso
#define dini_Exists DOF2_FileExists #define dini_Remove DOF2_RemoveFile #define dini_Create DOF2_CreateFile #define dini_Set DOF2_SetString #define dini_Get DOF2_GetString #define dini_IntSet DOF2_SetInt #define dini_Int DOF2_GetInt #define dini_BoolSet DOF2_SetBool #define dini_Bool DOF2_GetBool #define dini_FloatSet DOF2_SetFloat #define dini_Float DOF2_GetFloat #define dini_Unset DOF2_Unset #define dini_Isset DOF2_IsSet
|
jб existe isto na include, й sу usar "DINI_CONVERT".
http://pastebin.com/TQJGwYyZ
Re: Cуdigos Ъteis #1 -
Juniiro3 - 14.10.2013
Quote:
Originally Posted by zSuYaNw
|
Eu sei, mas tem gente que nгo sabe que tem isso, e se a pessoa pensar grande pode perceber que dб para "transformar" uma funзгo em outra usando #define
Re: Cуdigos Ъteis #1 -
WLSF - 15.10.2013
Ordenaзгo pelo mйtodo de bolha:
pawn Code:
stock
OrderValue(vec[])
{
for (new i = 0; vec[i]; i++)
{
new aux = -1;
for (new j = 0; j < strlen(vec) - 1; j++)
{
if (vec[j] > vec[j + 1])
{
aux = vec[j];
vec[j] = vec[j + 1];
vec[j + 1] = aux;
}
}
}
}
Modo de uso:
pawn Code:
public OnGameModeInit()
{
new v[5];
sscanf("1,6,2,9,5", "p<,>a<i>[5]", v);
for (new i = 0; i < sizeof(v); ++i)
{
printf("v%d: %d", i, v[i]);
}
OrderValue(v);
print("\n");
for (new i = 0; i < sizeof(v); ++i)
{
printf("v%d: %d", i, v[i]);
}
return 1;
}
Ele irб imprimir os valores da forma que foram recebidos: 1,6,2,9,5
Quando passado para o OrderValue, ele voltarб ordenado em ordem crescente: 1,2,5,6,9
Re: Cуdigos Ъteis #1 -
Juniiro3 - 15.10.2013
Quote:
Originally Posted by Willian_Luigi
Ordenaзгo pelo mйtodo de bolha:
pawn Code:
stock OrderValue(vec[]) { for (new i = 0; vec[i]; i++) { new aux = -1; for (new j = 0; j < strlen(vec) - 1; j++) { if (vec[j] > vec[j + 1]) { aux = vec[j]; vec[j] = vec[j + 1]; vec[j + 1] = aux; } } } }
Modo de uso:
pawn Code:
public OnGameModeInit() { new v[5]; sscanf("1,6,2,9,5", "p<,>a<i>[5]", v); for (new i = 0; i < sizeof(v); ++i) { printf("v%d: %d", i, v[i]); } OrderValue(v); print("\n"); for (new i = 0; i < sizeof(v); ++i) { printf("v%d: %d", i, v[i]); } return 1; }
Ele irб imprimir os valores da forma que foram recebidos: 1,6,2,9,5
Quando passado para o OrderValue, ele voltarб ordenado em ordem crescente: 1,2,5,6,9
|
Entendi a lуgica do OrderValue, mas vocк poderia me explicar como funciona essa simbologia toda no sscanf:
sscanf("1,6,2,9,5", "p<,>a<i>[5]", v);
Re: Cуdigos Ъteis #1 -
zSuYaNw - 27.10.2013
Carro temporбrio
pawn Код:
new
_uservehicle[ MAX_PLAYERS ]
;
public OnPlayerConnect(playerid){
return _uservehicle[ playerid ] = -1;
}
public OnPlayerCommandText(playerid, cmdtext[]){
if(!strfind(cmdtext, "/cv", true)){
if(strlen(cmdtext) == 3 || strlen(cmdtext) == 4)
{
return SendClientMessage(playerid, -1, "(Erro): digite: /cv <modelo>");
}
strdel(cmdtext, 0, 3);
static
_model
;
_model = strval(cmdtext);
if(!(400 < _model < 600)){
return SendClientMessage(playerid, -1,"(Erro): modelo invбlido");
}
if(_uservehicle[playerid] != -1){
DestroyVehicle(_uservehicle[playerid]);
_uservehicle[playerid] = -1;
}
static
Float: _pos[3]
;
GetPlayerPos(playerid, _pos[0], _pos[1], _pos[2]);
_uservehicle[playerid] = CreateVehicle(_model, _pos[0], _pos[1], _pos[2], 0.0, -1, -1, 0);
PutPlayerInVehicle(playerid, _uservehicle[playerid], 0);
SendClientMessage(playerid, -1, #Divirta-se com seu novo veнculo!);
return true;
}
return false;
}
public OnPlayerExitVehicle(playerid, vehicleid){
if(_uservehicle[playerid] == vehicleid){
DestroyVehicle(vehicleid);
_uservehicle[playerid] = -1;
}
return true;
}
Respuesta: Cуdigos Ъteis #1 -
ipsBruno - 27.10.2013
Destroi ao desconectar, й melhor. Se nгo o cara cria o carro, sai, ninguem entra no lugar dele e digita para criar outro carro e acaba ficando lб
Re: Respuesta: Cуdigos Ъteis #1 -
zSuYaNw - 27.10.2013
Quote:
Originally Posted by ipsBruno
Destroi ao desconectar, й melhor. Se nгo o cara cria o carro, sai, ninguem entra no lugar dele e digita para criar outro carro e acaba ficando lб
|
й verdade, tinha esquecido isto, rs.
pawn Код:
new
_uservehicle[ MAX_PLAYERS ]
;
public OnPlayerConnect(playerid){
return DestroyVehicle(_uservehicle[ playerid ]), _uservehicle[ playerid ] = -1;
}
public OnPlayerCommandText(playerid, cmdtext[]){
if(!strfind(cmdtext, "/cv", true)){
if(strlen(cmdtext) == 3 || strlen(cmdtext) == 4)
{
return SendClientMessage(playerid, -1, "(Erro): digite: /cv <modelo>");
}
strdel(cmdtext, 0, 3);
static
_model
;
_model = strval(cmdtext);
if(!(400 < _model < 600)){
return SendClientMessage(playerid, -1,"(Erro): modelo invбlido");
}
if(_uservehicle[playerid] != -1){
DestroyVehicle(_uservehicle[playerid]);
_uservehicle[playerid] = -1;
}
static
Float: _pos[3]
;
GetPlayerPos(playerid, _pos[0], _pos[1], _pos[2]);
_uservehicle[playerid] = CreateVehicle(_model, _pos[0], _pos[1], _pos[2], 0.0, -1, -1, 0);
PutPlayerInVehicle(playerid, _uservehicle[playerid], 0);
SendClientMessage(playerid, -1, #Divirta-se com seu novo veнculo!);
return true;
}
return false;
}
public OnPlayerExitVehicle(playerid, vehicleid){
if(_uservehicle[playerid] == vehicleid){
DestroyVehicle(vehicleid);
_uservehicle[playerid] = -1;
}
return true;
}
Re: Respuesta: Cуdigos Ъteis #1 -
PT - 27.10.2013
zSuYaNw
olha isto
pawn Код:
if(!(400 < _model < 600)){
return SendClientMessage(playerid, -1,"(Erro): modelo invбlido");
}
...
Re: Respuesta: Cуdigos Ъteis #1 -
zSuYaNw - 27.10.2013
Quote:
Originally Posted by PT
zSuYaNw
olha isto
pawn Код:
if(!(400 < _model < 600)){ return SendClientMessage(playerid, -1,"(Erro): modelo invбlido"); }
...
|
Ta correto mano, pois os modelos vбlidos sгo maiores que 400 e menores que 600.
#Partiutrabalhar
Re: Respuesta: Cуdigos Ъteis #1 -
PT - 27.10.2013
Quote:
Originally Posted by zSuYaNw
Ta correto mano, pois os modelos vбlidos sгo maiores que 400 e menores que 600.
#Partiutrabalhar
|
pensei que fosse
pawn Код:
if(!(400 > _model < 600)){
return SendClientMessage(playerid, -1,"(Erro): modelo invбlido");
}
pela minha logica era, se nao for maior que 400 e menor que 600 da erro
na verdade a lista de veiculos vai ate 611...
Respuesta: Cуdigos Ъteis #1 -
ipsBruno - 27.10.2013
PHP код:
if(!(400 > _model < 600)){
Caso 400 > model && 600 > model
nгo й isto
Respuesta: Cуdigos Ъteis #1 -
DanDRT - 28.10.2013
@EDIT Postei errado!