 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Фраги
| |
| Classic | Дата: Суббота, 21.02.2009, 16:08 | Сообщение # 1 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 83
Награды: 2
Город: Цурих)
Репутация: 3
Замечания: 40%
Статус: 
| Вообщем у меня такая проблемма при регистрации в игре игрокам не с того не с сего прибывают фраги кому 100 кому 60 кому 3 я пытался исправить но у меня не получилось может кто нить сможет мне помочь + гарантиую вот сам код [pwn] if (strcmp(cmd, "/register", true)==0) { //new string[265]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, "Правильное ипользование: /register [пароль]"); return 1; } if (gPlayerAccount[playerid] == 1) { SendClientMessage(playerid, COLOR_GREY, " Этот ник уже зарегистрирован"); return 1; } strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255); Encrypt(PlayerInfo[playerid][pPassword]); GetPlayerName(playerid, playername, sizeof(playername)); format(string, sizeof(string), "%s.cer", playername); new File: file = fopen(string, io_read); if (file) { SendClientMessage(playerid, COLOR_GREY, " Этот ник уже зарегистрирован"); fclose(file); return 1; } new File:hFile; hFile = fopen(string, io_append); new var[32];// format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var); format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pBank]);fwrite(hFile, var); fclose(hFile); SendClientMessage(playerid, COLOR_WHITE, "Вы успешно зарегистрированы!"); SendClientMessage(playerid, COLOR_WHITE, "В следующий раз вводите /login <пароль> "); OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]); SetPlayerScore(playerid, -1); return 1; }[/pwn]
|
| |
|
|
| Scorpi | Дата: Суббота, 21.02.2009, 16:56 | Сообщение # 2 |
|
Группа:
I'm V.I.P.
Сообщений: 1504
Награды: 33
Репутация: 723
Замечания: 0%
Статус: 
| [pwn]if (strcmp(cmd, "/register", true)==0) { //new string[265]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, "Правильное ипользование: /register [пароль]"); return 1; } if (gPlayerAccount[playerid] == 1) { SendClientMessage(playerid, COLOR_GREY, " Этот ник уже зарегистрирован"); return 1; } strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255); Encrypt(PlayerInfo[playerid][pPassword]); GetPlayerName(playerid, playername, sizeof(playername)); format(string, sizeof(string), "%s.cer", playername); new File: file = fopen(string, io_read); if (file) { SendClientMessage(playerid, COLOR_GREY, " Этот ник уже зарегистрирован"); fclose(file); return 1; } new File:hFile; hFile = fopen(string, io_append); new var[32];// format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var); format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pBank]);fwrite(hFile, var); fclose(hFile); SendClientMessage(playerid, COLOR_WHITE, "Вы успешно зарегистрированы!"); SendClientMessage(playerid, COLOR_WHITE, "В следующий раз вводите /login <пароль> "); OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]); return 1; } [/pwn] Grits, всё)
|
| |
|
|
| Classic | Дата: Суббота, 21.02.2009, 16:58 | Сообщение # 3 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 83
Награды: 2
Город: Цурих)
Репутация: 3
Замечания: 40%
Статус: 
| неа не все ))ты убрал SetPlayerScore(playerid, -1); я его спецом поставил думал что прибавлятся не буду аони все равно прибавляются
|
| |
|
|
| Scorpi | Дата: Суббота, 21.02.2009, 17:06 | Сообщение # 4 |
|
Группа:
I'm V.I.P.
Сообщений: 1504
Награды: 33
Репутация: 723
Замечания: 0%
Статус: 
| Grits, в поиск вбей SetPlayerScore(playerid, 60); И у тебя найдёт всё где прибавляется 60 очков))
|
| |
|
|
| Classic | Дата: Суббота, 21.02.2009, 17:09 | Сообщение # 5 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 83
Награды: 2
Город: Цурих)
Репутация: 3
Замечания: 40%
Статус: 
| да нет там этого в том то и дело фраги даются от балды каждому разное количество и не всем они даются а как бы вроде через раз
|
| |
|
|
| Scorpi | Дата: Суббота, 21.02.2009, 17:11 | Сообщение # 6 |
|
Группа:
I'm V.I.P.
Сообщений: 1504
Награды: 33
Репутация: 723
Замечания: 0%
Статус: 
| Grits, тогда SetPlayerScore и пересмотри всё, и удали что ненужно
|
| |
|
|
| Classic | Дата: Суббота, 21.02.2009, 17:13 | Сообщение # 7 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 83
Награды: 2
Город: Цурих)
Репутация: 3
Замечания: 40%
Статус: 
| да я тебе говорю там не из за этого я все SetPlayerScore пересмотрел не на раз там из за чего то другого Добавлено (21.02.2009, 17:13) --------------------------------------------- да я тебе говорю там не из за этого я все SetPlayerScore пересмотрел не на раз там из за чего то другого Добавлено (21.02.2009, 17:13) --------------------------------------------- да я тебе говорю там не из за этого я все SetPlayerScore пересмотрел не на раз там из за чего то другого
|
| |
|
|
| Scorpi | Дата: Суббота, 21.02.2009, 17:23 | Сообщение # 8 |
|
Группа:
I'm V.I.P.
Сообщений: 1504
Награды: 33
Репутация: 723
Замечания: 0%
Статус: 
| Grits, Больше никак фраги сами прибавлятся небудут)
|
| |
|
|
| Classic | Дата: Суббота, 21.02.2009, 17:43 | Сообщение # 9 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 83
Награды: 2
Город: Цурих)
Репутация: 3
Замечания: 40%
Статус: 
| я сам ничего не понимаю но по ходу так и есть
|
| |
|
|
| [RD]Chez | Дата: Суббота, 21.02.2009, 18:50 | Сообщение # 10 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус: 
| ищи random и пересмотри блок onplayerdeath и onplayerlogin внимательней. и проверь файлы игроков.... тк при реге в гф рандомом задается число и в конфиг игрока прописывается
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^
chezrd@gmail.com lance@chez-lab.ru
|
| |
|
|
| [TMP]oDyBaH | Дата: Воскресенье, 22.02.2009, 15:11 | Сообщение # 11 |
|
Местный
Группа:
Продвинутые
Сообщений: 667
Награды: 13
Город: Пенза
Репутация: -3
Замечания: 80%
Статус: 
| блин у мну тоже начались фраги даваца просто так= ))) вот public OnPlayerLogin(playerid,const string[]) [offtop]{ new pname2[MAX_PLAYER_NAME]; new pname3[MAX_PLAYER_NAME]; new string2[64]; new string3[128]; GetPlayerName(playerid, pname2, sizeof(pname2)); format(string2, sizeof(string2), "%s.cer", pname2); new File: UserFile = fopen(string2, io_read); if (UserFile) { new valtmp[128]; fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255); if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0)) { new key[128],val[128]; new Data[128]; while(fread(UserFile,Data,sizeof(Data))) { key = ini_GetKey(Data); if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); } if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); } if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); } GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]); } fclose(UserFile); gPlayerLogged[playerid] = 1; gPlayerAccount[playerid] = 1; new kills = PlayerInfo[playerid][pKills]; SetPlayerScore(playerid, kills); GetPlayerName(playerid, pname3, sizeof(pname3)); format(string3, sizeof(string3), "* Привет %s, ты удачно залогинился!", pname3); SendClientMessage(playerid, COLOR_WHITE,string3); } else { SendClientMessage(playerid, COLOR_GREY, "* Пароль не соответствует имени ( Не правильный пароль )"); fclose(UserFile); } } return 1; } [/offtop] Вот: public OnPlayerDeath(playerid, killerid, reason) [pwn] { DropPlayerWeapons(playerid); new kills = PlayerInfo[playerid][pKills]; SetPlayerScore(playerid, kills); new Float:Health; GetPlayerHealth(playerid, Health); if(Health == 0.0) { PlayerInfo[playerid][pDeaths] += 1; } GivePlayerMoney(killerid,500); PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 1; if(killerid == INVALID_PLAYER_ID) { SendDeathMessage(INVALID_PLAYER_ID,playerid,reason); GameTextForPlayer(playerid,"~r~WASTED",4000,1); } else { //============================================================================== if(gTeam[killerid] == TEAM_GROOVE) { taketurfbackcount[killerid]++; if(taketurfbackcount[killerid] == REOWN_TURF) { GangZoneStopFlashForAll(Grove); GangZoneHideForAll(Grove); GangZoneShowForAll(Grove, GetPlayerColor(killerid) ); taketurfbackcount[killerid]=0; } } if(gTeam[killerid] == TEAM_MONEY) { taketurfbackcount[killerid]++; if(taketurfbackcount[killerid] == REOWN_TURF) { GangZoneStopFlashForAll(Money); GangZoneHideForAll(Money); GangZoneShowForAll(Money, GetPlayerColor(killerid) ); taketurfbackcount[killerid]=0; } } if(gTeam[killerid] == TEAM_BALLA) { taketurfbackcount[killerid]++; if(taketurfbackcount[killerid] == REOWN_TURF) { GangZoneStopFlashForAll(Balla); GangZoneHideForAll(Balla); GangZoneShowForAll(Balla, GetPlayerColor(killerid) ); taketurfbackcount[killerid]=0; } } if(gTeam[killerid] == TEAM_POLICE) { taketurfbackcount[killerid]++; if(taketurfbackcount[killerid] == REOWN_TURF) { GangZoneStopFlashForAll(Police); GangZoneHideForAll(Police); GangZoneShowForAll(Police, GetPlayerColor(killerid) ); taketurfbackcount[killerid]=0; } } if(gTeam[killerid] == TEAM_BIKERS) { taketurfbackcount[killerid]++; if(taketurfbackcount[killerid] == REOWN_TURF) { GangZoneStopFlashForAll(Bikers); GangZoneHideForAll(Bikers); GangZoneShowForAll(Bikers, GetPlayerColor(killerid) ); taketurfbackcount[killerid]=0; } } if(gTeam[killerid] == TEAM_THIEVES) { taketurfbackcount[killerid]++; if(taketurfbackcount[killerid] == REOWN_TURF) { GangZoneStopFlashForAll(Thieves); GangZoneHideForAll(Thieves); GangZoneShowForAll(Thieves, GetPlayerColor(killerid) ); taketurfbackcount[killerid]=0; } } if(gTeam[killerid] == TEAM_MAFIA) { taketurfbackcount[killerid]++; if(taketurfbackcount[killerid] == REOWN_TURF) { GangZoneStopFlashForAll(Mafia); GangZoneHideForAll(Mafia); GangZoneShowForAll(Mafia, GetPlayerColor(killerid) ); taketurfbackcount[killerid]=0; } } if(gTeam[killerid] == TEAM_GIRLS) { taketurfbackcount[killerid]++; if(taketurfbackcount[killerid] == REOWN_TURF) { GangZoneStopFlashForAll(Girls); GangZoneHideForAll(Girls); GangZoneShowForAll(Girls, GetPlayerColor(killerid) ); taketurfbackcount[killerid]=0; } } if(gTeam[killerid] == TEAM_VAGOS) { taketurfbackcount[killerid]++; if(taketurfbackcount[killerid] == REOWN_TURF) { GangZoneStopFlashForAll(Vagos); GangZoneHideForAll(Vagos); GangZoneShowForAll(Vagos, GetPlayerColor(killerid) ); taketurfbackcount[killerid]=0; } } //=============== [ АТАКА И ЗАХВАТ ЗОН БАНД ] ==================================== //============================================================================== if((gTeam[playerid] == TEAM_GROOVE) && (gTeam[killerid] != TEAM_GROOVE) && (killerid != INVALID_PLAYER_ID)) { gangkillcount[playerid]++; if(gangkillcount[playerid] == GANGAREA_WARNINGS) { SendClientMessageToAll(COLOR_RED," Смотрящий: Территория банды Grove атакована!"); GangZoneFlashForAll(Grove,GetPlayerColor(killerid) ); } if(gangkillcount[playerid] == GANGAREA_TAKE) { new KillerName[30]; GetPlayerName(killerid, KillerName, 30); format(str, 256, " Смотрящий: %s Захватил территорию банды Grove!", KillerName); SendClientMessageToAll(GetPlayerColor(killerid), str); GangZoneStopFlashForAll(Grove); GangZoneHideForAll(Grove); GangZoneShowForAll(Grove, GetPlayerColor(killerid) ); gangkillcount[playerid]=0; } } if((gTeam[playerid] == TEAM_MONEY) && (gTeam[killerid] != TEAM_MONEY) && (killerid != INVALID_PLAYER_ID)) {//================================== gangkillcount[playerid]++; if(gangkillcount[playerid] == GANGAREA_WARNINGS) { SendClientMessageToAll(COLOR_RED," Смотрящий: Территория банды Money атакована!"); GangZoneFlashForAll(Money,GetPlayerColor(killerid) ); } if(gangkillcount[playerid] == GANGAREA_TAKE) { new KillerName[30]; GetPlayerName(killerid, KillerName, 30); format(str, 256, " Смотрящий: %s Захватил территорию банды Money!", KillerName); SendClientMessageToAll(GetPlayerColor(killerid), str); GangZoneStopFlashForAll(Money); GangZoneHideForAll(Money); GangZoneShowForAll(Money, GetPlayerColor(killerid) ); gangkillcount[playerid]=0; } } if((gTeam[playerid] == TEAM_BALLA) && (gTeam[killerid] != TEAM_BALLA) && (killerid != INVALID_PLAYER_ID)) {//==================================== gangkillcount[playerid]++; if(gangkillcount[playerid] == GANGAREA_WARNINGS) { SendClientMessageToAll(COLOR_RED," Смотрящий: Территория банды Ballas атакована!"); GangZoneFlashForAll(Balla,GetPlayerColor(killerid) ); } if(gangkillcount[playerid] == GANGAREA_TAKE) { new KillerName[30]; GetPlayerName(killerid, KillerName, 30); format(str, 256, " Смотрящий: %s Захватил территорию банды Ballas!", KillerName); SendClientMessageToAll(GetPlayerColor(killerid), str); GangZoneStopFlashForAll(Balla); GangZoneHideForAll(Balla); GangZoneShowForAll(Balla, GetPlayerColor(killerid) ); gangkillcount[playerid]=0; } } if((gTeam[playerid] == TEAM_POLICE) && (gTeam[killerid] != TEAM_POLICE) && (killerid != INVALID_PLAYER_ID)) {//==================================== gangkillcount[playerid]++; if(gangkillcount[playerid] == GANGAREA_WARNINGS) { SendClientMessageToAll(COLOR_RED," Смотрящий: Территория банды Police атакована!"); GangZoneFlashForAll(Police,GetPlayerColor(killerid) ); } if(gangkillcount[playerid] == GANGAREA_TAKE) { new KillerName[30]; GetPlayerName(killerid, KillerName, 30); format(str, 256, " Смотрящий: %s Захватил территорию банды Police!", KillerName); SendClientMessageToAll(GetPlayerColor(killerid), str); GangZoneStopFlashForAll(Police); GangZoneHideForAll(Police); GangZoneShowForAll(Police, GetPlayerColor(killerid) ); gangkillcount[playerid]=0; } } if((gTeam[playerid] == TEAM_BIKERS) && (gTeam[killerid] != TEAM_BIKERS) && (killerid != INVALID_PLAYER_ID)) {//==================================== gangkillcount[playerid]++; if(gangkillcount[playerid] == GANGAREA_WARNINGS) { SendClientMessageToAll(COLOR_RED," Смотрящий: Территория банды Bikers атакована!"); GangZoneFlashForAll(Bikers,GetPlayerColor(killerid) ); } if(gangkillcount[playerid] == GANGAREA_TAKE) { new KillerName[30]; GetPlayerName(killerid, KillerName, 30); format(str, 256, " Смотрящий: %s Захватил территорию банды Bikers!", KillerName); SendClientMessageToAll(GetPlayerColor(killerid), str); GangZoneStopFlashForAll(Bikers); GangZoneHideForAll(Bikers); GangZoneShowForAll(Bikers, GetPlayerColor(killerid) ); gangkillcount[playerid]=0; } } if((gTeam[playerid] == TEAM_THIEVES) && (gTeam[killerid] != TEAM_THIEVES) && (killerid != INVALID_PLAYER_ID)) {//==================================== gangkillcount[playerid]++; if(gangkillcount[playerid] == GANGAREA_WARNINGS) { SendClientMessageToAll(COLOR_RED," Смотрящий: Территория Thieves атакована!"); GangZoneFlashForAll(Thieves,GetPlayerColor(killerid) ); } if(gangkillcount[playerid] == GANGAREA_TAKE) { new KillerName[30]; GetPlayerName(killerid, KillerName, 30); format(str, 256, " Смотрящий: %s Захватил территорию Thieves!", KillerName); SendClientMessageToAll(GetPlayerColor(killerid), str); GangZoneStopFlashForAll(Thieves); GangZoneHideForAll(Thieves); GangZoneShowForAll(Thieves, GetPlayerColor(killerid) ); gangkillcount[playerid]=0; } } if((gTeam[playerid] == TEAM_MAFIA) && (gTeam[killerid] != TEAM_MAFIA) && (killerid != INVALID_PLAYER_ID)) {//==================================== gangkillcount[playerid]++; if(gangkillcount[playerid] == GANGAREA_WARNINGS) { SendClientMessageToAll(COLOR_RED," Смотрящий: Территория банды Mafia атакована!"); GangZoneFlashForAll(Mafia,GetPlayerColor(killerid) ); } if(gangkillcount[playerid] == GANGAREA_TAKE) { new KillerName[30]; GetPlayerName(killerid, KillerName, 30); format(str, 256, " Смотрящий: %s Захватил территорию банды Mafia!", KillerName); SendClientMessageToAll(GetPlayerColor(killerid), str); GangZoneStopFlashForAll(Mafia); GangZoneHideForAll(Mafia); GangZoneShowForAll(Mafia, GetPlayerColor(killerid) ); gangkillcount[playerid]=0; } } if((gTeam[playerid] == TEAM_GIRLS) && (gTeam[killerid] != TEAM_GIRLS) && (killerid != INVALID_PLAYER_ID)) {//==================================== gangkillcount[playerid]++; if(gangkillcount[playerid] == GANGAREA_WARNINGS) { SendClientMessageToAll(COLOR_RED," Смотрящий: Территория банды Girls атакована!"); GangZoneFlashForAll(Bikers,GetPlayerColor(killerid) ); } if(gangkillcount[playerid] == GANGAREA_TAKE) { new KillerName[30]; GetPlayerName(killerid, KillerName, 30); format(str, 256, " Смотрящий: %s Захватил территорию банды Girls!", KillerName); SendClientMessageToAll(GetPlayerColor(killerid), str); GangZoneStopFlashForAll(Girls); GangZoneHideForAll(Girls); GangZoneShowForAll(Girls, GetPlayerColor(killerid) ); gangkillcount[playerid]=0; } } if((gTeam[playerid] == TEAM_VAGOS) && (gTeam[killerid] != TEAM_VAGOS) && (killerid != INVALID_PLAYER_ID)) {//==================================== gangkillcount[playerid]++; if(gangkillcount[playerid] == GANGAREA_WARNINGS) { SendClientMessageToAll(COLOR_RED," Смотрящий: Территория банды Vagos атакована!"); GangZoneFlashForAll(Vagos,GetPlayerColor(killerid) ); } if(gangkillcount[playerid] == GANGAREA_TAKE) { new KillerName[30]; GetPlayerName(killerid, KillerName, 30); format(str, 256, " Смотрящий: %s Захватил территорию банды Vagos!", KillerName); SendClientMessageToAll(GetPlayerColor(killerid), str); GangZoneStopFlashForAll(Vagos); GangZoneHideForAll(Vagos); GangZoneShowForAll(Vagos, GetPlayerColor(killerid) ); gangkillcount[playerid]=0; } } // Valid kill if(gTeam[killerid] != gTeam[playerid]) { SendDeathMessage(killerid,playerid,reason); SetPlayerScore(killerid,GetPlayerScore(killerid)+1); GivePlayerMoney(killerid, 900); GivePlayerMoney(playerid, -700); GameTextForPlayer(killerid,"~r~OWNED",1500,1); GameTextForPlayer(playerid,"~r~WASTED",4000,1); } else { //Team Killer new string[256],plname[MAX_PLAYER_NAME]; GetPlayerName(killerid, plname, MAX_PLAYER_NAME); format(string, sizeof(string), " Предупреждение! %s Вы наказаны за убийство члена своей банды.", plname); SendClientMessage(killerid, 0xFFFF00AA, string); SendDeathMessage(killerid,playerid,reason); GivePlayerMoney(killerid, -1500); SetPlayerScore(killerid, GetPlayerScore(killerid) - 1); GameTextForPlayer(killerid,"~r~TEAM KILLER",5000,3); teamkillcount[killerid]++; if(teamkillcount[killerid] >= MAX_TEAMKILLS_FORJAIL) { SetPlayerPos(killerid,-1435.377,931.6247,1041.531); SetPlayerInterior(killerid,15); SetTimerEx("jailrelease",JAIL_TIME_LENGTH,0,"d",killerid); IsPlayerInJail[killerid] = 1; //TextDrawShowForPlayer(killerid, jailcounter); GivePlayerMoney(killerid, -2000); //SetPlayerScore(killerid, GetPlayerScore(killerid) - 2); } if(teamkillcount[killerid] >= MAX_TEAMKILLS) { new teamkillername[30], tkmsg[256]; GetPlayerName(killerid, teamkillername, 30); format(tkmsg, 256, "***[ %s ] был кикнут за убийство члена своей банды.", teamkillername); SendClientMessageToAll(0xAFAFAFAA, tkmsg); SendClientMessage(killerid, 0xAFAFAFAA, " Вы были кикнуты за убийство члена своей банды."); Kick(killerid); } } } return 1; } forward jailrelease(killerid); public jailrelease(killerid) { SpawnPlayer(killerid); SetPlayerInterior(killerid,0); IsPlayerInJail[killerid] = 0; ResetPlayerWeapons(killerid); GivePlayerWeapon(killerid,24,300); } [/pwn] Добавлено (21.02.2009, 23:38) --------------------------------------------- __________ ну и вот сама регистрация= ))) [offtop]#include <a_samp> #define COLOR_GREY 0xBEBEBEAA #define COLOR_WHITE 0xFFFFFFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_GRAD5 0xE3E3E3FF #define COLOR_GRAD1 0xB4B5B7FF forward ShowStats(playerid,targetid); forward OnPlayerUpdate(playerid); forward Encrypt(string[]); forward OnPlayerLogin(playerid,const string[]); enum pInfo { pPassword[128], pKills, pDeaths, pCash, }; new PlayerInfo[MAX_PLAYERS][pInfo]; new gPlayerLogged[MAX_PLAYERS]; new gPlayerAccount[MAX_PLAYERS]; public OnPlayerRequestClass(playerid, classid) { return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnPlayerConnect(playerid) { return 1; } public OnPlayerDisconnect(playerid, reason) { OnPlayerUpdate(playerid); gPlayerLogged[playerid] = 0; return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { new kills = PlayerInfo[playerid][pKills]; SetPlayerScore(playerid, kills); new Float:Health; GetPlayerHealth(playerid, Health); if(Health == 0.0) { PlayerInfo[playerid][pDeaths] += 1; } GivePlayerMoney(killerid,2000); PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 1; return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; new idx; cmd = strtok(cmdtext, idx); new tmp[256]; new playername[MAX_PLAYER_NAME]; if (strcmp(cmd, "/login", true) ==0 ) { if(IsPlayerConnected(playerid)) { new tmppass[64]; if(gPlayerLogged[playerid] == 1) { SendClientMessage(playerid, COLOR_GREY, "* Вы уже залогинены."); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, "*Используй: /login [пароль]"); return 1; } strmid(tmppass, tmp, 0, strlen(cmdtext), 255); Encrypt(tmppass); OnPlayerLogin(playerid,tmppass); } return 1; } if (strcmp(cmd, "/register", true)==0) { new string[265]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, "*Используй: /register [пароль]"); return 1; } if (gPlayerAccount[playerid] == 1) { SendClientMessage(playerid, COLOR_GREY, "* Ты уже зарегестрирован"); return 1; } strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255); Encrypt(PlayerInfo[playerid][pPassword]); GetPlayerName(playerid, playername, sizeof(playername)); format(string, sizeof(string), "%s.cer", playername); new File: file = fopen(string, io_read); if (file) { SendClientMessage(playerid, COLOR_GREY, "* Это имя уже зарегистрировано"); fclose(file); return 1; } new File:hFile; hFile = fopen(string, io_append); new var[32];// format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var); format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid); format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var); fclose(hFile); SendClientMessage(playerid, COLOR_WHITE, "*Удачная регистрация!!!"); SendClientMessage(playerid, COLOR_WHITE, "*Ты автоматически залогин, следущий раз пиши /login пароль."); OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]); return 1; } if (strcmp(cmd, "/stats", true) == 0) { if(IsPlayerConnected(playerid)) { if (gPlayerLogged[playerid] != 0) { ShowStats(playerid,playerid); } else { SendClientMessage(playerid, COLOR_GRAD1, "*Ты не залогинен !"); } } return 1; } return 0; } public Encrypt(string[]) { for(new x=0; x < strlen(string); x++) { string[x] += (3^x) * (x % 15); if(string[x] > (0xff)) { string[x] -= 64; } } return 1; } public OnPlayerLogin(playerid,const string[]) { new pname2[MAX_PLAYER_NAME]; new pname3[MAX_PLAYER_NAME]; new string2[64]; new string3[128]; GetPlayerName(playerid, pname2, sizeof(pname2)); format(string2, sizeof(string2), "%s.cer", pname2); new File: UserFile = fopen(string2, io_read); if (UserFile) { new valtmp[128]; fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255); if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0)) { new key[128],val[128]; new Data[128]; while(fread(UserFile,Data,sizeof(Data))) { key = ini_GetKey(Data); if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); } if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); } if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); } GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]); } fclose(UserFile); gPlayerLogged[playerid] = 1; gPlayerAccount[playerid] = 1; new kills = PlayerInfo[playerid][pKills]; SetPlayerScore(playerid, kills); GetPlayerName(playerid, pname3, sizeof(pname3)); format(string3, sizeof(string3), "* Привет %s, ты удачно залогинился!", pname3); SendClientMessage(playerid, COLOR_WHITE,string3); } else { SendClientMessage(playerid, COLOR_GREY, "* Пароль не соответствует имени ( Не правильный пароль )"); fclose(UserFile); } } return 1; } public OnPlayerUpdate(playerid) { if(IsPlayerConnected(playerid)) { if(gPlayerLogged[playerid]) { new string3[32]; new pname3[MAX_PLAYER_NAME]; GetPlayerName(playerid, pname3, sizeof(pname3)); format(string3, sizeof(string3), "%s.cer", pname3); new File: pFile = fopen(string3, io_write); if (pFile) { new var[32]; format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var); fclose(pFile); new File: hFile = fopen(string3, io_append); PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid); format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var); fclose(hFile); } } } return 1; } stock ini_GetKey( line[] ) { new keyRes[128]; keyRes[0] = 0; if ( strfind( line , "=" , true ) == -1 ) return keyRes; strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) ); return keyRes; } stock ini_GetValue( line[] ) { new valRes[128]; valRes[0]=0; if ( strfind( line , "=" , true ) == -1 ) return valRes; strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) ); return valRes; } strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } public ShowStats(playerid,targetid) { if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid)) { new cash = GetPlayerMoney(targetid); new deaths = PlayerInfo[targetid][pDeaths]; new kills = PlayerInfo[targetid][pKills]; new name[MAX_PLAYER_NAME]; GetPlayerName(targetid, name, sizeof(name)); new Float:px,Float:py,Float:pz; GetPlayerPos(targetid, px, py, pz); new coordsstring[256]; SendClientMessage(playerid, COLOR_GREEN,"_______________________________________"); format(coordsstring, sizeof(coordsstring),"*** %s ***",name); SendClientMessage(playerid, COLOR_WHITE,coordsstring); format(coordsstring, sizeof(coordsstring), " | Убийств:[%d] | Смертей:[%d] | Деньги:[$%d] | ",kills,deaths,cash); SendClientMessage(playerid, COLOR_GRAD5,coordsstring); SendClientMessage(playerid, COLOR_GREEN,"_______________________________________"); } } #endif[/offtop] Добавлено (22.02.2009, 15:11) --------------------------------------------- ___________ ну что никто не знает в чом проблема?
Заказать бесплатно Графику < < < < < ЖМИ MiniDM 1 100% Скачать
|
| |
|
|
| [RD]Chez | Дата: Воскресенье, 22.02.2009, 15:38 | Сообщение # 12 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус: 
| ищи по всему модк kills и playerinfo[массив][pkills]
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^
chezrd@gmail.com lance@chez-lab.ru
|
| |
|
|
| TooZ | Дата: Воскресенье, 22.02.2009, 16:10 | Сообщение # 13 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 113
Награды: 4
Город: Samara
Репутация: 12
Замечания: 40%
Статус: 
| G_ROW_Chez, у меня тоже такая же проблема с фрагами не подскажещ что делать ?
|
| |
|
|
| [TMP]oDyBaH | Дата: Воскресенье, 22.02.2009, 16:11 | Сообщение # 14 |
|
Местный
Группа:
Продвинутые
Сообщений: 667
Награды: 13
Город: Пенза
Репутация: -3
Замечания: 80%
Статус: 
| Вот погляди 4ез) _________ [pwn]вот в начале: new PlayerInfo[MAX_PLAYERS][pInfo]; вот в public OnPlayerDeath(playerid, killerid, reason) new kills = PlayerInfo[playerid][pKills]; PlayerInfo[playerid][pDeaths] += 1; PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 1; вот в команде регистер strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255); Encrypt(PlayerInfo[playerid][pPassword]); format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var); format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid); format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var); OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]); вот в public OnPlayerLogin(playerid,const string[]) fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255); if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0)) if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); } if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); } if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); } GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]); new kills = PlayerInfo[playerid][pKills]; вот в public OnPlayerUpdate(playerid) format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var); PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid); format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var); вот в public ShowStats(playerid,targetid) new deaths = PlayerInfo[targetid][pDeaths]; new kills = PlayerInfo[targetid][pKills];[/pwn] _________________ Вот все что нашол!
Заказать бесплатно Графику < < < < < ЖМИ MiniDM 1 100% Скачать
|
| |
|
|
| [RD]Chez | Дата: Воскресенье, 22.02.2009, 19:53 | Сообщение # 15 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 3687
Награды: 206
Город: St. P
Репутация: 0
Замечания: 20%
Статус: 
| [TMP]oDyBaH, вообще все7 о_0 должен быть рандом или еще что то что задает кол-во киллов в файл игрока
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^
chezrd@gmail.com lance@chez-lab.ru
|
| |
|
|
|
 |
|
 | |
| |
|