E1r2i3k4 0 Odesláno: 4. Únor, 2014 Share Odesláno: 4. Únor, 2014 Čaute všetci.. v mojom gamemode mam jeden príkaz, ktorým môžem označiť hráča nejakého, ale keď to napíšem tam sa vypne server.. tu je kód: dcmd_p(playerid, params []) { new id, text; if(sscanf(params,"is", id, text)) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Použi: /p [ ID ] [TEXT ]"); else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Hráč zo zadaným ID nieje na serveri !"); else if(IsPlayerNPC(id)) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ]{ffffff} Tohle je NPC !"); else { new Name[26]; new Name2[26]; GetPlayerName(playerid,Name,26); GetPlayerName(id,Name2,26); new string[128]; format(string,128,"{ACFF00}%s {FFFFFF}-> {00FFFF}%s {FFFFFF}%s", Name2, Name, text); SendClientMessageToAll(COLOR_ADMIN,string); for(new i=0; i<128; i++) { if(Player[playerid][AdminLevel] == 0) { new string3[50]; format(string3, sizeof(string3),"%s cmdtext: /p %d %s", Name, id, text); SCMTAdmins(i, 0xFF0000FF, string3); } } } return 1; } Link to comment Share on other sites More sharing options...
0 Jakub Kučera 6 Odesláno: 4. Únor, 2014 Share Odesláno: 4. Únor, 2014 To se mi taky občas stává s příkazem Link to comment Share on other sites More sharing options...
0 mxco 55 Odesláno: 4. Únor, 2014 Share Odesláno: 4. Únor, 2014 Mě osobně to nepadá. Ale druhý parametr (string) mi to vyhodnotí jako id, když je to kratší (Tohle není NPC). Když je delší, server: unknown command. sscanf také píše do server logu. sscanf warning: Strings without a length are deprecated, please add a destination size. To znamená že musíš odesílat velikost - malá úprava dcmd_p(playerid, params []) { new id, text[128]; if(sscanf(params,"is[128]", id, text)) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Použi: /p [ ID ] [TEXT ]"); else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Hráč zo zadaným ID nieje na serveri !"); else if(IsPlayerNPC(id)) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ]{ffffff} Tohle je NPC !"); else { new Name[26]; new Name2[26]; GetPlayerName(playerid,Name,26); GetPlayerName(id,Name2,26); new string[128]; format(string,128,"{ACFF00}%s {FFFFFF}-> {00FFFF}%s {FFFFFF}%s", Name2, Name, text); SendClientMessageToAll(COLOR_ADMIN,string); for(new i=0; i<128; i++){ if(Player[playerid][AdminLevel] == 0) { new string3[50]; format(string3, sizeof(string3),"%s cmdtext: /p %d %s", Name, id, text); SCMTAdmins(i, 0xFF0000FF, string3); } } } return 1; } new id, text[128];if(sscanf(params,"is[128]", id, text)) ... Tím pádem funguje. Nebo také bude potřeba si pořídit originální a co nejnovější sscanf. + cyklus, nedává smysl + na jména je nejlepší si vytvořit funkci, která ti ty jména vrací a šupat to rovnou do formatu Link to comment Share on other sites More sharing options...
0 Globální moderátor Hip 191 Odesláno: 4. Únor, 2014 Globální moderátor Share Odesláno: 4. Únor, 2014 new string3[50]; format(string3, sizeof(string3),"%s cmdtext: /p %d %s", Name, id, text); řekl bych trochu malý string ... ale nemyslím si že to bude tím další for(new i=0; i<128; i++) // je promka MAX_PLAYERS nebo vlastní MAY_PLAYERS_EX { if(Player[playerid][AdminLevel] == 0) //odesílá se těm kteří mají al 0 jen tak mimochodem a pro zjištění kde to padá si to loguj ať víš kdy přesně Link to comment Share on other sites More sharing options...
0 jenkings 121 Odesláno: 4. Únor, 2014 Share Odesláno: 4. Únor, 2014 Padá server... Něco si přej :d Link to comment Share on other sites More sharing options...
0 play 0 Odesláno: 4. Únor, 2014 Share Odesláno: 4. Únor, 2014 (upraveno) dcmd_p(playerid, params []) { new id, text[256];//text je string if(sscanf(params,"is", id, text)) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Použi: /p [ ID ] [TEXT ]"); //tady to nvm jiste sscanf nepouživám ale nemá tam být if(!sscanf(params,"is", id, text)) else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ] {FFFFFF}Hráč zo zadaným ID nieje na serveri !"); else if(IsPlayerNPC(id)) return SendClientMessage(playerid,COLOR_WARNING,"[ ! ]{ffffff} Tohle je NPC !"); // else chyba je tu v tomto else new Name[26]; new Name2[26]; GetPlayerName(playerid,Name,26); GetPlayerName(id,Name2,26); new string[300];//malý string format(string,sizeof(string),"{ACFF00}%s {FFFFFF}-> {00FFFF}%s {FFFFFF}%s", Name2, Name, text); SendClientMessageToAll(COLOR_ADMIN,string);//nvm k čemu to je ale jestli je to něco jako SZ tak je blbost SendClientMessageToAll for(new i=0; i<128; i++) { if(Player[i][AdminLevel] != 0)//tady musíš mít != a ne == , a ne playerid ale i { new string3[300];//Malý string format(string3, sizeof(string3),"%s cmdtext: /p %d %s", Name, id, text); SCMTAdmins(i, 0xFF0000FF, string3); } } return 1; } // a to jeasi tak vše a udělal bych si stock stock SCMToAllAdmins(color,text[]) { for(new i=0; i<128; i++) { if(Player[i][AdminLevel] != 0) SendClientMessage(i,color,text); } return 1; } Edited 4. Únor, 2014 by play Link to comment Share on other sites More sharing options...
0 E1r2i3k4 0 Odesláno: 5. Únor, 2014 Author Share Odesláno: 5. Únor, 2014 Dík všetkým Link to comment Share on other sites More sharing options...
Dotaz
E1r2i3k4 0
Čaute všetci.. v mojom gamemode mam jeden príkaz, ktorým môžem označiť hráča nejakého, ale keď to napíšem tam sa vypne server.. tu je kód:
Link to comment
Share on other sites
6 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now