Skripta koju koristim: Moja od 0
Detaljan opis problema: Ovako,imam normalan spawn lika kad dode na srw,ali imam i komandu za mjenjanje mape,i sad ja kad promjenim porta nas sve na svoja mjesta,i sad kad neko nekog ubije baci ga na 1. mapu umjesto da ostane na ovoj,nez kako to napravit da ostane na ovoj mapi koju pormjenim..
Dio skripte:
CMD:changemap1(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_LIGHTRED, "Nisi RCON Admin!");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(gTeam[i] == American) {
SetPlayerPos(playerid,-1181.3818,-1048.1707,129.2188);
GameTextForPlayer(i, "~b~New Map ~r~-~w~ Dead Zone",2500,3);
}
else if(gTeam[i] == German) {
SetPlayerPos(playerid,-1023.3991,-928.4197,129.2126);
GameTextForPlayer(i, "~b~New Map ~r~-~w~ Dead Zone",2500,3);
}
}
return 1;
}
CMD:changemap2(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_LIGHTRED, "Nisi RCON Admin!");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(gTeam[i] == American)
{
SetPlayerPos(i,-1372.0795,-474.8659,14.1776);
GameTextForPlayer(i, "~b~New Map ~r~-~w~ Die Hard",2500,3);
}
else if(gTeam[i] == German)
{
SetPlayerPos(i,-1329.9304,-558.8712,14.1823);
GameTextForPlayer(i, "~b~New Map ~r~-~w~ Die Hard",2500,3);
}
}
return 1;
}
To su komande za mjenjanje mape,al ne kontam zaš ne ostanu na toj mapi kad ih neko ubije
Neke slike/video za lakse dobivanje pomoci(neobavezno): ???
Pa pod public OnPlayerSpawn napravis provjeru da li je igrac u mapi jedan i da ga spawna tamo
primjer
if(gTeam == American)
{
SetPlayerPos(playerid, X,Y,Z);
}
Citat: Teletabis poslato Mart 02, 2013, 11:32:30 PRE PODNE
Pa pod public OnPlayerSpawn napravis provjeru da li je igrac u mapi jedan i da ga spawna tamo
primjer
if(gTeam == American)
{
SetPlayerPos(playerid, X,Y,Z);
}
Pa to imam,al ja kad promjenim mapu i ubijem se vratime na staru mapu,ja ocu da ostane na istoj dok ne promjenim
Stavi u komandu za mjenjanje mape jednu varijablu u kojoj ces pamtiti koju mapu ima aktivnu i onda samo pod OnPlayerSpawn provjeris koju mapu ima aktivnu i tamo ga spawnas.
Jel ima kaki slican tut za to da mi das?
napravi komandu da ih sviju izbacis iz mape i pokrenesdrugu :P
Stavis ovako komande:
CMD:changemap1(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_LIGHTRED, "Nisi RCON Admin!");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(gTeam[i] == American) {
SetPlayerPos(playerid,-1181.3818,-1048.1707,129.2188);
GameTextForPlayer(i, "~b~New Map ~r~-~w~ Dead Zone",2500,3);
playerMap[playerid] = 1;
}
else if(gTeam[i] == German) {
SetPlayerPos(playerid,-1023.3991,-928.4197,129.2126);
GameTextForPlayer(i, "~b~New Map ~r~-~w~ Dead Zone",2500,3);
playerMap[playerid] = 1;
}
}
return 1;
}
CMD:changemap2(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_LIGHTRED, "Nisi RCON Admin!");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(gTeam[i] == American)
{
SetPlayerPos(i,-1372.0795,-474.8659,14.1776);
GameTextForPlayer(i, "~b~New Map ~r~-~w~ Die Hard",2500,3);
playerMap[playerid] = 2;
}
else if(gTeam[i] == German)
{
SetPlayerPos(i,-1329.9304,-558.8712,14.1823);
GameTextForPlayer(i, "~b~New Map ~r~-~w~ Die Hard",2500,3);
playerMap[playerid] = 2;
}
}
return 1;
}
Definiras tu novu varijablu na pocetku moda:
new playerMap[MAX_PLAYERS] = {0};
I onda negdje pod OnPlayerSpawn callback:
if (playerMap[playerid] == 1)
{
// Tu ide ako je 1. mapa, stvoris ga na prvoj mapi
}
else if (playerMap[playerid] == 2)
{
// Tu ide ako je 2. mapa, stvoris ga na drugoj mapi
}
Opet isto :D kucam changemap porta me ljepo,ubijem se baci me na spawn stari,izbrisem spawn i opet isto
Onda si nesto krivo napravio. Postaj to kako si ti napravio.
Kako cu sada u call back ovaj,kako cu napravit da mi germance spavna na jednu stranu amere na drugu tako isto i u 2. mapi? ::)
Ne kuzim te.. Bolje objasni.
Kako ne kontas,jbt kako cu da mi u 1. mapi se stvore germanci na jednoj strani a amerikanci na drugoj?
Dodaj na pocetak moda:
new playerMap[MAX_PLAYERS] = {0};
Citat: Joey_ poslato Mart 02, 2013, 18:04:44 POSLE PODNE
Dodaj na pocetak moda:
new playerMap[MAX_PLAYERS] = {0};
sad sam vidio da mi ne dostaje,izbriso sam slucajno
Citat: Loupa poslato Mart 02, 2013, 18:03:43 POSLE PODNE
Kako ne kontas,jbt kako cu da mi u 1. mapi se stvore germanci na jednoj strani a amerikanci na drugoj?
Pa kada pokrenes tu mapu, pogledas koji je igrac tim i ovisno o tome ga spawnas. ::)
Sad cu probat onda ovak
if (playerMap[playerid] == 1)
{
if(gTeam == American)
{
SetPlayerPos(playerid, X,Y,Z);
}
}
else if (playerMap[playerid] == 2)
{
isto tak i za germance
}
Aha, na to si mislio, onda to ide ovak:
if (playerMap[playerid] == 1)
{
if (gTeam[playerid] == American)
{
// Ako je Amerikanac u prvoj mapi
}
else if (gTeam[playerid] == German)
{
// Ako je Nijemac u prvoj mapi
}
}
else if (playerMap[playerid] == 2)
{
if (gTeam[playerid] == American)
{
// Ako je Amerikanac u drugoj mapi
}
else if (gTeam[playerid] == German)
{
// Ako je Nijemac u drugoj mapi
}
}
Ma skonto sam,sad idem test molim boga da radi :D
Radi,fala care zakon si :P
Ma nemas frke. :)
Rijesen problem, lock.