[Уроки скриптинга] Урок 1. Введение в SourcePawn.

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #21
NotePad это текстовый редактор, а не IDE. Там нет автодополнения для pawn, и возможности компиляции прямо с среде (хотя могу и ошибаться, возможно как-то там можно это настроить)
 

S1deX

Скриптер ;)
Сообщения
129
Реакции
204
NotePad это текстовый редактор, а не IDE. Там нет автодополнения для pawn, и возможности компиляции прямо с среде (хотя могу и ошибаться, возможно как-то там можно это настроить)
1) Для автодополнения есть чудесный словарик, найденный на АМ:
http://forums.alliedmods.net/showthread.php?t=93892

2) Компиляция в инкрементнутом блокноте тоже наверняка возможна, хотя бы потому, что есть поддержка плагинов для блокнотика.

Но естественно, отдельная идешка - офигительно полезная и удобная вещь.
 

Xendox

Участник
Сообщения
19
Реакции
0
а как сделать чтоб эту команду не в консоле писать , а чтоб игрок в чате написал "Привет" и ему ответило также в чате
 

Konstantin Shavrin

Участник
Сообщения
18
Реакции
1
а как сделать чтоб эту команду не в консоле писать , а чтоб игрок в чате написал "Привет" и ему ответило также в чате

вот так

#include <sourcemod>

public Plugin:myinfo =
{
name = "Hello All!",
author = "Konstantin Shavrin",
description = "Say kuku",
version = "1.0",
url = "http://www.jooke.co.cc/"
}

public OnPluginStart()
{
AddCommandListener(Command_Say, "say");
AddCommandListener(Command_Say, "say_team");

CreateTimer(15.0, antimer, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}

public Action:Command_Say(client, const String:command[], args)
{
if (!client){
return Plugin_Continue;
}

decl String:text[192];
GetCmdArgString(text, 192);

new startidx = 0;
if(text[strlen(text)-1] == '"'){
text[strlen(text)-1] = '\0';
startidx = 1;
}
if(StrEqual(text[startidx], "привет")
|| StrEqual(text[startidx], "Привет")
|| StrEqual(text[startidx], "ку")
|| StrEqual(text[startidx], "хай")
|| StrEqual(text[startidx], "re")
|| StrEqual(text[startidx], "Здарова")
|| StrEqual(text[startidx], "здорова")
|| StrEqual(text[startidx], "здорово")
|| StrEqual(text[startidx], "здарова"))
{
CreateTimer(0.1, response, client,TIMER_FLAG_NO_MAPCHANGE);
}
return Plugin_Continue;
}

public Action:response(Handle:timer, any:client)
{
if (!client){
return;
}
PrintToChat(client, "\x04[\x01InTeam\x04] Здравствуй дружище)");
}
public Action:antimer(Handle:timer)
{
PrintToChatAll("\x04[\x01SM\x04]Напишите в чате \x01привет \x04чтобы сервер поздоровался с вами)");
}
 
Сообщения
6
Реакции
7
1) Для автодополнения есть чудесный словарик, найденный на АМ:
http://forums.alliedmods.net/showthread.php?t=93892

2) Компиляция в инкрементнутом блокноте тоже наверняка возможна, хотя бы потому, что есть поддержка плагинов для блокнотика.

Но естественно, отдельная идешка - офигительно полезная и удобная вещь.

еВстественно имеется компиляция... Плагины -> Plugin Manager -> Show Plugin Manager -> выбираем в списке nppExec -> Install -> закрываем -> F6 -> вписываем "путь к compile.exe" "$(FULL_CURRENT_PATH)" -> Придумываем название, жмем Save
Компилируем... В последующие разы жмем Ф6 и компилим... Есть некоторые интересные настройки этого плагина.
 

S1deX

Скриптер ;)
Сообщения
129
Реакции
204
Да, причем там можно еще и аутпут папку организовать, параметр точно не помню, вроде как -o "$(CURRENT_DIRECTORY)\output\$(NAME_PART).smx", что-то вроде такого
Ну это такое, мне лично удобнее бат файлик в скриптинг папке, который автоматом открывает кмд с текущей папкой и самому уже писать spcomp.
 
Сверху Снизу