Witam, napotkałem na dwa małe problemy z tymi klanami mianowicie po usunięciu klanu przez właściciela, gdy admin zmienia mape to klan się przywraca I druga sprawa w informacji o klanie widnieje informacja o ilosci osob w klanie oraz ich nicki, ale gdy ktos go opusci i tak jego nazwa tam widnieje oraz ilosc sie nie zmniejsza
Kod od usuwania
Spoiler
public DeleteGroup(id) { if(g_iPlayerGroup[id] == -1) { ColorChat(id, TEAM_COLOR, "^x04Nie jestes w klanie!"); return PLUGIN_CONTINUE; } if(!g_iIsGroupOwner[id]) { ColorChat(id, TEAM_COLOR, "^x04Tylko wlasciciel moze usunac klan!"); return PLUGIN_CONTINUE; } if(cod_get_user_coins(id) < 2000) { ColorChat(id, TEAM_COLOR, "^x04Masz za malo orderow!"); return PLUGIN_CONTINUE; } new iGroup = g_iPlayerGroup[id]; new iPlayer, szGroupMemberName[64], szVaultKey[128], szVaultData[14], szPlayerGroup[5], iDistrPos; for(new iMember = 1; iMember < ArrayGetCell(g_iGroupMembersCount, iGroup); iMember++) { ArrayGetString(g_szGroupMembers[iMember], iGroup, szGroupMemberName, 63); iPlayer = get_user_index(szGroupMemberName); if(iPlayer) { g_iPlayerGroup[iPlayer] = -1; UpdateInfo(iPlayer); ColorChat(iPlayer, TEAM_COLOR, "^x04Klan do ktorego nalezales zostal zniszczony!"); } formatex(szVaultKey, 127, "%s-PlayerData", szGroupMemberName); nvault_remove(g_iVault2, szVaultKey); } for(new iGroups = iGroup+1; iGroups < g_iGroupsCount; iGroups++) { for(new iMember = 1; iMember < ArrayGetCell(g_iGroupMembersCount, iGroups); iMember++) { ArrayGetString(g_szGroupMembers[iMember], iGroups, szGroupMemberName, 63); iPlayer = get_user_index(szGroupMemberName); if(iPlayer) g_iPlayerGroup[iPlayer]--; else { formatex(szVaultKey, 127, "%s-PlayerData", szGroupMemberName); nvault_get(g_iVault2, szVaultKey, szVaultData, 13); iDistrPos = contain(szVaultData, "#"); copy(szVaultData[iDistrPos], 13 - iDistrPos, ""); copy(szPlayerGroup, 4, szVaultData); formatex(szVaultData, 13, "%d#0", str_to_num(szPlayerGroup)-1); nvault_set(g_iVault2, szVaultKey, szVaultData); } } ArrayGetString(g_szGroupOwner, iGroups, szGroupMemberName, 63); iPlayer = get_user_index(szGroupMemberName); if(iPlayer) { g_iPlayerGroup[iPlayer]--; } else { formatex(szVaultKey, 127, "%s-PlayerData", szGroupMemberName); nvault_get(g_iVault2, szVaultKey, szVaultData, 13); iDistrPos = contain(szVaultData, "#"); copy(szVaultData[iDistrPos], 13-iDistrPos, ""); copy(szPlayerGroup, 4, szVaultData); formatex(szVaultData, 13, "%d#1", str_to_num(szPlayerGroup)-1); nvault_set(g_iVault2, szVaultKey, szVaultData); } } g_iPlayerGroup[id] = -1; g_iIsGroupOwner[id] = 0; formatex(szVaultKey, 127, "%s-PlayerData", g_szPlayerName[id]); nvault_remove(g_iVault2, szVaultKey); ArrayDeleteItem(g_szGroupOwner, iGroup); ArrayDeleteItem(g_szGroupName, iGroup); for(new i = 0; i < 4; i++) ArrayDeleteItem(g_iGroupAdditionalPoints[i], iGroup); for(new i = 1; i < MAX_MEMBERS; i++) ArrayDeleteItem(g_szGroupMembers[i], iGroup); ArrayDeleteItem(g_iGroupMembersCount, iGroup); ArrayDeleteItem(g_iGroupExperience, iGroup); ArrayDeleteItem(g_iGroupLevel, iGroup); g_iGroupsCount--; UpdateInfo(id); cod_set_user_coins(id, cod_get_user_coins(id) - 2000); ColorChat(id, TEAM_COLOR, "^x04Klan zostal usuniety!"); return PLUGIN_CONTINUE; }
kod od informacji
Spoiler
public GroupInfo(id) { if(g_iPlayerGroup[id] == -1) { ColorChat(id, TEAM_COLOR, "^x04Nie jestes w klanie!"); return PLUGIN_CONTINUE; } new iGroup = g_iPlayerGroup[id]; new szGroupName[20], szGroupMemberName[64], iMembersCount, szInfo[512], iLen; ArrayGetString(g_szGroupName, iGroup, szGroupName, 19); ArrayGetString(g_szGroupOwner, iGroup, szGroupMemberName, 63); iMembersCount = ArrayGetCell(g_iGroupMembersCount, iGroup); iLen = formatex(szInfo, 511, "Klan: \y%s^n", szGroupName); iLen += formatex(szInfo[iLen], 511-iLen, "\wWlasciciel: \y%s^n", szGroupMemberName); iLen += formatex(szInfo[iLen], 511-iLen, "\wPoziom: \y%d^n\wDoswiadczenie: \y%d^n", ArrayGetCell(g_iGroupLevel, iGroup), ArrayGetCell(g_iGroupExperience, iGroup)); if(iMembersCount > 1) { iLen += formatex(szInfo[iLen], 511-iLen, "\d================^n"); iLen += formatex(szInfo[iLen], 511-iLen, "\wRazem jest Was \y%d:^n", iMembersCount); for(new iMember = 1; iMember < iMembersCount; iMember++) { ArrayGetString(g_szGroupMembers[iMember], iGroup, szGroupMemberName, 63); iLen += formatex(szInfo[iLen], 511-iLen, "\wGracz: \y%s^n", szGroupMemberName); } } show_menu(id, 1023, szInfo); return PLUGIN_CONTINUE; }
Użytkownik chrisN edytował ten post 08.05.2018 16:45