Witam
otóż mam nie lada problem
mam klany do cod moda
wczoraj dopisałem funkcję która dodaje "sloty" do klanu
i tam jest że jeśli liczba graczy większa bądź równa liczbie slotów to zaproszenie nie działa
i cóż to wszystko świetnie się sprawuje
co dalej dodałem więc jeśli właściciel klanu zaprosi kogoś i on akceptuje to zmienna gracze rośnie o 1
klanGracze++
to też ładnie działa
problem pojawił się gdy chcę zrobić coś takiego klanGracze-- gdy ktoś opuści klan
public ShowKickMenu( id ) { new iPlayers[ 32 ], iNum; get_players( iPlayers, iNum ); new hMenu = menu_create( "Usun gracza z klanu:", "KickMenu_Handler" ); new szName[ 32 ], szData[ 6 ]; for( new i = 0, iPlayer; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; if( g_iklan[ iPlayer ] != g_iklan[ id ] || id == iPlayer ) continue; get_user_name( iPlayer, szName, charsmax( szName ) ); num_to_str( iPlayer, szData, charsmax( szData ) ); menu_additem( hMenu, szName, szData ); } menu_display( id, hMenu, 0 ); } public KickMenu_Handler( id, hMenu, iItem ) { if( iItem == MENU_EXIT ) { ShowLeaderMenu( id ); return PLUGIN_HANDLED; } new iAccess, hCallback, szData[ 6 ], szName[ 32 ]; menu_item_getinfo( hMenu, iItem, iAccess, szData, 5, szName, charsmax( szName ), hCallback ); new iPlayer = str_to_num( szData ); if( !is_user_connected( iPlayer ) ) { ColorChat( id, NORMAL, "%s Ten gracz nie jest juz polaczony.", g_szPrefix ); ShowTransferMenu( id ); return PLUGIN_HANDLED; } set_user_klan( iPlayer, -1 ); Cmd_klan( id ); new iPlayers[ 32 ], iNum, iTemp; get_players( iPlayers, iNum ); for( new i = 0; i < iNum; i++ ) { iTemp = iPlayers[ i ]; if( iTemp == iPlayer || g_iklan[ iTemp ] != g_iklan[ id ] ) continue; ColorChat( iTemp, NORMAL, "%s ^03%s^01 zostal usuniety z klanu.", g_szPrefix, szName ); } ColorChat( iPlayer, NORMAL, "%s zostales wyrzucony z klanu.", g_szPrefix, szName ); return PLUGIN_CONTINUE; }
jest to całe menu wyrzucenia gracz z teamu
take coś staram się tam gdzieś dodać
new aData[ klanInfo ]; ArraySetArray( g_aklans, g_iklan[ id ], aData ); aData[ klanGracze ]-- ArraySetArray( g_aklans, g_iklan[ id ], aData ); Saveklans();
i wtedy zmienna klanGracza nie ważne ile miała wcześniej zmienai się na 0 lub -1
co do funkcji która działa i dodaje to jest to
public InviteConfirmMenu_Handler( id, hMenu, iItem ) { if( iItem == MENU_EXIT ) return PLUGIN_HANDLED; new szData[ 6 ], iAccess, hCallback; menu_item_getinfo( hMenu, iItem, iAccess, szData, 5, _, _, hCallback ); new iklan = str_to_num( szData ); if( iklan == -1 ) return PLUGIN_HANDLED; if( isLeader( id, g_iklan[ id ] ) ) { ColorChat( id, NORMAL, "%s Nie mozesz opuscic klanu kiedy jestes leaderem.", g_szPrefix ); return PLUGIN_HANDLED; } set_user_klan( id, iklan ); new aData[ klanInfo ]; ArrayGetArray( g_aklans, iklan, aData ); ColorChat( id, NORMAL, "%s Dolaczyles do klanu ^03%s^01.", g_szPrefix, aData[ klanName ] ); ArraySetArray( g_aklans, g_iklan[ id ], aData ); aData[ klanGracze ]++ ArraySetArray( g_aklans, g_iklan[ id ], aData ); Saveklans(); return PLUGIN_CONTINUE; }
ta funkcaj podczas zaproszenia normalnie działa
może nei tam gdzie trzeba to umieszczam
lub coś źle robię
proszę o pomoc bo zaczynam się załamywać ;x