forward split(const strsrc[], strdest[][], delimiter); public split(const strsrc[], strdest[][], delimiter) { new i, li; new aNum; new len; while(i <= strlen(strsrc)){ if(strsrc[i]==delimiter || i==strlen(strsrc)){ len = strmid(strdest[aNum], strsrc, li, i, 128); strdest[aNum][len] = 0; li = i+1; aNum++; } i++; } return 1; }
enum CKInfo { Player[MAX_PLAYER_NAME], Killer[MAX_PLAYER_NAME], Month, Day, Year } new CharacterKillInfo[10][CKInfo];
forward LoadCK(); public LoadCK() { new arrCoords[33][64]; new strFromFile2[256]; new File: file = fopen("CK.txt", io_read); if (file) { new idx; while (idx < sizeof(CharacterKillInfo)) { fread(file, strFromFile2); split(strFromFile2, arrCoords, '|'); strmid(CharacterKillInfo[idx][Player], arrCoords[0], 0, strlen(arrCoords[0]), 255); strmid(CharacterKillInfo[idx][Killer], arrCoords[1], 0, strlen(arrCoords[1]), 255); CharacterKillInfo[idx][Month] = strval(arrCoords[2]); CharacterKillInfo[idx][Day] = strval(arrCoords[3]); CharacterKillInfo[idx][Year] = strval(arrCoords[4]); print("---------------------------------"); printf("CKid %d - PlayerKilled: %s - Killer %s",idx,CharacterKillInfo[idx][Player],CharacterKillInfo[idx][Killer]); print("---------------------------------"); idx++; } } fclose(file); return 1; }
forward SaveCK(); public SaveCK() { new idx; new File: file2; while (idx < sizeof(CharacterKillInfo)) { new coordsstring[512]; format(coordsstring, sizeof(coordsstring), "%s|%s|%d|%d|%d\n", CharacterKillInfo[idx][Player], CharacterKillInfo[idx][Killer], CharacterKillInfo[idx][Month], CharacterKillInfo[idx][Day], CharacterKillInfo[idx][Year]); if(idx == 0) { file2 = fopen("CK.txt", io_write); } else { file2 = fopen("CK.txt", io_append); } fwrite(file2, coordsstring); idx++; fclose(file2); } return 1; }
new time; new string[128]; new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); if(strcmp(playername, CharacterKillInfo[playerid][Player], true) == 0) { SendClientMessage(playerid, 0xAA3333AA, "[Attention] = You're listed in the CK GTFO"); format(string, sizeof(string), "Date Died - %d %d %d [Month,Day,Year]", CharacterKillInfo[time][Month],CharacterKillInfo[time][Day],CharacterKillInfo[time][Year]); SendClientMessage(playerid, 0xAA3333AA, string); Kick(playerid); return 1; }
new tmp[128]; new idx; new giveplayerid; if (strcmp("/ack", cmdtext, true, 10) == 0) { for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerAdmin(playerid)) { tmp = strtok(cmdtext, idx); if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xAA3333AA, "USAGE: /ack [playerid]"); giveplayerid = strval(tmp); new plname[MAX_PLAYER_NAME]; GetPlayerName(playerid, plname, sizeof(plname)); CharacterKillInfo[giveplayerid][Player] = plname; new dYear, dMonth, dDay; getdate(dYear, dMonth, dDay); CharacterKillInfo[giveplayerid][Month] = dMonth; CharacterKillInfo[giveplayerid][Day] = dDay; CharacterKillInfo[giveplayerid][Year] = dYear; SendClientMessage(giveplayerid, 0xAA3333AA, "You have been character killed!"); Kick(giveplayerid); } } return 1; }
Originally Posted by Mo3
Weird, I didnt know a CK is like a ban. On the RP servers Iґve played on its just a new "beginning", a new character.
|