[Tut] Osnovne RCON komande u dialogu

Započeo --Lood--, Novembar 15, 2012, 14:54:52 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.


Poz evo jedan TUT od, mene, Osnovne RCON komande u dialogu
a to je menjanje imena srv, mape, host imena, weburl, gamemodetext  itd u dialogu :)
Inace ovo mi je 1. tutorial uvezi scriptanja



Pa da predjemo na tut
1.Skinite ZCMD include:
http://forum.sa-mp.com/showthread.php?t=91354
2.Skinite sscanf sscanf include:
http://forum.sa-mp.com/showthread.php?t=120356
Kada skinite, raspakujte ih i dodajte ih u odgovarajuca mesta
VasaScripte->pawno->include

Zatim dodaj te sledeci kod na vrhu scripte


#include <sscanf>
#include <ZCMD>


E sada kada smo sve dodali da predjemo na pravljenje komande

na dnu scripte napravimo komandi

CMD:server(playerid, params[])
{

return 1;
}

CMD oznacava komandu. Server je naziv komande.
Sada dodamo proveru, ako nije RCON Admin da nemoze koristiti CMD

if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Nisi ovlasten");

Sada da kazemo sta znaci sta

if - ako...
! - ako nije.. :)
IsPlayerAdmin - proverava dali je igrac admin
playerid - Taj igrac sto je kucao komandu
return SendClientMessage(playerid, -1, "Nisi ovlasten");- zavrsva radnju i salje igracu poruku
SendClientMessage - Salje igracu poruku
playerid - Igrac koji je kucao komandu
-1 - boja
"Nisi ovlasten" - text koji ce poslat


Sada dodamo da pokaze dialog igracu, ako je igrac admin..

ShowPlayerDialog(playerid,1000,DIALOG_STYLE_LIST,"{FFFFFF}Server podesavanje","{F81414}Ime servera\n{00FF22}Host ime\n{00CED1}Map ime\n{00C0FF}Rcon sifra\n{FFFFFF}Restart servera\n{F81414}URL servera\n{00CED1}Sifra servera","Odabari","Odustani");


Da objasnim sad sta znaci sta

ShoPlayerDialog - Pokazuje dialog

playerid - pokazuje dialog igracu koji je kucu CMD

1000 - ID Dialoga

DIALOG_STYLE_LIST - Vrsta dialoga

"{FFFFFF}Server podesavanje"Naslov

"{F81414}Ime servera\n{00FF22}Host ime\n{00CED1}Map ime\n{00C0FF}Rcon sifra\n{FFFFFF}Restart servera\n{F81414}URL servera\n{00CED1}Sifra servera" - Sta ce se nalaziti u dialogu

"Odaberi" - Ovo ce nam trebati za  OnDialogResponse, znaci ako prtisne to da nastavi na OnDialogResponse

"Odustani"   - a ako pritisne ovo da prekine sve :)



Evo kako bi znaci trebala izgledat komanda

CMD:server(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
ShowPlayerDialog(playerid,1000,DIALOG_STYLE_LIST,"{FFFFFF}Server podesavanje","{F81414}Ime servera\n{00FF22}Host ime\n{00CED1}Map ime\n{00C0FF}Rcon sifra\n{FFFFFF}Restart servera\n{F81414}URL servera\n{00CED1}Sifra servera","Odabari","Odustani");
}
return 1;
}


E sada kada smo zavrsili komandu, da predjemo kada igrac izabere nesto iz ponudjenih stvari u dialogu
Zaci 1. nadji te 

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

ili lakse
CTRL+h i ukucajte OnDialogResponse
e sada dodajte
u

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

return 1;
}

Sada dodaj te


if(dialogid == 1000)
{

if(response)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid,1779,DIALOG_STYLE_INPUT,"Ime servera","Novo ime servera","Postavi","Izadji");
}
if(listitem == 1)
{
ShowPlayerDialog(playerid,1780,DIALOG_STYLE_INPUT,"Host Ime servera","Novo host ime servera","Postavi","Izadji");
}
if(listitem == 2)
{
ShowPlayerDialog(playerid,1781,DIALOG_STYLE_INPUT,"Map Ime servera","Novo ime mape","Postavi","Izadji");
}
if(listitem == 3)
{
ShowPlayerDialog(playerid,1782,DIALOG_STYLE_INPUT,"Rcon Sifra Administratora","Unesi novu sifru","Postavi","Izadji");
}
if(listitem == 4)
{
GameModeExit();
}
if(listitem == 5)
{
ShowPlayerDialog(playerid,1783,DIALOG_STYLE_INPUT,"URL servera","Unesi URL servera","Postavi","Izadji");
}
if(listitem == 6)
{
ShowPlayerDialog(playerid,1784,DIALOG_STYLE_INPUT,"Sifra servera","Unesi sifru servera","Postavi","Izadji");
}
}
}

if(dialogid == 1779)
{
new string[128];
if(response)
{
format(string,sizeof(string),"hostname %s",inputtext);
SendRconCommand(string);
}
}
////////////////////////////////////////////////////////////////////////////////
if(dialogid == 1780)
{
new string[128];
if(response)
{
format(string,sizeof(string),"%s",inputtext);
SetGameModeText(string);
}
}
////////////////////////////////////////////////////////////////////////////////
if(dialogid == 1781)
{
new string[128];
if(response)
{
format(string,sizeof(string),"mapname %s",inputtext);
SendRconCommand(string);
}
}
////////////////////////////////////////////////////////////////////////////////
if(dialogid == 1782)
{
new string[128];
if(response)
{
format(string,sizeof(string),"rcon_password %s",inputtext);
SendRconCommand(string);
}
}
////////////////////////////////////////////////////////////////////////////////
if(dialogid == 1783)
{
new string[128];
if(response)
{
format(string,sizeof(string),"weburl %s",inputtext);
SendRconCommand(string);
}
}
////////////////////////////////////////////////////////////////////////////////
if(dialogid == 1784)
{
new string[128];
if(response)
{
format(string,sizeof(string),"password %s",inputtext);
SendRconCommand(string);
}
}



e sada da
objasnim nove stvari a to su

if(dialogid == ) znaci ako je dialogid == pa id dialoga, to je ono kada sam vam objasnjavo
ShowPlayerDialog(playerid, DIALOGID, ....);
new string[128]; - Velicina stringa.
format - formatira string
Ovo ostalo su RCON opcije...vise  o tome
http://wiki.sa-mp.com/wiki/Advanced_Server_Controls

To bi trebalo izgledati ovako

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1000)
{

if(response)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid,1779,DIALOG_STYLE_INPUT,"Ime servera","Novo ime servera","Postavi","Izadji");
}
if(listitem == 1)
{
ShowPlayerDialog(playerid,1780,DIALOG_STYLE_INPUT,"Host Ime servera","Novo host ime servera","Postavi","Izadji");
}
if(listitem == 2)
{
ShowPlayerDialog(playerid,1781,DIALOG_STYLE_INPUT,"Map Ime servera","Novo ime mape","Postavi","Izadji");
}
if(listitem == 3)
{
ShowPlayerDialog(playerid,1782,DIALOG_STYLE_INPUT,"Rcon Sifra Administratora","Unesi novu sifru","Postavi","Izadji");
}
if(listitem == 4)
{
GameModeExit();
}
if(listitem == 5)
{
ShowPlayerDialog(playerid,1783,DIALOG_STYLE_INPUT,"URL servera","Unesi URL servera","Postavi","Izadji");
}
if(listitem == 6)
{
ShowPlayerDialog(playerid,1784,DIALOG_STYLE_INPUT,"Sifra servera","Unesi sifru servera","Postavi","Izadji");
}
}
}

if(dialogid == 1779)
{
new string[128];
if(response)
{
format(string,sizeof(string),"hostname %s",inputtext);
SendRconCommand(string);
}
}
////////////////////////////////////////////////////////////////////////////////
if(dialogid == 1780)
{
new string[128];
if(response)
{
format(string,sizeof(string),"%s",inputtext);
SetGameModeText(string);
}
}
////////////////////////////////////////////////////////////////////////////////
if(dialogid == 1781)
{
new string[128];
if(response)
{
format(string,sizeof(string),"mapname %s",inputtext);
SendRconCommand(string);
}
}
////////////////////////////////////////////////////////////////////////////////
if(dialogid == 1782)
{
new string[128];
if(response)
{
format(string,sizeof(string),"rcon_password %s",inputtext);
SendRconCommand(string);
}
}
////////////////////////////////////////////////////////////////////////////////
if(dialogid == 1783)
{
new string[128];
if(response)
{
format(string,sizeof(string),"weburl %s",inputtext);
SendRconCommand(string);
}
}
////////////////////////////////////////////////////////////////////////////////
if(dialogid == 1784)
{
new string[128];
if(response)
{
format(string,sizeof(string),"password %s",inputtext);
SendRconCommand(string);
}
  }
return 1;
}



Eto to bi bilo to :)

Poslednja Izmena: Novembar 15, 2012, 19:18:21 POSLE PODNE od --Lood--


Bravo
Poslednja Izmena: Novembar 15, 2012, 15:02:04 POSLE PODNE od [BS]Antonio

Super je za prvi tut, 10/10
Poslednja Izmena: Jun 24, 2014, 15:53:45 POSLE PODNE od Blaeks


moze pomoc?
pise mi undefined symbol DIALOG_PODESAVANJE

Citat: Mile12345 poslato Novembar 15, 2012, 19:03:44 POSLE PODNE
moze pomoc?
pise mi undefined symbol DIALOG_PODESAVANJE
E dobro s nisam primetio eto sada samo zameni CMD:server sa ovom


CMD:server(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
ShowPlayerDialog(playerid,1000,DIALOG_STYLE_LIST,"{FFFFFF}Server podesavanje","{F81414}Ime servera\n{00FF22}Host ime\n{00CED1}Map ime\n{00C0FF}Rcon sifra\n{FFFFFF}Restart servera\n{F81414}URL servera\n{00CED1}Sifra servera","Odabari","Odustani");
}
return 1;
}

ne izbacuje mi errore aali kada kucam /server nista se ne dogaÄ'a :(

Citat: Mile12345 poslato Novembar 15, 2012, 19:25:36 POSLE PODNE
ne izbacuje mi errore aali kada kucam /server nista se ne dogaÄ'a :(
Ovo je komanda za RCON ADMINE  :)

oprostite nisam se ulogovo u rcon...moja greska ....sve radi hvala !

Pohvala za tut. Ovo je reci tut! sve lijepo objasnjeno.



I jos bih svima preporucio da nekoriste "Server restart" zbog toga sto se desava da se nesto zbaguje i da se statsi nespreme.