#Teddy
Membru-
Posts
70 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
News
Documentation
Everything posted by #Teddy
-
Problema "cache_get_field_content_int" [MySQL R39]
#Teddy replied to #Teddy's question in Arhivă probleme
Degeaba. -
Problema "cache_get_field_content_int" [MySQL R39]
#Teddy replied to #Teddy's question in Arhivă probleme
Am pus in comentariu tot ce a fost legat de ini, pentru a vedea daca intr-adevar de la asta provin acele erori, insa raspunsul este tot negativ...tot apar acele erori. -
Problema "cache_get_field_content_int" [MySQL R39]
#Teddy replied to #Teddy's question in Arhivă probleme
Pe INI am doar logurile si inca ceva care salveaza o functie dintr-o anumita factiune (mai exact salveaza banii). -
Problema "cache_get_field_content_int" [MySQL R39]
#Teddy replied to #Teddy's question in Arhivă probleme
Dupa cum am precizat, inainte asa era, in forma in care mi-ai dat-o tu, insa...degeaba. Aceste erori tot apareau. Am constatat oricum, ca mai am o problema legata de cache_get_field_content , mai exact nu incarca datele din baza de date, aceasta fiind de forma: cache_get_field_content(i, "carPlate", CarData[carPlate], M_Connect); -
Problema intalnita (descriere): M-am hotarat sa trec serverul de pe o versiune mai mica de mysql, la ultima (R39). Am rescris scriptul, l-am testat..merge, desi..unele date salvate in baza de date a serverului, au disparut. Ero(area / rile) / warning-(ul / urile): La deschiderea serverului, apare asta in mysql_log (tin sa precizez, ca aceeasi eroare o intalnesc si la cache_get_field_content_float): [18:56:28] [ERROR] cache_get_field_content_int - invalid datatype [18:56:28] [ERROR] cache_get_field_content_int - invalid datatype [18:56:28] [ERROR] cache_get_field_content_int - invalid datatype [18:56:28] [ERROR] cache_get_field_content_int - invalid datatype [18:56:28] [ERROR] cache_get_field_content_int - invalid datatype [18:56:28] [ERROR] cache_get_field_content_int - invalid datatype [18:56:28] [ERROR] cache_get_field_content_int - invalid datatype [18:56:28] [ERROR] cache_get_field_content_int - invalid datatype [18:56:28] [ERROR] cache_get_field_content_int - invalid datatype [18:56:28] [ERROR] cache_get_field_content_int - invalid datatype [18:56:28] [ERROR] cache_get_field_content_int - invalid datatype Liniile de cod / sursa / script-ul(obligatoriu): PlayerData[extraid][pPos][2] = cache_get_field_content_float(0, "PosZ", M_Connect); PlayerData[extraid][pSkin] = cache_get_field_content_int(0, "Skin", M_Connect); Imagini / Video (optional): Nu este nevoie Ati incercat sa rezolvati singur?: Da, am cautat problema asta pe internet, insa fara rezultat. Am intrat in a_mysql.inc sa vad daca parametrii sunt corecti. Desi inainte era: PlayerData[extraid][pSkin] = cache_get_field_content_int(0, "Skin"); tot aceste erori dadea. OFF: Bug super naspa la code
-
Incearca asa: if(dialogid == DIALOG_SET_EMAIL) { new lsMail[128]; if (sscanf(inputtext, "s[256]", lsMail)) { if(PlayerInfo[playerid][Language]==0) { ShowPlayerDialog( playerid, DIALOG_SET_EMAIL, DIALOG_STYLE_INPUT, "E-Mail Set", "{FFFFFF}Hi !nThis server request to each user have set his e-mail, for differite reasonsn{FF0000}Please type your e-mail below:", "Set", "" ); } if(PlayerInfo[playerid][Language]==1) { ShowPlayerDialog( playerid, DIALOG_SET_EMAIL, DIALOG_STYLE_INPUT, "E-Mail Set", "{FFFFFF}Buna !nAcest server are nevoie sa iti setezi e-mailul contului tau, pentru diferite motiive.n{FF0000}Te rugam, scrie-ti e-mailul:", "Set", "" ); } } if (strlen(lsMail) < 8 || strlen(lsMail) > 60) return ShowPlayerDialog( playerid, DIALOG_SET_EMAIL, DIALOG_STYLE_INPUT, "E-Mail Set", "{FFFFFF}Buna !nAcest server are nevoie sa iti setezi e-mailul contului tau, pentru diferite motiive.n{FF0000}Te rugam, scrie-ti e-mailul:", "Set", "" ); if (strfind(lsMail, "@", false) == -1 || strfind(lsMail, ".", false) == -1) return ShowPlayerDialog( playerid, DIALOG_SET_EMAIL, DIALOG_STYLE_INPUT, "E-Mail Set", "{FFFFFF}Buna !nAcest server are nevoie sa iti setezi e-mailul contului tau, pentru diferite motiive.n{FF0000}Te rugam, scrie-ti e-mailul:", "Set", "" ); mysql_real_escape_string(lsMail, lsMail); format(gsQuery, 256, "UPDATE `Accounts` SET `E-Mail` = '%s' WHERE `Key` = %d", lsMail, PlayerInfo[playerid][AccID]); mysql_function_query(g_Handle, gsQuery, false, "", ""); format(PlayerInfo[playerid], 128, "%s", lsMail); return (1); }
-
mysql log spune ceva?
-
Completeaza asta: if(PlayerInfo[target][pFMember] == 0) FactionName = "Civilian"; else if(PlayerInfo[target][pFMember] == 1) FactionName = "Police"; else if(PlayerInfo[target][pFMember] == 2) FactionName = "F.B.I"; cu toate factiunile active pe server. Exemplu: if(PlayerInfo[target][pFMember] == 0) FactionName = "Civilian"; else if(PlayerInfo[target][pFMember] == 1) FactionName = "Police"; else if(PlayerInfo[target][pFMember] == 2) FactionName = "F.B.I"; else if(PlayerInfo[target][pFMember] == 3) FactionName = "Mecanica"; else if(PlayerInfo[target][pFMember] == 4) FactionName = "Primar"; Daca tu ai lasat comanda exact cum ti-am dat-o eu, si tu te aflii intr-o factiune ce are ID-ul mai mare decat 2 (factiunea la care m-am oprit), nu va aparea nimic.
-
Nu prea inteleg, tu ai mai multe DMV-uri si presupun ca unul dintre ele se afla deja in gamemode si se foloseste de functia TakingLesson[playerid], care, daca este setata pe 1 (variabila fiind "activa", adica ai inceput testul de conducere), te lasa sa intri in masina, in caz contrar te scoate din masina daca serverul depisteaza ca functia TakingLesson[playerid], este setata pe 0. Daca vrei sa folosesti un sistem nou de DMV, scoate-l pe cel din gamemode si inlocuieste-l.
-
Din ce script mi-ai dat tu, nu prea gasesc faza cu licenta de condus. Cauta mesajul "You can't drive this vehicle because you don't have a driver license".
-
Incearca asa: if(strcmp(cmd, "/id", true) == 0) { if(IsPlayerConnected(playerid)) { new FactionName[150]; //Ti-am pus un string mai mare in cazul in care o factiune are un nume mai lung tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "{B8DBFF}Syntax: /id [playerid/PartOfName]"); return 1; } new target; target = ReturnUser(tmp); new sstring[128];//era 256 if(IsPlayerConnected(target)) { if(target != INVALID_PLAYER_ID) { //------------------------------------------------------------------------------ if(PlayerInfo[target][pFMember] == 0) FactionName = "Civilian"; else if(PlayerInfo[target][pFMember] == 1) FactionName = "Police"; else if(PlayerInfo[target][pFMember] == 2) FactionName = "F.B.I"; //------------------------------------------------------------------------------ GetPlayerName(target, giveplayer, sizeof(giveplayer)); format(sstring, sizeof(sstring), "{FFFFCC}ID: (%d) %s | Level %d | Factiune: %s (Rank %d)",target,giveplayer,PlayerInfo[target][pLevel],FactionName,PlayerInfo[target][pRank]); SendClientMessage(playerid, COLOR_YELLOW, sstring); } } } return 1; }
-
Cauta in gamemode (nu filterscript-ul DMV) la callback-ul OnPlayerEnterVehicle sau OnPlayerStateChange functia RemovePlayerFromVehicle, respectiv acel mesaj (You can't drive this vehicle ....). Daca gasesti acea functie in unul dintre cele doua callback-uri, lasa-ne aici bucata de script.
-
http://www.sa-mp.ro/samp-map/
-
Incearca asa: SQL_Function CheckAccountPassword(playerid, password[]) { if (!IsPlayerConnected(playerid)) return (1); new Login_Field[ 256 ], xxstring[512]; cache_get_field_content( 0, "Password", Login_Field, g_Handle ); if (strmatch(password, Login_Field)) { new LastOnline[ 256 ], RegisterDate[ 256 ]; PlayerPlaySound(playerid,1057,0.0,0.0,0.0); format( gsQuery, 128, "UPDATE `Accounts` SET `LoggedIn` = 1,`IP` = '%s',`Lang` = '%d' WHERE `Name` = '%s'", GetPlayerIPEx( playerid ), Lang[ playerid ], PlayerName( playerid ) ); mysql_function_query( g_Handle, gsQuery, false, "", "" ); //----------------------------- Loggin' Into Account -----------------// PlayerInfo[ playerid ][ LoggedIn ] = 1; PlayerInfo[ playerid ][ AccID ] = cache_get_field_content_int( 0, "Key", g_Handle ); PlayerInfo[ playerid ][ pVip ] = cache_get_field_content_int( 0, "Vip", g_Handle ); PlayerInfo[ playerid ][ Level ] = cache_get_field_content_int( 0, "Level", g_Handle ); PlayerInfo[ playerid ][ rVip ] = cache_get_field_content_int( 0, "rVip", g_Handle ); PlayerInfo[ playerid ][ bKillingSpree ] = cache_get_field_content_int( 0, "BestKillings", g_Handle ); PlayerInfo[ playerid ][ KillingSpree ] = cache_get_field_content_int( 0, "KillingSpree", g_Handle ); PlayerInfo[ playerid ][ Drugs ] = cache_get_field_content_int( 0, "Drugs", g_Handle ); PlayerInfo[ playerid ][ Coins ] = cache_get_field_content_int( 0, "Coins", g_Handle ); PlayerInfo[ playerid ][ PosRespect ] = cache_get_field_content_int( 0, "Positive", g_Handle ); PlayerInfo[ playerid ][ NegRespect ] = cache_get_field_content_int( 0, "Negative", g_Handle ); PlayerInfo[ playerid ][ SAdmin ] = cache_get_field_content_int( 0, "SAdmin", g_Handle ); PlayerInfo[ playerid ][ FavSkin ] = cache_get_field_content_int( 0, "FavSkin", g_Handle ); PlayerInfo[ playerid ][ rank ] = cache_get_field_content_int( 0, "ClanRank", g_Handle ); PlayerInfo[ playerid ][ c_points ] = cache_get_field_content_int( 0, "ClanPoints", g_Handle ); PlayerInfo[ playerid ][ c_deaths ] = cache_get_field_content_int( 0, "ClanDeaths", g_Handle ); PlayerInfo[ playerid ][ PKicks ] = cache_get_field_content_int( 0, "Kicks", g_Handle ); PlayerInfo[ playerid ][ PBans ] = cache_get_field_content_int( 0, "Bans", g_Handle ); PlayerInfo[ playerid ][ PJails ] = cache_get_field_content_int( 0, "Jails", g_Handle ); PlayerInfo[ playerid ][ PWarns ] = cache_get_field_content_int( 0, "Warns", g_Handle ); PlayerInfo[ playerid ][ PClearCH ] = cache_get_field_content_int( 0, "ClearChats", g_Handle ); PlayerInfo[ playerid ][ PReactions ] = cache_get_field_content_int( 0, "ReactionTest", g_Handle ); PlayerInfo[ playerid ][ PMaths ] = cache_get_field_content_int( 0, "MathTest", g_Handle ); PlayerInfo[ playerid ][ PMutes ] = cache_get_field_content_int( 0, "Mutes", g_Handle ); PlayerInfo[ playerid ][ Property ] = cache_get_field_content_int( 0, "Property", g_Handle ); PlayerInfo[ playerid ][ Jailed ] = cache_get_field_content_int( 0, "Jailed", g_Handle ); PlayerInfo[ playerid ][ Frozen ] = cache_get_field_content_int( 0, "Frozen", g_Handle ); PlayerInfo[ playerid ][ Kills ] = cache_get_field_content_int( 0, "Kills", g_Handle ); PlayerInfo[ playerid ][ Deaths ] = cache_get_field_content_int( 0, "Deaths", g_Handle ); PlayerInfo[ playerid ][ rAdmin ] = cache_get_field_content_int( 0, "RAdmin", g_Handle ); PlayerInfo[ playerid ][ D_Score ] = cache_get_field_content_int( 0, "DuelScore", g_Handle ); PlayerInfo[ playerid ][ Race_Score ] = cache_get_field_content_int( 0, "RaceScore", g_Handle ); PlayerInfo[ playerid ][ Stunt_Score ] = cache_get_field_content_int( 0, "StuntScore", g_Handle ); PlayerInfo[ playerid ][ Drift_Score ] = cache_get_field_content_int( 0, "DriftScore", g_Handle ); PlayerInfo[ playerid ][ CarID ] = cache_get_field_content_int( 0, "OwnedCarID", g_Handle ); PlayerInfo[ playerid ][ szOwnedHouseID ] = cache_get_field_content_int( 0, "HouseID", g_Handle ); PlayerInfo[ playerid ][ P_BANK_MONEY ] = cache_get_field_content_int( 0, "BankMoney", g_Handle ); Lang[ playerid ] = cache_get_field_content_int( 0, "Lang", g_Handle ); Users[ playerid ][ gang ] = cache_get_field_content_int( 0, "GangID", g_Handle ); Users[ playerid ][ g_Kills ] = cache_get_field_content_int( 0, "GangKills", g_Handle ); Users[ playerid ][ g_Deaths ] = cache_get_field_content_int( 0, "GangDeaths", g_Handle ); Users[ playerid ][ isLeader ] = cache_get_field_content_int( 0, "GangRank", g_Handle ); Users[ playerid ][ g_Warns ] = cache_get_field_content_int( 0, "GangWarns", g_Handle ); Users[ playerid ][ g_Captures ] = cache_get_field_content_int( 0, "GangCaptures", g_Handle ); Users[ playerid ][ g_Points ] = cache_get_field_content_int( 0, "GangPoints", g_Handle ); PlayerInfo[ playerid ][ NoPM ] = cache_get_field_content_int( 0, "NoPM", g_Handle ); PlayerInfo[ playerid ][ GotoIgnored ] = cache_get_field_content_int( 0, "NoGoto", g_Handle ); PlayerInfo[ playerid ][ Ignore_Spec ] = cache_get_field_content_int( 0, "NoSpec", g_Handle ); cache_get_field_content( 0, "E-Mail", Login_Field, g_Handle ); format( PlayerInfo[ playerid ][ EMail ], 128, "%s", Login_Field ); SetPVarFloat( playerid, "vSpawn_X", cache_get_field_content_float( 0, "vSpawn_X", g_Handle ) ); SetPVarFloat( playerid, "vSpawn_Y", cache_get_field_content_float( 0, "vSpawn_Y", g_Handle ) ); SetPVarFloat( playerid, "vSpawn_Z", cache_get_field_content_float( 0, "vSpawn_Z", g_Handle ) ); SetPVarFloat( playerid, "vSpawn_A", cache_get_field_content_float( 0, "vSpawn_A", g_Handle ) ); ResetPlayerMoney( playerid ); GivePlayerMoney( playerid, cache_get_field_content_int( 0, "Cash", g_Handle ) ); SetPVarInt( playerid, "sMoney", cache_get_field_content_int( 0, "Cash", g_Handle ) ); SetPlayerScore( playerid, cache_get_field_content_int( 0, "Score", g_Handle ) ); cache_get_field_content( 0, "Online", Login_Field, g_Handle ); sscanf( Login_Field, "p<:>iii", PlayerInfo[ playerid ][ hours ], PlayerInfo[ playerid ][ mins ], PlayerInfo[ playerid ][ secs ] ); cache_get_field_content( 0, "LastOn", LastOnline, g_Handle ); cache_get_field_content( 0, "RegisterDate", RegisterDate, g_Handle ); cache_get_field_content( 0, "Rank", Login_Field, g_Handle ); format( PlayerInfo[ playerid ][ RankName ], 25, Login_Field ); cache_get_field_content( 0, "Description1", Login_Field, g_Handle ); format( PlayerInfo[ playerid ][ Description1 ], 128, "%s", Login_Field ); cache_get_field_content( 0, "Description2", Login_Field, g_Handle ); format( PlayerInfo[ playerid ][ Description2 ], 128, "%s", Login_Field ); cache_get_field_content( 0, "Description3", Login_Field, g_Handle ); format( PlayerInfo[ playerid ][ Description3 ], 128, "%s", Login_Field ); cache_get_field_content( 0, "ClanJoined", Login_Field, g_Handle ); format( PlayerInfo[ playerid ][ JoinedInClan ], 50, Login_Field ); cache_get_field_content( 0, "Clan", Login_Field, g_Handle ); format( PlayerInfo[ playerid ][ Clan ], 25, "%s", Login_Field ); cache_get_field_content( 0, "ClanOnline", Login_Field ); sscanf( Login_Field, "p<:>iii", PlayerInfo[ playerid ][ clan_H ], PlayerInfo[ playerid ][ clan_M ], PlayerInfo[ playerid ][ clan_S ] ); cache_get_field_content( 0, "SavingSts", Login_Field, g_Handle ); sscanf( Login_Field, "p<,>ii", PlayerInfo[ playerid ][ p_HoldSaving ], PlayerInfo[ playerid ][ p_VehicleHoldSaving ] ); if ( PlayerInfo[ playerid ][ Jailed ] >= 1 ) { cache_get_field_content( 0, "JailTime", Login_Field, g_Handle ); sscanf( Login_Field, "p<:>ii", gTime[ playerid ][ 0 ], gTime[ playerid ][ 1 ] ); } if ( PlayerInfo[ playerid ][ Frozen ] == 1 ) { cache_get_field_content( 0, "FreezeTime", Login_Field, g_Handle ); sscanf( Login_Field, "p<:>ii", gTime[ playerid ][ 0 ], gTime[ playerid ][ 1 ] ); } if ( PlayerInfo[ playerid ][ CarID ] != 0 ) { format( gsQuery, 128, "SELECT * FROM `PersonalVehicles` WHERE `Owner` = '%s'", PlayerName( playerid ) ); mysql_function_query( g_Handle, gsQuery, true, "LoadPersonalVehicleInfo", "i", playerid ); } if ( !strmatch( PlayerInfo[ playerid ][ Clan ], "None" ) ) { format( gsQuery, 256, "SELECT * FROM `Clans` WHERE `name` = '%s'", PlayerInfo[ playerid ][ Clan ] ); mysql_function_query( g_Handle, gsQuery, true, "LoadClanDetails", "i", playerid ); } { switch( Lang[ playerid ] ) { case 0: { format(xxstring, 512, "{fcfcfc}Hi [ {c2fc00}%s{fcfcfc} ]n {fcfcfc}You have been LoggedIn:nn {FF0000}• {fcfcfc}Admin Level: [ {c2fc00}%d{fcfcfc} ]n {FF0000}• {fcfcfc}VIP Level: [ {c2fc00}%d{fcfcfc} ]n {FF0000}• {fcfcfc}Stats Note: [ {c2fc00}%d{fcfcfc}/{c2fc00}10{fcfcfc} ]nn {FF0000}• {fcfcfc}Use {c2fc00}/Stats{fcfcfc} for more details!", PlayerName(playerid), PlayerInfo[playerid][Level], PlayerInfo[playerid][pVip], GiveNote(playerid)); return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{0066CC}X{FFFF00}S{FF0000}G{AFAFAF} - {fcfcfc}Account {c2fc00}Info", xxstring, "Ok",""); } case 1: { format(xxstring, 512, "{fcfcfc}Salut [ {c2fc00}%s{fcfcfc} ]n {fcfcfc}Ai fost logat cu succes:nn {FF0000}• {fcfcfc}Admin Level: [ {c2fc00}%d{fcfcfc} ]n {FF0000}• {fcfcfc}VIP Level: [ {c2fc00}%d{fcfcfc} ]n {FF0000}• {fcfcfc}Stats Note: [ {c2fc00}%d{fcfcfc}/{c2fc00}10{fcfcfc} ]nn {FF0000}• {fcfcfc}Foloseste {c2fc00}/Stats{fcfcfc} pentru mai multe detalii!", PlayerName(playerid), PlayerInfo[playerid][Level], PlayerInfo[playerid][pVip], GiveNote(playerid)); return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{0066CC}X{FFFF00}S{FF0000}G{AFAFAF} - {fcfcfc}Account {c2fc00}Info", xxstring, "Ok",""); } } } } else { PlayerInfo[ playerid ][ FailLogin ]++; if ( PlayerInfo[ playerid ][ FailLogin ] == MAX_FAIL_LOGINS ) { format( gsString, 144, "*** {00FF00}%s(%d) {FFF1AF}has been kicked. Reason: {FF0000}Failed Logins{FFF1AF}!", PlayerName( playerid ), playerid ); SendClientMessageToAll( COLOR_GREY, gsString ); Kick( playerid ); } switch( Lang[ playerid ] ) { case 0: format( gsString, 256, "ttt{FF0000}ACCOUNT:nn{ACACAC}Login failed! Incorrect Password.nATTEMPTS: {FF0000}%d/%dnn{00FF00}PONT: {ACACAC}Change your '{FF0000}Name{ACACAC}' if this isn't your account name.", PlayerInfo[ playerid ][ FailLogin ], MAX_FAIL_LOGINS ); case 1: format( gsString, 256, "tttt{FF0000}CONT:nn{ACACAC}Logarea nu a reusit! Parola Incorecta.nINCERCARI: {FF0000}%d/%dnn{00FF00}PONT: {ACACAC}Schimbati '{FF0000}Numele{ACACAC}' daca acesta nu este numele accountului tau.", PlayerInfo[ playerid ][ FailLogin ], MAX_FAIL_LOGINS ); } ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Login your account", gsString, "Login", "New Name" ); } return ( 1 ); }
-
Se poate sa ne lasi intreaga comanda?
-
Nu ai un inlude-ul "GeoIP_Plugin" in pawno -> Include. Verifica sa nu fie vreo greseala de nume, sa nu fi trecut numele gresit in gamemode al include-ului.
-
Cel mai mult ma incanta obiectele noi )
-
Incearca cum ti-a zis WiDuAIK, dar incearca si asa: stock saveDealer(const id) { format(szLargeString, sizeof(szLargeString), "UPDATE `dealer` SET `stock` = '%d', `Price` = '%d', `Pprice` = `%d', `name` = '%s' WHERE `carID` = '%d'", vehSlots[id],vehPrice[id],vehPprice[id],vehName[id],id); mysql_tquery(handle,szLargeString); return 1; }
-
Esti sigur ca dialogul ala nu il ai definit DIALOGID_SETOWNER ? Daca nu e altfel definit, pune in header (la inceputul scriptului): #define DIALOGIDSETOWNER 3 -> in loc de 3 pui orice alt numar, insa sa verifici ca numarul respectiv sa nu fie deja folosit de alt dialog.
-
Incearca asa: stock GetOnLinePlayers() { new OnLine; for(new i, g = GetMaxPlayers(); i < g; i++) { if(IsPlayerConnected(i)) { OnLine++; { } else { OnLine--; } } return OnLine; } sau incearca sa pui la OnPlayerUpdate: new strings[15]; format(strings, 15, "%d/50",GetOnLinePlayers()); TextDrawSetString(players , strings); TextDrawShowForPlayer(playerid , players);
-
Incearca sa pui asta la OnPlayerDisconnect: for(new i = 0 , i < MAX_PLAYERS, i++) { new strings[15]; format(strings, 15, "%d/50",GetOnLinePlayers()); TextDrawSetString(players , strings); TextDrawShowForPlayer(i , players); }
-
Problema asta apare din cauza string-ului , care e prea mic. Incearca asa: CMD:ban( playerid, params[ ] ) { LevelCheck( playerid, 5 ); new liPlayer, liDays, lsReason[ 156 ] ; if ( sscanf( params, "uis[156]", liPlayer, liDays, lsReason ) ) return SendClientMessage( playerid, COLOR_ULTRARED, "USAGE: {33CCFF}/ban [PlayerID] [Day(s)] [Reason]" ); if ( !IsPlayerConnected( liPlayer ) ) return SendError( playerid, "Player not connected !" ); if ( PlayerInfo[ liPlayer ][ Level ] >= 5 ) FormatMSG( liPlayer, COLOR_ULTRARED, "%s has tried to ban you!", PlayerName( playerid ) ); if ( PlayerInfo[ liPlayer ][ Level ] > PlayerInfo[ playerid ][ Level ] ) return SendError( playerid, "You cannot use this command on this admin" ); if ( liPlayer == playerid && !IsPlayerAdmin( playerid ) ) return SendError( playerid, "You can't ban yourself!" ); if ( liDays < 1 || liDays > 99 ) return SendError( playerid, "Invalid day ! Write values between 1 and 99." ); PlayerInfo[ playerid ][ PBans ]++; SendClientMessageToAll( COLOR_ABLUE, "======================(Ban Info)======================" ); format( gsString, 250, "{AFAFAF}Player {3399ff}%s {AFAFAF}has been {FF0000}Banned{AFAFAF} by Administrator {3399ff}%s {AFAFAF}for {FF0000}%d {AFAFAF}days.", PlayerName( liPlayer ), PlayerName( playerid ), liDays, zDate( ) ); SendClientMessageToAll( COLOR_ABLUE, gsString ); format( gsString, 250, "{AFAFAF}Reason: {3399ff}%s ", lsReason ); SendClientMessageToAll( COLOR_ABLUE, gsString ); SendClientMessageToAll( COLOR_ABLUE, "====================================================" ); new szDay, szMonth, szYear, szHour, szMinute, szSecond ; getdate( szYear, szMonth, szDay ); gettime( szHour, szMinute, szSecond ); if ( !IsPlayerAdmin( liPlayer ) ) { format( gsQuery, 1024, "INSERT INTO `Banlist` (`Key`,`IP`,`Name`,`Reason`,`Admin`,`BanDate`,`BanTime`,`BanDays`,`Request`,`Aproove`) VALUES(0,'%s','%s','%s','%s','%d-%d-%d','%d:%d:%d',UNIX_TIMESTAMP() + %d * 86400,0,0)", GetPlayerIPEx( liPlayer ), PlayerName( liPlayer ), lsReason, PlayerName( playerid ), szYear, szMonth, szDay, szHour, szMinute, szSecond, liDays ); mysql_function_query( g_Handle, gsQuery, false, "", "" ); } for ( new i = 0; i < 69; i++ ) SendClientMessage( liPlayer, ~1, " " ); switch( Lang[ liPlayer ] ) { case 0: { format( gsString, 500, "{00FF00}You are banned your server by {FF0000}%s {00FF00}for {FF0000}%d {00FF00}days!", PlayerName( playerid ), liDays ); SendClientMessage(liPlayer, COLOR_GREEN, gsString ); format( gsString, 500, "{FFFF00}Reason: %s", lsReason ); SendClientMessage(liPlayer, COLOR_GREEN, gsString ); SendClientMessage(liPlayer, COLOR_GREEN, "{00FF00}Press F8 for Screen!" ); format( gsString, 500, "{00FF00}If you un-ban, visit x forum and make a request to the name {FF0000}%s {00FF00}and ip {FF0000}%s {00FF00}!", PlayerName( liPlayer ), GetPlayerIPEx( liPlayer ) ); SendClientMessage(liPlayer, COLOR_GREEN, gsString ); } case 1: { format( gsString, 500, "{00FF00}Ai primit interdictie pe server de la {FF0000}%s {00FF00}pentru {FF0000}%d {00FF00}zile!", PlayerName( playerid ), liDays ); SendClientMessage(liPlayer, COLOR_GREEN, gsString ); format( gsString, 500, "{FFFF00}Motiv: %s", lsReason ); SendClientMessage(liPlayer, COLOR_GREEN, gsString ); SendClientMessage(liPlayer, COLOR_GREEN, "{00FF00}Apasa F8 pentru a face o poza!" ); format( gsString, 500, "{00FF00}Daca vrei un-ban, viziteaza x forum si fa o cerere cu numele {FF0000}%s {00FF00}si ip-ul {FF0000}%s {00FF00}!", PlayerName( liPlayer ), GetPlayerIPEx( liPlayer ) ); SendClientMessage(liPlayer, COLOR_GREEN, gsString ); } } FormatLog( "BanCMD_Log", "Administrator %s has banned %s for reason: '%s'", PlayerName( playerid ), PlayerName( liPlayer ), lsReason ); SetTimerEx("KickPlayer", 500,false,"i",liPlayer); return ( 1 ); } CMD:warn( playerid, params[ ] ) { LevelCheck( playerid, 3 ); new Player, Reason[ 180 ] ; if ( sscanf( params, "us[180]", Player, Reason ) ) return SendClientMessage( playerid, COLOR_ULTRARED, "USAGE: {33CCFF}/warn [PlayerID] [Reason]" ); if ( !IsPlayerConnected( Player ) ) return SendError( playerid, "Player is not connected" ); if ( PlayerInfo[ Player ][ Level ] > PlayerInfo[ playerid ][ Level ] ) return SendError( playerid, "You cannot use this command on this admin" ); if ( Player == playerid ) return SendError( playerid, "You cannot warn yourself" ); PlayerInfo[ playerid ][ PWarns ]++; PlayerInfo[ Player ][ Warnings ]++; if ( PlayerInfo[ Player ][ Warnings ] == MAX_WARNINGS ) { gsString[ 0 ] = EOS; if ( PlayerInfo[ playerid ][ Level ] >= 3 ) format( gsString, sizeof( gsString ), "{D1D1D1}*** Administrator {FF0000}%s{D1D1D1} has kicked {00A6FF}%s. {D1D1D1}(Reason: %s) (Warning: %d/%d)***", PlayerName( playerid ), PlayerName( Player ), Reason, PlayerInfo[ Player ][ Warnings ], MAX_WARNINGS ); SendClientMessageToAll( COLOR_GREY, gsString ); Kick( Player ); PlayerInfo[ Player ][ Warnings ] = 0; return ( 1 ); } else { if ( PlayerInfo[ playerid ][ Level ] >= 3 ) format( gsString, sizeof( gsString ), "{FFFF00}*** Administrator {FF0000}%s{FFFF00} has given {00BBF6}%s {FFFF00}a warning. {FFFF00}(Reason: %s) (Warning: %d/%d) ***", PlayerName( playerid ), PlayerName( Player ), Reason, PlayerInfo[ Player ][ Warnings ], MAX_WARNINGS ); SendClientMessageToAll( COLOR_YELLOW, gsString ); Announce( Player, "~r~~h~You have received a ~y~~h~warning!", 2500, 1 ); } FormatLog( "Warn_Log", "Administrator %s has warned %s with reason %s", PlayerName( playerid ), PlayerName( Player ), Reason ); return ( 1 ); }
-
In loc de : new mod = 100; Incearca sa pui: new mod [100];
-
Inlocuieste dialogul cu numarul "12345", adica acesta: if(dialogid == 12345) { if(strlen(inputtext)) { GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "users/%s.ini", sendername); new File: hFile = fopen(string, io_read); if (hFile) { SendClientMessage(playerid, COLOR_RED, "[USERS] Acest nickname este luat deja de alt player, incearca altul!"); fclose(hFile); return 1; } new tmppass[64]; strmid(tmppass, inputtext, 0, strlen(inputtext), 255); //Encrypt(tmppass); OnPlayerRegister(playerid,tmppass); } else { new regstring[128]; new regname[64]; GetPlayerName(playerid,regname,sizeof(regname)); format(regstring,sizeof(regstring),"{FFFFFF}Welcome, {00bfff}%sn{FFFFFF}You dont have an account.nPlease register:",regname); ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Register",regstring,"Register","Exit"); } } } else { Kick(playerid); } Cu acesta: if(dialogid == 12345) { if(!response) return Kick(playerid); if(strlen(inputtext)) { GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "users/%s.ini", sendername); new File: hFile = fopen(string, io_read); if (hFile) { SendClientMessage(playerid, COLOR_RED, "[USERS] Acest nickname este luat deja de alt player, incearca altul!"); fclose(hFile); return 1; } new tmppass[64]; strmid(tmppass, inputtext, 0, strlen(inputtext), 255); //Encrypt(tmppass); OnPlayerRegister(playerid,tmppass); } else { new regstring[128]; new regname[64]; GetPlayerName(playerid,regname,sizeof(regname)); format(regstring,sizeof(regstring),"{FFFFFF}Welcome, {00bfff}%sn{FFFFFF}You dont have an account.nPlease register:",regname); ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Register",regstring,"Register","Exit"); } }