Archived copy of war3source.com, the War3Source forum (2009–2020), rebuilt from the Internet Archive by wc3mods.net. This page was captured on 2012-10-25 (original capture). Forum · All archived topics · Wiki · Bug tracker · Blog

War3:Source

General Discussion => War3: Source - Multilingual => Topic started by: drembass on April 28, 2012, 02:19:11 PM



Title: [Russian]Несколько вопросов
Post by: drembass on April 28, 2012, 02:19:11 PM
Как сделать?
Чтобы вещи не пропадали после смерти. т.е были всегда, пока не заменят.
Увеличить количество доступных одновреммено вещей.
Вещи для определенных людей, по группам или флагам.
Увеличение получаемого опыта/золота у определенных людей/групп.
Увеличение количества максимального золота.

Не пишите сообщения типа "руками". Пишите по существу.


Title: Re: [Russian]Несколько вопросов
Post by: senator141 on April 28, 2012, 11:42:51 PM
"Увеличение получаемого опыта/золота у определенных людей/групп."

У меня есть , этот плагин.
Хочешь узнать больше пиши в ЛС


Title: Re: [Russian]Несколько вопросов
Post by: Frenzzy on April 29, 2012, 12:52:23 AM
Как сделать?
Руками!

Чтобы вещи не пропадали после смерти. т.е были всегда, пока не заменят.
Убрать в коде всех необходимых артефактов что-то вроде этого:
public OnWar3EventDeath(client) { War3_SetOwnsItem(client, ITEM_NAME, false); }

Увеличить количество доступных одновреммено вещей.
Добавить в конфиг (war3source.cfg) эту строчку:
war3_max_shopitems "3" // Количество артефактов, которое может одновременно носить с собой один игрок

Вещи для определенных людей, по группам или флагам.
Можно, к примеру, добавить в код необходимых артефактов что-то вроде:
public OnWar3Event(W3EVENT:event, client) {
    if (event == CanBuyItem) {
        new item = W3GetVar(EventArg1);
        if (item == ITEM_NAME) { // Если это текущий предмет
            if (client == КЛИЕНТ_КОТОРОМУ_НЕЛЬЗЯ_ПОКУПАТЬ) { // Если этому игроку нельзя купить
                War3_ChatMessage(client, "Вам нельзя покупать этот предмет");
                W3SetVar(EventArg2, 0);
            }
        }
    }
}

Увеличение получаемого опыта/золота у определенных людей/групп.
Создать свой плагин, а в нем что-то вроде:
public OnWar3Event(W3EVENT:event, client) {
    if (event == OnPreGiveXPGold) {
        if (client == КЛИЕНТ_КОТОРЫЙ_ПОЛУЧИТ_БОЛЬШЕ) { // Если этому игроку нужно дать больше опыта и золота
            new xp = W3GetVar(EventArg2);
            new gold = W3GetVar(EventArg3);
            W3SetVar(EventArg2, RoundToFloor(xp * 2.0)); // В 2 раза больше опыта
            W3SetVar(EventArg3, RoundToFloor(gold * 3.0)); // В 3 раза больше золота
        }
    }
}

Увеличение количества максимального золота.
Добавить в конфиг (war3source.cfg) эту строчку:
war3_maxgold "1500" // Игроки не смогут заработать золота больше, чем указано здесь

Не пишите сообщения типа "руками". Пишите по существу.
На первый вопрос по-другому не ответить..


Title: Re: [Russian]Несколько вопросов
Post by: Divix on April 29, 2012, 03:58:31 AM
Перед тем как задавать вопросы по настройке сервера, стоит ознакомиться с самой настройкой http://war3source.com/index.php?topic=1047.0
И единственное, что могу добавить к ответам: в англ. части форума где-то был плагин для выдачи опр. группам (по клане тэгу) увеличенного опыта.


Title: Re: [Russian]Несколько вопросов
Post by: drembass on April 29, 2012, 05:31:11 AM
где найти .sp стандартных вещей?


Title: Re: [Russian]Несколько вопросов
Post by: senator141 on April 29, 2012, 05:41:10 AM
где найти .sp стандартных вещей?

Их нету


Title: Re: [Russian]Несколько вопросов
Post by: kvip on April 29, 2012, 07:23:27 AM
А возможно ли  это реализовать с помощью mysql? Что бы артефакты хранились в базе данных и игроки даже при выходе с сервера могли бы не потерять свои предметы.


Title: Re: [Russian]Несколько вопросов
Post by: senator141 on April 29, 2012, 07:45:16 AM
А возможно ли  это реализовать с помощью mysql? Что бы артефакты хранились в базе данных и игроки даже при выходе с сервера могли бы не потерять свои предметы.

А смысл?


Title: Re: [Russian]Несколько вопросов
Post by: drembass on April 29, 2012, 08:46:59 AM
такс... вещи сделал, но что зделать чтобы они не пропадали когда выходишь с сервера?


Title: Re: [Russian]Несколько вопросов
Post by: senator141 on April 29, 2012, 09:24:37 AM
такс... вещи сделал, но что зделать чтобы они не пропадали когда выходишь с сервера?


http://war3source.com/index.php?topic=1203.msg8420#msg8420

Cмотри лучше, не ленись.


Title: Re: [Russian]Несколько вопросов
Post by: Frenzzy on April 29, 2012, 11:25:03 AM
где найти .sp стандартных вещей?
..\addons\sourcemod\scripting\War3Source_ShopItems.sp
..\addons\sourcemod\scripting\War3Source_ShopItems2.sp

А возможно ли  это реализовать с помощью mysql? Что бы артефакты хранились в базе данных и игроки даже при выходе с сервера могли бы не потерять свои предметы.
ShopItems2 так и работает


Title: Re: [Russian]Несколько вопросов
Post by: drembass on April 29, 2012, 11:53:11 AM
удалил что написали.. вещи пропадают когда перезаходишь на серв. после смерти остаються
 код вещи:





#pragma semicolon 1

#include <sourcemod>
#include "W3SIncs/sdkhooks"
#include "W3SIncs/War3Source_Interface"

new thisItem;
new String:helmSound0[]="physics/metal/metal_solid_impact_bullet1.wav";
new String:helmSound1[]="physics/metal/metal_solid_impact_bullet2.wav";
new String:helmSound2[]="physics/metal/metal_solid_impact_bullet3.wav";
new String:helmSound3[]="physics/metal/metal_solid_impact_bullet4.wav";

public Plugin:myinfo= {
   name="War3Source Shop - Helm",
   author="Ownz (DarkEnergy)",
   description="War3Source",
   version="1.0",
   url="http://war3source.com/"
};



public OnPluginStart()
{
   War3_PrecacheSound(helmSound0);
   War3_PrecacheSound(helmSound1);
   War3_PrecacheSound(helmSound2);
   War3_PrecacheSound(helmSound3);
   
   LoadTranslations("w3s.item.helm.phrases");
}
public OnWar3LoadRaceOrItemOrdered2(num)
{
   if(num==100){
   
      thisItem=War3_CreateShopItemT("helm",10,3500);
   }   
}
public OnClientPutInServer(client){
   SDKHook(client,SDKHook_TraceAttack,SDK_Forwarded_TraceAttack);
}


public Action:SDK_Forwarded_TraceAttack(victim, &attacker, &inflictor, &Float:damage, &damagetype, &ammotype, hitbox, hitgroup)
{
   if(hitgroup==1&&War3_GetOwnsItem(victim,thisItem)&&!Perplexed(victim)){
      damage=0.0;
      new random = GetRandomInt(0,3);
      if(random==0){
         EmitSoundToAll(helmSound0,victim);
      }else if(random==1){
         EmitSoundToAll(helmSound1,victim);
      }else if(random==2){
         EmitSoundToAll(helmSound2,victim);
      }else{
         EmitSoundToAll(helmSound3,victim);
      }
      if(War3_GetGame()==TF){
         decl Float:pos[3];
         GetClientEyePosition(victim, pos);
         pos[2] += 4.0;
         War3_TF_ParticleToClient(0, "miss_text", pos); //to the attacker at the enemy pos
      }
   }
   return Plugin_Changed;
}




Title: Re: [Russian]Несколько вопросов
Post by: Divix on April 29, 2012, 04:08:26 PM
удалил что написали.. вещи пропадают когда перезаходишь на серв. после смерти остаються

Во-первых, просьба использовать
Quote
цитату
или
Code:
код
.
Во-вторых, ответ на вопрос: есть shopmenu (War3Source_ShopItems.sp) и shopmenu2 (War3Source_ShopItems2.sp).
Во втором shopmenu вещи сохраняются после перезахода и => надо переделать код предмета для шопменю2.


Title: Re: [Russian]Несколько вопросов
Post by: drembass on April 30, 2012, 02:57:55 AM
удалил что написали.. вещи пропадают когда перезаходишь на серв. после смерти остаються

Во-первых, просьба использовать
Quote
цитату
или
Code:
код
.
Во-вторых, ответ на вопрос: есть shopmenu (War3Source_ShopItems.sp) и shopmenu2 (War3Source_ShopItems2.sp).
Во втором shopmenu вещи сохраняются после перезахода и => надо переделать код предмета для шопменю2.

Что нужно переделать?

Это?
Code:
public OnItem2Lost(client,item){ //deactivate passives , client may have disconnected
//DP("lost %d %d",client,item);
if(item==ItemID[POSTHASTE]){
War3_SetBuffItem2(client,fMaxSpeed2,ItemID[POSTHASTE],1.0);
}
if(item==ItemID[TRINKET] ) // boots of speed
{
War3_SetBuffItem2(client,fHPRegen,ItemID[TRINKET],0.0);
}
if(item==ItemID[LIFETUBE] ) // boots of speed
{
War3_SetBuffItem2(client,fHPRegen,ItemID[LIFETUBE],0.0);
}
if(item==ItemID[FORTIFIED_BRACER]){
War3_SetBuffItem2(client,iAdditionalMaxHealth,ItemID[FORTIFIED_BRACER],0);
}
}


Title: Re: [Russian]Несколько вопросов
Post by: Divix on April 30, 2012, 04:18:42 AM
Что нужно переделать?
Это?

Вот пример для шлема (helm; не проверено, как работает). Для других вещей по тому же принципу.


Title: Re: [Russian]Несколько вопросов
Post by: drembass on April 30, 2012, 05:15:20 AM
Что нужно переделать?
Это?

Вот пример для шлема (helm; не проверено, как работает). Для других вещей по тому же принципу.

все равно не сохраняется

У тебя есть скайп?


Title: Re: [Russian]Несколько вопросов
Post by: Divix on April 30, 2012, 05:22:41 AM
Что нужно переделать?
Это?

Вот пример для шлема (helm; не проверено, как работает). Для других вещей по тому же принципу.

все равно не сохраняется

У тебя есть скайп?

А ты покупаешь в shopmenu или shopmenu2 ?


Title: Re: [Russian]Несколько вопросов
Post by: drembass on April 30, 2012, 05:33:54 AM
Что нужно переделать?
Это?

Вот пример для шлема (helm; не проверено, как работает). Для других вещей по тому же принципу.

все равно не сохраняется

У тебя есть скайп?

А ты покупаешь в shopmenu или shopmenu2 ?
ааа... в 1. можно такое в shopmenu сделать?


Title: Re: [Russian]Несколько вопросов
Post by: MIkS on April 30, 2012, 11:04:42 AM
Quote
Чтобы вещи не пропадали после смерти. т.е были всегда, пока не заменят.
А чо если у тя две вещи есть, и без плагина dropitem их как то заменить можнО?  ???


Title: Re: [Russian]Несколько вопросов
Post by: Divix on April 30, 2012, 11:09:12 AM
ааа... в 1. можно такое в shopmenu сделать?

Ты пойми, shopmenu2 было придумано специально для такой просьбы, как у тебя. Можно, но делать это я думаю никто (даже сомневаюсь, что за деньги) не захочет... Можно в War3Source_Engine_CommandHook.sp заменить
RegConsoleCmd("shopmenu",War3Source_CmdShopmenu);
на
RegConsoleCmd("shopmenu",War3Source_CmdShopmenu2);
Если сделать так, то при вводи shopmenu будет выводится shopmenu2.

И зачем делать в shopmenu1 ?

Quote
А чо если у тя две вещи есть, и без плагина dropitem их как то заменить можнО?
Кажется нет, надо дописывать код (но насчет этого не знаю точно)


Title: Re: [Russian]Несколько вопросов
Post by: senator141 on May 01, 2012, 06:57:44 AM
Quote
Чтобы вещи не пропадали после смерти. т.е были всегда, пока не заменят.
А чо если у тя две вещи есть, и без плагина dropitem их как то заменить можнО?  ???

Если я правильно понял, то одна вещь будет заменяться другой (какую ты выберешь сам)