Kubko 22 Odesláno: 17. Leden, 2015 Share Odesláno: 17. Leden, 2015 (upraveno) Jednoduché označovanie hráčov v chate pomocou ID (@ID) Na začiatok chcem upozorniť, že tento script už pred nejakou dobou nakódoval Tango, lenže to fungovalo 99% ľuďom a nedarilo sa nájsť chybu, prečo to niekedy blbne. Rozhodol som sa, že celý skript prekódujem. Všetky nápady patria Tangovi! K čomu tento skript slúži? Ako už z nadpisu vyplýva, bude to nejaké označenie hráča pomocou jeho ID v chate. Funguje to na veľmi jednoduchom princípe. Keď píšete do chatu a chcete nejakého hráča označiť, musíte napísať zavináč (@) a jeho ID. V chate sa to nahradí menom hráča. Príklad:Na serveri je pripojený hráč s menom Sanios a má ID 11. Keď napíšete do chatu:Ahoj, ja sa volám @11. Správa sa odošle a spracuje sa na:Ahoj, ja sa volám Sanios. No nie je to jednoduché? Samozrejme, že môžete označiť viac hráčov v jednej správe, ale pozor, maximálna dĺžka správy, ktorá sa môže odoslať do chatu nesmie presiahnuť 128 znakov! Pokiaľ by nastal takýto problém, kód je proti tomu zabezpečený a upozorní vás do chatu. Kód: #if !defined strcpy #define strcpy(%0,%1) \ strcat((%0[0] = '\0', %0), %1) #endif #define MAX_LINE_LENGTH 128 public OnPlayerText(playerid, text[]) { new string[MAX_LINE_LENGTH + 1], name[MAX_PLAYER_NAME], buffer[4], targetid, i; strcpy(string, text); while(i < MAX_LINE_LENGTH) { if(string[i] == 64) { if(string[i + 1] > 47 && string[i + 1] < 58) { new j = i + 1; while(string[j] > 47 && string[j] < 58) j++; strmid(buffer, string, i + 1, j); targetid = strval(buffer); if(IsPlayerConnected(targetid)) { strdel(string, i, j); GetPlayerName(targetid, name, sizeof(name)); if(strlen(string) + strlen(name) > MAX_LINE_LENGTH) { SendClientMessage(playerid, -1, "Nemôžeš odoslať riadok dlhší ako 128 znakov!"); return 0; } strins(string, name, i); } else { SendClientMessage(playerid, -1, "Hráč, ktorého si označil nie je pripojený na serveri!"); return 0; } } } i++; } SendPlayerMessageToAll(playerid, string); return 0; } Ak máte nejaký nápad, čo by som mohol pridať, zlepšiť, tak mi napíšte.A na koniec si môžete pozrieť nejaké ukážky: 1. ID 10 = "Sanios",ID 0 = "Tango" 2.ID 1 = "Carl",ID 2 = "Sweet",ID 3 = "Ryder" Edited 17. Leden, 2015 by Sanios Link to comment Share on other sites More sharing options...
Mivčo 90 Odesláno: 17. Leden, 2015 Share Odesláno: 17. Leden, 2015 Pekne si to spravil ale ta Tangov Script mi ide na 100% neviem prečo to ostatním nejde :D Link to comment Share on other sites More sharing options...
Kubko 22 Odesláno: 17. Leden, 2015 Author Share Odesláno: 17. Leden, 2015 (upraveno) Skús sa posunúť napr na 126 znak a napíš @0 a celé to zblbne (text sa nenahradí) lebo nastane overflow > 128 znakov. Edited 17. Leden, 2015 by Sanios Link to comment Share on other sites More sharing options...
Mivčo 90 Odesláno: 17. Leden, 2015 Share Odesláno: 17. Leden, 2015 Skús sa posunúť napr na 126 znak a napíš @0 a celé to zblbne. NO mňe to neblbne hovorím Link to comment Share on other sites More sharing options...
Kubko 22 Odesláno: 17. Leden, 2015 Author Share Odesláno: 17. Leden, 2015 Link to comment Share on other sites More sharing options...
Fuggy 2 Odesláno: 1. Únor, 2015 Share Odesláno: 1. Únor, 2015 jak to teda zprovoznit ? nastane to cos rikal Link to comment Share on other sites More sharing options...
Mort 29 Odesláno: 1. Únor, 2015 Share Odesláno: 1. Únor, 2015 Já jsem kdysi dělal cosi podobného, viz. tady Funguje to úplně stejně akorát píšete např. text ID1 text Link to comment Share on other sites More sharing options...
Kubko 22 Odesláno: 1. Únor, 2015 Author Share Odesláno: 1. Únor, 2015 (upraveno) @Fuggy vyskúšaj môj script, tam to je opravené. Edited 1. Únor, 2015 by Sanios Link to comment Share on other sites More sharing options...
Fuggy 2 Odesláno: 1. Únor, 2015 Share Odesláno: 1. Únor, 2015 @Fuggy vyskúšaj môj script, tam to je opravené. prave mám tvuj a nefunguje Link to comment Share on other sites More sharing options...
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