Jump to content

Neopry

Uživatel
  • Příspěvků

    12
  • Registrován

  • Aktivní

Reputace

0 Na nule
  1. Neopry

    pomoc Práce

    Okey, díky moc. Funguje.
  2. Neopry

    pomoc Práce

    Ahoj, Potřeboval bych pomoc s pracema. Udělal jsem si filescript: Policie, Řidič Kamionů. (zatím jenom dvě abych vyzkoušel jestli to funguje) U práce "Policie" nemám problém, ale u Řidiče kamionů se mi zobrazí jenom Dialog. Když kliknu na "Přijmout práci" tak se nic nestane. Možná je to tím že, to chci mít rozdělený ve filescriptech jako každé samostané zaměstnání. Policie: #include <a_samp> #if defined FILTERSCRIPT #define 0xFF0000AA new Povolani[MAX_PLAYERS]; new POLICIE; public OnGameModeInit(){ POLICIE = CreatePickup(1581, 1, 253.1612,64.7975,1003.6406, -1); return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == POLICIE) ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Policie","Přimout Práci\nPřevléknout se","Vybrat","Konec"); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ if(dialogid == 1){ switch(listitem){ case 0: { if(Povolani[playerid] == 1) return SendClientMessage(playerid,-1,"[ ! ] Tady už jsi zaměstnaný!"); SendClientMessage(0xFF0000AA, string); GivePlayerWeapon(playerid,24,1000); GivePlayerWeapon(playerid,25,1000); GivePlayerWeapon(playerid,3,1); SetPlayerColor(playerid,0x0066FFFF); SendClientMessage(playerid,-1,"Připojil jsi se k povolání policie"); SendClientMessage(0xFFFF00AA, string); Povolani[playerid] = 1; } case 1: { if(Povolani[playerid] != 1) return SendClientMessage(playerid,-1,"Nejsi tu zaměstnaný!"); SendClientMessage(0xFF0000AA, string); switch(random(3)) { case 0: SetPlayerSkin(playerid,280); case 1: SetPlayerSkin(playerid,283); case 2: SetPlayerSkin(playerid,284); } SendClientMessage(playerid,-1,"Vzal jsi si skin povolání"); SendClientMessage(0xFF0000AA, string); } } } return 1; } #endif Řidič kamionů: #include <a_samp> #if defined FILTERSCRIPT #define 0xFF0000AA new Povolani2[MAX_PLAYERS]; new RIDICKAMIONU; public OnGameModeInit(){ RIDICKAMIONU = CreatePickup(1581, 1, 2194.0481,-2246.5322,13.5469, -1); return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == RIDICKAMIONU) ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"Řidič Kamionu","Přimout Práci\nPřevléknout se","Vybrat","Konec"); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ if(dialogid == 2){ switch(listitem){ case 0: { if(Povolani2[playerid] == 1) return SendClientMessage(playerid,-1,"V tomto zaměstnání jsi již zaměstnán!"); SendClientMessage(0xFF0000AA, string); GivePlayerWeapon(playerid,32,1000); GivePlayerWeapon(playerid,25,1000); SetPlayerColor(playerid,0xFF00FFFF); SendClientMessage(playerid,-1,"Stal jsi se Řidičem kamionů"); SendClientMessage(0xFFFF00AA, string); Povolani2[playerid] = 2; } case 1: { if(Povolani2[playerid] != 1) return SendClientMessage(playerid,-1,"U toho zaměstání nejsi zaměstnán!"); SendClientMessage(0xFF0000AA, string); switch(random(3)) { case 0: SetPlayerSkin(playerid,128); case 1: SetPlayerSkin(playerid,133); case 2: SetPlayerSkin(playerid,135); } SendClientMessage(playerid,-1,"Převléknul jsi se"); SendClientMessage(0xFF0000AA, string); } } } return 1; } #endif
  3. Neopry

    pomoc String

    Ahoj, Dělám si příkazy pro Adminy ale mám tam problém s jedním errorem kterej nemůžu vyřešit: Nevíte co stím ? warning 219: local variable "string" shadows a variable at a preceding level Tohle je ten řádek kde je ten error new string[100], name[24];
  4. Neopry

    pomoc Menu

    ok díky, já jenom že jsem si oho všimnul
  5. Neopry

    pomoc Menu

    Ahoj, Našel jsem ve FS menutest.pwn i amx tak jsem chtěl vyzkoušet co to dělá a zjistil jsem že to je to co jsem celou tu dobu potřeboval. K věci, potřeboval bych aby když si hráč vybere jedno z uvedených aby mu vyjela tabulka o tom jaký si vybere menu (Např:. Vybere si menu s Příkazama, tak mu vyjedou všechny příkazy co jsou na serveru dostupný pro hráče) Prosím nevíte jak to tak udělat ? Díky předem #include <a_samp> #define TEST_MENU_ITEMS 4 new Menu:TestMenu; new TestMenuStrings[4][16] = {"Příkazy", "Práce", "Peníze", "Pravidla"}; HandleTestMenuSelection(playerid, row) { new s[256]; if(row < TEST_MENU_ITEMS) { format(s,256,"Vybral jsi %s",TestMenuStrings[row]); SendClientMessage(playerid,0xFFFFFFFF,s); } } InitTestMenu() { TestMenu = CreateMenu("Navigace", 1, 200.0, 150.0, 200.0, 200.0); for(new x=0; x < TEST_MENU_ITEMS; x++) { AddMenuItem(TestMenu, 0, TestMenuStrings[x]); } } public OnFilterScriptInit() { InitTestMenu(); } public OnPlayerSelectedMenuRow(playerid, row) { new Menu:PlayerMenu = GetPlayerMenu(playerid); if(PlayerMenu == TestMenu) { HandleTestMenuSelection(playerid, row); } } public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/help", true)) { ShowMenuForPlayer(TestMenu, playerid); return 1; } return 0; }
  6. Neopry

    pomoc Register

    Ahoj, Když se hráč přihlásí a má třeba 1 000$ tak při dalším přihlášení má navíc 2 000$... Nevíte někdo jak to změnit tak aby dostaval tu částku kterou měl i předtím u sebe a né o 2 000 více ? Předem díky Používám tento FS... #include <a_samp> #define FILTERSCRIPT #if defined FILTERSCRIPT #define COLOR_GREY 0xBEBEBEAA #define COLOR_WHITE 0xFFFFFFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_GRAD5 0xE3E3E3FF #define COLOR_GRAD1 0xB4B5B7FF #define COLOR_YELLOW 0xFFFF00AA 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 OnFilterScriptInit() { return 1; } public OnFilterScriptExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnPlayerConnect(playerid) { SendClientMessage(playerid, COLOR_YELLOW, "Jste tu nový ? /register VAŠE_HESLO "); new playrname[MAX_PLAYER_NAME]; new connect[128]; GetPlayerName(playerid, playrname, sizeof(playrname)); format(connect, sizeof(connect), "%s.cer", playrname); if(fexist(connect)) { gPlayerAccount[playerid] = 1; SendClientMessage(playerid, COLOR_YELLOW, "Jste registrovaný prosím přihlašte se pomocí /login heslo "); return 1; } else { gPlayerAccount[playerid] = 0; SendClientMessage(playerid, COLOR_YELLOW, "Nejste registrovaný prosím registrujte se pomocí /register heslo"); } 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,0); 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, "Jste přihlášený."); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, " /login heslo "); 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, "Napiš: /register heslo "); return 1; } if (gPlayerAccount[playerid] == 1) { SendClientMessage(playerid, COLOR_GREY, " Váš nick je zaregistrovaný "); 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, " Váš nick je zaregistrovaný"); 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, "Zabití=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 32, "Umrtí=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid); format(var, 32, "Peníze=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var); fclose(hFile); SendClientMessage(playerid, COLOR_WHITE, "Nyní jste registrovaný!"); SendClientMessage(playerid, COLOR_WHITE, "Pro přihlášení dejte /login heslo."); 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, " Nejste pryhlášen !"); } } 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 , "Zabití" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); } if( strcmp( key , "Umrtí" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); } if( strcmp( key , "Peníze" , 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), "Vítám vas %s, jste uspěšně přyhlášený niní můžete hrát!", pname3); SendClientMessage(playerid, COLOR_WHITE,string3); } else { SendClientMessage(playerid, COLOR_GREY, " Heslo je špatné "); 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), "Zabití:[%d] Umrtí:[%d] Peníze:[$%d]",kills,deaths,cash); SendClientMessage(playerid, COLOR_GRAD5,coordsstring); SendClientMessage(playerid, COLOR_GREEN,"_______________________________________"); } } #endif
  7. Neopry

    pomoc HouseSystem

    Ahoj, Stáhnul jsem si HouseSystem ale vůbec nevím kam mám přidat domy, buď jsem slepej nebo to tam není, no posuďte sam Předem díky... #include <a_samp> #include <dini> #define MAX_HOUSES 50 #define IsPlayerInRangeOfPoint //-------------------------------------| enum HOUSE_DATA { Float:p_X, Float:p_Y, Float:p_Z, Float:i_X, Float:i_Y, Float:i_Z, iin, Cena, Vlastnik[MAX_PLAYER_NAME], Dialog, Text3D:Text, Pickup, VW, Zamek } new HouseInfo[MAX_HOUSES][HOUSE_DATA]; new InHouse[MAX_PLAYERS] = {-1,...}; new HouseCount = -1; //------------------------------------| forward GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z); forward IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius); forward AddHouse(Float:pX, Float:pY, Float:pZ, Float:iX, Float:iY, Float:iZ, ii, Cenik, iddialogu); //------------------------------------| public AddHouse(Float:pX, Float:pY, Float:pZ, Float:iX, Float:iY, Float:iZ, ii, Cenik, iddialogu) { HouseCount ++; if(HouseCount < MAX_HOUSES) { HouseInfo[HouseCount][p_X] = pX; HouseInfo[HouseCount][p_Y] = pY; HouseInfo[HouseCount][p_Z] = pZ; HouseInfo[HouseCount][i_X] = iX; HouseInfo[HouseCount][i_Y] = iY; HouseInfo[HouseCount][i_Z] = iZ; HouseInfo[HouseCount][iin] = ii; HouseInfo[HouseCount][Cena] = Cenik; HouseInfo[HouseCount][VW] = 50+HouseCount; HouseInfo[HouseCount][Vlastnik] = 0; HouseInfo[HouseCount][Zamek] = 0; HouseInfo[HouseCount][Dialog] = iddialogu; new s[128]; format(s,128,"Houses/%d.txt",HouseCount); if(!fexist(s)){ dini_Create(s); dini_Set(s,"Owner","none"); dini_IntSet(s,"Locked",0); } new sx[100]; if(strcmp(dini_Get(s,"Owner"),"none",true) == 0){ format(HouseInfo[HouseCount][Vlastnik],MAX_PLAYER_NAME,"Nikto"); HouseInfo[HouseCount][Zamek] = 0; HouseInfo[HouseCount][Pickup] = CreatePickup(1273,1,pX, pY, pZ); format(sx,100,"Dom č.%d\r\nMajiteľ: Nikto\r\nCena: %d",HouseCount,Cenik); HouseInfo[HouseCount][Text] = Create3DTextLabel(sx,0xFF0000FF,pX,pY,pZ+1,50,0); }else{ HouseInfo[HouseCount][Pickup] = CreatePickup(1272,1,pX, pY, pZ); format(HouseInfo[HouseCount][Vlastnik],MAX_PLAYER_NAME,"%s",dini_Get(s,"Owner")); HouseInfo[HouseCount][Zamek] = dini_Int(s,"Locked"); format(sx,100,"Dom č.%d\r\nMajiteľ: %s",HouseCount,dini_Get(s,"Owner")); HouseInfo[HouseCount][Text] = Create3DTextLabel(sx,0xFF0000FF,pX,pY,pZ+1,50,0); } printf("Dom %d Vytvorený",HouseCount); }else{ print("<!-- Kapacita AddHouse prekrocena, dum nebyl vytvoren !-->"); } return 1; } //------------------------------------| public OnPlayerPickUpPickup(playerid, pickupid) { for(new h=0;h<HouseCount+1;h++) { if(IsPlayerInRangeOfPoint(playerid,2,HouseInfo[h][p_X],HouseInfo[h][p_Y],HouseInfo[h][p_Z])) { ShowPlayerDialog(playerid,HouseInfo[h][Dialog],DIALOG_STYLE_LIST,"Dům","Koupit\nProdat\nZamknout\nOdemknout\nInformace o domu\nVstoupit","Použít","Nic"); } } return 1; } //------------------------------------| public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys == KEY_WALK) { if(InHouse[playerid] != -1){ new HouseId = InHouse[playerid]; if(IsPlayerInRangeOfPoint(playerid,10,HouseInfo[HouseId][i_X],HouseInfo[HouseId][i_Y],HouseInfo[HouseId][i_Z])) { SetPlayerPos(playerid,HouseInfo[HouseId][p_X],HouseInfo[HouseId][p_Y],HouseInfo[HouseId][p_Z]); SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0); InHouse[playerid] = -1; } } } return 1; } //------------------------------------| public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { for(new h=0;h<HouseCount+1;h++) { if(dialogid == HouseInfo[h][Dialog]) { if(response == 1) { if(listitem == 0) { if(GetPlayerMoney(playerid) < HouseInfo[h][Cena]) return SendClientMessage(playerid, 0xFFFFFFFF, "Máš málo peněz !"); if(!IsHouseForSale(h)) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento dům již někdo vlastní !"); new s[128]; format(s,128,"Houses/%d.txt",h); dini_Set(s,"Owner",PlayerName(playerid)); GivePlayerMoney(playerid, -HouseInfo[h][Cena]); SendClientMessage(playerid, 0xFFFFFFFF, "Pořidil jsi si dům !"); new sx[100]; format(sx,100,"Dom č.%d\r\nMajiteľ: %s",h,dini_Get(s,"Owner")); Update3DTextLabelText(HouseInfo[h][Text],0xFF0000FF,sx); DestroyPickup(HouseInfo[h][Pickup]); HouseInfo[h][Pickup] = CreatePickup(1272,1,HouseInfo[h][p_X],HouseInfo[h][p_Y],HouseInfo[h][p_Z]); } else if(listitem == 1) { if(!IsPlayerHouseOwner(playerid,h)) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento dům není tvůj !"); new s[128]; format(s,128,"Houses/%d.txt",h); dini_Set(s,"Owner","none"); GivePlayerMoney(playerid, HouseInfo[h][Cena]/2); SendClientMessage(playerid, 0xFFFFFFFF, "Dům prodán, byla ti vrácena cena !"); new sx[100]; format(sx,100,"Dom č.%d\r\nMajiteľ: Nikto\r\nCena: %d",h,HouseInfo[h][Cena]); Update3DTextLabelText(HouseInfo[h][Text],0xFF0000FF,sx); DestroyPickup(HouseInfo[h][Pickup]); HouseInfo[h][Pickup] = CreatePickup(1273,1,HouseInfo[h][p_X],HouseInfo[h][p_Y],HouseInfo[h][p_Z]); } else if(listitem == 2) { if(!IsPlayerHouseOwner(playerid,h)) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento dům není tvůj !"); new s[128]; format(s,128,"Houses/%d.txt",h); dini_IntSet(s,"Locked",1); HouseInfo[h][Zamek] = 0; SendClientMessage(playerid, 0xFFFFFFFF, "Dům zamknut !"); } else if(listitem == 3) { if(!IsPlayerHouseOwner(playerid,h)) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento dům není tvůj !"); SendClientMessage(playerid, 0xFFFFFFFF, "Dům odemknut !"); new s[128]; format(s,128,"Houses/%d.txt",h); dini_IntSet(s,"Locked",0); HouseInfo[h][Zamek] = 1; } else if(listitem == 4) { SendClientMessage(playerid, 0xFFFFFFFF, "Informace o domu:"); if(HouseInfo[h][Zamek] == 0) { SendClientMessage(playerid,0xFFFFFFFF,"Zámek: Zamknutý."); }else{ SendClientMessage(playerid,0xFFFFFFFF,"Zámek: Odemknutý."); } if (IsHouseForSale(h)) { SendClientMessage(playerid,0xFFFFFFFF,"K Prodeji: Ano"); }else{ SendClientMessage(playerid,0xFFFFFFFF,"K Prodeji: Ne"); } } else if(listitem == 5) { if(HouseInfo[h][Zamek] == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento dům je zamknut !"); SetPlayerPos(playerid, HouseInfo[h][i_X],HouseInfo[h][i_Y],HouseInfo[h][i_Z]); SetPlayerInterior(playerid, HouseInfo[h][iin]); SetPlayerVirtualWorld(playerid,HouseInfo[h][VW]); InHouse[playerid] = h; SendClientMessage(playerid, 0xFFFFFFFF, "Dům opustíš L.ALT !"); } } } } return 1; } //------------------------------------| stock PlayerName(playerid){ new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,MAX_PLAYER_NAME); return name; } stock IsPlayerHouseOwner(playerid,houseid) { new cesta[50]; format(cesta,150,"Houses/%d.txt",houseid); if(strcmp(PlayerName(playerid),dini_Get(cesta,"Owner"), false) == 0) return true; return false; } stock IsHouseForSale(houseid) { new cesta[50]; format(cesta,150,"Houses/%d.txt",houseid); if(strcmp("none",dini_Get(cesta,"Owner"), false) == 0) return true; return false; }
  8. Ahoj, Mám nastavený startování motoru přes TAB ale chci to změnít na Levý Alt protže TAB vám přece ukáže ve hře tabulku s online hráčema a to se mi nelíbí. Nevíte jak mám změnit ten příkaz tak aby to šlo na Levý Alt ? Startování motoru : forward Motor(playerid); new bool:MotorStarted[MAX_PLAYERS]; #define KEY_L.ALT (1) public OnPlayerExitVehicle(playerid, vehicleid) { MotorStarted[playerid] = false; //Vypne motor return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) if(GetPlayerState(playerid) == 2) { TogglePlayerControllable(playerid, false); SendClientMessage(playerid, 0x33AA33AA, "Pro nastartování motoru, zmáčkni Levý Alt."); } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) if(newkeys == KEY_L.ALT ) { if(GetPlayerState(playerid) == 2) { SendClientMessage(playerid, 0x33AA33AA, "Startuji motor..."); MotorStarted[playerid] = true; SetTimerEx("Motor",2000,0,"i",playerid); } } public Motor(playerid) { TogglePlayerControllable(playerid, true); SendClientMessage(playerid, 0x33AA33AA, "Motor nastartován."); }
  9. Neopry

    pomoc Dialog

    Ahoj, Vždycky když chci udělat dialog tak mi to hází tento error : Desktop\pawno\NA.pwn(6) : warning 235: public function lacks forward declaration (symbol "OnDialogResponse" Pokaždý !
  10. No tak se mi to už ukládá ale je tu další problém, když se přihláší odečte jim tu částku kterou měly předtím Např : Měly 100 000 Přihlásí se a mají : -100 000 Login/register: //Includes #include <a_samp> #include <dini> //Must login to spawn // 1 = yes, 0 = no new lspawn = 1; new Logged[MAX_PLAYERS] = 0; //Defines #define COLOUR_GREEN 0x33AA33AA #define COLOUR_RED 0xAA3333AA #define COLOUR_YELLOW 0xFFFF00AA #define COLOUR_LIGHTBLUE 0x33CCFFAA #define COLOUR_ORANGE 0xFF9900AA #define SKIN_POS 1958.3783, 1343.1572, 15.3746, 269.1425 //Dcmd, youl love dcmd... #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 //Hasher adler32_hash(buf[]) { new length=strlen(buf); new s1 = 1; new s2 = 0; new n; for (n=0; n<length; n++) { s1 = (s1 + buf[n]) % 65521; s2 = (s2 + s1) % 65521; } return (s2 << 16) + s1; } public OnFilterScriptInit() { //Credits print("Simple Register / Login"); return 1; } public OnFilterScriptExit() { return 1; } public OnPlayerConnect(playerid) { return 1; } public OnPlayerDisconnect(playerid, reason) { new name[MAX_PLAYER_NAME], file[200]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), "\\users\\%s.ini", name); dini_IntSet(file, "cash", GetPlayerMoney(playerid)); dini_IntSet(file, "score", GetPlayerScore(playerid)); Logged[playerid] = 0; return 1; } public OnPlayerRequestSpawn(playerid) { //Can't spawn if your not logged in or registered... if(lspawn == 1 && Logged[playerid] == 0) { SendClientMessage(playerid, COLOUR_RED, "Musis se prihlasit!"); return 0; }else{ return 1; } } public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(register, 8, cmdtext); dcmd(login, 5, cmdtext); return false; } //Register dcmd_register(playerid, params[]) { //Varibles new name[MAX_PLAYER_NAME], file[200]; //Get there name GetPlayerName(playerid, name, sizeof(name)); //Build the file name format(file, sizeof(file), "\\users\\%s.ini", name); //No registering if your logged in! if(Logged[playerid] == 1) return SendClientMessage(playerid, COLOUR_RED, "Uz jsi prihlasen!"); //Make shure there not registered! if(dini_Exists(file)) return SendClientMessage(playerid, COLOUR_RED, "Tohle jmeno uz je registrovano! Prosim vyber si jiny Nick!"); //Can't forget a password! else if(strlen(params) == 0) return SendClientMessage(playerid, COLOUR_RED, "Musis napsat sve heslo do registrace /register [Heslo]!"); else { //Make there file dini_Create(file); //Store a encrypted copy of there password in it dini_IntSet(file, "password", adler32_hash(params)); //Save there money dini_IntSet(file, "cash", GetPlayerMoney(playerid)); //Save there score dini_IntSet(file, "score", GetPlayerScore(playerid)); //Make them logged Logged[playerid] = 1; //Sucess SendClientMessage(playerid, COLOUR_YELLOW, "Byl jsi registrovan, automaticky te prihlasuji!"); } return 1; } //Login dcmd_login(playerid, params[]) { //Varibles new name[MAX_PLAYER_NAME], file[200]; //Get there name GetPlayerName(playerid, name, sizeof(name)); //Build there file name format(file, sizeof(file), "\\users\\%s.ini", name); //No /login abuse if(Logged[playerid] == 1) return SendClientMessage(playerid, COLOUR_RED, "Uz jsi prihlasen!"); //Make shure there registered! if(!dini_Exists(file)) return SendClientMessage(playerid, COLOUR_RED, "Tohle jmeno je reigstrovano, prosim vyber si jiny Nick!"); //Can't forget a password! else if(strlen(params) == 0) return SendClientMessage(playerid, COLOUR_RED, "Musis napsat sve heslo do registrace /register [Heslo]!"); //Hash there password so it can be compaired else if(adler32_hash(params) != dini_Int(file, "password")) return SendClientMessage(playerid, COLOUR_RED, "Prihlaseni selhalo!"); else { //Get there cash GivePlayerMoney(playerid, GetPlayerMoney(playerid) - dini_Int(file, "cash")); //Get there score SetPlayerScore(playerid, dini_Int(file, "score")); //Make them logged Logged[playerid] = 1; //Sucess SendClientMessage(playerid, COLOUR_YELLOW, "Byl jsi prihlasen, tve informace byly nacteny!"); } return 1; }
  11. Ahoj, Když si hráč koupí Nemovitost a odhlásí se tak se mu ta Nemovitost zruší a jeho vydělané peníze taky, prosím vás není nějákej include na ukládání dat pro hráče ? Třeba přes MySQL ? Díky předem
×
×
  • Create New...