• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Zapytanie do bazy :)

szatan1x

Professional Lua
Joined
May 10, 2011
Messages
803
Reaction score
27
Location
Poland
Siemka,
ma ktoś lub czy mógłby mi napisać zapytanie do bazy danych które rozda punkty wszystkim online ale jak ktoś ma mc to tylko na 1 chara czyli na 1ip.
Jest taka wgl. możliwość? Jak nie ma to jak najlepiej rozdać pkt po starcie ots :)


Bez hejtów :D
 
jest to wykonalne, ale skad kod ma wiedziec ktore konto jest ze tak powiem "wazniejsze" z tym samym IP? skoro ktos moze grac z bratem, kumplem na tym samym?
czy po prostu chcesz zeby wybieralo losowo i tyle

@edit
zmien sobie tylko + 10 na swoja ilosc
SQL:
delimiter //
CREATE PROCEDURE wtf()
BEGIN
  DECLARE done INT DEFAULT FALSE;
  DECLARE a INT;
  DECLARE cur1 CURSOR FOR SELECT DISTINCT lastip FROM players WHERE online != 0;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

  OPEN cur1;

  read_loop: LOOP
    FETCH cur1 INTO a;
    IF done THEN
      LEAVE read_loop;
    END IF;
    UPDATE accounts SET premium_points = premium_points + 10 WHERE id IN (SELECT DISTINCT account_id FROM players WHERE lastip = a);
  END LOOP;

  CLOSE cur1;
END//
delimiter ;
CALL wtf();

a jak bedziesz chcial usunac procedure to:
SQL:
DROP PROCEDURE wtf;
 
Last edited:
nie rozumiem tej procedury :D
Jak w bazie dodam ją to kiedy ona rozda te pkty. ?(myślałem ze odrazu ale widze ze jest też kod do jej usunięcia)
 
Nie tylko mówie :D
a to jak działa ?
UPDATE accounts SET premium_points = premium_points + 100 WHERE id IN ( SELECT DISTINCT account_id FROM players WHERE online = 1 and level > 8 )
Rozdaje 100 punktów wszystkim którzy sąonline i mają większy niż 8 lvl ?(Nie wiem co to znaczy"WHERE online = 1")
 
Nie tylko mówie :D
a to jak działa ?

Rozdaje 100 punktów wszystkim którzy sąonline i mają większy niż 8 lvl ?(Nie wiem co to znaczy"WHERE online = 1")
Rozdaje 100 punktów premium każdemu unikalnemu kontu na którym jest zalogowany minimum jeden gracz i posiada większy poziom niż 8.
 
Back
Top