Adicionar Comando Em Outra CallBack -
lucas24101 - 31.07.2011
Eae Galera, Vim Explicar um tutorial bem legal que aprendi!
Jб Dizendo agora, quero falar " Se Gostou Obrigado, Se Nгo Gostou Faзa Melhor "
Comeзando:
esse tutorial ensina como colocar o comando Ex: OnPlayerCommandText(playerid, "/Destrancar");
Bem Vamos la
se vc tem algum comando em DIALOG_STYLE_LIST e que nas primeiras linhas dele esteja assim
pawn Код:
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Comandos do Servidor","/Trancar - Tranca Veiculo\n/Destrancar - Destranca Veiculo\n/Reparar - Repara o Veiculo\n/Pistas - Visualisa Pistas de Drift","OK","Fechar");
e Dai
la em public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
esteja
pawn Код:
if(dialogid == 1){
if(response){
if(listitem == 0){
}
if(listitem == 1){
}
if(listitem == 2){
}
if(listitem == 3){
}
}
vc coloca embaixo das if(listitem == o exemplo la de cima OnPlayerCommandText(playerid, "/comando"); OLHA:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1){
if(response){
if(listitem == 0){
OnPlayerCommandText(playerid, "/Trancar");
}
if(listitem == 1){
OnPlayerCommandText(playerid, "/Destrancar");
}
if(listitem == 2){
OnPlayerCommandText(playerid, "/Reparar");
}
if(listitem == 3){
OnPlayerCommandText(playerid, "/Pistas");
}
}
else{
}
}
return 1;
}
O Item do Dialog Vai Fazer a Aзгo Que Esta no Comando Colocado Nas Aspas ""
FIM!!
Re: Adicionar Comando Em Outra CallBack -
JonathanFeitosa - 31.07.2011
1 - Use return
2 - Nгo Precisa economizar linhas, fica feio, idente seu cуdigo.
Exemplo:
pawn Код:
// o Seu:
if(dialogid == 1){
if(response){
if(listitem == 0){
}
if(listitem == 1){
}
if(listitem == 2){
}
if(listitem == 3){
}
}
// faltou uma chave }
// o Meu :
if(dialogid == 1)
{
if(response)
{
if(listitem == 0)
{
return true;
}
if(listitem == 1)
{
return true;
}
if(listitem == 2)
{
return true;
}
if(listitem == 3)
{
return true;
}
return true;
}
return true;
}
Re: Adicionar Comando Em Outra CallBack -
Macintosh - 31.07.2011
Simples sу usar a sintaxe OnPlayerCommandText
pawn Код:
OnPlayerCommandText(playerid, "/creditos");
pawn Код:
if(strcmp("/creditus", cmdtext, true) == 0)
{
OnPlayerCommandText(playerid, "/creditos");
return 1;
}
Re: Adicionar Comando Em Outra CallBack -
RockFire - 31.07.2011
Pode tambйm usar switch, sempre uso em alguns casos
pawn Код:
switch(listitem)
{
case 0:
{
}
case 1:
{
}
case 2:
{
}
case 3:
{
}
}
Tambйm pode usar
pawn Код:
CallLocalFunction("OnPlayerCommandText","is",playerid,"/oi");
Re: Adicionar Comando Em Outra CallBack -
lucas24101 - 31.07.2011
legal vlw pela forзa
Re: Adicionar Comando Em Outra CallBack -
Josma_cmd - 31.07.2011
Poderia colocar return.
Poderia identar melhor.
Nгo precisa do else { } jб que ele nгo estб sendo usado.
Cara, isso й apenas uma sintaxe
Re: Adicionar Comando Em Outra CallBack -
Macintosh - 31.07.2011
Quote:
Originally Posted by lucas24101
legal vlw pela forзa
|
'-' Ironia Detected.
Deveria olhar os tutoriais da board antes de postar.
Re: Adicionar Comando Em Outra CallBack -
ApolloRJ - 01.08.2011
como retorno isso para o menu...
pawn Код:
CMD:estacionamento(playerid, params[])
{
#pragma unused params
if(IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos( GetPlayerVehicleID( playerid ), -30.963,1509.681,12.556 );
SetVehicleZAngle( GetPlayerVehicleID( playerid ), 357.7119 );
LinkVehicleToInterior( GetPlayerVehicleID(playerid), 0 );
SetPlayerInterior(playerid,0);
GetPlayerName( playerid, Cppp, MAX_PLAYER_NAME );
format( Cstring, sizeof Cstring , "%s {FFFFFF}Foi Para o Estacionamento [ {FFFF00}/estacionamento {FFFFFF}]", Cppp );
SendClientMessageToAll( 0xFFFF00AA, Cstring );
}
else
{
SetPlayerPos(playerid, -30.963,1509.681,12.556);
SetPlayerFacingAngle(playerid, 357.7119);
SetPlayerInterior(playerid,0);
GetPlayerName( playerid, Cppp, MAX_PLAYER_NAME );
format( Cstring, sizeof Cstring , "%s {FFFFFF}Foi Para o Estacionamento [ {FFFF00}/estacionamento {FFFFFF}]", Cppp );
SendClientMessageToAll( 0xFFFF00AA, Cstring );
}
return true;
}
tentei por essas linhas aqui n foi...
pawn Код:
CMD:estacionamento(playerid, params[])
queria fazer isso para n gastar tantas linhas no GM.. com a msm funзгo...
outra duvida a cada menu tenho que retornar 1? exemplo...
pawn Код:
if(listitem == 0)
{
//funзгo
return 1;
}
if(listitem == 1).....
{
//funзгo
return 1;
}
Re: Adicionar Comando Em Outra CallBack -
Josma_cmd - 01.08.2011
ApolloRJ
Nгo sei se da pra vocк executar um comando nesse formato diretamente, nunca tentei.
Й aconselhбvel que vocк use return 1, poucas vezes vocк precisa usar o return 0, como na public OnPlayerCommandText e em alguns casos na OnPlayerText.
Com o return 1 entre as chaves do listitem ele nгo vai procurar outros possнveis resultados achando o primeiro resultado, exemplo: o cara clicou no item 2, ele vai procurar o 0, nгo vai ser, o 1 nгo vai ser, o 2 nгo vai ser, se tiver return ele nгo vai procurar o 3, 4, 5 e assim por diante, se nгo tiver ele vai procurar, com o return ele diminui a quantidade de contas que serгo feitas no seu sv.