Jump to content

Weedkiller

Regular User
  • Posts

    26
  • Joined

  • Last visited

Everything posted by Weedkiller

  1. Happy Birthday Weedkiller!

    Read more  
  2. This tutorial aims at setting you up for modding ET. I personally found the procedure less than straight forward, so here I will carbon-cut it and server it on a silver plate. Later tutorials will cover a coding example, and how to test it on a LAN "home-server" with omnibots. 1) Download & install Microsoft Visual Express C++ 2008. You have to register it, or it will stop working after a month. http://www.microsoft.com/express/Downloads/ 2) Get some code. Here's the latest etpub trunk. 3) Set up Microsoft Visual Express C++ 2008. You have to do 2 things. The first is to open your unpacked source code with VS 2008. Click the /.../src/wolf-vs2k8.sln file. Rightclick on Solution 'Wolf-vs2k8' (I'm using Solution 'Wolf-vs2k3' in the screenshot) and click Properties. From here, click Startup Project and select Multiple startup projects instead of Single startup project. Now do this: Instead of adding the path to your gaming-install, I recommend that you install another ET to a different location, and use this install for modding. I am working on another tutorial where I will be referring to "D:/WolfServer", so you might want to that, or similar, your mod-install-path. That's pretty much it. Let's try to compile the code. Make sure the "Configuration Solutions" drop-down menu (see the screenshot) is set to "release" and rightclick 'Wolf-vs2k8' again, and this time press "Build Solution". You should have 0 errors. If you have 0 errors then you are now ready to start modding. Here's a place with a lot of tutorials & information: http://www.splashdamage.com/forums/forumdisplay.php?f=8
  3. That's no way to run a forum, man. You talk to me, I answer you, you delete my post. That's not cool. btw, I took a screenshot.
  4. Was it you that deleted my reply, Scream?
  5. Good. Good for you! Good luck with your problem.
  6. ^ - my question too. Did you get rid of all your portable & normal ETs before you installed again (ET is rather independent when it comes to shortcuts...) ? Did you try to click ET.exe in c/program files (x86)/w:et ?
  7. One time, at band-camp.... I played some shows with the guitarist from that band. He was "serving" "millitary-denial-duties" at my music-school. It was before he got really famous with "Cartoons". Cool, huh...I haven't seen him in more than 15 years. Hej, Erling!
  8. I tried it and I won't be buying it. It doesn't feel like ET at all.
  9. Hey! Still getting used to this massive board...

    Read more  
  10. It sounds like mike**'s connection is being used for something else than ET. F. ex. an auto-update. Or another PC? Did you try again later?
  11. Thanks for testing it with me, guys! Think I got the Gain-knob where it's supposed to be! Feel free to close this thread or delete it or whatever! Before someone makes a "that's what she siad..." joke!
  12. Thank you for clearing that up. Sir, it is approx 1400 hours in the middle of the day in most of entire europe. 1500 in my location.
  13. Hi, I tried your ventrilo server, but there's not a single human that I can test my volume on? Is this normal? Or am doing something wrong? I connect fine and can enter all rooms. My hotkey responds. It is monday at 14.00 hours, which means it's something like 6 in the morning in lots of states. But not a single soul??
  14. Really creative work on the ET logo. Awesome work, Blackguard. Especially your banner-signature-thingy.
  15. http://www.youtube.com/watch?v=euXQbZDwV0w LMAO
  16. Uuh, I tried it and it seems to overwrite some essential et-stuff... I get orange/black squares (missing textures) on health, stamina & skill-bars, as well as the console background. My problems went away after I deleted it. Oh well, it was nice to see the old place again.
  17. Thank you. I got the idea from playing on your servers. Somehow the !mute command are often used in a different way, on busy servers. In a more "light" or "light-weight" way. Of course, you will have to hard-code my example. You will have to create a new mod. Nudge nudge. Edit: It would also work with minimum etpub 0.9.1 client .pk3s since the only file affected is qagame_mp_x86.dll. *boy, I'm so cool!* No, not at all. More or less, all I did was to copy g_shrubbot_mute & take a good look at ...let me find it again...vs2k8.sln....There it is: "sess.auto_unmute_time"
  18. This is the mighty !sftu command. It is intended for high level admins. It has precedence over !mute. !stfu'd players can not be !unmute'd; only !unstfu will lift the curse. Feel free to use it, abuse it, destroy, erase, improve it. /////////////////////////// // g_local.h /////////////////////////// // pheno: used for shrubbot freeze/unfreeze command qboolean frozen; // Weedkiller: used for shrubbot stfu command for precedence over mute qboolean stfu; /////////////////////////// // g_shrubbot.c /////////////////////////// qboolean G_shrubbot_stfu(gentity_t *ent, int skiparg) { int pids[MAX_CLIENTS], seconds, modifier = 1; char *reason, secs[8]; char name[MAX_NAME_LENGTH], err[MAX_STRING_CHARS]; char command[MAX_SHRUBBOT_CMD_LEN], *cmd; gentity_t *vic; Q_SayArgv(skiparg, command, sizeof(command)); cmd = command; if(*cmd == '!'){ cmd++; } if(Q_SayArgc() < 2+skiparg) { if(!Q_stricmp(cmd, "stfu")){ SPC("^/stfu usage: ^7!stfu [name|slot#] [time] [reason]"); } return qfalse; } Q_SayArgv(1+skiparg, name, sizeof(name)); if(ClientNumbersFromString(name, pids) != 1) { G_MatchOnePlayer(pids, err, sizeof(err)); SPC(va("^/%sstfu: ^7%s", Q_stricmp(cmd, "stfu")? "un":"", err)); return qfalse; } Q_SayArgv(2+skiparg, secs, sizeof(secs)); if(secs[0]) { int lastchar = strlen(secs) - 1; if(secs[lastchar] == 'w') modifier = 60*60*24*7; else if(secs[lastchar] == 'd') modifier = 60*60*24; else if(secs[lastchar] == 'h') modifier = 60*60; else if(secs[lastchar] == 'm') modifier = 60; if (modifier != 1) secs[lastchar] = '\0'; } seconds = atoi(secs); if(seconds > 0){ seconds *= modifier; } if(seconds <= 0){ reason = Q_SayConcatArgs(2+skiparg); }else{ reason = Q_SayConcatArgs(3+skiparg); } vic = &g_entities[pids[0]]; if(!_shrubbot_admin_higher(ent, vic)) { SPC(va("^/%sstfu: ^7sorry, but your intended victim has a higher admin" " level than you do", Q_stricmp(cmd, "mute")? "un":"")); return qfalse; } if(_shrubbot_immutable(ent, vic)) { SPC(va("^/%sstfu: ^7sorry, but your intended victim is immune to shrubbot commands", Q_stricmp(cmd, "stfu")? "un":"")); return qfalse; } if(vic->client->sess.auto_unmute_time != 0) { if(!Q_stricmp(cmd, "stfu")) { if(vic->client->sess.auto_unmute_time == -1){ seconds = 0; }else{ seconds = (vic->client->sess.auto_unmute_time - level.time)/1000; } SPC(va("^/stfu: ^7player is already muted%s", seconds ? va(" for %i seconds", seconds) : "")); return qtrue; } vic->client->sess.auto_unmute_time = 0; vic->client->stfu = qfalse; CPx(pids[0], "cp \"^5You've been un-stfu'd\n\"" ); AP(va("chat \"%s^7 has been un-stfu'd\" -1", vic->client->pers.netname )); }else{ if(!Q_stricmp(cmd, "unstfu")) { SPC("^/unstfu: ^7player is not currently muted"); return qtrue; } if(seconds<=0){ vic->client->sess.auto_unmute_time = -1; vic->client->stfu = qtrue; }else{ vic->client->sess.auto_unmute_time = (level.time + 1000*seconds); vic->client->stfu = qtrue; } CPx(pids[0], va("cp \"^5You've been power-muted%s%s\n\"", (seconds > 0) ? va(" for %i seconds",seconds): "", *reason ? va(" because: %s", reason): "")); AP(va("chat \"%s^7 has been power-muted%s\" -1", vic->client->pers.netname, (seconds > 0) ? va(" for %i seconds",seconds): "")); } ClientUserinfoChanged(pids[0]); return qtrue; } /////////////////////////// // g_shrubbot.c /////////////////////////// {"unpause", G_shrubbot_unpause, 'Z', 0, "unpauses the game", ""}, {"unstfu", G_shrubbot_stfu, 'e', 0, "unmute a stfu'd player", "[^3name|slot#^7]"}, /////////////////////////// // g_shrubbot_mute in g_shrubbot.c /////////////////////////// if(_shrubbot_immutable(ent, vic)) { SPC(va("^/%smute: ^7sorry, but your intended victim is immune to shrubbot commands", Q_stricmp(cmd, "mute")? "un":"")); return qfalse; } if(vic->client->stfu) { SPC(va("^/%smute: ^7Sorry, your victim is power-muted", Q_stricmp(cmd, "mute")? "un":"")); return qfalse; } /////////////////////////// // G_UnMute_v in g_vote.c /////////////////////////// if((!vote_allow_muting.integer && ent && !ent->client->sess.referee) || (!ent->client->stfu) ) { G_voteDisableMessage(ent, arg); return(G_INVALID); Don't forget to do the shrubbot copy/paste drill. I made it just now, but it seems to work fine.
  19. I never used the auto-mute function. Mainly because it mutes innocent players. Also, Kids will just start writing "boooon" "n0 0b" etc etc instead, and it will become a sport for them. Instead, take a good long look at the logfile ( I always use a nice little program called "etsnitch" ) and note those players that just won't stfu and mute them forever. No more problems. You still have all your players. In general, I think you're too kind on the "noob-callers". If someone goes to the trouble of locating the chat to manually write "noob" to someone that fragged him (what a bit surprise in ET! - u got fragged!) then that person is an internet-douche whose attitude are not likely to change within the next 5-20 years. MUTE THEM! FOREVER! ASAP! They ruin the game for normal players that play ET for fun.
  20. It's great that you can hear him run out of air - I dislike over-produced crap where you can't tell if he could ever do it live.
  21. This is the map that learned me to use the compass I love this map. Everybody hates it. They copy/pasted half of the map. Trenchtoast was made just for the RTCW-demo, IIRC. This and mp_beach was the only two maps in it. Are there any waypoints for the bots? Is it played on any of your servers? Yay! I have trenchtoast!
  22. I never understood the big deal with thompson + mp40. It makes the shotgun inferior. There's no shotgun + smg || shotgun + shotgun. It also farts in the general direction of the purpose of the Field Ops handing out ammo - nobody cares when they all start with atleast 2 x 90 bullets. But the worst part is the auto-switching when you pick up an smg you're not currently using. It's lethal in a dogfight.
  23. I know you have reasons for doing it your way. I always ran maximum 6 bots. But sure, even then the server makes a medium lag-spike when you execute "bot kickall". I never had any crashes with local servers though, kicking vast amounts of bots. That was with etpub. I agree with the "crashy-smashy policy". I once ran a 2.55 server that would crash at random when ever someone had to download a file. My solution at that time was to then disable downloads. Which made it more popular than ever. It made it to the top 150-ish & it was only 20 slots. Today "No Download" is synonymous with "Download". Did you ever consider making your own "enhancedmod"...? What's the main benefits of "enhancedmod" today? Still etpubs custom commands? W33D5M0K3R5 about '07 (?) Barnie connected. Barnie: I got fired today. Me: that sucks. Me: Now is the time for opportunity and all that... Barnie: yes Me: BS... Barnie: yes
  24. I add the bot commands to a cfg and execute it from the shrubbot custom command. [command] command = 6bots desc = Set bot-count to 6 (3 vs 3) exec = exec 6bots.cfg levels = 999 777 666 400 300 200 6bots.cfg could look like this: bot kickall bot addbot 2 2 ^4F|A_bot01 bot addbot 2 3 ^4F|A_bot02 bot addbot 2 4 ^4F|A_bot03 bot addbot 1 2 ^4F|A_bot04 bot addbot 1 3 ^4F|A_bot05 bot addbot 1 4 ^4F|A_bot06 That way you can control classes too. But of course you already knew that.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.