Jump to content

Deejva

Uživatel
  • Příspěvků

    529
  • Registrován

  • Aktivní

  • Vítězných dnů

    6

Everything posted by Deejva

  1. Deejva

    pomoc Give Zbraně

    Těžký proto potřebuju příklad V pawnu dělam jen pár týdnu
  2. Ahoj, mam admin script a v něm příkaz /giveweapon. Kod: dcmd_giveweapon(playerid,params[]) { if(PlayerInfo[playerid][Level] >= 2) { new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index); if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "/Giveweapon [iD] [iD ZBRANĚ/JMÉNO ZBRANĚ] [POČET NÁBOJŮ]"); new player1 = strval(tmp), weap, ammo, WeapName[32], string[128]; if(!strlen(tmp3) || !IsNumeric(tmp3) || strval(tmp3) <= 0 || strval(tmp3) > 99999) ammo = 500; else ammo = strval(tmp3); if(!IsNumeric(tmp2)) weap = GetWeaponIDFromName(tmp2); else weap = strval(tmp2); if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) { if(!IsValidWeapon(weap)) return SendClientMessage(playerid,red,"ERROR: Špatné ID zbraně!"); CMDMessageToAdmins(playerid,"GIVEWEAPON"); GetWeaponName(weap,WeapName,32); format(string, sizeof(string), "Dal jsi hráči \"%s\" %s (%d) s %d náboji", PlayerName2(player1), WeapName, weap, ammo); SendClientMessage(playerid,blue,string); if(player1 != playerid) { format(string,sizeof(string),"Administrátor \"%s\" ti dal %s (%d) s %d náboji", PlayerName2(playerid), WeapName, weap, ammo); SendClientMessage(player1,blue,string); } return GivePlayerWeapon(player1, weap, ammo); } else return SendClientMessage(playerid,red,"ERROR: Tento hráč není připojen"); } else return SendClientMessage(playerid,red,"ERROR: Na tento příkaz nemáš dostatečný admin level"); } A já bych to potřeboval přes tabulku, takže by se napsalo /giveweapon [iD] a zobrazila by se tabulka, tam by byli všechny zbraně od tec9 po minigun. A po tom co byh vybral zbraň, by se zobrazil další dialog, ve kterym bych zadal počet nábojů umí toto někdo udělat ? potřeboval bych to přes dcmd, takže nějak takto ? dcmd_giveweapon(playerid,params[]) if(PlayerInfo[playerid][Level] >= 2) { { ShowPlayerDialog(playerid, 80000, DIALOG_STYLE_LIST, "New Warpy:", "Tec9 \nRaketomet/nMinigun ", "OK", "Zavrit"); return 1; } A pak v dialog response že když dialog id = blabla a listitem = 0, tak další show dialog ? a jak tam pak vložim aby to co vloží, aby byl počet nábojů ? Díky za odpověd Kdo umí, prosim o ukázku givu 2 zbraní :d
  3. Nefunguje - mam ho tam Spravil jsem, mělo to být #include <sscanf2> #include <YSI\y_ini> #include <YSI\y_commands> #include <YSI\y_utils> Můžete LOCK ale nefunguje to :/
  4. Ahoj, poteboval bych pomoci. Mám admin script a v něm includy: #include <a_samp> #include <foreach> #include <sscanf2> #include <YSI/y_ini> #include <YSI\y_commands> Mám je stažené, a např #include <YSI/y_ini> #include <YSI\y_commands> Závisí na dalších includech. Např: #include <YSI/y_ini> a v něm na řádku 165: #include <YSI\y_utils> A když dam v Pawnu F5 tak mi to hodí Error C:\Users\Admin\Desktop\SServer 0.3e\server\pawno\include\YSI/y_ini.inc(165) : fatal error 100: cannot read from file: "y_utils" Include vložný mám, ví někdo jak to spravit ? Piště sem nebo na skype dejva.svarc, vše můžu poslat (script,includy).. Předem díky za odpověd,
  5. A má to být takhle? : OnPlayerCommandText public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(freeze,6,cmdtext); return 0; } a dole dcmd_freeze(playerid, params[]) { if(!strlen(tmp)) { SendClientMessage(playerid,BILA, "/Freeze [iD]"); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); TogglePlayerControllable(playerid2,0); format(string, sizeof(string), "%s zmrazen administrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_ORANZOVA, string); } return 1; } když to mam takhle, tak když napíšu freeze, nebo freeze a ID pořád to píše /freeze [iD].
  6. Ahoj, mám tu problem. Mám tu klasický admin script, ale když něco napíšu špatně, třeba /Askjdsakodjask nebo něco, tak mě to mutne Zde kod admin scriptu: #include <a_samp> #define COLOR_GREY 0xAFAFAFAA #define COLOR_RED 0xFF0000AA #define COLOR_ORANZOVA 0xFF8C00AA #define BILA 0xFFFFFFFF #define MAX_SLOTS 30 #define dcmd(%1,%2,%3) if ((!strcmp((%3)[1], #%1, true, (%2))) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return true #include <dini> #pragma tabsize 0 #define IPFILE "ip/%s.txt" // Iba pre zjednodušenie prerábanie #define SCM SendClientMessage new string[128]; new playerid2; new cmd[32]; new tmp[32]; new idx; new name [MAX_PLAYER_NAME]; new name1 [MAX_PLAYER_NAME]; new Muted[MAX_SLOTS]; //new Car[MAX_SLOTS]; forward SendReportMessage(color, string[], level); enum IfAdmin { Admin, }; new PlayerAdmin[MAX_SLOTS][ifAdmin]; public OnPlayerConnect(playerid) { PlayerAdmin[playerid][Admin] = 0; new str[128],cesta[50],ip[20];// Vytvoríme premeny GetPlayerIp(playerid,ip,20);//zistíme si hráčovu IP format(cesta,50,IPFILE,ip);//do stringu "cesta" uložíme cestu k súboru ("ip/jehoip.txt") new File:aa;// vytvoríme premenu na súbor new name[MAX_PLAYER_NAME];//premena na nick GetPlayerName(playerid,name,MAX_PLAYER_NAME);//zistíme nick hráča fcreate(cesta);//ak súbor neexistuje, vytvorí ho (funkcie sú nižšie) aa = fopen(cesta,io_read);//otvoríme súbor s parametrom io_read na čítanie new nasiel;//vytvoríme si premenu na kontrolu, či nick tam už zapísaný je while(fread(aa,str)){//spustíme cyklus -> čítanie riadok po riadku DelChar(str);//z prečítaného riadku zmažeme \r\n if(!strcmp(name,str,false)){//skontrolujeme či sa prečítaný nick rovná aktuálnemu nicku nasiel = 1;// ak áno, nastavíme premene hodnotu 1 break;//zastavíme cyklus } } fclose(aa);//zavreme súbor if(nasiel == 0){//ak tam aktuálny nick nieje aa = fopen(cesta,io_append);// otvoríme súbor format(str,128,"%s\r\n",name);//formatom nastavíme stringu text, ktorý chceme zapísať fwrite(aa,str);//zapíšeme do súboru fclose(aa);//zavreme súbor }//ukončíme podmienku return 1; } public OnPlayerRequestSpawn(playerid) { new cesta[128]; format(cesta,128,"/AS/%s.ini",Jmeno(playerid)); if(PlayerAdmin[playerid][Admin] > 0) return true; if(!dini_Exists(cesta)) { dini_Create(cesta); dini_IntSet(cesta, "Level",0); } else { PlayerAdmin[playerid][Admin] = dini_Int(cesta, "Level"); } return 1; } public OnPlayerText(playerid, text[]) { if (Muted[playerid] == 1) { SendClientMessage(playerid,COLOR_RED,"Jsi umlčený!"); return 0; } return 1; } public OnGameModeInit() { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { /*new string[128]; new playerid2; new cmd[32]; new tmp[32]; new idx; new name [MAX_PLAYER_NAME]; new name1 [MAX_PLAYER_NAME]; */ if(strcmp(cmd, "/mute", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, BILA, "/Mute [iD]"); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 2) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); Muted[playerid2] = 1; format(string, sizeof(string), "%s je umlčený administrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_RED, string); } return 1; } if(strcmp(cmd, "/unmute", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, BILA, "/Unmute [iD]."); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); Muted[playerid2] = 0; format(string, sizeof(string), "%s byl odmčený administrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_RED, string); } return 1; } if(strcmp(cmd, "/freeze", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid,BILA, "/Freeze [iD]"); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); TogglePlayerControllable(playerid2,0); format(string, sizeof(string), "%s zmrazen administrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_ORANZOVA, string); } return 1; } if(strcmp(cmd, "/unfreeze", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid,BILA, "/Unfreeze [iD]"); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); TogglePlayerControllable(playerid2,1); format(string, sizeof(string), "%s byl odmražený administrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_RED, string); } return 1; } if(strcmp(cmd, "/jail", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid,BILA, "/Jail [iD]"); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 2) { ResetPlayerWeapons(playerid2); SetPlayerVirtualWorld(playerid, 6); SetPlayerInterior(playerid, 3); SetPlayerPos(playerid2,193.7394,174.8765,1003.0234); format(string, sizeof(string), "%s byl administrátorem %s zavřen do cely",name1 ,name); SendClientMessageToAll(COLOR_RED, string); } return 1; } if(strcmp(cmd, "/unjail", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, BILA, "/Unjail [iD]"); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 2) { SetPlayerVirtualWorld(playerid, 6); SetPlayerInterior(playerid, 3); SetPlayerPos(playerid2,208.7293,177.9966,1003.0313); format(string, sizeof(string), "%s byl administrátorem %s propuštěn z vězení",name1 ,name); SendClientMessageToAll(COLOR_RED, string); } return 1; } if(strcmp(cmd, "/setscore", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, BILA, "/Setscore [iD]"); return 1; } playerid2 = strval(tmp); tmp = strtok(cmdtext, idx); new score = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 6) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); SetPlayerScore(playerid2, score); format(string, sizeof(string), "%s dostal %d bodů od administrátora %s.", name1, score,name); SendClientMessageToAll(COLOR_RED, string); return 1; } else { SendClientMessage(playerid, COLOR_RED, "Nejsi admin !"); } return 1; } if(strcmp(cmd, "/ban", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, BILA, "/Ban [iD]."); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 5) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); format(string, sizeof(string), "%s byl zabanovaný adminisrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_RED, string); Ban( playerid2 ); } return 1; } if(strcmp(cmd, "/kick", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, BILA, "/Kick [iD]"); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 2) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); format(string, sizeof(string), "%s byl kicknutý administrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_RED, string); Kick( playerid2 ); } return 1; } if(strcmp(cmd, "/spec", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, BILA, "/Spec [iD]"); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { TogglePlayerSpectating(playerid, 1); PlayerSpectatePlayer(playerid, playerid2); SetPlayerInterior(playerid,GetPlayerInterior(playerid2)); } return 1; } if(strcmp(cmd, "/specoff", true) == 0) { TogglePlayerSpectating(playerid, 0); SetCameraBehindPlayer(playerid); return 1; } if(strcmp(cmd, "/report", true) == 0) { new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, BILA, "/Report [PROBLEM]"); return 1; } SendClientMessage(playerid, COLOR_RED, "Report byl úspěšně odeslán online administrátorům."); format(string, sizeof(string), "Report napsal: %s(%d): %s",name, playerid, result); SendReportMessage(COLOR_RED, string, 101); printf("[info] %s oznámil (%s)", name, result); return 1; } if(strcmp(cmd, "/ahelp", true) == 0) { SendClientMessage(playerid,COLOR_RED," Admin Příkazy: "); SendClientMessage(playerid,BILA,"Své problemy hlaš online administrátorům přes příkaz /Report"); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { SendClientMessage(playerid,BILA,"Admin lvl 1: /Avila /Mute /Unmute /Freeze /Unfreeze /Spec /Specoff"); } if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 2) { SendClientMessage(playerid,BILA,"Admin lvl 2: /Jail /Unjail /LosSantos /SanFierro /LasVenturas "); } if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 3) { SendClientMessage(playerid,BILA,"Admin lvl 3: /Kick, Funkce do vozidla: Num 8 - Oprava, Num 6 - Hydraulika, Num 4 - Flip, Num 2 - Nitro"); } if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 4) { SendClientMessage(playerid,BILA,"Admin lvl 4: /Heal /Vesta /Hp "); } if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 5) { SendClientMessage(playerid,BILA,"Admin lvl 5: /Ban"); } if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 6) { SendClientMessage(playerid,BILA,"Admin lvl 6: /Setscore "); } if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 12) { SendClientMessage(playerid,BILA,"Hlavní Administrátor: /god "); } if(IsPlayerAdmin(playerid)) { SendClientMessage(playerid,BILA,"Rcon Admin: /Setadmin"); } return 1; } if(strcmp(cmd, "/setadmin", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, BILA, "/Setadmin [iD] [LEVEL]"); return 1; } playerid2 = strval(tmp); tmp = strtok(cmdtext, idx); new level = strval(tmp); if (IsPlayerAdmin(playerid)) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); PlayerAdmin[playerid2][Admin] = level; new cesta[128]; format(cesta,128,"/AS/%s.ini",meno(playerid2)); format(string, sizeof(string), "%s byl udělen admin lvl %d od administrátora %s", name1, level,name); SendClientMessageToAll(COLOR_RED, string); dini_IntSet(cesta,"Level",level); return 1; } else { SendClientMessage(playerid, COLOR_RED, "Nejsi Admin"); } return 1; } if(strcmp(cmdtext,"/avila",true)==0) { if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { SetPlayerPos(playerid,3757.5,-4,822); SetPlayerInterior(playerid,0); SendClientMessage(playerid,COLOR_RED,"Teleportoval jsi se na admin místo. Zachovávej respekt vůči ostatním adminům!"); } return 1; } if(strcmp(cmdtext,"/lossantos",true)==0) if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 2) { SetPlayerPos(playerid,2498.5,-1672,13.3); SetPlayerInterior(playerid,0); new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,sizeof(playername)); format(string,sizeof(string),"Administrátor %s se teleportoval do města Los Santos.", playername); SendClientMessageToAll(0xFF0000FF,string); return 1; } if(strcmp(cmdtext,"/sanfierro",true)==0) if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 2) { SetPlayerPos(playerid,-2031.8,175,28.8); SetPlayerInterior(playerid,0); new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,sizeof(playername)); format(string,sizeof(string),"Administrátor %s se teleportoval do města San Fiero.", playername); SendClientMessageToAll(0xFF0000FF,string); return 1; } if(strcmp(cmdtext,"/LasVenturas",true)==0) if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 2) { SetPlayerPos(playerid,2030.3,1007.1,10.7); SetPlayerInterior(playerid,0); new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,sizeof(playername)); format(string,sizeof(string),"Administrátor %s se teleportoval do města Las Venturas.", playername); SendClientMessageToAll(0xFF0000FF,string); return 1; } if(strcmp(cmdtext,"/heal",true)==0) if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 4) { SetPlayerHealth(playerid,100); return 1; } if(strcmp(cmdtext,"/vesta",true)==0) if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 4) { SetPlayerArmour(playerid,100); return 1; } if(strcmp(cmdtext,"/hp",true)==0) if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 4) { SetPlayerHealth(playerid,100); SetPlayerArmour(playerid,100); return 1; } if(strcmp(cmdtext,"/god",true)==0) if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 12) { SetPlayerHealth(playerid,9999999999); return 1; } if(strcmp(cmdtext,"/help",true)==0) { SendClientMessage(playerid,BILA,"Příkazy: /kill"); SendClientMessage(playerid,BILA,"Objekty: /Penis, /DPenis"); return 1; } if(strcmp(cmdtext,"/kill",true)==0) { SetPlayerHealth(playerid,0); return 1; } if(strcmp(cmd, "/ip", true) == 0) // Prikaz /ip { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid,BILA, "/Ip [iD]"); //Pri prikazu /IP píše použití return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) //Když je admin level 1 { //A tady dát tu funkci new id = playerid2; new str[500]; // vytvoríme si string new cesta[50]; // vytvoríme si string cestu format(cesta,50,IPFILE,Ip(id));// format na súbor (cestu + názov) new File:Aa = fopen(cesta,io_read);// otvoríme súbor new str2[128];// vytvoríme ďalší string ktorý bude ukladať získaný riadok zo súboru format(str,1000,"Hráč %s mal tieto nicky:\n",Jmeno(id)); // čo asi... xD while(fread(Aa,str2)){// cyklus na čítanie riadku po riadku zo súboru strcat(str,str2);//vložíme string zo súboru do "str" ktorý nakoniec zobrazíme } fclose(Aa);// zavreme súbor ShowPlayerDialog(playerid,3,0,"Anti-Fake",str,"OK","");// zobrazíme dialóg } return 1; } return 0; } public SendReportMessage(color, string[], level) { for(new i=0; i<MAX_SLOTS; i++) { if(PlayerAdmin[i][Admin] >= level || IsPlayerAdmin(i)) { SendClientMessage(i, color, string); } } } 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; } stock meno(playerid) { new m[50]; GetPlayerName(playerid,m,50); return m; } QCMD:ip(){ new id = strval(params); // vytvoríme premenu a params prevedieme na integer if(!IsPlayerConnected(id)) return 0; //ak id nieje pripojené, vráti 0 (dajte si tam npr. SCM) new str[500]; // vytvoríme si string new cesta[50]; // vytvoríme si string cestu format(cesta,50,IPFILE,Ip(id));// format na súbor (cestu + názov) new File:Aa = fopen(cesta,io_read);// otvoríme súbor new str2[128];// vytvoríme ďalší string ktorý bude ukladať získaný riadok zo súboru format(str,1000,"Hráč %s mal tieto nicky:\n",Jmeno(id)); // čo asi... xD while(fread(Aa,str2)){// cyklus na čítanie riadku po riadku zo súboru strcat(str,str2);//vložíme string zo súboru do "str" ktorý nakoniec zobrazíme } fclose(Aa);// zavreme súbor ShowPlayerDialog(playerid,3,0,"Anti-Fake",str,"OK","");// zobrazíme dialóg return true;// zastavíme funkciu, vrátime true } stock Ip(i){ new xxx[20]; GetPlayerIp(i,xxx,20); return xxx; } stock DelChar(tstring[]) { new ln = strlen(tstring); if(tstring[ln-2] == '\r')tstring[ln-2] = '\0'; if(tstring[ln-1] == '\n')tstring[ln-1] = '\0'; } stock Jmeno(playerid) { new n[MAX_PLAYER_NAME]; GetPlayerName(playerid,n,MAX_PLAYER_NAME); return n; } stock fcreate(file[]) { if(fexist(file)) return false; new File:cFile = fopen(file,io_write); return fclose(cFile); } #define OPRAVIT KEY_ANALOG_UP #define NITRO KEY_ANALOG_DOWN #define FLIP KEY_ANALOG_LEFT #define HYDRAULIKA KEY_ANALOG_RIGHT //============================================================================== public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { new vehicleid = GetPlayerVehicleID(playerid); //============================================================================== if(newkeys & NITRO) { if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 3) if(IsPlayerInVehicle(playerid,vehicleid)) { PlayerPlaySound(playerid,1133,0.0,0.0,0.0); AddVehicleComponent(vehicleid,1010); GameTextForPlayer(playerid,"~w~Nitro Pridano!",2000,3); } return 1; } //============================================================================== if(newkeys & FLIP) { if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 3) if(IsPlayerInVehicle(playerid,vehicleid)) { PlayerPlaySound(playerid,1133,0.0,0.0,0.0); RepairVehicle(GetPlayerVehicleID(playerid)); new Float:z; if(IsPlayerInAnyVehicle(playerid)){ GetVehicleZAngle(GetPlayerVehicleID(playerid),z); SetVehicleZAngle(GetPlayerVehicleID(playerid),z); GameTextForPlayer(playerid,"~w~Vozidlo Otoceno!",2000,3); } } return 1; } //============================================================================== if(newkeys & HYDRAULIKA) { if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 3) if(IsPlayerInVehicle(playerid,vehicleid)) { PlayerPlaySound(playerid,1133,0.0,0.0,0.0); AddVehicleComponent(vehicleid,1087); GameTextForPlayer(playerid,"~w~Hydraulika Pridana!",2000,3); } return 1; } //============================================================================== if(newkeys & OPRAVIT) { if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 3) if(IsPlayerInVehicle(playerid,vehicleid)) { PlayerPlaySound(playerid,1133,0.0,0.0,0.0); RepairVehicle(GetPlayerVehicleID(playerid)); GameTextForPlayer(playerid,"~w~Vozidlo Opraveno!",2000,3); } return 1; } return 0; } //======================================================================== A když napíšu třeba /ip 0 napíše to: /Mute [iD]
  7. C:\Users\Admin\Desktop\SServer 0.3e\server\gamemodes\IP.pwn(19) : warning 201: redefinition of constant/macro (symbol "USER_FILE_PATH") C:\Users\Admin\Desktop\SServer 0.3e\server\gamemodes\IP.pwn(98) : error 017: undefined symbol "pIP" C:\Users\Admin\Desktop\SServer 0.3e\server\gamemodes\IP.pwn(98) : warning 215: expression has no effect C:\Users\Admin\Desktop\SServer 0.3e\server\gamemodes\IP.pwn(98) : error 001: expected token: ";", but found "]" C:\Users\Admin\Desktop\SServer 0.3e\server\gamemodes\IP.pwn(98) : error 029: invalid expression, assumed zero C:\Users\Admin\Desktop\SServer 0.3e\server\gamemodes\IP.pwn(98) : fatal error 107: too many error messages on one line
  8. a if(strcmp(cmd, "/kopec", true) == 0) //prikaz { if (IsPlayerAdmin(playerid)) { SetPlayerPos(playerid,28.6587,2246.2188,126.6797); SetPlayerInterior(playerid,0); SendClientMessage(playerid,COLOR_WHITE,"Teleportoval jsi se na kopec smrti"); } } return 1; if(strcmp(cmd, "/kopecport", true) == 0) //prikaz { if (IsPlayerAdmin(playerid)) { SetPlayerPos(playerid,28.6587,2246.2188,126.6797); SetPlayerInterior(playerid,0); SendClientMessage(playerid,COLOR_WHITE,"Teleportoval jsi se na kopec smrti"); new string [254]; new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,sizeof(playername)); format(string,sizeof(string),"Admin %s plánuje akci kopec smrti.", playername); SendClientMessageToAll(0xFF0000FF,string); } } return 1;
  9. 0/10, objekty padají dolů, zůstane jen plošina a 5 vozíků na golf
  10. Stejný téma jsem založil před 3 hodinama akorát zasviněný forum
  11. Ahoj chtěl bych se zeptat, jak udělam, že když se někdo odpojí tak až se připojí, zůstanou mu zbraně, hp a pozice Díky za odpověd
  12. Je, ale je to upravený protože to s půlky nefungovalo + se to neukládalo
  13. 9/10 těch motorek mohle být míń nebo mohli být lépe dány
  14. Ahoj, máme tu kamarádovo admin script, tomu to dělal další kámoš, a nemůžeme přijít na chybu, proč je tato chyba. Jaká chyba ? Vše fungune, ale chyba je v tom, že nejde psát do CHATU ! PS: MAM TO JAKO FILTERSCRIPT #include <a_samp> #define COLOR_GREY 0xAFAFAFAA #define COLOR_RED 0xFF0000AA #define COLOR_ORANZOVA 0xFF8C00AA #define MAX_SLOTS 30 #define dcmd(%1,%2,%3) if ((!strcmp((%3)[1], #%1, true, (%2))) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return true #include <dini> #pragma tabsize 0 new Muted[MAX_SLOTS]; //new Car[MAX_SLOTS]; forward SendReportMessage(color, string[], level); enum IfAdmin { Admin, }; new PlayerAdmin[MAX_SLOTS][ifAdmin]; public OnPlayerConnect(playerid) { PlayerAdmin[playerid][Admin] = 0; return 1; } public OnPlayerRequestSpawn(playerid) { new cesta[128]; format(cesta,128,"/AS/%s.ini",meno(playerid)); if(PlayerAdmin[playerid][Admin] > 0) return true; if(!dini_Exists(cesta)) { dini_Create(cesta); dini_IntSet(cesta, "Level",0); } else { PlayerAdmin[playerid][Admin] = dini_Int(cesta, "Level"); } return 1; } public OnPlayerText(playerid, text[]) { if (Muted[playerid] == 1) { SendClientMessage(playerid,COLOR_ORANZOVA,"Nemůžeš psát protože jsi umlčený!"); } return 0; } public OnPlayerCommandText(playerid, cmdtext[]) { new string[128]; new playerid2; new cmd[32]; new tmp[32]; new idx; new name [MAX_PLAYER_NAME]; new name1 [MAX_PLAYER_NAME]; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/mute", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ORANZOVA, "Použíj /mute [iD] abys umlčel daného hráče."); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); Muted[playerid2] = 1; format(string, sizeof(string), "%s je umlčený administrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_ORANZOVA, string); } return 1; } if(strcmp(cmd, "/unmute", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ORANZOVA, "Použíj /unmute [iD] abys odmlčel daného hráče."); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); Muted[playerid2] = 0; format(string, sizeof(string), "%s byl odmčený administrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_ORANZOVA, string); } return 1; } if(strcmp(cmd, "/freeze", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ORANZOVA, "Použíj /freeze [iD] abys zmrazil daného hráče."); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); TogglePlayerControllable(playerid2,0); format(string, sizeof(string), "%s zrazen administrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_ORANZOVA, string); } return 1; } if(strcmp(cmd, "/unfreeze", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ORANZOVA, "Použíj /unfreeze [iD] abys odmrazil daného hráče."); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); TogglePlayerControllable(playerid2,1); format(string, sizeof(string), "%s byl odmražený administrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_ORANZOVA, string); } return 1; } if(strcmp(cmd, "/jail", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ORANZOVA, "Použíj /jail [iD] abys zatknul daného hráče."); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { ResetPlayerWeapons(playerid2); SetPlayerVirtualWorld(playerid, 6); SetPlayerInterior(playerid, 3); SetPlayerPos(playerid2,193.7394,174.8765,1003.0234); } return 1; } if(strcmp(cmd, "/unjail", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, "Použíj /unjail [iD] abys propustil daného hráče z vězení."); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { SetPlayerVirtualWorld(playerid, 6); SetPlayerInterior(playerid, 3); SetPlayerPos(playerid2,208.7293,177.9966,1003.0313); } return 1; } if(strcmp(cmd, "/setscore", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ORANZOVA, "Použíj /setscore [iD] [body] abys hráči přidělil body."); return 1; } playerid2 = strval(tmp); tmp = strtok(cmdtext, idx); new score = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 2) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); SetPlayerScore(playerid2, score); format(string, sizeof(string), "%s dostal %d bodů od administrátora %s.", name1, score,name); SendClientMessageToAll(COLOR_ORANZOVA, string); return 1; } else { SendClientMessage(playerid, COLOR_ORANZOVA, "Nemáš dostatečně vyskoký admin lvl"); } return 1; } if(strcmp(cmd, "/ban", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ORANZOVA, "Použíj /ban [iD] abys daného zabanoval hráče."); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 2) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); format(string, sizeof(string), "%s byl zabanovaný adminisrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_ORANZOVA, string); Ban( playerid2 ); } return 1; } if(strcmp(cmd, "/kick", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, "Použíj /kick [iD] pro kicknutí daného hráče."); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); format(string, sizeof(string), "%s byl kicknutý administrátorem %s",name1 ,name); SendClientMessageToAll(COLOR_ORANZOVA, string); Kick( playerid2 ); } return 1; } if(strcmp(cmd, "/spec", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ORANZOVA, "Použíj /spec [iD] aby jsi specoval daného hráče."); return 1; } playerid2 = strval(tmp); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { TogglePlayerSpectating(playerid, 1); PlayerSpectatePlayer(playerid, playerid2); SetPlayerInterior(playerid,GetPlayerInterior(playerid2)); } return 1; } if(strcmp(cmd, "/specoff", true) == 0) { TogglePlayerSpectating(playerid, 0); SetCameraBehindPlayer(playerid); } if(strcmp(cmd, "/report", true) == 0) { new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_ORANZOVA, "Použíj /report [informace]"); return 1; } SendClientMessage(playerid, COLOR_ORANZOVA, "Report byl úspěšně odeslán online administrátorům."); format(string, sizeof(string), "Report napsal: %s(%d): %s",name, playerid, result); SendReportMessage(COLOR_RED, string, 101); printf("[info] %s oznámil (%s)", name, result); return 1; } if(strcmp(cmd, "/admin", true) == 0) { SendClientMessage(playerid,COLOR_GREY,"_________________Admin Příkazy:____________________"); SendClientMessage(playerid,COLOR_ORANZOVA,"Nejsi administrátor, tvoje příkazy: /report /admins"); if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 1) { SendClientMessage(playerid,COLOR_ORANZOVA,"Admin lvl 1:/jail /unjail /freeze /spec /specoff"); SendClientMessage(playerid,COLOR_ORANZOVA,"Admin lvl 1:/mute /unmute /unfreeze /kick"); } if(IsPlayerAdmin(playerid) || PlayerAdmin[playerid][Admin] >= 2) { SendClientMessage(playerid,COLOR_ORANZOVA,"Admin lvl2: /setscore /ban "); } if(IsPlayerAdmin(playerid)) { SendClientMessage(playerid,COLOR_ORANZOVA,"Rcon Admin: /setadmin"); } SendClientMessage(playerid,COLOR_GREY,"________________________________________________________________"); return 1; } if(strcmp(cmd, "/setadmin", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_ORANZOVA, "Použíj /setadmin [iD] [level]"); return 1; } playerid2 = strval(tmp); tmp = strtok(cmdtext, idx); new level = strval(tmp); if (IsPlayerAdmin(playerid)) { GetPlayerName(playerid, name, sizeof(name)); GetPlayerName(playerid2, name1, sizeof(name1)); PlayerAdmin[playerid2][Admin] = level; new cesta[128]; format(cesta,128,"/AS/%s.ini",meno(playerid2)); format(string, sizeof(string), "%s byl udělen admin lvl %d od administrátora %s", name1, level,name); SendClientMessageToAll(COLOR_ORANZOVA, string); dini_IntSet(cesta,"Level",level); return 1; } else { SendClientMessage(playerid, COLOR_ORANZOVA, "Nemůžeš použít tento příkaz."); } return 1; } return 0; } public SendReportMessage(color, string[], level) { for(new i=0; i<MAX_SLOTS; i++) { if(PlayerAdmin[i][Admin] >= level || IsPlayerAdmin(i)) { SendClientMessage(i, color, string); } } } 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; } stock meno(playerid) { new m[50]; GetPlayerName(playerid,m,50); return m; }
  15. Ale buť nejsou na levely, nebo je to na 1 level a neb to má errory a nebo to nejde :d :d
  16. Ahoj, potřeboval bych poradit, jak udělam admin systém tím způsobem, aby byl rozdělený na levely. Např. to bude na 5 levelů. A každý level bude moct nějaké příkazy 1. /mute 2. /freeze 3. /kick 4. /car 5. /ban A aby ten level co ten člověk má, tak aby moh dělat to co má ten level, a ty leveli předtím - např. lvl 4 by mohl - mute,freeze,kick,car Díky
  17. Ahoj, potřeboval bych pomoct s tímto : V OnPlayerConnect mam : { new Spielerdatei[64]; new name [MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name); if(dini_Exists(Spielerdatei)) { ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Přihlášení","Zde zadejte své heslo, které jste použili při registraci","Přihlásit","Odpojit"); } else { ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrace","Zde zadejte své heslo kterým se budete později přihlašovat","Registrovat","Odpojit se"); } return 1; } format(vipsave, sizeof(vipsave), "/VIP/%s.vip", Meno(playerid));// Cesta k hráčovému súboru meno.vip Vip[playerid] = dini_Bool(vipsave, "VIP");// Zo súboru načítame VIP return 1; } Hází mi to error : error 021: symbol already defined: "format" Mam tam 2x format: format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name); format(vipsave, sizeof(vipsave), "/VIP/%s.vip", Meno(playerid)); A já potřebuju, aby mi to ve šložce založilo jak Jmeno.txt ( heslo, prachy atd.) + jmeno.vip = vip účet. Ale jak ? Háží to error
×
×
  • Create New...