Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2015-01-03, 13:16


fensz







Wiek: 44
Na forum: 6025 dni
Posty: 25
Nick w MP: Rick_Ross



Respekt: 50

Witajcie,
Tworzac serwer bazuje na gotowym skrypcie, w kt?rym aby przej?? stref? nale?y wej?? w czerwony checkpoint.
Jak zamieni? go w pickupa (np czaszk?).

Kod (wybaczcie, ze caly, jednak nie wiedzialem co doda?):
Kod:

//--- cap zones ///
forward ZoneTimer(playerid);
public ZoneTimer(playerid)
{
foreach (Zones, i) if (UnderAttack[i] && zonetimer[i])
{
zonetimer[i]--;
foreach (Player, j)
{
if (CapturingZone[j] == i)
{
SetPlayerProgressBarValue(j, capturebar[j], 25 - zonetimer[i]);
UpdatePlayerProgressBar(j, capturebar[j]);
}
}
if (!zonetimer[i]) CAPZONECaptured(i);
}
return 1;
}


forward OnPlayerEnterDynamicCP(playerid, checkpointid);
public OnPlayerEnterDynamicCP(playerid, checkpointid)
{
foreach (Zones, i) if (checkpointid == CP[i])
{
if(gTeam[playerid] == M) return SCM(playerid, COLOR_RED, "*Samotnik nie moze przejmowac lokacji");
if (checkpointid != CP[i]) continue;
if (tCP[i] == gTeam[playerid]) return SCM(playerid, COLOR_RED,"*Ta strefa jest aktualnie przejeta przez Twoj team!");
ActiveCAPZONE(playerid, i);
}
return 1;
}

forward OnPlayerLeaveDynamicCP(playerid, checkpointid);
public OnPlayerLeaveDynamicCP(playerid, checkpointid)
{
foreach (Zones, i)
{
if (checkpointid != CP[i]) continue;
if (CapturingZone[playerid] == i && !IsPlayerInDynamicCP(playerid, CP[i])) LeavingCAPZONE(playerid, i);
}
return 1;
}

stock ActiveCAPZONE(playerid, zoneid)
{
if (IsPlayerInAnyVehicle(playerid)) return SCM(playerid, COLOR_RED,"Nie mozesz przejmowac bedac w pojezdzie!");
if (GetPlayerState(playerid) == PLAYER_STATE_SPECTATING) return SCM(playerid, COLOR_RED, "You can't capture while spectating!");
new cnt = GetCapturersCount(zoneid);
if(gTeam[playerid] == USA) GangZoneFlashForAll(Zone[zoneid], USA_GZ_COLOR);
else if(gTeam[playerid] == RF) GangZoneFlashForAll(Zone[zoneid], RF_GZ_COLOR);
else if(gTeam[playerid] == AI) GangZoneFlashForAll(Zone[zoneid], AI_GZ_COLOR);
else if(gTeam[playerid] == IU) GangZoneFlashForAll(Zone[zoneid], IU_GZ_COLOR);
else if(gTeam[playerid] == EA) GangZoneFlashForAll(Zone[zoneid], EA_GZ_COLOR);
else if(gTeam[playerid] == AA) GangZoneFlashForAll(Zone[zoneid], AA_GZ_COLOR);
format(gString, SOS, "*%s przejmuje teraz %s!", GetName(playerid), ZoneInfo[zoneid][namee]);
SendClientMessageToAll(GREEN, gString);
switch (cnt)
{
case 0:
{
UnderAttack[zoneid] = true;
CapturingZone[playerid] = zoneid;
capturingteam[zoneid] = gTeam[playerid];
zonetimer[zoneid] = 25;
SCM(playerid, COLOR_WHITE,"Zostan tutaj przez 25 sekund aby przejac lokacje.");
// else if(gTeam[playerid] == LG) GangZoneFlashForAll(Zone[zoneid], LG_GZ_COLOR);
// else if(gTeam[playerid] == GW) GangZoneFlashForAll(Zone[zoneid], GW_GZ_COLOR);
/* switch (tCP[zoneid])
{
case TEAM1:
{
SendClientMessage(playerid, COLOR_WHITE,"This flag is controlled by team 1!");
SendClientMessageToAll(STEALTH_BLUE,"*Capture Zone is under attack!");
}
case TEAM2:
{
SendClientMessage(playerid, COLOR_WHITE,"This flag is controlled by team 2!");
SendClientMessageToAll(STEALTH_BLUE,"*Capture Zone is under attack!");
}
case NONE: SendClientMessage(playerid, COLOR_WHITE,"This flag is not controlled by any team!");
}*/
ShowPlayerProgressBar(playerid, capturebar[playerid]);
SetPlayerProgressBarValue(playerid, capturebar[playerid], 0);
UpdatePlayerProgressBar(playerid, capturebar[playerid]);
}
case 1 .. 4:
{
new string[128];
format(string, sizeof(string), "%s przejmuje teraz %s!", GetName(playerid), ZoneInfo[zoneid][namee]);
foreach (Player, i)
{
if (i == playerid) continue;
if (CapturingZone[i] != zoneid) continue;
if (gTeam[i] == capturingteam[zoneid]) continue;
SCM(i, -1, string);
}
if (capturingteam[zoneid] != gTeam[playerid]) return SCM(playerid, COLOR_RED, "To nie Twoj team teraz przejmuje te lokacje!");
CapturingZone[playerid] = zoneid;
SCM(playerid, COLOR_WHITE, "Dolaczyles do przejmowania lokacji.");
ShowPlayerProgressBar(playerid, capturebar[playerid]);
SetPlayerProgressBarValue(playerid, capturebar[playerid], zonetimer[zoneid]);
UpdatePlayerProgressBar(playerid, capturebar[playerid]);
switch (cnt)
{
case 1: zonetimer[zoneid] = zonetimer[zoneid] / 2;
case 2: zonetimer[zoneid] = (zonetimer[zoneid] / 3) * 2;
case 3: zonetimer[zoneid] = (zonetimer[zoneid] / 4) * 3;
case 4: zonetimer[zoneid] = (zonetimer[zoneid] / 5) * 4;
}
}
default: return SCM(playerid, COLOR_RED, "5 osob aktualnie przejmuje te lokacje!");
}
return 1;
}

stock CAPZONECaptured(zoneid)
{
UnderAttack[zoneid] = false;
zonetimer[zoneid] = 0;
tCP[zoneid] = capturingteam[zoneid];
GangZoneStopFlashForAll(Zone[zoneid]);
switch (capturingteam[zoneid])
{
case USA: GangZoneShowForAll(Zone[zoneid], USA_GZ_COLOR);
case RF: GangZoneShowForAll(Zone[zoneid], RF_GZ_COLOR);
case AI: GangZoneShowForAll(Zone[zoneid], AI_GZ_COLOR);
case IU: GangZoneShowForAll(Zone[zoneid], IU_GZ_COLOR);
case EA: GangZoneShowForAll(Zone[zoneid], EA_GZ_COLOR);
case AA: GangZoneShowForAll(Zone[zoneid], AA_GZ_COLOR);
// case LG: GangZoneShowForAll(Zone[zoneid], LG_GZ_COLOR);
// case GW: GangZoneShowForAll(Zone[zoneid], GW_GZ_COLOR);
}

//gTeam[playerid] = CapturingZone[i];
format(gString, SOS, "%s zostalo przejete!",ZoneInfo[zoneid][namee]);
SendBoxMessage(-1, gString);
foreach (Player, i)
{
if (CapturingZone[i] == zoneid)
{
SendClientMessage(i, COLOR_GREEN,"Przejales te lokacje! Dostajesz +5 EXP oraz 2000$!");
GivePlayerScore(i, 5);
GivePlayerMoney(i, 2000);
CapturingZone[i] = -1;
HidePlayerProgressBar(i, capturebar[i]);
}
}
return 1;
}

stock LeavingCAPZONE(playerid, zoneid)
{
CapturingZone[playerid] = -1;
new cnt = GetCapturersCount(zoneid);
switch (cnt)
{
case 0:
{
UnderAttack[zoneid] = false;
GangZoneStopFlashForAll(Zone[zoneid]);
SendClientMessage(playerid, COLOR_RED,"*Nie udalo Ci sie podbic lokacji!");
zonetimer[zoneid] = 0;
}
case 1 .. 4:
{
SCM(playerid, COLOR_RED, "Opusciles lokacje!");
switch (cnt)
{
case 1: zonetimer[zoneid] = zonetimer[zoneid] * 2;
case 2: zonetimer[zoneid] = (zonetimer[zoneid] * 3) / 2;
case 3: zonetimer[zoneid] = (zonetimer[zoneid] * 4) / 3;
case 4: zonetimer[zoneid] = (zonetimer[zoneid] * 5) / 4;
}
}
}
CapturingZone[playerid] = -1;
HidePlayerProgressBar(playerid, capturebar[playerid]);
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 16:06


DeOrro







Wiek: 31
Na forum: 4264 dni
Posty: 19
Nick w MP: Uknown

Piwa: 185

Respekt: 50

Wprowadz id tego obiektu i postaw go na miejscu czerwonego znaku

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 16:09


fensz







Wiek: 44
Na forum: 6025 dni
Posty: 25
Nick w MP: Rick_Ross



Respekt: 50

"DeOrro" napisał/a:

Wprowadz id tego obiektu i postaw go na miejscu czerwonego znaku

To nie takie proste, pickupy umieszcza sie inaczej niz checkpointy

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 16:32


NoTa







Wiek: 31
Na forum: 5187 dni
Posty: 121

Piwa: 2

Respekt: 55

jak masz zdefiniowane "CP" ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 16:37


fensz







Wiek: 44
Na forum: 6025 dni
Posty: 25
Nick w MP: Rick_Ross



Respekt: 50

"NoTa" napisał/a:

jak masz zdefiniowane "CP" ?


Kod:

CreateObjects();

for (new i; i < sizeof(ZoneInfo); i++)
{
if (floatcmp(ZoneInfo[i][minPos][0], 0))
{
Iter_Add(Zones, i);
tCP[i] = NONE;
UnderAttack[i] = false;
Zone[i] = GangZoneCreate(ZoneInfo[i][minPos][0], ZoneInfo[i][minPos][1], ZoneInfo[i][maxPos][0], ZoneInfo[i][maxPos][1]);
CP[i] = CreateDynamicCP(ZoneInfo[i][pointPos][0],ZoneInfo[i][pointPos][1],ZoneInfo[i][pointPos][2], 5, -1, -1, -1, 100.0);
}
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 16:47


NoTa







Wiek: 31
Na forum: 5187 dni
Posty: 121

Piwa: 2

Respekt: 55

nie wiem jakich stremer?w u?ywasz ale zamiast
Kod:

CreateDynamicCP

daj
Kod:

CreateDynamicPickup


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 16:55


fensz







Wiek: 44
Na forum: 6025 dni
Posty: 25
Nick w MP: Rick_Ross



Respekt: 50

Z tego kodu:
Kod:

CreateObjects();

for (new i; i < sizeof(ZoneInfo); i++)
{
if (floatcmp(ZoneInfo[i][minPos][0], 0))
{
Iter_Add(Zones, i);
tCP[i] = NONE;
UnderAttack[i] = false;
Zone[i] = GangZoneCreate(ZoneInfo[i][minPos][0], ZoneInfo[i][minPos][1], ZoneInfo[i][maxPos][0], ZoneInfo[i][maxPos][1]);
//CP[i] = CreateDynamicCP(ZoneInfo[i][pointPos][0],ZoneInfo[i][pointPos][1],ZoneInfo[i][pointPos][2], 5, -1, -1, -1, 100.0);
CP[i] - CreateDynamicPickup(1313, 1, ZoneInfo[i][pointPos][0],ZoneInfo[i][pointPos][1],ZoneInfo[i][pointPos][2], -1, -1, -1, 100.0);
}
}


Wyszed? b??d:

Kod:

(2029) : warning 215: expression has no effect


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 17:00


NoTa







Wiek: 31
Na forum: 5187 dni
Posty: 121

Piwa: 2

Respekt: 55

Da?e? - zamiast =

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 17:18


fensz







Wiek: 44
Na forum: 6025 dni
Posty: 25
Nick w MP: Rick_Ross



Respekt: 50

"NoTa" napisał/a:

Da?e? - zamiast =


Ok ok, ale co? dalej jest nie tak.

Kod:

for (new i; i < sizeof(ZoneInfo); i++)
{
if (floatcmp(ZoneInfo[i][minPos][0], 0))
{
Iter_Add(Zones, i);
tCP[i] = NONE;
UnderAttack[i] = false;
Zone[i] = GangZoneCreate(ZoneInfo[i][minPos][0], ZoneInfo[i][minPos][1], ZoneInfo[i][maxPos][0], ZoneInfo[i][maxPos][1]);
// CP[i] = CreateDynamicCP(ZoneInfo[i][pointPos][0],ZoneInfo[i][pointPos][1],ZoneInfo[i][pointPos][2], 5, -1, -1, -1, 100.0);
DP[i] = CreateDynamicPickup(1313, 1, ZoneInfo[i][pointPos][0],ZoneInfo[i][pointPos][1],ZoneInfo[i][pointPos][2], -1, -1, -1, 100.0);
}
}
SetTimer("ZoneTimer", 1000, true);

public OnPlayerPickUpPickup(playerid, pickupid){
if ( pickupid == DP[i] )
{
CP[i] = CreateDynamicCP(ZoneInfo[i][pointPos][0],ZoneInfo[i][pointPos][1],ZoneInfo[i][pointPos][2], 5, -1, -1, -1, 100.0);
}
return 1;
}



Daje mi odrzut

Kod:

error 029: invalid expression, assumed zero
error 017: undefined symbol "playerid"
error 017: undefined symbol "pickupid"
error 017: undefined symbol "i"
warning 225: unreachable code



A chodzi mi op to, ?eby dopiero po wej?ciu w pickupa, pojawia? si? checkpoint.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 17:29


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

Kod:


for (new i; i < sizeof(ZoneInfo); i++)
{
if (floatcmp(ZoneInfo[i][minPos][0], 0))
{
Iter_Add(Zones, i);
tCP[i] = NONE;
UnderAttack[i] = false;
Zone[i] = GangZoneCreate(ZoneInfo[i][minPos][0], ZoneInfo[i][minPos][1], ZoneInfo[i][maxPos][0], ZoneInfo[i][maxPos][1]);
// CP[i] = CreateDynamicCP(ZoneInfo[i][pointPos][0],ZoneInfo[i][pointPos][1],ZoneInfo[i][pointPos][2], 5, -1, -1, -1, 100.0);
DP[i] = CreateDynamicPickup(1313, 1, ZoneInfo[i][pointPos][0],ZoneInfo[i][pointPos][1],ZoneInfo[i][pointPos][2], -1, -1, -1, 100.0);
}
}
SetTimer("ZoneTimer", 1000, true);

public OnPlayerPickUpPickup(playerid, pickupid){
if ( pickupid == DP[playerid] )
{
CP[playerid] = CreateDynamicCP(ZoneInfo[playerid][pointPos][0],ZoneInfo[playerid][pointPos][1],ZoneInfo[playerid][pointPos][2], 5, -1, -1, -1, 100.0);
}
return 1;
}



Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 17:29


NoTa







Wiek: 31
Na forum: 5187 dni
Posty: 121

Piwa: 2

Respekt: 55

z?y public
Kod:

OnPlayerPickUpPickup(playerid, pickupid)

Na
Kod:

OnPlayerPickUpDynamicPickup(playerid, pickupid)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 17:30


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

Po za tym, teraz jak patrze to i tak b?dzie ?le xD

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 17:32


fensz







Wiek: 44
Na forum: 6025 dni
Posty: 25
Nick w MP: Rick_Ross



Respekt: 50

@Toxic

Kod:

error 029: invalid expression, assumed zero
error 017: undefined symbol "playerid"
error 017: undefined symbol "pickupid"
error 017: undefined symbol "playerid"
warning 225: unreachable code


@NoTa
Nie mam takiego czego?

[ Dodano: 2015-01-03, 17:41 ]
Przenios?em ca?o?? ni?ej, ju? do g??wnej p?tli, teraz wy?wietla tylko brak i.
Tu mam problem, jak sprawi?, ?eby te zmienne si? widzia?y?

Kod:

public OnPlayerPickUpPickup(playerid, pickupid)
{

if ( pickupid == DP[i] )
{
CP[i] = CreateDynamicCP(ZoneInfo[playerid][pointPos][0],ZoneInfo[playerid][pointPos][1],ZoneInfo[playerid][pointPos][2], 5, -1, -1, -1, 100.0);
}



Kod:

error 017: undefined symbol "i"
error 017: undefined symbol "i"


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 18:02


NoTa







Wiek: 31
Na forum: 5187 dni
Posty: 121

Piwa: 2

Respekt: 55

Nie mog? bo ty chcesz wywo?a? pickup a stawiasz checkpointa

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-01-03, 18:04


fensz







Wiek: 44
Na forum: 6025 dni
Posty: 25
Nick w MP: Rick_Ross



Respekt: 50

"NoTa" napisał/a:

Nie mog? bo ty chcesz wywo?a? pickup a stawiasz checkpointa


Chc?, aby po wej?ciu w pickup, tworzy? si? checkpoint, a po zej?ciu ju? go nie by?o

Postaw piwo autorowi tego posta
 

 
Tagi: zamiana :: checkpointa :: pickupa
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [DM] Zamiana checkpointa na pickupa Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku