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 :)
Eto 10/10.Za prvi tut odlicno.To bi bilo to
Bravo
Super je za prvi tut, 10/10
Hvala :)
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.
Hvala svima ;)
I nadam se da je pomoglo :)
ja sam vaki Tut jednom bio objavio ovdje, al su obrisal jer nije bilo komentara vald xd
10/10 ljepo je xd :P
I jos bih svima preporucio da nekoriste "Server restart" zbog toga sto se desava da se nesto zbaguje i da se statsi nespreme.
OdliÄan tutorial Äestitke.
OdliÄno :))
Ljepo :)
bravo 10/10