-
Csatlakozaskor ahanyan vannak a szerveren, annyiszor kiirja az udvozlo uzenetet. Mitol van ez?
Ha ures a szerver, es folmegyek csak egyszer irja ki. Ha 1 ember mar fonnt van es folmegyek akkor ketszer??
Legyszives valaki segitsen! Koszonom!
-
Esetleg ha bemásolnád az onplayerconect-et többet tudnánk segiteni.
-
new name[MAX_PLAYER_NAME];
new string[256];
new ip[20];
new index;
players++;
GetPlayerName(playerid, name, MAX_PLAYER_NAME); // Játékos neve
GetPlayerIp(playerid, ip, 20); // Játékos IPje
for (index = 0; index < GetMaxPlayers(); index++)
{
if (IsPlayerConnected(index)) // Ha a játékos csatlakozva van
{
if (IsPlayerAdmin(index)) // Ha a játékos admin
{
format(string, 256, \"*** %s csatlakozott a játékhoz. [iP: %s]\", name, ip);
}
else // Ha a játékos nem admin
{
format(string, 256, \"*** %s csatlakozott a játékhoz.\", name);
}
SendClientMessage(index, 0xDDDDDD96, string); // Üzenet megjelenítése
SendClientMessage(playerid,COLOR_RED,\"-*-*-*-**-*-*-*-*-*-*-*-*-**-*-*-*-\");
SendClientMessage(playerid,COLOR_WHITE,\"Üdvözöllek a szerveren!\");
SendClientMessage(playerid,COLOR_WHITE,\"Ha bármi kérdésed van írj egy adminnak!\");
}
}
return 1;
}
-
new name[MAX_PLAYER_NAME];
new string[256];
new ip[20];
new index;
players++;
GetPlayerName(playerid, name, MAX_PLAYER_NAME); // Játékos neve
GetPlayerIp(playerid, ip, 20); // Játékos IPje
if (IsPlayerConnected(playerid)) // Ha a játékos csatlakozva van
{
if(new i = 0; i < MAX_PLAYERS; ++i)
{
if (IsPlayerAdmin(i)) // Ha a játékos admin
{
format(string, 256, \"*** %s csatlakozott a játékhoz. [iP: %s]\", name, ip);
}
else // Ha a játékos nem admin
{
format(string, 256, \"*** %s csatlakozott a játékhoz.\", name);
}
SendClientMessage(i, 0xDDDDDD96, string); // Üzenet megjelenítése
}
SendClientMessage(playerid,COLOR_RED,\"-*-*-*-**-*-*-*-*-*-*-*-*-**-*-*-*-\");
SendClientMessage(playerid,COLOR_WHITE,\"Üdvözöllek a szerveren!\");
SendClientMessage(playerid,COLOR_WHITE,\"Ha bármi kérdésed van írj egy adminnak!\");
}
return 1;
}
-
D:\\samp03\\gamemodes\\teszt.PWN(498) : error 029: invalid expression, assumed zero
D:\\samp03\\gamemodes\\teszt.PWN(498) : error 017: undefined symbol \"i\"
D:\\samp03\\gamemodes\\teszt.PWN(498) : warning 215: expression has no effect
D:\\samp03\\gamemodes\\teszt.PWN(498) : error 017: undefined symbol \"i\"
D:\\samp03\\gamemodes\\teszt.PWN(498) : fatal error 107: too many error messages on one line
Erre a sorra dobja:
if(new i = 0; i < MAX_PLAYERS; ++i)
-
Jaj de hülye vagyok, bocsi :D
for(new i = 0; i < MAX_PLAYERS; ++i)
Így próbáld :D
-
Enis megprobaltam megcsinalni csak egy kicsit atalakiotttam nembiztos hogy jo.
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
new string[256];
new ip[20];
players++;
GetPlayerName(playerid, name, MAX_PLAYER_NAME); // Játékos neve
GetPlayerIp(playerid, ip, 20); // Játékos IPje
if (IsPlayerConnected(playerid)) // Ha a játékos csatlakozva van
{
if(IsPlayerAdmin(playerid)) // Ha a játékos admin
{
format(string, 256, \"*** %s csatlakozott a játékhoz. [iP: %s]\", name, ip);
SendClientMessageToAll( 0xDDDDDD96, string);
}
else // Ha a játékos nem admin
{
format(string, 256, \"*** %s csatlakozott a játékhoz.\", name);
SendClientMessageToAll( 0xDDDDDD96, string);
}
// Üzenet megjelenítése
SendClientMessage(playerid,COLOR_RED,\"-*-*-*-**-*-*-*-*-*-*-*-*-**-*-*-*-\");
SendClientMessage(playerid,COLOR_WHITE,\"Üdvözöllek a szerveren!\");
SendClientMessage(playerid,COLOR_WHITE,\"Ha bármi kérdésed van írj egy adminnak!\");
}
return 1;
}
De amugy ez minek kell oda?
for(new i = 0; i < MAX_PLAYERS; ++i)
Szerintem egyszerubb a SendClientMessageToAll
-
Enis megprobaltam megcsinalni csak egy kicsit atalakiotttam nembiztos hogy jo.
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
new string[256];
new ip[20];
players++;
GetPlayerName(playerid, name, MAX_PLAYER_NAME); // Játékos neve
GetPlayerIp(playerid, ip, 20); // Játékos IPje
if (IsPlayerConnected(playerid)) // Ha a játékos csatlakozva van
{
if(IsPlayerAdmin(playerid)) // Ha a játékos admin
{
format(string, 256, \"*** %s csatlakozott a játékhoz. [iP: %s]\", name, ip);
SendClientMessageToAll( 0xDDDDDD96, string);
}
else // Ha a játékos nem admin
{
format(string, 256, \"*** %s csatlakozott a játékhoz.\", name);
SendClientMessageToAll( 0xDDDDDD96, string);
}
// Üzenet megjelenítése
SendClientMessage(playerid,COLOR_RED,\"-*-*-*-**-*-*-*-*-*-*-*-*-**-*-*-*-\");
SendClientMessage(playerid,COLOR_WHITE,\"Üdvözöllek a szerveren!\");
SendClientMessage(playerid,COLOR_WHITE,\"Ha bármi kérdésed van írj egy adminnak!\");
}
return 1;
}
De amugy ez minek kell oda?
for(new i = 0; i < MAX_PLAYERS; ++i)
Szerintem egyszerubb a SendClientMessageToAll
Ránézésre hibás, mert te azt csináltad az elágazásoknál, hogy ha admin csatlakozik, akkor írja ki mindenkinek az admin IP-jét.
A for ciklussal \"személyre\" szabva küldöm el az üzeneteket.
-
De a rendes kodnal is ugyvolt amit te javitotal ki hogy elkuldi az ipjet,es amugy nemirja ki az ipj-et mert %s az szoveg ha jol tudom es a %d kell.
-
De a rendes kodnal is ugyvolt amit te javitotal ki hogy elkuldi az ipjet,es amugy nemirja ki az ipj-et mert %s az szoveg ha jol tudom es a %d kell.
Én úgy tudom hogy az IP-t karakterláncba kéri.
new ip[20];
:facepalm:
-
Koszi Zarko! Mukodik :thumbsup:
-
[mod]Legközelebb kattints a \"Téma megoldva\" gombra![/mod]