srjoao 1 Postado Janeiro 23, 2011 Share Postado Janeiro 23, 2011 com o titlo ja dis presiso de un npc q pint as pokeall do meu server Link para o comentário Compartilhar em outros sites More sharing options...
tchuca02 5 Postado Julho 15, 2011 Share Postado Julho 15, 2011 eu tbm to querendo se vc consegui me manda Link para o comentário Compartilhar em outros sites More sharing options...
pavi 1 Postado Julho 16, 2011 Share Postado Julho 16, 2011 Ok , eu sei como fazer , e foi testado em dash 8.54 Vamos começar (que começo sem graça...) Vá em data , NPC , scripts e coloque um arquivo.lua com o nome paintball e coloque o seguinte texto: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local states = {'1', '2', '3', '4', '5', '6'} local store = {1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151} local pokeballs = {'2222', '2208'} local pokeballss = {'2220', '2208'} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid -- Conversa Jogador/NPC if(msgcontains(msg, 'hi') or msgcontains(msg, 'job')) then selfSay('Hello! I paint Pokeball, choice between {Ultra ball} and {Poke ball}.', cid) elseif(msgcontains(msg, 'Ultra Ball') or msgcontains(msg, 'ultra ball')) then selfSay('Do you really want to paint ultra ball??', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'Poke Ball') or msgcontains(msg, 'poke ball')) then selfSay('Do you really want to paint poke ball??', cid) talkState[talkUser] = 2 -- Confirmação da Compra elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if isInArray(pokeballs, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) and doPlayerRemoveMoney(cid, 35000) then selfSay('Thanks!', cid) local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]")) doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/"))) doTransformItem(feet.uid, 2220) talkState[talkUser] = 0 else selfSay('Sorry, make sure you have enough money and if the the ball is in the correct slot.', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if isInArray(pokeballss, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) and doPlayerRemoveMoney(cid, 2000) then selfSay('Thanks!', cid) local feet = getPlayerSlotItem(cid, CONST_SLOT_FEET) local maxh = tonumber(getItemAttribute(feet.uid, "poke"):match("/(.+)]")) doItemSetAttribute(feet.uid, "poke", getItemAttribute(feet.uid, "poke"):sub(1, findLetter(getItemAttribute(feet.uid, "poke"), "[")) .. maxh .. getItemAttribute(feet.uid, "poke"):sub(findLetter(getItemAttribute(feet.uid, "poke"), "/"))) doTransformItem(feet.uid, 2222) talkState[talkUser] = 0 else selfSay('Sorry, make sure you have enough money and if the the ball is in the correct slot.', cid) talkState[talkUser] = 0 end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) O "local pokeballs" você coloca o id das pokeballs de pokémons com vidas e o "local pokeballss" você coloca o id das pokeballs de pokémons sem vida. Você pode mudar o preço nessa linha: if isInArray(pokeballss, getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid) and doPlayerRemoveMoney(cid, 2000) then (no meu caso , esta 2000 dl). Ok , agora , em data/NPC , crie um arquivo.lua com o nome do npc e coloque isso dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Deka" script="paintball.lua" floorchange="0" speed="0"> <health now="150" max="150"/> <look type="160" head="114" body="0" legs="125" feet="0"/> </npc> nesse caso , você pode mudar o nome do npc é Deka , e você pode alterar o looktype do jeito que você quiser. ok , espero ter ajudado. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados