GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: narancs741 - 2015. Március 15. - 07:41:36

Cím: Több object respawnolása
Írta: narancs741 - 2015. Március 15. - 07:41:36
SziasztokOlyan kérdésem lenne hogy ha van mondjuk 100 robbanós hordóm akkor ha pl megsemisül 1 a 100 ból azt az 1-et hogyan tudnám respawnolni
Cím: Több object respawnolása
Írta: MdCrp - 2015. Március 15. - 10:42:10
Legfeljebb paranccsal tudnád megcsinálni.
Ez MINDEN objectet újra spawnolja.
Példa:
 

forward loadObjects(); //mód tetejére
forward destroyObjects(); //mód tetejére
public OnGameModeInit(){
    loadObjects(); //Amikor elindul a mód betölti az objecteket
    return 1;
}
public destroyObjects(){ //Ez megsemmisíti az összes objectet
for(new i = 0; i < MAX_OBJECTS;i++){
    DestroyObject(i);
}
return 1;
}
public loadObjects(){ //Ez betölti az objecteket
//Ide rakd az objecteket
return 1;
}

 
És a parancs:
Sima parancsfeldolgozóval
 

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/restawnobjects\", cmdtext, true, 20) == 0)
{
destroyObjects();
loadObjects();
return 1;
}
return 0;
}

 
ZCMD parancsfeldolgozóval
 

CMD:respawnobjects(playerid, params[]){
       destroyObjects();
loadObjects();
    return 1;
}

 
De ha automatikusan akarod csinálhatod Timerrel
Példa:
 

forward respawnObjects(); //mód tetejére
forward loadObjects(); //mód tetejére
forward destroyObjects(); //mód tetejére
public OnGameModeInit(){
    loadObjects();
    SetTimer(\"respawnObjects\", 60000, true); //Percenként újra spawnolja az össze objectet
    return 1;
}
public destroyObjects(){
for(new i = 0; i < MAX_OBJECTS;i++){
    DestroyObject(i);
}
return 1;
}
public loadObjects(){
//Ide rakd az objecteket
return 1;
}
public respawnObjects(){
destroyObjects();
loadObjects();
return 1;
}

 
!!FIGYELEM Nem lett tesztelve!!
Cím: Több object respawnolása
Írta: TengeriMalac - 2015. Március 15. - 11:21:20
adsz az összesnek változót..
egyébként ha nem tünteted el, egy idő után (vagy ha elég messzire mész tőle, és a szerver újra betölti) akkor \'visszaterem\', nem kell leraknod újra.
Cím: Több object respawnolása
Írta: narancs741 - 2015. Március 15. - 18:19:50
Értem.Igen a változókra én is gondoltam.De kb100 objectnek külön külön.. :/ Valamiféle csoportositást nem lehet megoldani hogy mondjuk a 100 object egy változóban legyen és akkor mind a 100 azt tudjam kezelni?
Cím: Több object respawnolása
Írta: TengeriMalac - 2015. Március 15. - 21:32:12
tömb
 
new object[100];
object[0] = CreateObject(..);
object[1] = CreateObject(..);
for(new i = 0; i < sizeof(object); i++) DestroyObject(i);
Cím: Több object respawnolása
Írta: narancs741 - 2015. Március 16. - 08:31:30
Köszönöm. Ez alapján megoldom