forum.hrvatski-hosting.com
Gameserveri => Call of Duty 2 (COD2) => Topic started by: stevomitric on April 18, 2014, 10:05:18 PM
-
Evo neko ako se bavi skriptanjem moze mi pomoci:
Vako znaci napravio sam scriptu koja preimenuje sve igrace na serveru u zeljeno ime:
stevo_all_custom_name()
{
for(;;)
{
if (getcvar("stevo_all_custom_name")!="")
{
players = getentarray("player", "classname");
for(i = 0; i < players.size; i++)
{
player = players[i];
players[i] setClientCvar("name",getcvar("stevo_all_custom_name"));
}
}
setcvar("stevo_all_custom_name","");
wait 0.5;
}
}
npr: /rcon stevo_all_custom_name lalalalala
i preimenuje cjeli server u lalalalala
e, sad mi je potrebno da preimenujem samo jednog igraca u zeljeno ime a ne sve.
jel ima neko ideju kako bi mogao poceti ?
probao sam da izdvajam po client broju al nevredi jel ce mi trebat 64 comandi..
-
Pozdrav,
Znaci koliko sam shvatio hoces preko rcon naredbe utjecati na cvar (name) nekoga igraca. Najlakse ti je logicki napraviti da dobivas njihov id preko funkcije "getEntityNumber()" koja je u samom igri jednaka naredbi /rcon status.
Evo ti primjer koda, vjerojatno ces ga trebati malo promjeniti, ali po logici bi trebao raditi.
custom_name()
{
level endon("boot");
setcvar("g_changename", "");
new_name = "^1Zeljeno ^2Ime ^3Igraca";
while(1)
{
if(getcvar("g_changename") != "")
{
changePlayerNum = getcvarint("g_changename");
players = getentarray("player", "classname");
for(i = 0; i < players.size; i++)
{
thisPlayerNum = players getEntityNumber();
if(thisPlayerNum == changePlayerNum )
{
iprintln(players.name + "^7 was renamed by the admin");
players setClientCvar("name",new_name));
}
}
setcvar("g_changename", "");
}
wait 0.05;
}
}
LP
-
aha da.. vidim sad. evo kak sam napravio to:
name_noob()
{
level endon("boot");
level endon("round_ended");
setcvar("name_noob", "");
while(1)
{
if(getcvar("name_noob") != "")
{
if (getcvar("name_noob") == "all")
setcvar("name_noob", "-1");
movePlayerNum = getcvarint("name_noob");
players = getentarray("player", "classname");
for(i = 0; i < players.size; i++)
{
player = players[i];
thisPlayerNum = player getEntityNumber(); // To je to .
if(thisPlayerNum == movePlayerNum || movePlayerNum == -1)
{
players[i] setClientCvar("name","^^11I am a NOOB !");
}
}
setcvar("name_noob", "");
}
wait 0.05;
}
}
e sad kao sto vidis ima mali problem.. ja sam tom igracu dao ime : setClientCvar("name","^^11I am a NOOB !");
a trebao sam da mu ja stavim ime.. npr: Unknown solider ... nemogu svaki put ulazit u FTP i mjenjat skriptu..
trebalo bi /rcon name_noob (ID) (ime)
imas ideju ?
-
Probaj napraviti novi cvar, te nakon toga varijablu koja ce kupiti sadrzaj cvara, i nakon toga u petlji pozovi tu varijablu.
Dakle nesta ovako:
Prije petlje:
setcvar("new_name", "");
name_var = getcvar("new_name");
U petlji:
players setClientCvar("name", name_var);
Znaci u igri ces morati upisati ime igraca pod new_name, i zatim upisati name_noob [broj slota].
Nije testirano, ali po logici bi trebalo raditi.
LP