Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.
Üzenetek - Sramm
Oldalak: 1 ... 32 33 [34] 35 36 ... 40
496
« Dátum: 2012. június 15. - 21:32:00 »
Köszkösz. Amugy elsõ függvénykönyvtárad? Mert függvénykönyvtárakba nem szokás beágyazni az alap a_samp függvénykönyvtárat.
Nem, sokadik. De, sokszor és sokan ágyazzák be, mert egyes funkciók csak úgy mûködnek. Egyébként nem tesz keresztbe semminek és senkinek
497
« Dátum: 2012. június 15. - 21:22:52 »
Ott a kód spoilerbe E: Ment pastebinre is.
498
« Dátum: 2012. június 15. - 21:18:27 »
#include <a_samp> #include <zcmd> #include <sscanf2> CMD:bugrep(playerid,params[]) { new text[128]; if(sscanf(params,\"s[128]\" ,text)) return 1; new File:log = fopen(\"/Logok/Bugok.txt\", io_write); if(log) { fwrite(log, text); fclose(log); } SendClientMessage(playerid,-1,\"Bug elküldve!\"); return 1; }
500
« Dátum: 2012. június 15. - 21:07:58 »
Time bann rendszer BevezetésEz egy olyan rendszer, melyek segítségével úgy lehet bannolni játékost, hogy egy idõ múlva unbannolja! (Csak akkor számol, ha a szerver on. Ha a szerver hirtelen leáll, akkor elmenti az idõt...) :thumbsup: Függvények, magyarázatokFüggvény: TBan Paraméterek: - playerid - A játékos id-je akit bannolni szeretnél.
- type - Az idõ \"típusa\" : 1 = perc, 2 = óra, 3 = nap
- time - Idõ, hogy mikor unbannolja.
Függvény: TBanEx Paraméterek: - playerid - A játékos id-je akit bannolni szeretnél.
- reason[] - Indok
- type - Az idõ \"típusa\" : 1 = perc, 2 = óra, 3 = nap
- time - Idõ, hogy mikor unbannolja. (Percben)
Függvény: Unban Paraméterek: - file[] - A fájl id-je, amit unbannolni szeretnél
Szükséges - dini.inc
- BannTime mappa létrehozása a scriptfiles mappába.
- A módban az OnGameModeInit alá rakd be:
b_OnGameModeInit() Frissítések1.2 - Ip lekérdezés javítva
- Compile hibák javítva
- Idõ \"típus\" hozzáadva
- a_samp.inc kivétele
- Teszt szkript hozzáadva
1.1 Záráshibák javítása
- Mentések javítása
1.0
Letöltés (v 1.2) tban.inc | dini_1_6.zip #if defined _tban_included #endinput #endif #define _tban_included #include <dini> // By: GameStar stock second(time) { time = time * 1000; return time; } stock minute(time) return time; stock hour(time) { time = time*60; return time; } stock day(time) { time = hour(time) * 24; return time; } #define MAX_BANN 100 new BannTime[MAX_BANN]; forward b_OnGameModeInit(); forward Banntimers(banid); public b_OnGameModeInit() { new bf[128]; for(new b; b<=MAX_BANN; b++) { format(bf,128,\"/BannTime/%d.ini\",b); if(dini_Exists(bf)) { BannTime = dini_Int(bf,\"time\"); SetTimerEx(\"Banntimers\",60000,1,\"i\",b); } } return 1; } stock TBan(playerid,type,time) { new ip[128],b[128]; new nextb = NextBan(); format(b,128,\"/BannTime/%d.ini\",nextb); dini_Create(b); dini_Set(b,\"Name\",GetName(playerid)); GetPlayerIp(playerid,ip,sizeof(ip)); dini_Set(b,\"IP\",ip); if(type == 1) { minute(time); } if(type == 2) { hour(time); } if(type == 3) { day(time); } dini_IntSet(b,\"time\",time); BannTime[nextb] = time; SetTimerEx(\"Banntimers\",60000,1,\"i\",nextb); Ban(playerid); return 1; } stock TBanEx(playerid,reason[],type,time) { new b[128],ip[128]; new nextb = NextBan(); format(b,128,\"/BannTime/%d\",nextb); dini_Create(b); dini_Set(b,\"Name\",GetName(playerid)); GetPlayerIp(playerid,ip,sizeof(ip)); dini_Set(b,\"IP\",ip); if(type == 1) { minute(time); } if(type == 2) { hour(time); } if(type == 3) { day(time); } dini_IntSet(b,\"time\",time); BannTime[nextb] = time; SetTimerEx(\"Banntimers\",60000,1,\"i\",nextb); BanEx(playerid,reason); return 1; } stock GetName(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); return name; } public Banntimers(banid) { new b[128]; format(b,128,\"/BannTime/%d.ini\",banid); if(dini_Exists(b)) { BannTime[banid] -= 1; dini_IntSet(b,\"time\",BannTime[banid]); if(dini_Int(b,\"time\") == 0) return UnBan(b); } return 1; } stock UnBan(file[]) { new ub[128]; if(dini_Exists(file)) { format(ub,128,\"unbanip %s\",dini_Get(file,\"IP\")); SendRconCommand(ub); dini_Remove(file); } return 1; } stock NextBan() { new b[128]; for(new bc; bc<=MAX_BANN; bc++) { format(b,128,\"/BannTime/%d.ini\",bc); if(bc != 0 && !dini_Exists(b)) return bc; } return 1; }
Teszt script #include <a_samp> #include <tban> #include <zcmd> #include <sscanf2> CMD:tban(playerid,params[]) { new p,time; if(sscanf(params,\"ui\",p,time)) return 1; TBan(p,2,time); //óra return 1; } CMD:tbanex(playerid,params[]) { new p,time; if(sscanf(params,\"ui\",p,time)) return 1; TBanEx(p,\"asd\",2,time); //óra return 1; }
501
« Dátum: 2012. június 15. - 16:19:48 »
Lehetséges, hogy a streamer nem bír el ennyi objectet!
Hát elég nagy marhaság... A streamer-el végtelen az object limit. Az pedig hogy túl sok object van egymáshoz közel, az meg laggot eredményezhet. A szerver nem generál semmi errort? [/quote] Hát te mondtál elég nagy marhaságot. Streamerrel 25 ezer object a limit.
502
« Dátum: 2012. június 15. - 15:45:33 »
Ugye CreateDynamicObject-el csináltad?
503
« Dátum: 2012. június 15. - 15:07:03 »
Jó lenne ha eldöntetnéd, hogy ez ADD-ON, INCLUDE vagy FILTERSCRIPT!
A leírás alján ott van. Mindegyiknek elmegy. De fõleg ADD-ON.
504
« Dátum: 2012. június 15. - 14:29:12 »
Hogy vannak beágyazva a mappok?
505
« Dátum: 2012. június 15. - 14:26:17 »
Sziasztok! Unatkoztam és összedobtam ezt az egyszerû kis Filterscriptet. A lényege, hogy az anticheat-et és a flood-ot kiküszöbölje. Kód: new af; stock GPMoney(p,m) return GivePlayerMoney(p,m),SetPVarInt(p, \"m\", m); #define GivePlayerMoney GPMoney stock AntiFlood_On() return af = 1; stock AntiFlood_Off() return af = 0; public OnPlayerText(playerid,text[]) { new t[128]; if(af== 1) { if(Compare(GetPVarString(playerid,\"hsz\",t,128),text)) return SendClientMessage(playerid,-1,\"Ne floodolj\"),0; SetPVarString(playerid,\"hsz\",text); } return 1; } stock Compare(comp[], with[]) //by: florian { new LenghtComp = strlen(comp); new LenghtWith = strlen(with); new Character; if( LenghtComp != LenghtWith ) return false; for( new i = 0; i < LenghtComp; i++ ) { if( comp == with ) { Character++; } } if( LenghtComp == Character ) return true; return false; } public OnPlayerUpdate(playerid) { if(GetPlayerMoney(playerid) != GetPVarInt(playerid,\"m\")) return BanEx(playerid,\"Cheat\"); return 1; } Ki/be kapcsolás (Antiflood) Akárhova: AntiFlood_On(); Kikapcsolás: AntiFlood_Off(); Ezt a mód elejére kell tenni! Nem aljára, nem középre, elejére. (Az incek alá) Vagy külön inc-be beágyazod. Ha nem megy szólj.
506
« Dátum: 2012. június 15. - 14:24:57 »
Sziasztok! Írtam egy kis stockot, így könnyedén tudunk elõtagot hozzáadni az üzenetünkhöz. (Értelme nem sok van, de kezdõknek lehet jól jön.) Még talán annyi, hogy nem kell külön formázni stock SendPrefixMessage(playerid,color,prefix[],msg[]) { new message[128]; format(message,sizeof(message),\"%s %s\",prefix,msg); SendClientMessage(playerid,color,message); return 1; } stock SendPrefixMessageToAll(color,prefix[],msg[]) { new message[128]; format(message,sizeof(message),\"%s %s\",prefix,msg); SendClientMessageToAll(color,message); return 1; } Teszt script: CMD:prefixme(playerid,params[]) { SendPrefixMessage(playerid,-1,\"[Admin]\",\"Hello!\"); return 1; } CMD:prefixall(playerid,params[]) { SendPrefixMessageToAll(-1,\"[Admin]\",\"Hello!\"); return 1; }
507
« Dátum: 2012. június 15. - 14:21:57 »
Érdemes oda tenni a RemovePlayerFromVehicle-t, mert ha nem bugok is lehetnek belõle Amúgy ötletes if(strcmp(cmdtext, \"/k\",true) == 0) { if(IsPlayerInAnyVehicle(playerid)) { new Float:X; new Float:Y; new Float:Z; GetPlayerPos(playerid,X,Y,Z); RemovePlayerFromVehicle(playerid); SetPlayerPos(playerid,X,Y,Z+500); GivePlayerWeapon(playerid, 46, 1); SendClientMessage(playerid, SZIN_SARGA, \"Katapultáltál!\"); return 1; }
508
« Dátum: 2012. június 15. - 14:16:41 »
Az ötlet jó, de a megvalósítás már kevésbé. Ez már ránézésre is bugos, nem fikázni akarlak, egész jó, de lehetne jobb is, illetve bugmentesebb is. Íme az én verzióm, amiben javítom a hibáit és leegyszerûsítem a dolgokat. /* ==================== [ Holttest Rendszer ] ==================== */ /* ============================================================== */ /* ======================= [ Készítette ] ======================= */ /* ============================================================== */ /* =================== [ Amf | SampForum.hu ] =================== */ /* ============================================================== */ /* ================== [ !!! NE TÖRÖLD KI !!! ] ================== */ /* ============================================================== */ #include <a_samp> #include <streamer> #include <zcmd> #define PIROS 0xFF0000AA #define MAX_HOLTTEST 50 new Gyilkos[MAX_HOLTTEST], holttest[MAX_HOLTTEST], Object[MAX_HOLTTEST],pht[MAX_PLAYERS]; new Float:Yh[MAX_HOLTTEST]= 0.000, Float:Xh[MAX_HOLTTEST] = 0.000, Float:Zh[MAX_HOLTTEST] = 0.000; stock NextHolt() { for(new i; i<=MAX_HOLTTEST; i++) { if(Yh <= 0.000 && Xh <= 0.000 && Zh <= 0.000) return i; } return 1; } stock DestroyHolt(h) { DestroyDynamicObject(Object[h]); Gyilkos[h] = 0; holttest[h] = 0; Yh[h] = 0.000; Xh[h] = 0.000; Zh[h] = 0.000; return 1; } stock DestroyHoltEx(playerid) { if(pht[playerid] != 0) { DestroyDynamicObject(Object[pht[playerid]]); Gyilkos[pht[playerid]] = 0; holttest[pht[playerid]] = 0; Yh[pht[playerid]] = 0.000; Xh[pht[playerid]] = 0.000; Zh[pht[playerid]] = 0.000; pht[playerid] = 0; } return 1; } public OnPlayerDeath(playerid, killerid, reason) { DestroyHoltEx(playerid); new ht = NextHolt(); GetPlayerPos(playerid, Yh[ht], Xh[ht], Zh[ht]); Object[ht] = CreateDynamicObject(3092, Yh[ht], Xh[ht], Zh[ht], 0, 90, 274); Gyilkos[ht] = killerid; holttest[ht] = playerid; pht[playerid] = ht; return 1; } CMD:azonosit(playerid, params[]) //Csak természetes halálnál írja ki a gyilkost is!Ha parancsal ölöd meg, akkor nem!// { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, PIROS, \"Nem vagy admin!\"); for(new i; i<=MAX_HOLTTEST; i++) { if(!IsPlayerInRangeOfPoint(playerid, 3, Yh, Xh, Zh)) return SendClientMessage(playerid, PIROS, \"Nincs a közeledben holttest!\"); new name[128]; new name2[128]; new string[100]; GetPlayerName(Gyilkos, name, sizeof(name)); GetPlayerName(holttest, name2, sizeof(name2)); format(string, sizeof(string),\"Holttest: %s Megölte: %s\",name2, name); SendClientMessage(playerid, PIROS, string); DestroyDynamicObject(Object); for(new p; p<MAX_PLAYERS; p++) { if(i == pht[p]) return pht[p] = 0; } DestroyHolt(i); } return 1; }
Nem 100% , hogy bugmentes, de nagy valószínûséggel az. Aki akarja teszteli
509
« Dátum: 2012. június 01. - 12:39:13 »
Lazán fel tud jönni,csak egy textdrawot mutat meg neki parancs beírássakkor,reloggol azt csá!
Majdnem... Ban(targetid);[/quote]
510
« Dátum: 2012. április 01. - 19:43:09 »
Sima dialog, nem kell szerintem kép Ezt egy éve írtam kb. ,amikor a dialogot tanultam
Oldalak: 1 ... 32 33 [34] 35 36 ... 40
|