Szerző Téma: Szerver gond  (Megtekintve 691 alkalommal)

Szerver gond
« Dátum: 2012. április 28. - 18:31:20 »
0 Show voters
Hello.
egy uj zombie modot csinalok.nincs is semmi gond vele.Bekapcsolom a hazi szerveremet,be lepek hogy teszteljem a dini-t,mert meg csinaltam hogy mentse el a zombie lvl-t meg az ammo packet.Ha ki lepek es meg nezem a file-t le menti.Eddig nincs semmi gond.Vissza lepek a szerverre,es irja hogy connecting to server ...bla bla bla.Utana irja hogy Joining to the game vagy nem tudom,es nem jon be semmi.ugyanott mutatja a tengerpartot de nem lep be a szerverre.Ha ujra inditom a szervert,azaz ki x elem utana vissza be kapcsolom,majd be lepek a szerverre ismet megy minden rendesen,viszont ha kikapcsolas nelkul ujra lepek ismet nem enged be.Mi lehet a gond?Ha mas moddal probalom akkor ez nem fordul elo,de ha az uj zombies moddal akkor ismet nem megy.Kerlek segitsetek
 

// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include <dini>
new file[MAX_PLAYERS][128], name[24], szint[MAX_PLAYERS];
#define zombie 10
#define human 11
#define humanskin 107
#define zombieskin 60
new getplayer, zmstart, zombieteamcounter, humanteamcounter, ammopack[MAX_PLAYERS];
forward update(playerid);
forward infect(playerid);
new Float:damage[MAX_PLAYERS];
 
main()
{
print(\"\\n----------------------------------\");
print(\" Zombie Mod with EXP\");
print(\"----------------------------------\\n\");
}
 
public OnGameModeInit()
{
SetGameModeText(\"Blank Script\");
SetTimer(\"update\", 2000, 1); //update timer
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,24);
    format(file[playerid],128,\"zmstats/%s.ini\",name);
    if(!dini_Exists(file[playerid])) return dini_Create(file[playerid]);
    szint[playerid] = dini_Int(file[playerid],\"Szint\");
ammopack[playerid] = dini_Int(file[playerid],\"AmmoPack\");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    GetPlayerName(playerid,name,24); //lekérdezzük, majd elmentjük egy változóban a játékos nevét
    format(file[playerid],128,\"zmstats/%s.ini\",name); //megformázzuk a fájlnak a nevét
    dini_IntSet(file[playerid],\"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[playerid],\"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)// ez scak egy teszt hogy kiprobaljam mukodik e a mentes
{
szint[playerid]++;
szint[playerid]++;
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(playerid)
{
   if(getplayer > 0) {
   zmstart = 1;
   } else if(getplayer == 0) {
   zmstart = 0;
   
   
   return 1;
  }
   if(zmstart == 1) {
   SetTimer(\"infect\", 8000, 0);
   return 1;
   }
   if(GetPlayerTeam(playerid) == zombie) {
   ResetPlayerWeapons(playerid);
   }
   SetPlayerScore(playerid, ammopack[playerid]);
   if(humanteamcounter == 0) {
   zmstart = 0;
   } else if(zombieteamcounter == 0) {
   zmstart = 0;
   }
   if(zmstart == 0) {
   SpawnPlayer(playerid);
   }
   if(GetPlayerTeam(playerid) == human) {
   SetPlayerSkin(playerid, humanskin);
   } else if(GetPlayerTeam(playerid) == zombie) {
   SetPlayerSkin(playerid, zombieskin);
   }
   return 1;
}
 
public infect()
{
     new rand = -1;
     while(!IsPlayerConnected(rand)) rand = random(MAX_PLAYERS);
     SetPlayerTeam(rand, zombie);
}
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
if(GetPlayerTeam(issuerid) == human) {
    damage[issuerid] += amount;
    if(damage[issuerid] >= 300) {
ammopack[issuerid]++;
    damage[issuerid] = 0;//lenullázzuk,hogy újra el tudja érni,persze,csak ha kell
    }
    return 1;
    }
    if(GetPlayerTeam(issuerid) == zombie)
    {
        humanteamcounter--;
        zombieteamcounter++;
        SetPlayerTeam(playerid, zombie);
        ammopack[issuerid]++;
        if(GetPlayerWeapon(issuerid) != 0) {
        SetPlayerHealth(issuerid, 0);
        }
    }
   
    return 1;
}
 
 
 

 
A mod meg nincs kesz szoval meg sok dolgot kell csinaljak,viszont addig nem folytathatom ameddig nem mukodik rendesen :S
« Utoljára szerkesztve: 2012. április 28. - 20:00:23 írta xSkillZ7x »

Nem elérhető Rexii

  • 471
    • Profil megtekintése
Szerver gond
« Válasz #1 Dátum: 2012. április 28. - 18:54:40 »
+1 Show voters
Szerintem próbáld meg,hogy elõször is teszel bele még
 
public OnFilterScriptInit()

 
valamint
 
public OnFilterScriptExit()

 
-et
Aztán írd a fejleményeket!

Szerver gond
« Válasz #2 Dátum: 2012. április 28. - 19:17:41 »
+1 Show voters
#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  ;D

Szerver gond
« Válasz #3 Dátum: 2012. április 28. - 19:39:42 »
0 Show voters
Nekem nem szamit hogy alap,viszont mukodjon xD.Nekem jo.Am mondtam hogy meg sok hiba van benne es meg messze nincs keszen szval xD
Kossz
Am itt van egy hiba.Mi lehet a gond?
 

D:\\sampserver\\gamemodes\\SkillZZMXPv2.pwn(168) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
1 Warning.

 
Viszont ennek ellenere at alakitja amx re
Most mar mukodik,viszont meg mondanad hogy mi volt a gond?
« Utoljára szerkesztve: 2012. április 28. - 19:50:15 írta xSkillZ7x »

Szerver gond
« Válasz #4 Dátum: 2012. április 28. - 19:57:40 »
0 Show voters
Ezt nem tudtam kitalálni. :/

Szerver gond
« Válasz #5 Dátum: 2012. április 28. - 20:00:06 »
0 Show voters
Am mikor csinaltam nem teszteltem egyaltalan es faradt is voltam nem nagyon tudtam oda figyelni.Latom sok hiba van benne meg sok buggos minden.De most meg csianlok mindent rendesen.Kossz a segitseget

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal