Hali.
Unatkoztam, írtam egy BK névválasztót. :D
Beírjátok, hogy /bk, és választhattok a szereplõk nevei közül.
Kép:
[hs width=300 height=300]http://kepfeltoltes.hu/130102/sa-mp-015_www.kepfeltoltes.hu_.png[/hs]
Kód:
#include <a_samp>
new defname[MAX_PLAYERS][24];
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Baratok Kozt nevvalaszto by Rupert betoltve.\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
print(\" BK nevvalaszto by Rupert bezarva.\");
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, defname[playerid], 24);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
defname[playerid] = \"\";
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/bk\", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid, 999, DIALOG_STYLE_LIST, \"Barátok közt névválasztó\",
\"Berenyi_Miklos\\nBerenyi_Claudia\\nBerenyi_Andras\\nBerenyi_Attila\\nBalogh_Nora\\nBartha_Zsolt\\nSzentmihalyi_Zsofia\\nNovak_Laszlo\\nIlles_Julia\\nFekete_Szabolcs\\nBoros_Adam\\nNador_Kinga\\nIlles_Peter\\nKertesz_Geza\\nKertesz_Vilmos\\nBokros_Gizella\\nBokros Linda\\nJenes_Balazs\\nBerenyi_Bandika\\n{ff0000}Eredeti nevem\",
\"OK\", \"Mégsem\");
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 999)
{
if(!response) return 0;
if(!strcmp(inputtext, \"Eredeti nevem\", true))
{
SetPlayerName(playerid, defname[playerid]);
new string[128];
format(string, 128, \"{ff0000}Eredeti neved beállítva: {00ff40}%s!\", defname[playerid]);
SendClientMessage(playerid, -1, string);
}
else
{
SetPlayerName(playerid, inputtext);
new string[128];
format(string, 128, \"{ff0000}Új neved beállítva: {00ff40}%s!\", inputtext);
SendClientMessage(playerid, -1, string);
}
}
return 1;
}
Csak 24 játékosnak fogja tárolni az eredeti nevüket. Nézd meg te is. :D
printf( \"1. %d\", sizeof( defname ) ); // 24
printf( \"2. %d\", sizeof( defname[ ] ) ); // 500
Csak fel kell cserélni ezt a két értéket.
stock defname[ MAX_PLAYERS ][ MAX_PLAYER_NAME ];
Ha a játékos lecsatlakozik, akkor nem feltétlenül kell megadni \"lenullázást\", elég ha csatlakozásnál.
public OnPlayerConnect( playerid )
{
defname[ playerid ][ 0 ] = EOS; // End of string
GetPlayerName( playerid, defname[ playerid ], MAX_PLAYER_NAME );
return 1;
}
Unatkoztam, írtam egy BK névválasztót. :D
hát õõõ ENNYIRE HOGYAN TUDTÁL UNATKOZNI?????? :D:D:D:D
orvos látott már? :D
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
erre mi szükség?
a másik hogy ajánlott az OnDialogResponse visszatérési értékét is 0-ra állítani ( mint a parancsnál ) mert nem fognak lefutni a dialogok más scriptekben és a módban :)