strontiumdog
01-12-2007, 10:02 PM
OK...I'm stuck and confused...!
I've taken the dod_swapteams plugin and have tried to modify it so that not only does it swap but it also sets the corresponding class (kinda).
Could somebody take a look through this and tell me why if I swap a Garand class, I end up as a Panzerjager. or if I swap from a Panzerjager, I end up a Sniper.....:eek:
//
// AMX Mod X Script
//
// Developed by The AMX Mod X DoD Community
// http://www.dodplugins.net
//
// Author: [RST] FireStorm
// Edited: StrontiumDog
//
#include <amxmodx>
#include <amxmisc>
#include <dodx>
#include <dodfun>
public plugin_init(){
register_plugin("DoD Swap Teams","1.1b","AMXX DoD Team")
register_concmd("amx_swapteams","admin_swapteams",ADMIN_SLAY,"swap all players' teams")
}
public plugin_modules(){
require_module("dodx")
}
// Code by DoD Team, edited by StrontiumDog
// Code was reliant on players joining in correct team
// This just checks their team and swaps them
public admin_swapteams(id,level,cid){
if (!cmd_access(id,level,cid,1))
{
console_print(id,"[TEAMS] You need to be an Admin to use this command")
return PLUGIN_HANDLED
}
new plist_public[32],pnum_public
new pl_class
get_players(plist_public, pnum_public)
// Is the map British or American (Thanks Diamond-Optic!)
new uk = dod_get_map_info(MI_ALLIES_TEAM)
for(new i=0; i<pnum_public; i++){
// On Allied side - transfer to Axis
if(is_user_connected(plist_public[i]) == 1 && get_user_team(plist_public[i]) == 2)
{
pl_class = dod_get_user_class(plist_public[i])
dod_set_user_team(plist_public[i], 1, 1);
switch (uk)
{
case 0:
{
switch (pl_class)
{
case DODC_GARAND:
{
dod_set_user_class(plist_public[i], DODC_KAR)
}
case DODC_CARBINE:
{
dod_set_user_class(plist_public[i], DODC_K43)
}
case DODC_THOMPSON:
{
dod_set_user_class(plist_public[i], DODC_MP40)
}
case DODC_GREASE:
{
dod_set_user_class(plist_public[i], DODC_MP44)
}
case DODC_BAR:
{
dod_set_user_class(plist_public[i], DODC_MP44)
}
case DODC_SNIPER:
{
dod_set_user_class(plist_public[i], DODC_SCHARFSCHUTZE)
}
case DODC_30CAL:
{
dod_set_user_class(plist_public[i], DODC_MG42)
}
case DODC_BAZOOKA:
{
dod_set_user_class(plist_public[i], DODC_PANZERJAGER)
}
}
}
case 1:
{
switch (pl_class)
{
case DODC_ENFIELD:
{
dod_set_user_class(plist_public[i], DODC_KAR)
}
case DODC_STEN:
{
dod_set_user_class(plist_public[i], DODC_MP40)
}
case DODC_BREN:
{
dod_set_user_class(plist_public[i], DODC_MP44)
}
case DODC_MARKSMAN:
{
dod_set_user_class(plist_public[i], DODC_SCHARFSCHUTZE)
}
case DODC_PIAT:
{
dod_set_user_class(plist_public[i], DODC_PANZERJAGER)
}
}
}
}
}
// On Axis side - transfer to Allied
else if(is_user_connected(plist_public[i]) == 1 && get_user_team(plist_public[i]) == 1)
{
pl_class = dod_get_user_class(plist_public[i])
dod_set_user_team(plist_public[i], 2, 1);
switch (uk)
{
case 0:
{
switch (pl_class)
{
case DODC_KAR:
{
dod_set_user_class(plist_public[i], DODC_GARAND)
}
case DODC_K43:
{
dod_set_user_class(plist_public[i], DODC_CARBINE)
}
case DODC_MP40:
{
dod_set_user_class(plist_public[i], DODC_THOMPSON)
}
case DODC_MP44:
{
dod_set_user_class(plist_public[i], DODC_GREASE)
}
case DODC_SCHARFSCHUTZE:
{
dod_set_user_class(plist_public[i], DODC_SNIPER)
}
case DODC_FG42:
{
dod_set_user_class(plist_public[i], DODC_BAR)
}
case DODC_SCOPED_FG42:
{
dod_set_user_class(plist_public[i], DODC_BAR)
}
case DODC_MG34:
{
dod_set_user_class(plist_public[i], DODC_30CAL)
}
case DODC_MG42:
{
dod_set_user_class(plist_public[i], DODC_30CAL)
}
case DODC_PANZERJAGER:
{
dod_set_user_class(plist_public[i], DODC_BAZOOKA)
}
}
}
case 1:
{
switch (pl_class)
{
case DODC_KAR:
{
dod_set_user_class(plist_public[i], DODC_ENFIELD)
}
case DODC_K43:
{
dod_set_user_class(plist_public[i], DODC_ENFIELD)
}
case DODC_MP40:
{
dod_set_user_class(plist_public[i], DODC_STEN)
}
case DODC_MP44:
{
dod_set_user_class(plist_public[i], DODC_STEN)
}
case DODC_SCHARFSCHUTZE:
{
dod_set_user_class(plist_public[i], DODC_MARKSMAN)
}
case DODC_FG42:
{
dod_set_user_class(plist_public[i], DODC_BREN)
}
case DODC_SCOPED_FG42:
{
dod_set_user_class(plist_public[i], DODC_BREN)
}
case DODC_MG34:
{
dod_set_user_class(plist_public[i], DODC_BREN)
}
case DODC_MG42:
{
dod_set_user_class(plist_public[i], DODC_BREN)
}
case DODC_PANZERJAGER:
{
dod_set_user_class(plist_public[i], DODC_PIAT)
}
}
}
}
}
}
client_print(0,print_chat,"[TEAMS] Teams were swapped")
return PLUGIN_HANDLED
}
I've taken the dod_swapteams plugin and have tried to modify it so that not only does it swap but it also sets the corresponding class (kinda).
Could somebody take a look through this and tell me why if I swap a Garand class, I end up as a Panzerjager. or if I swap from a Panzerjager, I end up a Sniper.....:eek:
//
// AMX Mod X Script
//
// Developed by The AMX Mod X DoD Community
// http://www.dodplugins.net
//
// Author: [RST] FireStorm
// Edited: StrontiumDog
//
#include <amxmodx>
#include <amxmisc>
#include <dodx>
#include <dodfun>
public plugin_init(){
register_plugin("DoD Swap Teams","1.1b","AMXX DoD Team")
register_concmd("amx_swapteams","admin_swapteams",ADMIN_SLAY,"swap all players' teams")
}
public plugin_modules(){
require_module("dodx")
}
// Code by DoD Team, edited by StrontiumDog
// Code was reliant on players joining in correct team
// This just checks their team and swaps them
public admin_swapteams(id,level,cid){
if (!cmd_access(id,level,cid,1))
{
console_print(id,"[TEAMS] You need to be an Admin to use this command")
return PLUGIN_HANDLED
}
new plist_public[32],pnum_public
new pl_class
get_players(plist_public, pnum_public)
// Is the map British or American (Thanks Diamond-Optic!)
new uk = dod_get_map_info(MI_ALLIES_TEAM)
for(new i=0; i<pnum_public; i++){
// On Allied side - transfer to Axis
if(is_user_connected(plist_public[i]) == 1 && get_user_team(plist_public[i]) == 2)
{
pl_class = dod_get_user_class(plist_public[i])
dod_set_user_team(plist_public[i], 1, 1);
switch (uk)
{
case 0:
{
switch (pl_class)
{
case DODC_GARAND:
{
dod_set_user_class(plist_public[i], DODC_KAR)
}
case DODC_CARBINE:
{
dod_set_user_class(plist_public[i], DODC_K43)
}
case DODC_THOMPSON:
{
dod_set_user_class(plist_public[i], DODC_MP40)
}
case DODC_GREASE:
{
dod_set_user_class(plist_public[i], DODC_MP44)
}
case DODC_BAR:
{
dod_set_user_class(plist_public[i], DODC_MP44)
}
case DODC_SNIPER:
{
dod_set_user_class(plist_public[i], DODC_SCHARFSCHUTZE)
}
case DODC_30CAL:
{
dod_set_user_class(plist_public[i], DODC_MG42)
}
case DODC_BAZOOKA:
{
dod_set_user_class(plist_public[i], DODC_PANZERJAGER)
}
}
}
case 1:
{
switch (pl_class)
{
case DODC_ENFIELD:
{
dod_set_user_class(plist_public[i], DODC_KAR)
}
case DODC_STEN:
{
dod_set_user_class(plist_public[i], DODC_MP40)
}
case DODC_BREN:
{
dod_set_user_class(plist_public[i], DODC_MP44)
}
case DODC_MARKSMAN:
{
dod_set_user_class(plist_public[i], DODC_SCHARFSCHUTZE)
}
case DODC_PIAT:
{
dod_set_user_class(plist_public[i], DODC_PANZERJAGER)
}
}
}
}
}
// On Axis side - transfer to Allied
else if(is_user_connected(plist_public[i]) == 1 && get_user_team(plist_public[i]) == 1)
{
pl_class = dod_get_user_class(plist_public[i])
dod_set_user_team(plist_public[i], 2, 1);
switch (uk)
{
case 0:
{
switch (pl_class)
{
case DODC_KAR:
{
dod_set_user_class(plist_public[i], DODC_GARAND)
}
case DODC_K43:
{
dod_set_user_class(plist_public[i], DODC_CARBINE)
}
case DODC_MP40:
{
dod_set_user_class(plist_public[i], DODC_THOMPSON)
}
case DODC_MP44:
{
dod_set_user_class(plist_public[i], DODC_GREASE)
}
case DODC_SCHARFSCHUTZE:
{
dod_set_user_class(plist_public[i], DODC_SNIPER)
}
case DODC_FG42:
{
dod_set_user_class(plist_public[i], DODC_BAR)
}
case DODC_SCOPED_FG42:
{
dod_set_user_class(plist_public[i], DODC_BAR)
}
case DODC_MG34:
{
dod_set_user_class(plist_public[i], DODC_30CAL)
}
case DODC_MG42:
{
dod_set_user_class(plist_public[i], DODC_30CAL)
}
case DODC_PANZERJAGER:
{
dod_set_user_class(plist_public[i], DODC_BAZOOKA)
}
}
}
case 1:
{
switch (pl_class)
{
case DODC_KAR:
{
dod_set_user_class(plist_public[i], DODC_ENFIELD)
}
case DODC_K43:
{
dod_set_user_class(plist_public[i], DODC_ENFIELD)
}
case DODC_MP40:
{
dod_set_user_class(plist_public[i], DODC_STEN)
}
case DODC_MP44:
{
dod_set_user_class(plist_public[i], DODC_STEN)
}
case DODC_SCHARFSCHUTZE:
{
dod_set_user_class(plist_public[i], DODC_MARKSMAN)
}
case DODC_FG42:
{
dod_set_user_class(plist_public[i], DODC_BREN)
}
case DODC_SCOPED_FG42:
{
dod_set_user_class(plist_public[i], DODC_BREN)
}
case DODC_MG34:
{
dod_set_user_class(plist_public[i], DODC_BREN)
}
case DODC_MG42:
{
dod_set_user_class(plist_public[i], DODC_BREN)
}
case DODC_PANZERJAGER:
{
dod_set_user_class(plist_public[i], DODC_PIAT)
}
}
}
}
}
}
client_print(0,print_chat,"[TEAMS] Teams were swapped")
return PLUGIN_HANDLED
}