chytrak 14 Odesláno: 13. Září, 2009 Share Odesláno: 13. Září, 2009 Zdravím, údajně podle toho co jsem slyšel kyeman smazal ze sa mp 0.3 funkci PM (Personal Message) (Osobní Zprávy), proto Vám ukáži, jak lze udělat PMky přes DCMD příkaz. Nahoru do modu Definice DCMD, vkládtejte pouze, pokud ji v modu již nemáte #define dcmd(%1,%2,%3) if ((strcmp((%3)[1],#%1,true,(%2))==0)&&((((%3)[(%2)+1]==0)&&(dcmd_%1(playerid,"")))||(((%3)[(%2)+1]==32)&&(dcmd_%1(playerid,(%3)[(%2)+2]))))) return 1 Kamkoliv do modu chrfind, vkládtejte pouze, pokud již nemáte v modu stock chrfind(needle, haystack[], start = 0) { while (haystack[start]) if (haystack[start++] == needle) return start - 1; return -1; } Kamkoliv do modu Tato funkce slouží na zjištění jména hráče, oběvuje se také pod názvem PlayerName(playerid) a) pokud máte v modu tento stock Jmeno(playerid) tento krok přeskčte pokud máte v modu stock PlayerName(playerid) nevkládejte stock Jmeno(playerid) a přejmenujte Jmeno na PlayerName v příkazu samotném stock Jmeno(playerid) { new name[25]; GetPlayerName(playerid, name, 25); return name; } Příkaz sám o sobě vkládejte nejlépe nad public OnPlayerCommandText(playerid, cmdtext[]) dcmd_pm(playerid, params[]) { if (IsPlayerConnected(playerid)) { new pos; if (!params[0] || !(pos = chrfind(' ', params) + 1) || !params[pos]) return SendClientMessage(playerid, 0x99FF00AA, "Pouziti: /pm [id] [text]"); new id = strval(params), string[300]; if (strlen(params) > 100) return SendClientMessage(playerid, 0x99FF00AA, "Zprava muze mit maximalni delku 100 symbolu."); if (id == playerid) return SendClientMessage(playerid, 0x99FF00AA, "Nemuzes poslat soukromou zpravu sam sobe."); if (!IsPlayerConnected(id)) return SendClientMessage(playerid, 0x99FF00AA, "Hrac se zadanym id aktualne neni na serveru."); format(string, sizeof(string), "PM pro %s [%d]: %s", Jmeno(id), id, params[pos]); SendClientMessage(playerid, 0x99FF00AA, string); format(string, sizeof(string), "PM od %s [%d]: %s", Jmeno(playerid), playerid, params[pos]); SendClientMessage(id, 0x99FF00AA, string); PlayerPlaySound(id, 1085, 0.0, 0.0, 0.0); printf("PM: %s", string); } return 1; } Do public OnPlayerCommandText(playerid, cmdtext[]) dcmd(pm, 2, cmdtext); Link to comment Share on other sites More sharing options...
癌癌癌 1 Odesláno: 13. Září, 2009 Share Odesláno: 13. Září, 2009 Je to dobrý, ale uprav ten nadpis PM přes DCMD Link to comment Share on other sites More sharing options...
chytrak 14 Odesláno: 13. Září, 2009 Author Share Odesláno: 13. Září, 2009 Je to dobrý, ale uprav ten nadpis PM přes DCMD Upraveno, děkuji pěkně za opravu Link to comment Share on other sites More sharing options...
7.Host 3 Odesláno: 13. Září, 2009 Share Odesláno: 13. Září, 2009 good TUT :thumbup: Link to comment Share on other sites More sharing options...
tbx 7 Odesláno: 7. Listopad, 2009 Share Odesláno: 7. Listopad, 2009 mam warning :-) .pwn(302) : warning 219: local variable "string" shadows a variable at a preceding level if (IsPlayerConnected(playerid)) { radek 302> new id = strval(params), string[300]; new pos; if (!params[0] || !(pos = chrfind(' ', params) + 1) || !params[pos]) return SendClientMessage(playerid, 0x99FF00AA, "Pouziti: /pm [id] [text]"); co s tim ?? :-) nemam rad warningy Link to comment Share on other sites More sharing options...
Om3n 78 Odesláno: 7. Listopad, 2009 Share Odesláno: 7. Listopad, 2009 a kam si to dal? Link to comment Share on other sites More sharing options...
tbx 7 Odesláno: 7. Listopad, 2009 Share Odesláno: 7. Listopad, 2009 nad onplayercommandtext Link to comment Share on other sites More sharing options...
Skemr 0 Odesláno: 12. Únor, 2010 Share Odesláno: 12. Únor, 2010 Mam to presne jako vy...pm funguje ,ale nenapise se jmeno hrace...napise se tam kus textu z minule zpravy a nebo neco co nedava smysl...např.: lj,khbih a takove to blbosti.....pls co s tim???diiiky Link to comment Share on other sites More sharing options...
chytrak 14 Odesláno: 14. Únor, 2010 Author Share Odesláno: 14. Únor, 2010 Tak ukaž jak to máš. Link to comment Share on other sites More sharing options...
Guest Odesláno: 14. Únor, 2010 Share Odesláno: 14. Únor, 2010 Lol no predsa jak ty (ctrl + c / ctrl + v) Link to comment Share on other sites More sharing options...
Nikes 9 Odesláno: 14. Únor, 2010 Share Odesláno: 14. Únor, 2010 Jj vypadá pěkně..10/10.. Link to comment Share on other sites More sharing options...
roland811 0 Odesláno: 30. Prosinec, 2010 Share Odesláno: 30. Prosinec, 2010 nemam v tom ziadne chyby idem niekomu poslat pm napise mi to ze : musíš použiť :/pm ID [TEXT] co s tim ? Link to comment Share on other sites More sharing options...
Shoot 0 Odesláno: 22. Září, 2011 Share Odesláno: 22. Září, 2011 Super TuT .. 10/10 Len mam jednu otazku ... V hre mi ide vsetko ale ked napisem hocijaky prikaz s tymto PM pise mi vsetko po anglicky, preco ? Napr. Nenapise: Pouzitie: /pm ID [text] Ale napise: Usage: /pm ID [text] A aj vsetko ostatne, ale len v PM. Link to comment Share on other sites More sharing options...
Guest Castr0L Odesláno: 22. Září, 2011 Share Odesláno: 22. Září, 2011 Super TuT .. 10/10Len mam jednu otazku ... V hre mi ide vsetko ale ked napisem hocijaky prikaz s tymto PM pise mi vsetko po anglicky, preco ? Napr. Nenapise: Pouzitie: /pm ID [text] Ale napise: Usage: /pm ID [text] A aj vsetko ostatne, ale len v PM. pozeraj na datum vole.. a k problemu asi mas filterscript nejaky zapnuty... co ma /pm prikaz "suspect" Link to comment Share on other sites More sharing options...
Shoot 0 Odesláno: 22. Září, 2011 Share Odesláno: 22. Září, 2011 mam len toto: SA-MP Dedicated Server ---------------------- v0.3a R3, ©2005-2009 SA-MP Team [18] [18] Server Plugins [18] -------------- [18] Loaded 0 plugins. [18] [18] Filter Scripts [18] --------------- [18] Loading filter script 'base.amx'... [18] --Base FS loaded. [18] Loading filter script 'gl_actions.amx'... [18] Loading filter script 'gl_property.amx'... [18] ----------------------------------- [18] Grand Larceny Property Filterscript [18] ----------------------------------- [18] Loading filter script 'gl_realtime.amx'... [18] Loaded 4 filter scripts. [18] Reading File: blank [18] Reading File: properties/houses.txt [18] Reading File: properties/businesses.txt [18] Reading File: properties/banks.txt [18] Reading File: properties/police.txt [18] ---------------------------------- [18] ... Made by Shoot ... [18] ---------------------------------- [18] Number of vehicle models: 59 Link to comment Share on other sites More sharing options...
Globální moderátor HighPrint 177 Odesláno: 22. Září, 2011 Globální moderátor Share Odesláno: 22. Září, 2011 Tak za prvé pokud jste četli pravidla, není ZAKÁZANÉ psát do starších témat v sekci Jak udělat a Návody. Link to comment Share on other sites More sharing options...
Guest OnO97 Odesláno: 3. Říjen, 2011 Share Odesláno: 3. Říjen, 2011 Jeto dobrý ale celkem dost velké využitý cpu.Zůstaneme u příkazu /pm Link to comment Share on other sites More sharing options...
Roox 1 Odesláno: 3. Říjen, 2011 Share Odesláno: 3. Říjen, 2011 Jeto dobrý ale celkem dost velké využitý cpu.Zůstaneme u příkazu /pm Ty seš taky chytrák, hlavně že chceš být reg. + ... Link to comment Share on other sites More sharing options...
Guest Odesláno: 3. Říjen, 2011 Share Odesláno: 3. Říjen, 2011 "suspect" prirodzená inteligencia z neho sála ako z pahreby... :shifty: :shh: Link to comment Share on other sites More sharing options...
Guest OnO97 Odesláno: 3. Říjen, 2011 Share Odesláno: 3. Říjen, 2011 no co prosté si myslim že lepśí je /pm ... nepochopily jste OMG ted abych to hledal OMG Dekuji skazily jste mi muj cas public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; new tmp[256]; new Message[256]; new gMessage[256]; new pName[MAX_PLAYER_NAME+1]; new iName[MAX_PLAYER_NAME+1]; new idx; cmd = strtok(cmdtext, idx); // PM Command if(strcmp("/sms", cmd, true) == 0) { GivePlayerMoney( playerid, -1); tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"{FF0000}Operátor:{0000FF}Použij /sms [č] [text sms]"); return 1; } new id = strval(tmp); gMessage = strrest(cmdtext,idx); if(!strlen(gMessage)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"{FF0000}Operátor:{0000FF}Použij /sms [č] [text sms]"); return 1; } if(!IsPlayerConnected(id)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"{FF0000}Operátor:{0000FF}Špatný tel. č.!"); return 1; } if(playerid != id) { GetPlayerName(id,iName,sizeof(iName)); GetPlayerName(playerid,pName,sizeof(pName)); format(Message,sizeof(Message),"Sms pro %s(č. %d): %s",iName,id,gMessage); SendClientMessage(playerid,PM_OUTGOING_COLOR,Message); format(Message,sizeof(Message),"Přijata sms!Od %s(č. %d): %s",pName,playerid,gMessage); SendClientMessage(id,PM_INCOMING_COLOR,Message); PlayerPlaySound(id,1056,0.0,0.0,0.0); //1085 printf("PM: %s",Message); } else { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"{FF0000}Operátor:{0000FF}Zadal jsi tvé tel. č. !"); } return 1; } return 0; } Link to comment Share on other sites More sharing options...
Guest Odesláno: 3. Říjen, 2011 Share Odesláno: 3. Říjen, 2011 myslíš base.amx ? strtok je shit... // // Base FS // Contains /pm /kick /ban commands. // #include #include "../include/gl_common.inc" #define ADMINFS_MESSAGE_COLOR 0xFF444499 #define PM_INCOMING_COLOR 0xFFFF22AA #define PM_OUTGOING_COLOR 0xFFCC2299 //------------------------------------------------ public OnFilterScriptInit() { print("\n--Base FS loaded.\n"); return 1; } //------------------------------------------------ public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; new tmp[256]; new Message[256]; new gMessage[256]; new pName[MAX_PLAYER_NAME+1]; new iName[MAX_PLAYER_NAME+1]; new idx; cmd = strtok(cmdtext, idx); // PM Command if(strcmp("/pm", cmd, true) == 0) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /pm (id) (message)"); return 1; } new id = strval(tmp); gMessage = strrest(cmdtext,idx); if(!strlen(gMessage)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /pm (id) (message)"); return 1; } if(!IsPlayerConnected(id)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/pm : Bad player ID"); return 1; } if(playerid != id) { GetPlayerName(id,iName,sizeof(iName)); GetPlayerName(playerid,pName,sizeof(pName)); format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage); SendClientMessage(playerid,PM_OUTGOING_COLOR,Message); format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage); SendClientMessage(id,PM_INCOMING_COLOR,Message); PlayerPlaySound(id,1085,0.0,0.0,0.0); printf("PM: %s",Message); } else { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"You cannot PM yourself"); } return 1; } //Kick Command if(strcmp("/kick", cmd, true) == 0) { if(IsPlayerAdmin(playerid)) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { return SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /kick (id) [reason]"); } new id = strval(tmp); if(!IsPlayerConnected(id)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/kick : Bad player ID"); return 1; } gMessage = strrest(cmdtext,idx); GetPlayerName(id,iName,sizeof(iName)); SendClientMessage(id,ADMINFS_MESSAGE_COLOR,"-- You have been kicked from the server."); if(strlen(gMessage) > 0) { format(Message,sizeof(Message),"Reason: %s",gMessage); SendClientMessage(id,ADMINFS_MESSAGE_COLOR,Message); } format(Message,sizeof(Message),">> %s(%d) has been kicked.",iName,id); SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,Message); Kick(id); return 1; } else { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/kick : You are not an admin"); return 1; } } //Ban Command if(strcmp("/ban", cmd, true) == 0) { if(IsPlayerAdmin(playerid)) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { return SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /ban (id) [reason]"); } new id = strval(tmp); if(!IsPlayerConnected(id)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/ban : Bad player ID"); return 1; } gMessage = strrest(cmdtext,idx); GetPlayerName(id,iName,sizeof(iName)); SendClientMessage(id,ADMINFS_MESSAGE_COLOR,"-- You have been banned from the server."); if(strlen(gMessage) > 0) { format(Message,sizeof(Message),"Reason: %s",gMessage); SendClientMessage(id,ADMINFS_MESSAGE_COLOR,Message); } format(Message,sizeof(Message),">> %s(%d) has been banned.",iName,id); SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,Message); Ban(id); return 1; } else { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/ban : You are not an admin"); return 1; } } return 0; } Link to comment Share on other sites More sharing options...
Guest OnO97 Odesláno: 3. Říjen, 2011 Share Odesláno: 3. Říjen, 2011 Uznávám porážku. Mněl jsi pravdu. Změn si fotku 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