Jump to content

Otevírání brány heslem (dialog)


undertaker

Recommended Posts

Pokud chcete udelat branu ktera se otevre kdyz napisete heslo tak potom pokracujte ve cteni tohoto navodu. Jak na to:

 

Nejdrive vlozime pod #include tohle:

 

#define COLOR_GREEN 0x33AA33AA

new dvere;

forward zavritdvere(playerid);

 

potom do OnGameModeInit dame:

 

public OnGameModeInit()

{

 

dvere = CreateObject(2634, 1068.5549316406, 2408.431640625, 12.622353553772, 0, 0, 179.57434082031);

- = vytvorime nejakou branu v MTA souradnice si snad umite zkonvertovat :d

return 1;

}

 

potom do OnPlayerCommandText dame:

 

public OnPlayerCommandText(playerid, cmdtext[])

{

if (strcmp("/dvere", cmdtext, true, 10) == 0)

{

//zde si muzete dat nejake podminky jeste napr. IsPlayerInSphere apod.

ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Heslo:","Zadej heslo:","OK","Zavrit");//ukaze hraci dialog

return 1;

}

return 0;

}

 

potom do public OnDialogResponse dame:

 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

{

if(dialogid == 1) //Pokud ID Dialogu je 1

{

if(response == 1) //Pokud je zmacknuto prvni tlacitko (2 je druhe)

{

if(strval(inputtext)==123654){//pokud je text v dialogu roven 123654 to 123654 si muzete zmenit na nejake jine cisla

SendClientMessage(playerid,COLOR_GREEN,"Dvere otevreny na 5s!");

MoveObject(dvere,1068.5549316406, 2408.431640625, 9,5);

SetTimerEx("zavritdvere",5000,0,"i",playerid);//za 5s se zavrou dvere

}else{//kdyz napise blbe heslo tak mu to napise Spatne heslo!

SendClientMessage(playerid,COLOR_GREEN,"Spatne heslo!");

}

}

}

}

 

a nakonec nekam dolu do FS,modu

 

public zavritdvere(playerid)

{

MoveObject(dvere,1068.5549316406, 2408.431640625, 12.622353553772,5);//zavreni dveri

return 1;

}

 

Link to comment
Share on other sites

načo killtimer ? ked je timer nastavený na to že po obnovení publicu sa neopakuje

SetTimerEx("zavritdvere",5000,0,"i",playerid);

// 0 = false ak pri timery je 0 (false) tak sa timer neopakuje, preto nepotrebuje killtimer dakujem že si sa zase niečo naučil

Link to comment
Share on other sites

ale je to iba na čísla...

na písmená aj čísla je to takto

 

if(strcmp(inputtext, "heslo", true) == 0)

{

moveobject....

return 1;

}

v spoilery je ukážka

 

 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

{

if(dialogid == 1) //Pokud ID Dialogu je 1

{

if(response == 1) //Pokud je zmacknuto prvni tlacitko (2 je druhe)

{

if(strcmp(inputtext, "heslo", true) == 0)

{//ide hoci čo

SendClientMessage(playerid,COLOR_GREEN,"Dvere otevreny na 5s!");

MoveObject(dvere,1068.5549316406, 2408.431640625, 9,5);

SetTimerEx("zavritdvere",5000,0,"i",playerid);//za 5s se zavrou dvere

}else{//kdyz napise blbe heslo tak mu to napise Spatne heslo!

SendClientMessage(playerid,COLOR_GREEN,"Spatne heslo!");

}

}

}

}

 

Link to comment
Share on other sites

  • 1 month later...
Sorry,že mám tak debilní otázky,ale co z toho ? Nebo spíše by se mi bodl návod.

TAK CO TAKHLE KLIKNOUT NA MUJ ODKAZ A TAM NAJIT TEN NÁVOD?????????????????????

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...