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 - TengeriMalac
Oldalak: 1 ... 233 234 [235] 236 237 ... 293
3511
« Dátum: 2012. április 28. - 19:58:38 »
new Scripter[][] = { \"Kevin_Johnson\" }; Amugy a warning azt jelenti, hogy nincs public (pl onplayerconnect, vagy ilyesmi) a scriptben.
3512
« Dátum: 2012. április 28. - 19:57:40 »
Ezt nem tudtam kitalálni. :/
3513
« Dátum: 2012. április 28. - 19:41:39 »
Ha elmagyarázod valahogy érthetõen, akkor tudunk válaszolni a kérdésedre.
3514
« Dátum: 2012. április 28. - 19:17:41 »
#include <a_samp> #include <dini> #define zombie 10 #define human 11 #define humanskin 107 #define zombieskin 60 #undef MAX_PLAYERS #define MAX_PLAYERS 20 // ezt majd állítsd át annyira, ahány slotos a szervered. new getplayer, zmstart, zombieteamcounter, humanteamcounter, ammopack[MAX_PLAYERS]; new file[128], name[24], szint[MAX_PLAYERS]; new Float:damage[MAX_PLAYERS]; forward update(playerid); forward infect(playerid); main() { print(\"\\n----------------------------------\"); print(\" Zombie Mod with EXP\"); print(\"----------------------------------\\n\"); } public OnGameModeInit() { SetGameModeText(\"Blank Script\"); SetTimer(\"update\", 2000, 1); AddPlayerClass(0,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { getplayer++; SetPlayerTeam(playerid, human); humanteamcounter++; ammopack[playerid] = 0; GetPlayerName(playerid, name, MAX_PLAYER_NAME); format(file, 128, \"zmstats/%s.ini\",name); if(!dini_Exists(file)) { dini_Create(file); dini_IntSet(file, \"Szint\", 0); dini_IntSet(file, \"AmmoPack\", 0); } else if(dini_Exists(file)) { szint[playerid] = dini_Int(file, \"Szint\"); ammopack[playerid] = dini_Int(file, \"AmmoPack\"); } return 1; } public OnPlayerDisconnect(playerid, reason) { GetPlayerName(playerid, name, MAX_PLAYER_NAME); //lekérdezzük, majd elmentjük egy változóban a játékos nevét format(file, 128, \"zmstats/%s.ini\", name); //megformázzuk a fájlnak a nevét dini_IntSet(file, \"Szint\", szint[playerid]); //átállítjuk a fájlban a szint értékét a játékos jelenlegi szintjére, majd késöbb ezt olvastatjuk be. dini_IntSet(file, \"AmmoPack\", ammopack[playerid]); getplayer--; if(GetPlayerTeam(playerid) == zombie) zombieteamcounter--; else if(GetPlayerTeam(playerid) == human) humanteamcounter--; return 1; } public OnPlayerSpawn(playerid) { if(GetPlayerTeam(playerid) == zombie) zombieteamcounter--; else if(GetPlayerTeam(playerid) == human) humanteamcounter--; return 1; } public OnPlayerDeath(playerid, killerid, reason) { ammopack[killerid]++; TogglePlayerSpectating(playerid, 1); PlayerSpectatePlayer(playerid, killerid); if(GetPlayerTeam(playerid) == zombie) zombieteamcounter--; else if(GetPlayerTeam(playerid) == human) humanteamcounter--; return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp(\"/givemelevel\", cmdtext, true, 10) == 0) { szint[playerid] += 2; return 1; } return 0; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) { return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { return 1; } public OnPlayerUpdate(playerid) { return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; } public update() { if(getplayer > 0) zmstart = 1; else if(getplayer == 0) zmstart = 0; if(humanteamcounter == 0) zmstart = 0; else if(zombieteamcounter == 0) zmstart = 0; if(zmstart == 1) SetTimer(\"infect\", 8000, 0); for(new playerid = 0; playerid < MAX_PLAYERS; playerid++) { if(GetPlayerTeam(playerid) == zombie) ResetPlayerWeapons(playerid); SetPlayerScore(playerid, ammopack[playerid]); if(zmstart == 0) SpawnPlayer(playerid); if(GetPlayerTeam(playerid) == human && GetPlayerSkin(playerid) != humanskin) SetPlayerSkin(playerid, humanskin); else if(GetPlayerTeam(playerid) == zombie && GetPlayerSkin(playerid) != zombieskin) SetPlayerSkin(playerid, zombieskin); } return 1; } public infect() { new rand = random(MAX_PLAYERS); if(!IsPlayerConnected(rand)) return infect(); SetPlayerTeam(rand, zombie); return 1; } public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) { if(GetPlayerTeam(issuerid) == human) { damage[issuerid] += amount; if(damage[issuerid] >= 300) { ammopack[issuerid]++; damage[issuerid] = 0; } } if(GetPlayerTeam(issuerid) == zombie) { humanteamcounter--; zombieteamcounter++; SetPlayerTeam(playerid, zombie); ammopack[issuerid]++; if(GetPlayerWeapon(issuerid) != 0) { SetPlayerHealth(issuerid, 0); } } return 1; } Nekem így mûködik.. Elég sok hiba van benne, és elég alap, de indulásnak megfelel
3515
« Dátum: 2012. április 28. - 09:05:36 »
#include <a_samp> #define red 0xff0000AA #define COLOR_GREEN 0x00c721AA public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256], idx; cmd = strtok(cmdtext, idx); if(strcmp(cmd, \"/skin\", true) == 0) { new tmp[256], string[128]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, red, \"HASZNÁLAT: /skin [skin ID]\"); new skin = strval(tmp); format(string, sizeof(string), \"Meg változtattad a skined %d-re\", skin); SendClientMessage(playerid, COLOR_GREEN, string); SetPlayerSkin(playerid, skin); return 1; } return 0; } strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= \' \')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }
3516
« Dátum: 2012. április 27. - 21:23:18 »
OnPlayerTakeDamage-hoz,vagy OnPlayerGiveDamage-hez:
ketszazdamage[playerid] + amount; if(ketszazdamage[playerid] >= 200)//ha nagyobb mint 200 { //ide a kód ketszazdamage[playerid] = 0;//lenullázzuk,hogy újra el tudja érni,persze,csak ha kell return 1; }
Ez így nem teljesen helyes. Így jó. OnPlayerTakeDamage-hoz,vagy OnPlayerGiveDamage-hez: ketszazdamage[playerid] += amount; if(ketszazdamage[playerid] >= 200)//ha nagyobb mint 200 { //ide a kód ketszazdamage[playerid] = 0;//lenullázzuk,hogy újra el tudja érni,persze,csak ha kell return 1; } én inkább floatadd funkciót használok
3517
« Dátum: 2012. április 27. - 20:07:11 »
az OnPlayerGiveDamage, és OnPlayerTakeDamage között van egy nagyon nagy laggbeni különbség, ami miatt néha csak az egyik hívódik elõ, azaz a szerver, és a kliens nem érzékeli, hogy lõttél valakire, nálad hiába találtad el. Erre valaki a hiv. fórumon csinált egy INC-et, azt ajánlom neked. Anti-Lagg Sync Shot a neve asszem
Hogy a témához szóljak, létrehozol egy Float változót, és OnPlayerTakeDamage-nél hozzáadod az \'amount\' változóját.. Ha ez eléri a 200at akkor adsz neki 1 pontot.
3518
« Dátum: 2012. április 27. - 20:02:44 »
Én valahogy nem látok benne hibát..
3519
« Dátum: 2012. április 27. - 17:37:43 »
if után 1x használd a switch-et, ne minden case elõtt.
3520
« Dátum: 2012. április 27. - 12:41:17 »
Szerintem arra gondoltam, hogy van egy interior script szerûsége, ami beteszi interionokba, és ha ki akar menni akkor máshova teszi. Megoldás: - Kérdezd le a belépés pozícióját, és egy elágazással ellenõrizd kilépéskor. Az ellenõrzött pozíció alapján portolj vissza.
- Tedd át az interiort másik Virtual World-be, a teleportáló pickuppal, vagy CPvel együtt, így ismét elkerülheted ezt a hibát.
3521
« Dátum: 2012. április 27. - 12:37:34 »
#include <a_samp> #include <zcmd> new Menu:stunt, Menu:tele; public OnFilterScriptInit() { tele = CreateMenu(\"Teleportok\", 1,20,120,150,40); AddMenuItem(tele, 0, \"Stuntok\"); AddMenuItem(tele, 0, \"SanFierro\"); AddMenuItem(tele, 0, \"LasVenturas\"); stunt = CreateMenu(\"Stuntok\",1,20,120,150,40); AddMenuItem(stunt, 0, \"Elhagyatott Repter\"); return 1; } public OnFilterScriptExit() return 1; CMD:teles(playerid, params[]) return ShowMenuForPlayer(tele, playerid); public OnPlayerSelectedMenuRow(playerid, row) { new Menu:current = GetPlayerMenu(playerid); if(current == tele) { switch(row) { case 0:ShowMenuForPlayer(stunt, playerid); case 1:SetPlayerPos(playerid, 410.9436,2466.0527,16.5062); case 2:SetPlayerPos(playerid, 410.9436,2466.0527,16.5062); } } if(current == stunt) { switch(row) { case 1:SetPlayerPos(playerid, 410.9436,2466.0527,16.5062); } } return 1; } Remélem ebbõl ki tudod szûrni, hogy mi volt a hiba.
3522
« Dátum: 2012. április 26. - 18:06:32 »
Lehet, hogy én vagyok a BOT, de a SA-MP memory address-eket honnan szedjem elõ?
3523
« Dátum: 2012. április 25. - 21:46:14 »
Ahogy néztem, a mododban van MoneyGrupScoreUpdate, ami annyit tesz, hogy annyira állítja a pontjaid, amennyi pénzed van, ezzel átállítva a ScoreTab értékét is. Ezért.
3524
« Dátum: 2012. április 25. - 21:43:59 »
Ha írsz ilyen kis \'hacker\' plugint akkor az érdekel Amugy nem tudok róla, hogy lenne
3525
« Dátum: 2012. április 24. - 22:35:50 »
Nekem így van benne a modba és megyen
public OnGameModeInit() { SetVehicleNumberPlate(vehicleid, \"{FF0000}G {AAAAAA}R {00FF00}C\"); return 1; }
Es mukodik!
Ebben csak 1 hiba van.. Hogy full hülyeség. Ja, és felesleges.
Oldalak: 1 ... 233 234 [235] 236 237 ... 293
|