30.04.2015, 03:06
Bom galera a minha dъvida й a seguinte, Eu tenho um Comando apenas que pode servir para vбrias coisas.
O comando /casa [comprar, vender, moradia, veiculo]. A base /casa moradia aceitar/recusar estб funcionando.
Porem agora que vem minha dъvida eu tenho dois parвmetros definidos, funзгo e opзгo.
Porem eu quero usar o comando desta maneira /casa comprar/vender.
Minha dъvida й nisso, pois ele nгo passa para as ifs abaixo se nгo tiver o comando /casa funзгo opзгo.
O comando /casa [comprar, vender, moradia, veiculo]. A base /casa moradia aceitar/recusar estб funcionando.
Porem agora que vem minha dъvida eu tenho dois parвmetros definidos, funзгo e opзгo.
Porem eu quero usar o comando desta maneira /casa comprar/vender.
Minha dъvida й nisso, pois ele nгo passa para as ifs abaixo se nгo tiver o comando /casa funзгo opзгo.
PHP код:
CMD:casa(playerid, params[])
{
new aname[MAX_PLAYER_NAME], string[124], string1[155], file[255], opcao[50], funcao[50], msg[155];
GetPlayerName(playerid, aname, sizeof(aname));
if(sscanf(params, "s[50]s[50]", funcao, opcao)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}use: /casa [comprar, vender, moradia, veiculo]");
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Vocк nгo estб conectado no servidor!");
format(file, sizeof(file), PASTA_CONTAS, aname);
if(strfind(funcao, "comprar", true) != -1)
{
if(LiberadoCC [ playerid ] != 1) return SendClientMessage(playerid, -1,"[x] {FF0000}Vocк nгo estб liberado para comprar uma casa, peзa a um(a) administrador(a) a permissгo.");
for( new c = 0; c < MAX_CASAS; c++ )
{
format( string, sizeof( string ) , "/Casas/casa%d.ini", c ) ;
if(dini_Exists( string ) )
{
if(c == MAX_CASAS) return SendClientMessage(playerid, -1, "[INFO] {FF0000}Vocк nгo estб em uma casa!");
if(IsPlayerInRangeOfPoint( playerid, 2.0, dini_Float( string, "PosX" ) , dini_Float( string, "PosY" ) , dini_Float( string, "PosZ" )))
{
if(dini_Int( string, "TDono" ) != 0 ) return SendClientMessage( playerid, -1, "[ x ] {FF0000}Estб casa nгo estб a venda." ) ;
if(GetPlayerMoney( playerid ) < dini_Int( string, "Preco" ) ) return SendClientMessage( playerid, -1, "[ x ] {FF0000}Vocк nгo tem dinheiro suficiente." ) ;
if(GetCasas( playerid ) != 0 ) return SendClientMessage( playerid, -1, "[ x ] {FF0000}Vocк sу pode possuir uma casa." ) ;
for( new i = 0; i <GetMaxPlayers( ) ; i++ ) { RemovePlayerMapIcon(i, mapiconcasaid [ c ] ); }
dini_IntSet( string, "TDono", 1 ) ;
dini_Set( string, "Dono", aname ) ;
GivePlayerMoney( playerid, -dini_Int( string, "Preco" ) ) ;
DestroyPickup( dini_Int( string, "Id" ) ) ;
pickupcasaid [ c ] = CreatePickup( 1272, 1, dini_Float( string, "PosX" ) , dini_Float( string, "PosY" ) , dini_Float( string, "PosZ" ) , -1 ) ;
dini_IntSet( string, "Id", pickupcasaid [ c ] ) ;
new Float:X, Float:Y, Float:Z;
GetPlayerPos( playerid, X, Y, Z ) ;
dini_FloatSet( file,"CasaX",Float:X ) ;
dini_FloatSet( file,"CasaY",Float:Y ) ;
dini_FloatSet( file,"CasaZ",Float:Z ) ;
dini_IntSet( file, "TemCasa",1 ) ;
LiberadoCC [ playerid ] = 0;
Delete3DTextLabel(labelcasaid [ c ] );
format( string1, sizeof( string1 ) ," {FFFFFF}[ Casa ID: %d - {FF0000}Possui dono(a) {FFFFFF}]\n{FF4500}Dono: {FFFFFF}%s\n{FF4500}Morador: {FFFFFF}%s\n{FF4500}Preзo: {FFFFFF}%d\n{FFFF00}use: {FFFFFF}/entrarcasa",c,dini_Get( string, "Dono" ), dini_Get( string, "Morador" ),dini_Int( string, "Preco" ) ) ;
labelcasaid [ c ] = Create3DTextLabel( string1, 0x008080FF, dini_Float( string, "PosX" ) , dini_Float( string, "PosY" ) , dini_Float( string, "PosZ" ), 40.0, 0, 0 ) ;
mapiconcasaid [ c ] = CreateDynamicMapIcon(dini_Float( string, "PosX" ) , dini_Float( string, "PosY" ) , dini_Float( string, "PosZ" ), 32, -1, -1, -1, -1, 60.0);
new text [ 255 ];
format( text, sizeof( text ) ,"{00FF7F}•{FFFFFF}» {00FF7F}O( a ) player {FFFFFF}%s {00FF7F}comprou a casa ID {FFFFFF}%d {00FF7F}localizada em: {FFFFFF}%s",aname, c, GetPlayerArea( playerid ) ) ;
SendClientMessageToAll( -1,text ) ;
return 1;
}
}
}
}
if(strfind(funcao, "moradia", true) != -1)
{
if(strfind(opcao, "aceitar", true) != -1)
{
for( new c = 0; c < MAX_CASAS; c++ )
{
format( string, sizeof( string ) , "/Casas/casa%d.ini", c ) ;
if( dini_Int( string, "TMorador" ) == 1 )
{
if( strcmp( dini_Get( string, "Morador" ) , aname, true ) == 0 )
{
dini_IntSet( string, "TMorador", 0 );
dini_Set( string, "Morador", "Ninguem" );
format(msg, sizeof(msg), "[CASA] Vocк nгo mora mais na sua antiga casa ID: %d !", c);
SendClientMessage(playerid, 0xFFFF00AA, msg);
}
}
}
format( string, sizeof( string ) , "/Casas/casa%d.ini", moradia [ playerid ] ) ;
if(!dini_Exists( string ) ) return SendClientMessage(playerid, 0xFF0000AA, "[CASA] A casa que vocк foi convidado(a) para morar nгo existe!");
if( morar [ playerid ] != 1 ) return SendClientMessage( playerid, -1, "[ x ] {FF0000}Vocк nгo foi convidado( a ) para morar em uma casa." ) ;
dini_IntSet( string, "TMorador", 1 ) ;
dini_Set( string, "Morador", aname ) ;
dini_FloatSet( file,"CasaX", dini_Float( string, "PosX" ) ) ;
dini_FloatSet( file,"CasaY", dini_Float( string, "PosY" ) ) ;
dini_FloatSet( file,"CasaZ", dini_Float( string, "PosZ" ) ) ;
SetSpawnInfo( playerid, 1, dini_Int( file, "Skin" ) , dini_Int( file, "CasaX" ) , dini_Int( file, "CasaY" ) , dini_Int( file, "CasaZ" ) , 354.1657, 0, 0, 0, 0, 0, 0 ) ;
format(msg, sizeof(msg),"[CASA] Vocк aceitou morar na nova casa ID: %d!", moradia[playerid]) ;
SendClientMessage(playerid, 0xFFFF00AA, msg);
SendClientMessage( convitede [ playerid ], -1, "{00FF7F}•{FFFFFF}» {00FF7F}O jogador aceitou morar em sua casa." ) ;
morar [ playerid ] = 0;
moradia [ playerid ] = 0;
convitede [ playerid ] = 0;
}
else if(strfind(opcao, "recusar", true) != -1)
{
if(morar[playerid] != 1) return SendClientMessage( playerid, -1, "[ x ] {FF0000}Vocк nгo foi convidado para morar em uma casa." ) ;
SendClientMessage( playerid, -1, "•» {FFFF00}Vocк recusou o convite de moradia." ) ;
format(msg, sizeof(msg), "[CASA] O(A) player %s recusou o convite de moradia enviado por vocк!", aname);
SendClientMessage( convitede [ playerid ], 0xFFFF00AA, msg) ;
morar [ playerid ] = 0;
moradia [ playerid ] = 0;
convitede [ playerid ] = 0;
return 1;
}
}
return 1;
}