Plugin vip crashuje serwer
csMaster
07.07.2017
Dodałem na serwer plugin VIP i lekko go edytowałem, tzn dodałem w nim prefixy przed nickiem [Zombie], [Czlowiek], [VIP][Czlowiek] i teraz jak tylko coś napisze na say to wywala serwer z tym logiem:
Segmentation fault (core dumped)
Da się jakoś ustawić te prefixy żeby nie wywalały serwera ?
zm_vip.sma 17,48 KB 51 Ilość pobrań
Rivit
08.07.2017
public handleSayText(msgId,msgDest,msgEnt){ new id = get_msg_arg_int(1); new spec = (get_user_team(id) == 3); new unteam = (get_user_team(id) == 0); if(!is_user_connected(id)) return PLUGIN_CONTINUE; new szTmp[256],szTmp2[256],szTmp3[256],szTmp4[256],szTmp5[256],szTmp6[256],szTmp7[256],szTmp8[256],szTmp9[256],szTmp10[256],szTmp11[256]; new szTmp12[256],szTmp13[256],szTmp14[256],szTmp15[256],szTmp16[256],szTmp17[256],szTmp18[256],szTmp19[256],szTmp20[256],szTmp21[256]; new szTmp22[256],szTmp23[256],szTmp24[256],szTmp25[256],szTmp26[256],szTmp27[256]; get_msg_arg_string(2,szTmp, charsmax( szTmp ) ); new szPrefix0[64] = "^4[VIP]"; new szPrefix20[64] = "^4[Super VIP]"; new szPrefixZM0[64] = "\r[Zombie]"; new szPrefixH0[64] = "\b[Czlowiek]"; new szPrefixN0[64] = "^3[Nemesis]"; new szPrefixSU0[64] = "^3[Survivor]"; new szPrefixA0[64] = "\y[Assassin]"; new szPrefixSN0[64] = "^4[Sniper]"; new szPrefixB0[64] = "\r[Bombardier]"; new szPrefixO0[64] = "^3[Obserwator]"; new szPrefixZM1[64] = "\g[VIP]\r[Zombie]"; new szPrefixH1[64] = "\g[VIP]\b[Czlowiek]"; new szPrefixN1[64] = "^4[VIP]^3[Nemesis]"; new szPrefixSU1[64] = "^4[VIP]^3[Survivor]"; new szPrefixA1[64] = "\g[VIP]\y[Assassin]"; new szPrefixSN1[64] = "^4[VIP][Sniper]"; new szPrefixB1[64] = "\g[VIP]\r[Bombardier]"; new szPrefixO1[64] = "^4[VIP]^3[Obserwator]"; new szPrefixZM2[64] = "\g[Super VIP]\r[Zombie]"; new szPrefixH2[64] = "\g[Super VIP]\b[Czlowiek]"; new szPrefixN2[64] = "^4[Super VIP]^3[Nemesis]"; new szPrefixSU2[64] = "^4[Super VIP]^3[Survivor]"; new szPrefixA2[64] = "\g[Super VIP]\y[Assassin]"; new szPrefixSN2[64] = "^4[Super VIP][Sniper]"; new szPrefixB2[64] = "\g[Super VIP]\r[Bombardier]"; new szPrefixO2[64] = "^4[Super VIP]^3[Obserwator]"; if(!equal(szTmp,"#Cstrike_Chat_All")){ add(szTmp2,charsmax(szTmp2),szPrefix0); add(szTmp2,charsmax(szTmp2)," "); add(szTmp2,charsmax(szTmp2),szTmp); add(szTmp3,charsmax(szTmp3),szPrefix20); add(szTmp3,charsmax(szTmp3)," "); add(szTmp3,charsmax(szTmp3),szTmp); add(szTmp4,charsmax(szTmp4),szPrefixZM0); add(szTmp4,charsmax(szTmp4)," "); add(szTmp4,charsmax(szTmp4),szTmp); add(szTmp5,charsmax(szTmp5),szPrefixH0); add(szTmp5,charsmax(szTmp5)," "); add(szTmp5,charsmax(szTmp5),szTmp); add(szTmp6,charsmax(szTmp6),szPrefixN0); add(szTmp6,charsmax(szTmp6)," "); add(szTmp6,charsmax(szTmp6),szTmp); add(szTmp7,charsmax(szTmp7),szPrefixSU0); add(szTmp7,charsmax(szTmp7)," "); add(szTmp7,charsmax(szTmp7),szTmp); add(szTmp8,charsmax(szTmp8),szPrefixA0); add(szTmp8,charsmax(szTmp8)," "); add(szTmp8,charsmax(szTmp8),szTmp); add(szTmp9,charsmax(szTmp9),szPrefixSN0); add(szTmp9,charsmax(szTmp9)," "); add(szTmp9,charsmax(szTmp9),szTmp); add(szTmp10,charsmax(szTmp10),szPrefixB0); add(szTmp10,charsmax(szTmp10)," "); add(szTmp10,charsmax(szTmp10),szTmp); add(szTmp11,charsmax(szTmp11),szPrefixO0); add(szTmp11,charsmax(szTmp11)," "); add(szTmp11,charsmax(szTmp11),szTmp); add(szTmp12,charsmax(szTmp12),szPrefixZM1); add(szTmp12,charsmax(szTmp12)," "); add(szTmp12,charsmax(szTmp12),szTmp); add(szTmp13,charsmax(szTmp13),szPrefixH1); add(szTmp13,charsmax(szTmp13)," "); add(szTmp13,charsmax(szTmp13),szTmp); add(szTmp14,charsmax(szTmp14),szPrefixN1); add(szTmp14,charsmax(szTmp14)," "); add(szTmp14,charsmax(szTmp14),szTmp); add(szTmp15,charsmax(szTmp15),szPrefixSU1); add(szTmp15,charsmax(szTmp15)," "); add(szTmp15,charsmax(szTmp15),szTmp); add(szTmp16,charsmax(szTmp16),szPrefixA1); add(szTmp16,charsmax(szTmp16)," "); add(szTmp16,charsmax(szTmp16),szTmp); add(szTmp17,charsmax(szTmp17),szPrefixSN1); add(szTmp17,charsmax(szTmp17)," "); add(szTmp17,charsmax(szTmp17),szTmp); add(szTmp18,charsmax(szTmp18),szPrefixB1); add(szTmp18,charsmax(szTmp18)," "); add(szTmp18,charsmax(szTmp18),szTmp); add(szTmp19,charsmax(szTmp19),szPrefixO1); add(szTmp19,charsmax(szTmp19)," "); add(szTmp19,charsmax(szTmp19),szTmp); add(szTmp20,charsmax(szTmp20),szPrefixZM2); add(szTmp20,charsmax(szTmp20)," "); add(szTmp20,charsmax(szTmp20),szTmp); add(szTmp21,charsmax(szTmp21),szPrefixH2); add(szTmp21,charsmax(szTmp21)," "); add(szTmp21,charsmax(szTmp21),szTmp); add(szTmp22,charsmax(szTmp22),szPrefixN2); add(szTmp22,charsmax(szTmp22)," "); add(szTmp22,charsmax(szTmp22),szTmp); add(szTmp23,charsmax(szTmp23),szPrefixSU2); add(szTmp23,charsmax(szTmp23)," "); add(szTmp23,charsmax(szTmp23),szTmp); add(szTmp24,charsmax(szTmp24),szPrefixA2); add(szTmp24,charsmax(szTmp24)," "); add(szTmp24,charsmax(szTmp24),szTmp); add(szTmp25,charsmax(szTmp25),szPrefixSN2); add(szTmp25,charsmax(szTmp25)," "); add(szTmp25,charsmax(szTmp25),szTmp); add(szTmp26,charsmax(szTmp26),szPrefixB2); add(szTmp26,charsmax(szTmp26)," "); add(szTmp26,charsmax(szTmp26),szTmp); add(szTmp27,charsmax(szTmp27),szPrefixO2); add(szTmp27,charsmax(szTmp27)," "); add(szTmp27,charsmax(szTmp27),szTmp); } else { add(szTmp2,charsmax(szTmp2),szPrefix0); add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2"); add(szTmp3,charsmax(szTmp3),szPrefix20); add(szTmp3,charsmax(szTmp3),"^x03 %s1^x01 : %s2"); add(szTmp4,charsmax(szTmp4),szPrefixZM0); add(szTmp4,charsmax(szTmp4),"^x03 %s1^x01 : %s2"); add(szTmp5,charsmax(szTmp5),szPrefixH0); add(szTmp5,charsmax(szTmp5),"^x03 %s1^x01 : %s2"); add(szTmp6,charsmax(szTmp6),szPrefixN0); add(szTmp6,charsmax(szTmp6),"^x03 %s1^x01 : %s2"); add(szTmp7,charsmax(szTmp7),szPrefixSU0); add(szTmp7,charsmax(szTmp7),"^x03 %s1^x01 : %s2"); add(szTmp8,charsmax(szTmp8),szPrefixA0); add(szTmp8,charsmax(szTmp8),"^x03 %s1^x01 : %s2"); add(szTmp9,charsmax(szTmp9),szPrefixSN0); add(szTmp9,charsmax(szTmp9),"^x03 %s1^x01 : %s2"); add(szTmp10,charsmax(szTmp10),szPrefixB0); add(szTmp10,charsmax(szTmp10),"^x03 %s1^x01 : %s2"); add(szTmp11,charsmax(szTmp11),szPrefixO0); add(szTmp11,charsmax(szTmp11),"^x03 %s1^x01 : %s2"); add(szTmp12,charsmax(szTmp12),szPrefixZM1); add(szTmp12,charsmax(szTmp12),"^x03 %s1^x01 : %s2"); add(szTmp13,charsmax(szTmp13),szPrefixH1); add(szTmp13,charsmax(szTmp13),"^x03 %s1^x01 : %s2"); add(szTmp14,charsmax(szTmp14),szPrefixN1); add(szTmp14,charsmax(szTmp14),"^x03 %s1^x01 : %s2"); add(szTmp15,charsmax(szTmp15),szPrefixSU1); add(szTmp15,charsmax(szTmp15),"^x03 %s1^x01 : %s2"); add(szTmp16,charsmax(szTmp16),szPrefixA1); add(szTmp16,charsmax(szTmp16),"^x03 %s1^x01 : %s2"); add(szTmp17,charsmax(szTmp17),szPrefixSN1); add(szTmp17,charsmax(szTmp17),"^x03 %s1^x01 : %s2"); add(szTmp18,charsmax(szTmp18),szPrefixB1); add(szTmp18,charsmax(szTmp18),"^x03 %s1^x01 : %s2"); add(szTmp19,charsmax(szTmp19),szPrefixO1); add(szTmp19,charsmax(szTmp19),"^x03 %s1^x01 : %s2"); add(szTmp20,charsmax(szTmp20),szPrefixZM2); add(szTmp20,charsmax(szTmp20),"^x03 %s1^x01 : %s2"); add(szTmp21,charsmax(szTmp21),szPrefixH2); add(szTmp21,charsmax(szTmp21),"^x03 %s1^x01 : %s2"); add(szTmp22,charsmax(szTmp22),szPrefixN2); add(szTmp22,charsmax(szTmp22),"^x03 %s1^x01 : %s2"); add(szTmp23,charsmax(szTmp23),szPrefixSU2); add(szTmp23,charsmax(szTmp23),"^x03 %s1^x01 : %s2"); add(szTmp24,charsmax(szTmp24),szPrefixA2); add(szTmp24,charsmax(szTmp24),"^x03 %s1^x01 : %s2"); add(szTmp25,charsmax(szTmp25),szPrefixSN2); add(szTmp25,charsmax(szTmp25),"^x03 %s1^x01 : %s2"); add(szTmp26,charsmax(szTmp26),szPrefixB2); add(szTmp26,charsmax(szTmp26),"^x03 %s1^x01 : %s2"); add(szTmp27,charsmax(szTmp27),szPrefixO2); add(szTmp27,charsmax(szTmp27),"^x03 %s1^x01 : %s2"); } if(is_vip(id)) { if(zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && !zp_get_user_assassin(id) && !zp_get_user_bombardier(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp12); } else if(!zp_get_user_zombie(id) && !zp_get_user_survivor(id) && !zp_get_user_sniper(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp13); } else if(zp_get_user_nemesis(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp14); } else if(zp_get_user_survivor(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp15); } else if(zp_get_user_assassin(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp16); } else if(zp_get_user_sniper(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp17); } else if(zp_get_user_bombardier(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp18); } else if(spec) { set_msg_arg_string(2,szTmp19); } else if(unteam) { set_msg_arg_string(2,szTmp2); } } else if(is_svip(id)) { if(zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && !zp_get_user_assassin(id) && !zp_get_user_bombardier(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp20); } else if(!zp_get_user_zombie(id) && !zp_get_user_survivor(id) && !zp_get_user_sniper(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp21); } else if(zp_get_user_nemesis(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp22); } else if(zp_get_user_survivor(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp23); } else if(zp_get_user_assassin(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp24); } else if(zp_get_user_sniper(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp25); } else if(zp_get_user_bombardier(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp26); } else if(spec) { set_msg_arg_string(2,szTmp27); } else if(unteam) { set_msg_arg_string(2,szTmp3); } } else if(!is_vip(id) && !is_svip(id)) { if(zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && !zp_get_user_assassin(id) && !zp_get_user_bombardier(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp4); } else if(!zp_get_user_zombie(id) && !zp_get_user_survivor(id) && !zp_get_user_sniper(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp5); } else if(zp_get_user_nemesis(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp6); } else if(zp_get_user_survivor(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp7); } else if(zp_get_user_assassin(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp8); } else if(zp_get_user_sniper(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp9); } else if(zp_get_user_bombardier(id) && !spec && !unteam) { set_msg_arg_string(2,szTmp10); } else if(spec) { set_msg_arg_string(2,szTmp11); } } return PLUGIN_CONTINUE; }
To całe się wykonuje w momencie gdy coś powiesz.... Teksty prefixów przenieś moze do globalnych, pooptymalizuj troche warunki itp
csMaster
08.07.2017
A jest sposób na to żeby te prefixy połączyć używając get_msg_arg_string ?
tzn. Zostały by pojedyncze zmienne więc połowa niepotrzebna ale żeby gdy gracz ma VIP dodało przed prefixem kolejny ? Jakoś połączyć tego mi nie szło