[Pytanie]Jak zwiększyć cene teleportu ?

Zaczęty przez Mazik123, Kwiecień 05, 2010, 10:12:11 PM

Poprzedni wątek - Następny wątek

Mazik123

Witam to znowu ja :) tyn razem mam problem z teleportem chcialbym zwiększyc cene jednego teleportu wchodze w navicate custom_teleport i zmieniam prince z 15000 na 100000000 i wyskakuje mi taki komunikat (1264-out of range value for column "prince" row 1) jak mam to zrobic aby zwiekszyc cene tego teleportu ?

z góry dziekuje :)

Naito

#1
wejdz do tabeli teleport w bazie danych i wpisz jakas przystepna cene w kolumnie price

//Edit

Tak przy okazji przypomne ze prince= książę a do price czyli ceny duzo mu brakuje :D
Zapraszam na serwer Team Speak 3 - Dead Echo - Community of Gamers - Adres: deadecho.pl


W Lineage 2 gram na serwerze: EU Core | Nick: Naito | Clan: BlackSwans

Mazik123


Naito

#3
Jesli wpiszesz cos takiego:

Kod (sql) [Zaznacz]
INSERT INTO `teleport` VALUES
('Custom Name',500000,xxx,xxx,xxx,100000,0);

Gdzie:
Custom Name = Dowolna nazwa teleportu nie wyswietlajaca sie nigdzie poza baza danych.
500000 = ID teoleportu ktory musisz podac w linku napisanym w html ktory ma kliknac gracz podczas teleportowania sie.
xxx = Trzy wpolrzedne x y i z teleportu ktore uzyskujesz stojac w miejscu w ktorym ma sie pojawiac gracz i wpisujac komende /loc
100000 = Przystepna cena nie przekraczajaca minimalnej wielkosci ktora mozna byc wpisana w kolumnie price.

Link ktory musi posiadac npc pteleportujacy znajduje sie tu gameserver/data/html/teleporter i musi zawierac cos takiego:

<a action="bypass -h npc_%objectId%_goto 500000" msg="811;Custom Name">Custom Name - 100000 Adena</a>

Jesli tak masz to musi dzialac nie ma innej mozliwosci.
Zapraszam na serwer Team Speak 3 - Dead Echo - Community of Gamers - Adres: deadecho.pl


W Lineage 2 gram na serwerze: EU Core | Nick: Naito | Clan: BlackSwans

Luno

#4
W deklaracji tabeli teleports mamy:
Kod (sql) [Zaznacz]

CREATE TABLE `teleport` (
  `Description` varchar(75) default NULL,
  `id` decimal(11,0) NOT NULL default '0',
  `loc_x` decimal(9,0) default NULL,
  `loc_y` decimal(9,0) default NULL,
  `loc_z` decimal(9,0) default NULL,
  `price` decimal(6,0) default NULL,
  `fornoble` int(1) NOT NULL default '0',
  PRIMARY KEY  (`id`)
);


A wiec wartosc w kolumnie price moze byc conajwyzej 6-scio cyfrowa liczba.
Mozesz to spokojnie zmienic po prostu na INT, poniewaz po stronie serwera i tak to jest czytane jako int.

A więc:
Kod (sql) [Zaznacz]

ALTER TABLE teleport MODIFY price INT NOT NULL DEFAULT '0';


Btw, "DEFAULT NULL" dla wartosci liczbowych jest troche lipnym pomyslem i swiadczy, ze osoba piszaca ta tabele niezbyt byla kumata.

Mazik123