Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

MichaelMik9

Uživatel
  • Příspěvků

    6
  • Registrován

  • Aktivní

Reputace

0 Na nule

About MichaelMik9

  • Moto
    Jonny Sindacco

Kontaktní údaje

  • Web
    https://dxgamepro.cz/

Návštěvníci

43 profile views
  1. Ahojte, tak mám problém vyřešený a moc všem děkuji za pomoc pro každou funkci jsem nepoužil CreatePickupEx ale typ jsem vytvořil samostatně např.: addpickupsrepair() { ... new pickup = CreatePickup(1240, 14, posx, posy, posz, -1); gPickupType[pickup] = PICKUP_TYPE_REPAIR; } ..což pak v onplayerenterpickup funguje (když jsem smazal pak returny)
  2. Ahoj samozřejmě že když jsem prohodil parametry tak funkci jsem vyvolal také z prohozenými :) . Každopádně to ještě otestuji a dám vědět :)
  3. Tak jsem to tedy zkusil a ten pickup se mi už vůbec nevygeneruje .. dal jsem tedy do funkce generateHiddenPackage(){... CreatePickupEx(1279, 15, x, y, z, -1, PICKUP_TYPE_PACKAGE); ...} a pro jistotu jsem na ten pickup dal ještě Ikonu abych věděl přesnou pozici .. a když tam dojdu tak pickup tam není. a to STOCK u té funkce znamená co? (CreatePickupEx jsem si poupravil, že jsem vyměnil parametry - world jsem dal jako poslední)
  4. Zdravím :) dobře zkusím se na to nějak podívat a změnit to :) bylo by hrozně fajn kdyby to fungovalo :) Děkuji za rady :)
  5. Ahoj, Druhý typ pickupů je vytvořen přes cykl .. tzn, že jinak nevím jak bych je měl vytvořit .. chci udělat po celém světě ozdravné pickupy .. plus další, které se generují po jednom a tím jso ty skryté balíčky addPickups() { //repair pickups mysql_query(Database, "SELECT * FROM `samp_repair_pickup`"); new countRepairs; cache_get_row_count(countRepairs); Game[REPAIR_COUNT] = countRepairs; for(new rp = 0; rp < countRepairs; rp++) { new Float:posx, Float:posy, Float:posz; cache_get_value_name_float(rp, "PosX", posx); cache_get_value_name_float(rp, "PosY", posy); cache_get_value_name_float(rp, "PosZ", posz); RepairPickup[rp][PICKUP_ID] = CreatePickup(1240, 1, posx, posy, posz, -1); for(new idx = 0; idx < MAX_PLAYERS; idx++) { SetPlayerMapIcon(idx, rp, posx, posy, posz, 27, -1, MAPICON_LOCAL); } } printf("Loaded %i Repair Pickups from Database", countRepairs); } a vygenerování balíčku: public generateHiddenPackage(playerid) { //if no package mission active if(Game[HIDDEN_PACKAGE_ACTIVE] == false && Game[ONLINE_PLAYERS]!=0) { User[playerid][COUNT_TELEPORT] = 0; //get position - random new selectPackages[65]; format(selectPackages, sizeof(selectPackages), "SELECT * FROM `samp_hidden_packages`"); mysql_query(Database, selectPackages); new maxPack; cache_get_row_count(maxPack); new randomPack = RandomInt(1, maxPack);//get random pack new selectPack[128]; format(selectPack, sizeof(selectPack), "SELECT * FROM `samp_hidden_packages` WHERE id='%i' LIMIT 1", randomPack); mysql_query(Database, selectPack); //Get Position from db new Float:x, Float:y, Float:z; cache_get_value_name_float(0, "PosX", x); cache_get_value_name_float(0, "PosY", y); cache_get_value_name_float(0, "PosZ", z); Package[PICKUP] = CreatePickup(1279, 800, x, y, z, -1); new Float:minx = x-RandomInt(80,180); new Float:miny = y-RandomInt(80,180); new Float:maxx = x+RandomInt(80,180); new Float:maxy = y+RandomInt(80,180); Package[ZONE] = GangZoneCreate(Float:minx, Float:miny, Float:maxx, Float:maxy); GangZoneShowForAll(Package[ZONE], COLOR_YELLOW); Game[HIDDEN_PACKAGE_ACTIVE] = true; new messageToAll[125]; format(messageToAll, sizeof(messageToAll), "{0EB3F1}[PACKAGE] {ffffff}Nový {CFC21F}balíček {ffffff}připraven k vyzvednutí! (Ĺ˝luté pole na mapě)"); SendClientMessageToAll(-1, messageToAll); printf("[PACKAGE] New hidden package was shown in San Andreas!"); //mesage for online log new logText[200]; format(logText, sizeof(logText), "[*#0EB3F1*][PACKAGE][*/Color] Na serveru se nachazi [*#0EB3F1*]skryty balicek[*/Color]!"); samp_log(logText); } if(Game[HIDDEN_PACKAGE_ACTIVE] == true && Game[ONLINE_PLAYERS] == 0) { DestroyPickup(Package[PICKUP]); for(new i = 0; i <= 100; i++) { RemovePlayerMapIcon(i, 1); } Game[HIDDEN_PACKAGE_ACTIVE] = false; Package[PICKUP] = 0; } }
  6. Ahoj mám dost velký problém s vytvořením více druhů pickupů a to tak, že chci vytvořit pickup pro hidden package a další pro opravu vozidel/vyléčení hráče. Kód mám vytvořen takto: public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == Package[PICKUP]) { new money = RandomInt(500, 1000); new message[128]; if(Vip[playerid][VIP_ACTIVE] == true) { new moneyVip = money*2; format(message, sizeof(message), "{0EB3F1}[PACKAGE]{46FF33}[VIP] {ffffff}Získal jsi za balíček 2x tolik peněz! {46FF33}%i $", moneyVip); if(User[playerid][COUNT_TELEPORT] == 0) { Reward(playerid, money, 2, 2); } else { Reward(playerid, money, 0, 0); SendClientMessage(playerid, COLOR_LIGHTRED, "Za misi nezískáš žádné Rank body, protože jsi se teleportoval!"); } } else { format(message, sizeof(message), "{0EB3F1}[PACKAGE] {ffffff}Získal jsi za balíček {46FF33}%i $", money); if(User[playerid][COUNT_TELEPORT] == 0) { Reward(playerid, money, 0, 0); User[playerid][MONEY] = User[playerid][MONEY]+money; } else { Reward(playerid, money, 1, 1); User[playerid][MONEY] = User[playerid][MONEY]+money; SendClientMessage(playerid, COLOR_LIGHTRED, "Za misi nezískáš žádné Rank body, protože jsi se teleportoval!"); } } SendClientMessage(playerid, -1, message); new messageToAll[256]; format(messageToAll, sizeof(messageToAll), "{0EB3F1}[PACKAGE] {ffffff}Hráč {2C97CA}%s {ffffff}našel skrytý balíček!", User[playerid][NAME]); SendClientMessageToAll(-1, messageToAll); new logText[400]; format(logText, sizeof(logText), "[*#0EB3F1*][PACKAGE][*/Color] Hrac [*#0EB3F1*]%s[*/Color] nasel skryty balicek!", User[playerid][NAME]); new log[328]; new date = GetTime(); format(log, sizeof(log), "INSERT INTO `samp_online_log`(`Date`, `Text`) VALUES ('%i', '%s')", date, logText); mysql_query(Database, log); GameTextForPlayer(playerid, "Balicek nalezen!", 3000, 1); PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0); DestroyPickup(Package[PICKUP]); for(new i = 0; i <= 100; i++) { RemovePlayerMapIcon(i, 1); } Game[HIDDEN_PACKAGE_ACTIVE] = false; User[playerid][COUNT_TELEPORT] = 0; Package[PICKUP] = 0; GangZoneDestroy(Package[ZONE]); new randomMinutes = RandomInt(5,40); new timeForPackage = 1000*60*randomMinutes; Game[PACKAGE_TIMER] = SetTimer("generateHiddenPackage", timeForPackage, 1); } else { for(new repick = 0; repick < Game[REPAIR_COUNT]; repick++) { if(pickupid == RepairPickup[repick][PICKUP_ID]) { if(IsPlayerInAnyVehicle(playerid)) { new vehId = GetPlayerVehicleID(playerid); RepairVehicle(vehId); SendClientMessage(playerid, COLOR_LIGHTRED, "Vozidlo opraveno!"); } else { SetPlayerHealth(playerid, 100); SendClientMessage(playerid, COLOR_LIGHTRED, "Zdraví doplněno!"); } } } } return 1; } První zapsaný typ pickupu (Package[PICKUP]) funguje bez problémů. Problém nastává v momentě, kdy chci vzít ten druhý typ pickupu pro vyléčení - hráče nevyléčí ale "sebere skrytý balíček" - místo toho aby hráč sebral druhý typ, tak se zpracuje ten první. Může prosím někdo poradit jak to odlišit? Děkuji za případnou pomoc :)
×
×
  • Create New...