Skull-sav Дата: Четверг, 11.08.2011, 15:34:44 | Сообщение # 1
Группа: Пользователи
Сообщений: 91
Я попробовал сделать сис-му ЛВЛа для ТДМ который пишу с 0 Но такая проблема, когда достигаю нужное количество фрагов, то,что указал начисляется бесконечно!!! и листать оружие не могу например указал что на 1 лвле даётся снайпа с 1 патроном, и каждую секунду даётся снайпа с 1 патроном Пробовал по-разному, помогите: Последняя проба:
#include <a_samp> public OnPlayerDeath(playerid, killerid, reason){ SendDeathMessage(INVALID_PLAYER_ID,playerid,reason); return 1;} new Text:Textdraw0; new Text:Textdraw1; new rank[ MAX_PLAYERS ]; public OnFilterScriptInit() { Textdraw0 = TextDrawCreate(460, 424, "Score:~r~"); TextDrawBackgroundColor(Textdraw0, 170); TextDrawFont(Textdraw0, 2); TextDrawLetterSize(Textdraw0, 0.4, 2.4); TextDrawColor(Text:Textdraw0, -1); TextDrawSetOutline(Textdraw0, 1); TextDrawSetProportional(Textdraw0, 1); Textdraw1 = TextDrawCreate(460, 404, "LVL:~r~"); //Текст TextDrawBackgroundColor(Textdraw1, 170); //Цвет обводки TextDrawFont(Textdraw1, 2); //Вид 0-4 TextDrawLetterSize(Textdraw1, 0.4, 2.4); //Размер тексдрава TextDrawColor(Text:Textdraw1, -1); //Цвет букв TextDrawSetOutline(Textdraw1, 1); //Толщина обводки TextDrawSetProportional(Textdraw1, 1); return 1; } public OnPlayerSpawn( playerid ) { TextDrawShowForPlayer( playerid, Textdraw0 ); TextDrawShowForPlayer( playerid, Textdraw1 ); return 1; } public OnPlayerUpdate( playerid ) { new string[ 105 ]; new score; score = GetPlayerScore(playerid); format( string, sizeof string, "Score:~r~ %d", score ); TextDrawSetString(Textdraw0, string); if(GetPlayerScore(playerid) >= 7000) rank[ playerid ] = 15; else if(GetPlayerScore(playerid) >= 3000) rank[ playerid ] = 14; else if(GetPlayerScore(playerid) >= 2550) rank[ playerid ] = 13; else if(GetPlayerScore(playerid) >= 2500) rank[ playerid ] = 12; else if(GetPlayerScore(playerid) >= 1500) rank[ playerid ] = 11; else if(GetPlayerScore(playerid) >= 900) rank[ playerid ] = 10; else if(GetPlayerScore(playerid) >= 850) rank[ playerid ] = 9; else if(GetPlayerScore(playerid) >= 750) rank[ playerid ] = 8; else if(GetPlayerScore(playerid) >= 400) rank[ playerid ] = 7; else if(GetPlayerScore(playerid) >= 200) rank[ playerid ] = 6; else if(GetPlayerScore(playerid) >= 175) rank[ playerid ] = 5; else if(GetPlayerScore(playerid) >= 150) rank[ playerid ] = 4; else if(GetPlayerScore(playerid) >= 100) rank[ playerid ] = 3; else if(GetPlayerScore(playerid) >= 75) rank[ playerid ] = 2; else if(GetPlayerScore(playerid) >= 50) rank[ playerid ] = 1; else if(GetPlayerScore(playerid) >= 0) rank[ playerid ] = 0; format( string, sizeof string, "LVL:~r~ %d", rank[ playerid ] ); TextDrawSetString( Textdraw1, string ); if(GetPlayerScore(playerid) >= 0){ rank[ playerid ] = 0; SetPlayerScore(playerid, 1); GivePlayerWeapon(playerid, 24, 650); GivePlayerWeapon(playerid, 25, 600); SetPlayerHealth(playerid,50); SetPlayerArmour(playerid,0); } if(GetPlayerScore(playerid) >= 50){ rank[ playerid ] = 1; SetPlayerScore(playerid, 51); GivePlayerWeapon(playerid, 4, 9999); SetPlayerHealth(playerid,50); SetPlayerArmour(playerid,0); } if(GetPlayerScore(playerid) >= 75){ rank[ playerid ] = 2; SetPlayerScore(playerid, 76); GivePlayerWeapon(playerid, 34, 300); SetPlayerHealth(playerid,50); SetPlayerArmour(playerid,0); } if(GetPlayerScore(playerid) >= 100){ rank[ playerid ] = 3; SetPlayerScore(playerid, 101); SetPlayerHealth(playerid,80); SetPlayerArmour(playerid,0); } if(GetPlayerScore(playerid) >= 150){ rank[ playerid ] = 4; SetPlayerScore(playerid, 151); GivePlayerWeapon(playerid, 29, 450); SetPlayerHealth(playerid,80); SetPlayerArmour(playerid,0); } if(GetPlayerScore(playerid) >= 175){ rank[ playerid ] = 5; SetPlayerScore(playerid, 175); GivePlayerWeapon(playerid, 29, 450); SetPlayerHealth(playerid,100); SetPlayerArmour(playerid,0); } if(GetPlayerScore(playerid) >= 200){ rank[ playerid ] = 6; SetPlayerScore(playerid, 201); GivePlayerWeapon(playerid, 30, 500); SetPlayerHealth(playerid,100); SetPlayerArmour(playerid,10); } if(GetPlayerScore(playerid) >= 400){ rank[ playerid ] = 7; SetPlayerScore(playerid, 401); SetPlayerHealth(playerid,105); SetPlayerArmour(playerid,20); } if(GetPlayerScore(playerid) >= 750){ rank[ playerid ] = 8; SetPlayerScore(playerid, 751); GivePlayerWeapon(playerid, 31, 600); SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,30); } if(GetPlayerScore(playerid) >= 850){ rank[ playerid ] = 9; SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,35); } if(GetPlayerScore(playerid) >= 900){ rank[ playerid ] = 10; SetPlayerScore(playerid, 901); SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,40); } if(GetPlayerScore(playerid) >= 1500){ rank[ playerid ] = 11; SetPlayerScore(playerid, 1501); GivePlayerWeapon(playerid, 31, 600); SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,50); } if(GetPlayerScore(playerid) >= 2500){ rank[ playerid ] = 12; SetPlayerScore(playerid, 2501); SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,100); } if(GetPlayerScore(playerid) >= 2550){ rank[ playerid ] = 13; SetPlayerScore(playerid, 3001); GivePlayerWeapon(playerid, 41, 560); SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,105); } if(GetPlayerScore(playerid) >= 3000){ rank[ playerid ] = 14; SetPlayerScore(playerid, 3001); ResetPlayerWeapons(playerid); GivePlayerWeapon(playerid, 23, 650); GivePlayerWeapon(playerid, 26, 650); GivePlayerWeapon(playerid, 8, 650); GivePlayerWeapon(playerid, 34, 650); GivePlayerWeapon(playerid, 28, 650); GivePlayerWeapon(playerid, 42, 650); SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,105); } if(GetPlayerScore(playerid) >= 7000){ rank[ playerid ] = 15; SetPlayerScore(playerid, 7001); ResetPlayerWeapons(playerid); GivePlayerWeapon(playerid, 23, 99999); GivePlayerWeapon(playerid, 26, 99999); GivePlayerWeapon(playerid, 8, 99999); GivePlayerWeapon(playerid, 34, 99999); GivePlayerWeapon(playerid, 28, 99999); GivePlayerWeapon(playerid, 42, 99999); SetPlayerHealth(playerid,120); SetPlayerArmour(playerid,120); } return 1; }
Сообщение отредактировал Skull-sav - Четверг, 11.08.2011, 16:53:57
Сообщение Я попробовал сделать сис-му ЛВЛа для ТДМ который пишу с 0 Но такая проблема, когда достигаю нужное количество фрагов, то,что указал начисляется бесконечно!!! и листать оружие не могу например указал что на 1 лвле даётся снайпа с 1 патроном, и каждую секунду даётся снайпа с 1 патроном Пробовал по-разному, помогите: Последняя проба:
#include <a_samp> public OnPlayerDeath(playerid, killerid, reason){ SendDeathMessage(INVALID_PLAYER_ID,playerid,reason); return 1;} new Text:Textdraw0; new Text:Textdraw1; new rank[ MAX_PLAYERS ]; public OnFilterScriptInit() { Textdraw0 = TextDrawCreate(460, 424, "Score:~r~"); TextDrawBackgroundColor(Textdraw0, 170); TextDrawFont(Textdraw0, 2); TextDrawLetterSize(Textdraw0, 0.4, 2.4); TextDrawColor(Text:Textdraw0, -1); TextDrawSetOutline(Textdraw0, 1); TextDrawSetProportional(Textdraw0, 1); Textdraw1 = TextDrawCreate(460, 404, "LVL:~r~"); //Текст TextDrawBackgroundColor(Textdraw1, 170); //Цвет обводки TextDrawFont(Textdraw1, 2); //Вид 0-4 TextDrawLetterSize(Textdraw1, 0.4, 2.4); //Размер тексдрава TextDrawColor(Text:Textdraw1, -1); //Цвет букв TextDrawSetOutline(Textdraw1, 1); //Толщина обводки TextDrawSetProportional(Textdraw1, 1); return 1; } public OnPlayerSpawn( playerid ) { TextDrawShowForPlayer( playerid, Textdraw0 ); TextDrawShowForPlayer( playerid, Textdraw1 ); return 1; } public OnPlayerUpdate( playerid ) { new string[ 105 ]; new score; score = GetPlayerScore(playerid); format( string, sizeof string, "Score:~r~ %d", score ); TextDrawSetString(Textdraw0, string); if(GetPlayerScore(playerid) >= 7000) rank[ playerid ] = 15; else if(GetPlayerScore(playerid) >= 3000) rank[ playerid ] = 14; else if(GetPlayerScore(playerid) >= 2550) rank[ playerid ] = 13; else if(GetPlayerScore(playerid) >= 2500) rank[ playerid ] = 12; else if(GetPlayerScore(playerid) >= 1500) rank[ playerid ] = 11; else if(GetPlayerScore(playerid) >= 900) rank[ playerid ] = 10; else if(GetPlayerScore(playerid) >= 850) rank[ playerid ] = 9; else if(GetPlayerScore(playerid) >= 750) rank[ playerid ] = 8; else if(GetPlayerScore(playerid) >= 400) rank[ playerid ] = 7; else if(GetPlayerScore(playerid) >= 200) rank[ playerid ] = 6; else if(GetPlayerScore(playerid) >= 175) rank[ playerid ] = 5; else if(GetPlayerScore(playerid) >= 150) rank[ playerid ] = 4; else if(GetPlayerScore(playerid) >= 100) rank[ playerid ] = 3; else if(GetPlayerScore(playerid) >= 75) rank[ playerid ] = 2; else if(GetPlayerScore(playerid) >= 50) rank[ playerid ] = 1; else if(GetPlayerScore(playerid) >= 0) rank[ playerid ] = 0; format( string, sizeof string, "LVL:~r~ %d", rank[ playerid ] ); TextDrawSetString( Textdraw1, string ); if(GetPlayerScore(playerid) >= 0){ rank[ playerid ] = 0; SetPlayerScore(playerid, 1); GivePlayerWeapon(playerid, 24, 650); GivePlayerWeapon(playerid, 25, 600); SetPlayerHealth(playerid,50); SetPlayerArmour(playerid,0); } if(GetPlayerScore(playerid) >= 50){ rank[ playerid ] = 1; SetPlayerScore(playerid, 51); GivePlayerWeapon(playerid, 4, 9999); SetPlayerHealth(playerid,50); SetPlayerArmour(playerid,0); } if(GetPlayerScore(playerid) >= 75){ rank[ playerid ] = 2; SetPlayerScore(playerid, 76); GivePlayerWeapon(playerid, 34, 300); SetPlayerHealth(playerid,50); SetPlayerArmour(playerid,0); } if(GetPlayerScore(playerid) >= 100){ rank[ playerid ] = 3; SetPlayerScore(playerid, 101); SetPlayerHealth(playerid,80); SetPlayerArmour(playerid,0); } if(GetPlayerScore(playerid) >= 150){ rank[ playerid ] = 4; SetPlayerScore(playerid, 151); GivePlayerWeapon(playerid, 29, 450); SetPlayerHealth(playerid,80); SetPlayerArmour(playerid,0); } if(GetPlayerScore(playerid) >= 175){ rank[ playerid ] = 5; SetPlayerScore(playerid, 175); GivePlayerWeapon(playerid, 29, 450); SetPlayerHealth(playerid,100); SetPlayerArmour(playerid,0); } if(GetPlayerScore(playerid) >= 200){ rank[ playerid ] = 6; SetPlayerScore(playerid, 201); GivePlayerWeapon(playerid, 30, 500); SetPlayerHealth(playerid,100); SetPlayerArmour(playerid,10); } if(GetPlayerScore(playerid) >= 400){ rank[ playerid ] = 7; SetPlayerScore(playerid, 401); SetPlayerHealth(playerid,105); SetPlayerArmour(playerid,20); } if(GetPlayerScore(playerid) >= 750){ rank[ playerid ] = 8; SetPlayerScore(playerid, 751); GivePlayerWeapon(playerid, 31, 600); SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,30); } if(GetPlayerScore(playerid) >= 850){ rank[ playerid ] = 9; SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,35); } if(GetPlayerScore(playerid) >= 900){ rank[ playerid ] = 10; SetPlayerScore(playerid, 901); SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,40); } if(GetPlayerScore(playerid) >= 1500){ rank[ playerid ] = 11; SetPlayerScore(playerid, 1501); GivePlayerWeapon(playerid, 31, 600); SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,50); } if(GetPlayerScore(playerid) >= 2500){ rank[ playerid ] = 12; SetPlayerScore(playerid, 2501); SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,100); } if(GetPlayerScore(playerid) >= 2550){ rank[ playerid ] = 13; SetPlayerScore(playerid, 3001); GivePlayerWeapon(playerid, 41, 560); SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,105); } if(GetPlayerScore(playerid) >= 3000){ rank[ playerid ] = 14; SetPlayerScore(playerid, 3001); ResetPlayerWeapons(playerid); GivePlayerWeapon(playerid, 23, 650); GivePlayerWeapon(playerid, 26, 650); GivePlayerWeapon(playerid, 8, 650); GivePlayerWeapon(playerid, 34, 650); GivePlayerWeapon(playerid, 28, 650); GivePlayerWeapon(playerid, 42, 650); SetPlayerHealth(playerid,110); SetPlayerArmour(playerid,105); } if(GetPlayerScore(playerid) >= 7000){ rank[ playerid ] = 15; SetPlayerScore(playerid, 7001); ResetPlayerWeapons(playerid); GivePlayerWeapon(playerid, 23, 99999); GivePlayerWeapon(playerid, 26, 99999); GivePlayerWeapon(playerid, 8, 99999); GivePlayerWeapon(playerid, 34, 99999); GivePlayerWeapon(playerid, 28, 99999); GivePlayerWeapon(playerid, 42, 99999); SetPlayerHealth(playerid,120); SetPlayerArmour(playerid,120); } return 1; }
Автор - Skull-sav Дата добавления - 11.08.2011 в 15:34:44